https://github.com/ksxnodeapps/generate-npm-install
Generate npm install commands base on package.json
https://github.com/ksxnodeapps/generate-npm-install
bash bash-script cli command-line generate javascript nodejs npm shell shell-script unix-command unix-shell
Last synced: 9 months ago
JSON representation
Generate npm install commands base on package.json
- Host: GitHub
- URL: https://github.com/ksxnodeapps/generate-npm-install
- Owner: ksxnodeapps
- License: mit
- Created: 2017-06-10T15:26:55.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-06-26T07:45:30.000Z (over 3 years ago)
- Last Synced: 2025-03-15T15:41:39.478Z (9 months ago)
- Topics: bash, bash-script, cli, command-line, generate, javascript, nodejs, npm, shell, shell-script, unix-command, unix-shell
- Language: JavaScript
- Homepage: https://goo.gl/yncmzG
- Size: 149 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# generate-npm-install
Generate npm/yarn install commands base on package.json
## Requirements
* Node.js ≥ 6.0.0, and npm
* UNIX-like shell, e.g. sh, bash, zsh
## Installation
```bash
npm install --global generate-npm-install
```
## Usage
### Command-line
This will generate `npm install --save-{prod,bundle,optional,dev}` or `yarn add {,--optional,--dev}` commands base on `package.json` in working directory
```sh
generate-npm-install # output contains: npm install --save... package1 package2 ...
NPM_TAG=latest generate-npm-install # output contains: npm install --save... package1@latest package2@latest ...
USE_YARN=true generate-npm-install # output contains: yarn add ...
```
This will generate `npm install` commands for `/path/to/directory/package.json`
```sh
generate-npm-install /path/to/directory
NPM_TAG=latest generate-npm-install /path/to/directory
```
This will execute generated `npm install` commands
```sh
generate-npm-install | sh
NPM_TAG=latest generate-npm-install | sh
generate-npm-install /path/to/directory | sh
NPM_TAG=latest generate-npm-install /path/to/directory | sh
```
### JavaScript APIs
#### Import module
```javascript
const generateNpmInstall = require('generate-npm-install')
```
#### Function Usage
```typescript
generateNpmInstall(options: {
process: {
env: {
TAG?: string,
NPM_TAG: string = TAG,
USE_YARN: string = 'false'
}
} = require('process'),
fs: {
readFileSync: (filename: string) => {
toString: (encoding: string = 'utf8') => string
}
} = require('fs'),
path: {
resolve: (...args: string[]) => string
} = require('path'),
directory: string = process.cwd()
}): string
```
* `options.process`: object, default to `process`
* `options.process.env`: object, default to `{}`
* `options.process.env.NPM_TAG`: string, default to `options.process.env.TAG`
* `options.process.env.TAG`: string, default to `undefined`
* `options.process.env.USE_YARN`: string, default to `'false'`
* `options.fs`: object, default to `fs`
* `options.fs.readFileSync`: function
* `options.path`: object, default to `path`
* `options.path.resolve`: function
* `options.directory`: string, path to a directory, default to `options.process.cwd()`
* Returns a string contains UNIX shell script