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
Hi there,
So I was just interested whether there's a reasoning behind committing the auto-generated files in
my_dash_componentinto git and not adding them to the.gitignore?And subsequently whether you would accept a PR to the
.gitignorefor 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.
The only "tricky" bit is to split up the
build:pyinto a step that can be run during the nodejs build stage and one that can be run later during the Python build stage: