@infinitybots/installer

0.0.3 • Public • Published

@infinitybots/installer

Prettier verify

npm-shrinkwrap based NPM Package Installer for the Infinity Bot List Packages


What

@infinitybots/installer uses npm-shrinkwrap and points your package-lock.json at npm tarballs checked into your project's source control, so you can install while offline, during a registry outage, or during the next left-pad incident.

How

  1. Read package-lock.json or npm-shrinkwrap.json.
  2. Download the exact same .tgz files that npm install fetches from registry.npmjs.org.
  3. Decompress the .tgz files into .tar files. This avoids storing binary files in Git and removes the cost of decompression during npm install.
  4. Store the .tar files in your project at node_infinity/*.tar.
  5. Rewrite package-lock.json to point at those instead of the registry.

Now your project can be installed while completely offline:

- npm install
+ npm ci --offline

The rest of the npm installation process is exactly the same. The only difference is that no network activity is necessary when installing and building your project. The node_infinity directory can be ignored in your editor (much like is done with the node_modules directory), but is instead checked into source control.


Installation

Requires npm@7 or higher.

Install Base Module

npm install --global @infinitybots/installer

Generate npm-shrinkwrap.json

npm shrinkwrap

Usage

Run infinity every time you have modified and installed your dependencies to produce a new package-lock.json.

Usage: infinity [options] [directory]

Options:
  -V, --version  output the version number
  -h, --help     display help for command

Package Sidebar

Install

npm i @infinitybots/installer

Weekly Downloads

2

Version

0.0.3

License

none

Unpacked Size

28.2 kB

Total Files

10

Last publish

Collaborators