phetsims / chipper

Tools for developing and building PhET interactive simulations.
MIT License
11 stars 14 forks source link

Generating dependencies.json #783

Open jonathanolson opened 5 years ago

jonathanolson commented 5 years ago

It's always been somewhat of a headache to generate dependencies.json (it's always required a full npm prune/update in sim/chipper, a full build, and copying the file from the build directory), but this has gotten more problematic now that we've added more things to chipper's npm dependencies (e.g. puppeteer). It's now taking a much longer time to handle the npm changes, and there seems to be a certain failure rate (puppeteer install failed 2 times in the last maintenance release RCs).

Additionally, we haven't used the branch fields in dependencies.json to my knowledge, and it seems to clutter up diffs or causes confusion.

I'd like to propose that we add the ability to generate the dependencies.json file without requiring npm/grunt, and that things could be simplified to exclude the branch field (and only include the actual SHAs) since we use detached heads. I'm not sure of a great way to do this (it may involve stuffing the logic for this in perennial, since we don't npm prune/update perennial all the time), and it may involve maintenance-patching or comparing dependencies for older sims.

Thoughts?

pixelzoom commented 5 years ago

I've found the branch field in dependencies.json to be confusing, it seems to change for reasons that I don't understand. So if it's not used, +1 to delete it.

I'm not familiar enough with the maintenance process to have opinions on the rest of this proposal.

pixelzoom commented 5 years ago

8/1/19 dev meeting: @jonathanolson has a reasonable vision for this, no objections, proceed.