Skip to content

utility for generating change logs for linked node_modules using git

Notifications You must be signed in to change notification settings

deathcap/lmno-cl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lmno-cl

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.

Usage

  1. npm link some of the modules in your project (sudo npm link in the dependency project directory foo, then npm link foo in the main project).

  2. Setup your package.json with an explicit git://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.

  3. 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.

Options

-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.

See also

Acronym

Linked Modules for Node.js of your Own, Change Log generator

License

MIT

About

utility for generating change logs for linked node_modules using git

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published