Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/infinity-development/package-installer
https://github.com/infinity-development/package-installer
Last synced: 5 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/infinity-development/package-installer
- Owner: Infinity-Development
- Created: 2023-04-02T05:46:27.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-04-02T10:01:36.000Z (almost 2 years ago)
- Last Synced: 2023-08-19T05:27:34.950Z (over 1 year ago)
- Language: TypeScript
- Size: 85 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# @infinitybots/installer
[![Prettier](https://github.com/Infinity-Development/package-installer/actions/workflows/prettier.yml/badge.svg)](https://github.com/Infinity-Development/package-installer/actions/workflows/prettier.yml) [![verify](https://github.com/Infinity-Development/package-installer/actions/workflows/verify.yaml/badge.svg)](https://github.com/Infinity-Development/package-installer/actions/workflows/verify.yaml)
> [npm-shrinkwrap](https://docs.npmjs.com/cli/v9/commands/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](https://www.npmjs.com/)
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](https://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm.html).## How
1. Read `package-lock.json` or `npm-shrinkwrap.json`.
1. Download the exact same .tgz files that `npm install` fetches from
[registry.npmjs.org](https://registry.npmjs.org).
1. Decompress the .tgz files into .tar files. This avoids storing binary files
in Git and removes the cost of decompression during `npm install`.
1. Store the .tar files in your project at `node_infinity/*.tar`.
1. Rewrite `package-lock.json` to point at those instead of the registry.Now your project can be installed while completely offline:
```diff
- 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
```