Skip to content

codeaudit/dash-html-components

Repository files navigation

dash-html-components

Vanilla HTML components for Dash

Dash

Go to this link to learn about Dash.

Getting started

# Install dependencies
$ npm install

# Watch source for changes and build to `lib/`
$ npm start

Generating HTML Components

The components in src/components, as well as the export index in src/index.js are programmatically generated from element definitions in scripts/. To regenerate:

The list of attributes is regenerated by scraping the MDN HTML attribute reference.

$ npm run generate-components

Development

Testing your components in Dash

  1. Build development bundle to lib/ and watch for changes

     # Once this is started, you can just leave it running.
     $ npm start
    
  2. Install module locally (after every change)

     # Generate metadata, and build the JavaScript bundle
     $ npm run install-local
    
     # Now you're done. For subsequent changes, if you've got `npm start`
     # running in a separate process, it's enough to just do:
     $ python setup.py install
    
  3. Run the dash layout you want to test

     # Import dash_core_components to your layout, then run it:
     $ python my_dash_layout.py
    

Installing python package locally

Before publishing to PyPi, you can test installing the module locally:

# Install in `site-packages` on your machine
$ npm run install-local

Uninstalling python package locally

$ npm run uninstall-local

Publishing

For now, multiple steps are necessary for publishing to NPM and PyPi, respectively. TODO: #5 will roll up publishing steps into one workflow.

Ask @chriddyp to get NPM / PyPi package publishing accesss.

  1. Preparing to publish to NPM

     # Bump the package version
     $ npm version major|minor|patch
    
     # Push branch and tags to repo
     $ git push --follow-tags
    
  2. Preparing to publish to PyPi

     # Bump the PyPi package to the same version
     $ vi setup.py
    
     # Commit to github
     $ git add setup.py
     $ git commit -m "Bump pypi package version to vx.x.x"
    
  3. Publish to npm and PyPi

     $ npm run publish-all
    

Builder / Archetype

We use Builder to centrally manage build configuration, dependencies, and scripts. See the dash-components-archetype repo for more information.

About

HTML components for Dash

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 72.7%
  • HTML 26.8%
  • Other 0.5%