phetsims / perennial

Maintenance tools that won't change with different versions of chipper checked out
MIT License
2 stars 5 forks source link

Add a script to compare changes between two sim versions #358

Open samreid opened 1 month ago

samreid commented 1 month ago

Sample output for:

node js/scripts/compare-dependencies-2.js ../gas-properties/dev18dependencies.json ../gas-properties/dependencies.json

Where i got dev.18 from https://github.com/phetsims/gas-properties/commit/269c14776280bd61085b80f23deebdb75bc995c7

``` ~/phet/root/perennial$ node js/scripts/compare-dependencies-2.js ../gas-properties/dev18dependencies.json ../gas-properties/dependencies.json # assert SHAs are the same # axon 950a9a5 uninstrument bottle.displacementVolumeProperty, https://github.com/phetsims/buoyancy/issues/178 # brand SHAs are the same # chipper 0810d710 Removing unused query parameters locales/strings, see https://github.com/phetsims/chipper/issues/1441 7d20efe9 add back more "deprecated" strings on main to fix published sim translations, https://github.com/phetsims/babel/issues/24 cbc1e24f move hookes law wrapper to phet-io-sim-specific, https://github.com/phetsims/hookes-law/issues/82 07cf9eef update TODO to review issue, https://github.com/phetsims/chipper/issues/1441 https://github.com/phetsims/joist/issues/963 d0883809 support null case for locale parameter, https://github.com/phetsims/joist/issues/970 # dot cdb6a3a times/multiply work, https://github.com/phetsims/density-buoyancy-common/issues/224 # gas-properties 887326ed Bumping dev HTML with new version b7aa1ae8 Bumping version to 1.1.0-dev.19 4753e627 fix doc typo, https://github.com/phetsims/gas-properties/issues/276 98b2d2d8 when sim is paused, explicitly call particleSystemNode.update when state is restored, https://github.com/phetsims/gas-properties/issues/276 e8aaef06 fix container width when setting state while sim is paused, https://github.com/phetsims/gas-properties/issues/276 8be84b9a when the lid blows, move it up immediately so that it looks like it is off of the container, https://github.com/phetsims/gas-properties/issues/269 e96f1e10 update copyright dates from daily grunt work 66031e34 doc be04b3cb update QA credits, https://github.com/phetsims/gas-properties/issues/221, https://github.com/phetsims/qa/issues/1100 280850da workaround for Home/End sound, https://github.com/phetsims/gas-properties/issues/281, https://github.com/phetsims/sun/issues/886 b389b501 add keyboardDragDirection: 'leftRight' for handles, https://github.com/phetsims/gas-properties/issues/275 ad8591e0 make it possible to hide icon and NumberDisplay, feature visibleProperty, https://github.com/phetsims/gas-properties/issues/277 0ad84bfb remove options related to handle colors, remove unnecessary handle wrapper Nodes, https://github.com/phetsims/gas-properties/issues/274 3486fe47 use the same color all resize handles, https://github.com/phetsims/gas-properties/issues/274 61f0679b delete comment 96e249e9 vertically center y-axis label, https://github.com/phetsims/gas-properties/issues/279 794053d9 RichKeyboardDragListener -> SoundKeyboardDragListener, see https://github.com/phetsims/scenery-phet/issues/858 71cdac27 rename RichPointerDragListener -> SoundDragListener, see https://github.com/phetsims/scenery-phet/issues/858 269c1477 updated dependencies.json for 1.1.0-dev.18 # joist b297e236 documentation for isDisposable: false, see https://github.com/phetsims/joist/issues/978 c1542d7e voicing toolbar is not disposable, see https://github.com/phetsims/joist/issues/978 c853a010 update copyright dates from daily grunt work ac0ff1fb add 'Property' suffix to Property params dd68858d more updates for es (remove unneeded deprecated string), https://github.com/phetsims/babel/issues/24 bd93bd75 more updates for es, https://github.com/phetsims/babel/issues/24 8aa691ff add back more "deprecated" strings on main to fix published sim translations, https://github.com/phetsims/babel/issues/24 e5af0ef2 add valueType, https://github.com/phetsims/joist/issues/970 # kite SHAs are the same # perennial-alias 8ea8069 Release branch redeploy updates for https://github.com/phetsims/build-an-atom/issues/242 426d009 Adding redeployment to ReleaseBranch (from production SHAs), see https://github.com/phetsims/chipper/issues/1441 0656033 spacing fix, see https://github.com/phetsims/chipper/issues/1441 fb5e3a1 changed translations to always build all locales on the build-server phetsims/chipper#1441 7aea298 remove phet-io-wrapper-hookes-law-energy for archiving the repo, https://github.com/phetsims/phet-io-wrapper-hookes-law-energy/issues/7 251746f remove hydrogen check, oops, https://github.com/phetsims/joist/issues/970 5367a2e projectile-data-lab doesn't have an ar translation, https://github.com/phetsims/joist/issues/970 ff8ca18 auto formatting, https://github.com/phetsims/density-buoyancy-common/issues/166 4caaccc better support for phet-io hydrogen, https://github.com/phetsims/joist/issues/970 fc5eb17 turn off main check 222ef97 remove "pu" made-up-locale tests, support testing acid-base-solutions on main, add studio fallback test, https://github.com/phetsims/joist/issues/970 c5bbc42 update TODO to review issue, https://github.com/phetsims/chipper/issues/1441 https://github.com/phetsims/joist/issues/963 e13e952 support null case for locale parameter, https://github.com/phetsims/joist/issues/970 6514e5d more checks and updates for release-branch-checks.js, https://github.com/phetsims/joist/issues/970 af3dd14 rewrite browserPageLoad with better error handling and process ordering, https://github.com/phetsims/joist/issues/970 bc82c02 log https://github.com/phetsims/joist/issues/970 # phet-core SHAs are the same # phet-io 61bd53be Add documentation for PDL CODAP wrapper redirect - see https://github.com/phetsims/special-ops/issues/261 8fc9b453 tweaks to the unit test, https://github.com/phetsims/phet-io-wrappers/issues/462 c591faae add unit tests for rapid emitting messages, https://github.com/phetsims/phet-io-wrappers/issues/462 # phet-io-sim-specific ec32697 feature dcPowerSupplyNode, https://github.com/phetsims/faradays-electromagnetic-lab/issues/191 cfb3eab rename to "materialInside" and maxVolumeDisplacedProperty, https://github.com/phetsims/density-buoyancy-common/issues/245 abee364 update doc, https://github.com/phetsims/density-buoyancy-common/issues/245 619ebb0 Using gated visible property for number displays, see https://github.com/phetsims/buoyancy/issues/181 936ff9c Uninstrument enabledMassRangeProperty, see https://github.com/phetsims/buoyancy/issues/180 c7d36a4 Featuring the visibility of airVolumeDisplay, see https://github.com/phetsims/buoyancy/issues/180 bde83fd Changing string key newtonsUnit for N, see https://github.com/phetsims/density-buoyancy-common/issues/183 b961070 Merge remote-tracking branch 'origin/main' ba2d0b1 add electromagnetNode.dcPowerSupplyNode.voltsText.visibleProperty, https://github.com/phetsims/faradays-electromagnetic-lab/issues/191 df1d2da Update examples.md for https://github.com/phetsims/faradays-electromagnetic-lab/issues/178 9ad273e Update examples.md 8f79893 Update examples.md for https://github.com/phetsims/faradays-electromagnetic-lab/issues/178 1e85a32 Uninstrument text in VolumeUnitsRadioButtonGroup, see https://github.com/phetsims/density-buoyancy-common/issues/247 93c3c6e Move accessible name strings to strings file, see: https://github.com/phetsims/mean-share-and-balance/issues/309 d07545e remove flipPolarityButton from pickupCoilScreen, https://github.com/phetsims/faradays-electromagnetic-lab/issues/180 d37b87f Polish examples.md 98b8c43 Update examples.md 1a50487 Polish examples.md 4bceba8 Update examples.md 8cf554a Update examples.md 0ece609 remove toggleNode.elements from phetioIDs, https://github.com/phetsims/density-buoyancy-common/issues/251 2fc56bd Update examples.md b89da25 Changing string keys for boat and shape, see https://github.com/phetsims/density-buoyancy-common/issues/183 aa7e379 Fixing Stopwatch causing initialStatesAreIncompatible, see https://github.com/phetsims/keplers-laws/issues/265 5666f45 Documentation, see https://github.com/phetsims/density-buoyancy-common/issues/249 d760bc5 Tandem rename, see https://github.com/phetsims/density-buoyancy-common/issues/249 4ce0ed2 Changing mystery Density for Fluid, see https://github.com/phetsims/density-buoyancy-common/issues/248 5addaf7 Updates to numberDisplay visibility, see https://github.com/phetsims/buoyancy/issues/181 61fdc22 Create examples.md 1f5ee5d first checkpoint refactoring BuoyancyShapeModel, https://github.com/phetsims/density-buoyancy-common/issues/182 5e1e68a more updates for es (remove unneeded deprecated string), https://github.com/phetsims/babel/issues/24 1e89189 Update documentation, see https://github.com/phetsims/phet-io-wrappers/issues/462 a25109b make it possible to hide icon and NumberDisplay, feature visibleProperty, https://github.com/phetsims/gas-properties/issues/277 4c903c6 phet-io api updates for es translation changes, https://github.com/phetsims/babel/issues/24 1647b30 use visibleProperty for vector zoom text too, https://github.com/phetsims/density-buoyancy-common/issues/233 0a90109 Instrumenting properties of Displaced Fluid, see https://github.com/phetsims/density-buoyancy-common/issues/242 27cad74 Adding a selfVisibleProperty to restart button in boat scene, see https://github.com/phetsims/density-buoyancy-common/issues/240 244c8b6 Changes to instrumentation of number displays, see https://github.com/phetsims/density-buoyancy-common/issues/239 3aea78a add units, https://github.com/phetsims/density-buoyancy-common/issues/229 b4249e7 Adding doc to size property, see https://github.com/phetsims/density-buoyancy-common/issues/232 e8ff77d Reverting documentation, see https://github.com/phetsims/density-buoyancy-common/issues/232 6efe91d Instrumenting depthLinesColor see https://github.com/phetsims/density-buoyancy-common/issues/197 27c8702 move hookes law wrapper to phet-io-sim-specific, https://github.com/phetsims/hookes-law/issues/82 5e310a2 update API, https://github.com/phetsims/density-buoyancy-common/issues/233 a83282f Moving the title into the materialInsideControls and embedding that into bottleControls, see https://github.com/phetsims/buoyancy/issues/180 61d60c2 Excluding invisible mass displays from bounds, see https://github.com/phetsims/buoyancy/issues/180 a4af8c7 Refactor processNextProjectile and handleLandedProjectile, set return type of processNextProjectile to Promise - see https://github.com/phetsims/projectile-data-lab/issues/338 926f73a Instrumenting and featuring airVolumeDisplay, see https://github.com/phetsims/buoyancy/issues/180 ebe4582 Joining forces and cleaning VBoxes, see https://github.com/phetsims/density-buoyancy-common/issues/233 df963b9 Update info panel text - see https://github.com/phetsims/projectile-data-lab/issues/340 c8bb91b Update info panel and prevent closing of key components - see https://github.com/phetsims/projectile-data-lab/issues/340 fac2adc Use event queueing for projectile data stream - see https://github.com/phetsims/projectile-data-lab/issues/337 e55a274 Show '?' for unknown mystery launcher data - see https://github.com/phetsims/projectile-data-lab/issues/348 68e3e3e Changing APIs for MaterialEnum, see https://github.com/phetsims/density-buoyancy-common/issues/225 63a567b Renaming, see https://github.com/phetsims/buoyancy/issues/180 08bc7a3 Adding phetioDocumentation, see https://github.com/phetsims/density-buoyancy-common/issues/232 507c9ea Instrumenting percentSubmerged, see https://github.com/phetsims/density-buoyancy-common/issues/82 1f348a1 Feature the visible Property of the play area number line, see: https://github.com/phetsims/mean-share-and-balance/issues/269 74d368e Move soccerBallsEnabledProperty back under individual soccerBallNodes, see: https://github.com/phetsims/mean-share-and-balance/issues/269 798773a Patch c7cafa0 add range to boat.displacementVolumeProperty, https://github.com/phetsims/density-buoyancy-common/issues/224 b1529aa uninstrument bottle.displacementVolumeProperty, https://github.com/phetsims/buoyancy/issues/178 210a7da Rename blocksRadioButtonGroup => blocksModeRadioButtonGroup, see https://github.com/phetsims/buoyancy/issues/86 37d2f2b Add createGatedVisibleProperty for customBottleDensityNumberControl, see https://github.com/phetsims/buoyancy/issues/86 1c7e0b6 Add instrumentation for entire bottle control panel, including "material inside", see https://github.com/phetsims/buoyancy/issues/86 44f35ff Streamline maxVolume/minVolume, factor out cuboid min/max volume, remove TOLERANCE from cube volume range, see https://github.com/phetsims/density-buoyancy-common/issues/224 # phet-io-wrappers b388249 try catch around event forwarding when we can't access the contentWindow, https://github.com/phetsims/phet-io-wrappers/issues/640 82000e6 remove console log c9d4e08 better way to order async promise resolving, https://github.com/phetsims/phet-io-wrappers/issues/462 c522628 better logging and timing, https://github.com/phetsims/phet-io-wrappers/issues/462 8be02c4 interval tweaks to the unit test, https://github.com/phetsims/phet-io-wrappers/issues/462 1f4a633 tweaks to the unit test, https://github.com/phetsims/phet-io-wrappers/issues/462 9691f15 don't await on callbacks and listeners in dispatch(), https://github.com/phetsims/phet-io-wrappers/issues/462 26e06fe add unit tests for rapid emitting messages, https://github.com/phetsims/phet-io-wrappers/issues/462 # phetcommon SHAs are the same # phetmarks SHAs are the same # query-string-machine SHAs are the same # scenery 33d2656bb SVGSelfDrawable cached paints memory leak fix, see https://github.com/phetsims/unit-rates/issues/226 783cf92cd update copyright dates from daily grunt work 4e2d3340d Fixing out-of-order paint clear flags for SVG cached paints, see https://github.com/phetsims/faradays-electromagnetic-lab/issues/180 5b7c4c167 default for DragListenerOptions parameter type, https://github.com/phetsims/scenery-phet/issues/858 708963972 better typing, less duplication, https://github.com/phetsims/scenery-phet/issues/858 a6aa9a29b factor out duplicated options, https://github.com/phetsims/scenery-phet/issues/858 acd16c2b6 parameterize options, https://github.com/phetsims/scenery/issues/1642 https://github.com/phetsims/scenery-phet/issues/858 75c54a21c promote TODO: https://github.com/phetsims/scenery/issues/1641 c22eaf29c unit tests for align values, see https://github.com/phetsims/scenery/issues/1465 05a298dd7 unit tests for justify, see https://github.com/phetsims/scenery/issues/1465 44882c968 unit tests for grow, stretch, constrain, see https://github.com/phetsims/scenery/issues/1465 c63885cf5 update copyright dates from daily grunt work 8e3dab922 basic unit tests for FlowBox, see https://github.com/phetsims/scenery/issues/1465 dc7d65665 remove unused demo function in layout documentation 9098e08ac origin doc improvements 43d5a2db7 constraint doc update e4ab3f9fc mutateLayoutOptions doc update, see https://github.com/phetsims/scenery/issues/1418 f2a75d098 Sizable doc note for https://github.com/phetsims/scenery/issues/1418 a5129ef0c doc improvements for first comment of https://github.com/phetsims/scenery/issues/1418 dcb2acb10 KeyboardListener and KeyboardDragListener specify event type # scenery-phet 74f11211 add interactive highlight for bicycle pump handle, https://github.com/phetsims/gas-properties/issues/273 3dc6f27b fix behavior of interactive highlights, https://github.com/phetsims/gas-properties/issues/272 e1d06370 update copyright dates from daily grunt work 81067816 use the generalCloseSoundPlayer for the CLoseButton, see https://github.com/phetsims/scenery-phet/issues/859 d78c77f1 delete dynamic layout examples from scenery-phet since they have been added to scenery layout documentation, see https://github.com/phetsims/scenery-phet/issues/756 29b4e6d6 documentation cleanup c29ab90c RichKeyboardDragListener -> SoundKeyboardDragListener, see https://github.com/phetsims/scenery-phet/issues/858 2725e871 rename RichPointerDragListener -> SoundDragListener, see https://github.com/phetsims/scenery-phet/issues/858 37cd1185 refactor the sound implementation in the 'rich' drag listeners, see https://github.com/phetsims/scenery-phet/issues/858 cbbe96eb Adjusting sizability for current cases with layout changes in buttons, see https://github.com/phetsims/scenery/issues/1513 # sherpa SHAs are the same # studio SHAs are the same # sun 3871e929 remove toggleNode.elements from phetioIDs, https://github.com/phetsims/density-buoyancy-common/issues/251 e15b8fa7 fix ButtonNode memory leak, https://github.com/phetsims/sun/issues/887 d6671411 use equals() comparison instead of reference, https://github.com/phetsims/density-buoyancy-common/issues/203 eec0449c Merge branch 'button-layout' # tambo SHAs are the same # tandem SHAs are the same # twixt SHAs are the same # utterance-queue SHAs are the same Discovered issues: https://github.com/phetsims/babel/issues/24 https://github.com/phetsims/build-an-atom/issues/242 https://github.com/phetsims/buoyancy/issues/178 https://github.com/phetsims/buoyancy/issues/180 https://github.com/phetsims/buoyancy/issues/181 https://github.com/phetsims/buoyancy/issues/86 https://github.com/phetsims/chipper/issues/1441 https://github.com/phetsims/chipper/issues/1441 https://github.com/phetsims/joist/issues/963 https://github.com/phetsims/density-buoyancy-common/issues/166 https://github.com/phetsims/density-buoyancy-common/issues/182 https://github.com/phetsims/density-buoyancy-common/issues/183 https://github.com/phetsims/density-buoyancy-common/issues/197 https://github.com/phetsims/density-buoyancy-common/issues/203 https://github.com/phetsims/density-buoyancy-common/issues/224 https://github.com/phetsims/density-buoyancy-common/issues/225 https://github.com/phetsims/density-buoyancy-common/issues/229 https://github.com/phetsims/density-buoyancy-common/issues/232 https://github.com/phetsims/density-buoyancy-common/issues/233 https://github.com/phetsims/density-buoyancy-common/issues/239 https://github.com/phetsims/density-buoyancy-common/issues/240 https://github.com/phetsims/density-buoyancy-common/issues/242 https://github.com/phetsims/density-buoyancy-common/issues/245 https://github.com/phetsims/density-buoyancy-common/issues/247 https://github.com/phetsims/density-buoyancy-common/issues/248 https://github.com/phetsims/density-buoyancy-common/issues/249 https://github.com/phetsims/density-buoyancy-common/issues/251 https://github.com/phetsims/density-buoyancy-common/issues/82 https://github.com/phetsims/faradays-electromagnetic-lab/issues/178 https://github.com/phetsims/faradays-electromagnetic-lab/issues/180 https://github.com/phetsims/faradays-electromagnetic-lab/issues/191 https://github.com/phetsims/gas-properties/issues/221, https://github.com/phetsims/qa/issues/1100 https://github.com/phetsims/gas-properties/issues/269 https://github.com/phetsims/gas-properties/issues/272 https://github.com/phetsims/gas-properties/issues/273 https://github.com/phetsims/gas-properties/issues/274 https://github.com/phetsims/gas-properties/issues/275 https://github.com/phetsims/gas-properties/issues/276 https://github.com/phetsims/gas-properties/issues/277 https://github.com/phetsims/gas-properties/issues/279 https://github.com/phetsims/gas-properties/issues/281, https://github.com/phetsims/sun/issues/886 https://github.com/phetsims/hookes-law/issues/82 https://github.com/phetsims/joist/issues/970 https://github.com/phetsims/joist/issues/978 https://github.com/phetsims/keplers-laws/issues/265 https://github.com/phetsims/mean-share-and-balance/issues/269 https://github.com/phetsims/mean-share-and-balance/issues/309 https://github.com/phetsims/phet-io-wrapper-hookes-law-energy/issues/7 https://github.com/phetsims/phet-io-wrappers/issues/462 https://github.com/phetsims/phet-io-wrappers/issues/640 https://github.com/phetsims/projectile-data-lab/issues/337 https://github.com/phetsims/projectile-data-lab/issues/338 https://github.com/phetsims/projectile-data-lab/issues/340 https://github.com/phetsims/projectile-data-lab/issues/348 https://github.com/phetsims/scenery-phet/issues/756 https://github.com/phetsims/scenery-phet/issues/858 https://github.com/phetsims/scenery-phet/issues/859 https://github.com/phetsims/scenery/issues/1418 https://github.com/phetsims/scenery/issues/1465 https://github.com/phetsims/scenery/issues/1513 https://github.com/phetsims/scenery/issues/1641 https://github.com/phetsims/scenery/issues/1642 https://github.com/phetsims/scenery-phet/issues/858 https://github.com/phetsims/special-ops/issues/261 https://github.com/phetsims/sun/issues/887 https://github.com/phetsims/unit-rates/issues/226 161 commits referenced 64 separate issues ~/phet/root/perennial$
pixelzoom commented 1 month ago

My review...

This is a great step in the right direction, very useful even as is. It gives us the ground truth for what has changed, without having to rely on developer memory and other error-prone processes.

There's room for improving usability and making it easier to evaluate the results. Getting set up to run the report is a little cumbersome. And as I discovered when trying to use the sample output shown in https://github.com/phetsims/perennial/issues/358#issuecomment-2223578453, exploring the results is time-consuming -info needed to evaluate changes is often not present, and investigating requires lots of copy-pasting of shas and URLs.

Specific suggestions:

pixelzoom commented 1 month ago

7/15/24 dev meeting...

I'll take a look at this if I have time this week. If I don't get to it, @zepumph expressed interest in improving usability.

@marlitas is still planning to do a review (later in the week), so assigning her again.

pixelzoom commented 1 month ago

I am definitely not going to have time this week, so unassigning. We can revisit assignment after @marlitas' review.

marlitas commented 1 month ago

I agree with @pixelzoom's assessment above, and give it a thumbs up plus a few additions/perspective:

Back over to @pixelzoom for next steps.

pixelzoom commented 1 month ago

... We can revisit assignment after @marlitas' review.

Added to Developer Priorities board for assignment.