Closed
Description
Hi there,
So I was just interested whether there's a reasoning behind committing the auto-generated files in my_dash_component
into git and not adding them to the .gitignore
?
And subsequently whether you would accept a PR to the .gitignore
for this?
(Though it probably makes sense to wait for #14 if that PR will be merged in the near future.)
Anyhow, I'm guessing that committing the generated files into git has the motivation that it simplifies deployment to e.g. Heroku?
Though for Heroku it's easy to add multiple buildpacks, e.g.
heroku buildpacks:set https://github.com/heroku/heroku-buildpack-multi.git
cat > .buildpacks << EOF
https://github.com/heroku/heroku-buildpack-nodejs.git
https://github.com/heroku/heroku-buildpack-python.git
EOF
The only "tricky" bit is to split up the build:py
into a step that can be run during the nodejs build stage and one that can be run later during the Python build stage:
"scripts": {
...
"build:py-js": "node ./extract-meta src/lib/components > my_dash_component/metadata.json && copyfiles package.json my_dash_component",
"build:py-py": "python -c \"import dash; dash.development.component_loader.generate_classes('my_dash_component', 'my_dash_component/metadata.json')\"",
"build:py": "npm run build:py-js && npm run build:py-py",
...
"postinstall": "npm run build:js && npm run build:py-js"
},
mkdir bin
cat > bin/post-compile << EOF
#!/bin/bash
# Generates the Dash components (requires all Python dependencies to be installed)
npm run build:py-py
EOF
Metadata
Metadata
Assignees
Labels
No labels