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 link
some of the modules in your project (sudo npm link
in the dependency project directory foo, thennpm link foo
in the main project). -
Setup your
package.json
with an explicitgit://github.com/username/projectname.git#ref
version for each of the linked modules. Note the#ref
is 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