For one thing, we're bloating the git repo with generated code... lots of it. And if someone works on a PR and someone else works on a PR and they both commit the generated dist, we're adding a directory full of bloat only for it to cause merge conflicts and be immediately overwritten by the other person's directory full of bloat.
Also, each person runs npm run build on their own machine, in their own environment. Is it the same node version? Did they run npm install when package.json changed? Who knows!
I suggest:
- We remove
dist/ from the repo.
- We write a Github Actions job to build the extension, so there's a single neutral build source.
- We have the job create releases and add the build artefact to the release when a git version tag is pushed.
- Anyone who wants to run a developer copy grabs either the latest Action build or release artefact.
- The release artefact created by GHA is the one that gets pushed to the Chrome Web Store.
For one thing, we're bloating the git repo with generated code... lots of it. And if someone works on a PR and someone else works on a PR and they both commit the generated dist, we're adding a directory full of bloat only for it to cause merge conflicts and be immediately overwritten by the other person's directory full of bloat.
Also, each person runs
npm run buildon their own machine, in their own environment. Is it the samenodeversion? Did they runnpm installwhenpackage.jsonchanged? Who knows!I suggest:
dist/from the repo.