A simple utility to package all node_modules dependencies when running `npm pack` (not devDependencies)
APACHE-2.0 License
A simple utility to package all node_modules dependencies when running npm pack
(not devDependencies)
This can be useful when wanting to ship dependencies as part of the artifact. While one can install dependencies on a deployed target using package-lock.json and yarn.lock, there can be downsides to that approach, as well.
npm-pack-all utility does the following:
Backs up the following files
Adds all dependencies as bundledDependencies
in the active package.json
--dev-deps
flag to add devDependencies along with production dependenciesGenerates an empty .npmignore file in the project root
If no .npmignore exists, npm pack
will use .gitignore to exclude modules
(node_modules by default in many cases)
Calls npm -dd pack
The following will be packed into a .tgz archive:
files
field--dev-deps
, all devDependencies (and their dependencies)Restores the files that were backed up
npm install npm-pack-all
OR
yarn add npm-pack-all
node node_modules/.bin/npm-pack-all <optional options>
node node_modules/.bin/npm-pack-all
Output your .tgz artifact to a different directory (or with a different name)
node node_modules/.bin/npm-pack-all --output build/
OR
node node_modules/.bin/npm-pack-all --output build/artifact.tgz
Bundle all production dependencies AND devDependencies in the artifact (use with care -- your artifact will balloon)
node node_modules/.bin/npm-pack-all --dev-deps --output build/artifact.tgz