1
Fork 0
npm2git/README.md

30 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2018-10-04 01:49:03 +00:00
# npm2git
2018-10-04 14:21:24 +00:00
2018-12-11 15:32:45 +00:00
Use Git as an npm registry.
2018-10-04 14:21:24 +00:00
## Why
2018-12-11 15:32:45 +00:00
Managing an npm registry sucks, and using a central, privately controlled registry also arguably sucks. If you're thinking you want or need to run one, then it's reasonably likely that you already have a Git server available with all the appropriate users and permissions and everything. npm v5+ supports resolving semver ranges against Git tags, so there's no longer a good reason not to abuse Git to deliver built assets.
2018-10-04 14:21:24 +00:00
## How
2018-12-11 15:32:45 +00:00
This shell script creates and tags a (possibly orphaned) commit which includes only the files that would be included by `npm publish`. Before doing so, it also removes the `prepare` script from `package.json`, if present. (The `prepare` script is typically used to build a package after installing it from Git. Here, what npm's getting is already the built files, so we don't want that to happen.) It also optionally creates a (non-annotated) `vX.X.X-src` tag which points to the original source that the (annotated) `vX.X.X` tag was built from.
2018-10-04 14:21:24 +00:00
## Usage
2018-11-11 16:21:10 +00:00
1. Make sure you're ready to go: Your project should be built, the `version` field in your `package.json` should already be incremented, and the `files` field should point to everything you want to publish.
2018-12-11 15:32:45 +00:00
1. Run `npm2git.sh` with the appropriate option for how you want the commit and tag(s) created. This does not push anything.
- `c` - Tag release as a child commit of `HEAD`.
- `cs` - Same, but also tag `HEAD` as `vX.X.X-src`.
- `o` - Tag release as an orphaned commit.
- `os` - Same, but also tag `HEAD` as `vX.X.X-src`.
1. Inspect to make sure all seems well, and then push.
2018-10-04 14:21:24 +00:00
2018-12-11 15:32:45 +00:00
## Nom
2018-10-04 14:21:24 +00:00
2018-10-07 01:31:13 +00:00
See [the npm docs on `npm install`](https://docs.npmjs.com/cli/install) for more on how to install from Git repositories. Specify a version either by tag (`#vX.X.X`) or by semver specification (`#semver:*`).
2018-10-04 14:21:24 +00:00
## License
2018-12-11 15:32:45 +00:00
[MIT](LICENSE)