npm-version-nonroot v1.0.0
npm-version-nonroot
npm version for packages in subdirectories of git repositories
Use case
I've started building projects that utilize Docker and organizing the repositor ies based on the Docker containers. A simple project might have the following structure:
project
├── db
| ├── Dockerfile
| └── schema.sql
├── web
| ├── Dockerfile
| ├── package.json
| └── server.js
├── docker-compose.yml
└── README.mdBecause package.json is not in the root of the git repository, npm vesion will not perform any of the git-related commands, such as committing and tagging. This module makes npm version work as expected.
Usage
Add nvn-preversion and nvn-version as part of npm's preversion and version scripts, respectively.
"scripts": {
"pre-version": "nvn-preversion",
"version": "nvn-version"
}Implementation details
nvn-preversion runs the following steps. All differences from standard npm preversion behavior are noted.
- Check if the git working directory is clean.
npm versionwould normally do this before running thepreversionscript.nvn-versiondoes not yet support the--forceflag to prevent this check.
nvn-version runs the following steps. All differences from standard npm version behavior are noted:
- Update
npm-shrinkwrap.jsonif it exists.
npm versionwould normally run this, and all following steps after theversionscript and before thepostversionscript.
- Commit the changes to git.
- Create the tag in git.
nvn-versiondoes not yet check for an existing tag of the same name.
License
Copyright Scott González. Released under the terms of the MIT license.
10 years ago