Utility for generating change logs for linked node modules using git
Have a project with a bunch of your own versioned dependencies hosted in a git repository and linked locally for ease of rapid development, and want to keep track of what changed in your main project? lmno-cl can help.
-
npm linksome of the modules in your project (sudo npm linkin the dependency project directory foo, thennpm link fooin the main project). -
Setup your
package.jsonwith an explicitgit://github.com/username/projectname.git#refversion for each of the linked modules. Note the#refis crucial, and should be set to the exact git commit used. -
Commit changes to your dependencies as you develop. When you are ready to commit the main project, run:
node lmno-cl.js | sh
The project's package.json will be updated with the latest git commit references,
and committed with a detailed message listing all of the dependencies commits, example:
Update inventory, inventory-window, itempile, voxel-harvest, voxel-pickaxe
deathcap/inventory@4e23878abbf97c3407bfb538ffdfa45de004460d Fix give() losing tags when merging into empty slot
deathcap/inventory-window@65cc714beb6d61fb4b4c0fc7707db86154401207 Render zero-count piles
deathcap/itempile@1ea6fd1eb4df32ed16faed872a2ef0b5909542c9 0.0.4 - fix clone() not cloning tags
deathcap/voxel-harvest@53bf45715c9cb4448edc32facce348971368229a Refactor damageToolHeld()
deathcap/voxel-pickaxe@85c4551df89ff7a24aa4f37932306dfc61a78e38 Add repair recipes
Commit message generated by https://github.com/deathcap/lmno-cl
As you can see the message includes everything that changed in the linked dependencies, listed
in GitHub commit reference format, so you know exactly what changed and the package.json versions
in history always point to a specific commit.
-n: dry run, do not update package.json
-v: verbose output, show package.json on console (useful with -n)
Of course you can also omit "| sh" if you want to manually commit.
Linked Modules for Node.js of your Own, Change Log generator
MIT