
Security News
ECMAScript 2025 Finalized with Iterator Helpers, Set Methods, RegExp.escape, and More
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
gulp-reinstall
Advanced tools
A Gulp plugin to install npm, bower, tsd, and pip packages, based on the configuration files found in the gulp file stream
gulp-reinstall is a gulp plugin to automatically install npm, bower, tsd, typings, composer and pip packages/dependencies.
gulp-reinstall runs package install commands based on the files found in a vinyl stream. The filename determines the command that is run.
The default settings are:
File Found | Command run |
---|---|
package.json | npm install |
bower.json | bower install |
tsd.json | tsd reinstall --save |
typings.json | typings install |
composer.json | composer install |
requirements.txt | pip install -r requirements.txt |
It will run the command in the directory it finds the file, so if you have configs nested in a lower
directory than your gulpfile.js
, this will still work.
NOTE gulp-reinstall requires at least NodeJS 8.3.
var reinstall = require('gulp-reinstall');
gulp.src(['./bower.json', './package.json']).pipe(reinstall());
Type: Object
Default: null
Use this option to add or override the command to be run for a particular filename.
var reinstall = require('gulp-reinstall');
gulp
.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
.pipe(
reinstall({
commands: {
'package.json': 'yarn',
},
yarn: ['install', '--ignore-scripts', '--force'],
})
); // yarn install --ignore-scripts --force
Type: Boolean
Default: false
Set to true
if invocations of npm install
and bower install
should be appended with the --production
parameter.
Example:
var reinstall = require('gulp-reinstall');
gulp
.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
// npm install --production
.pipe(reinstall({ production: true }));
Type: Boolean
Default: false
Set to true
if invocations of npm install
should be appended with the --ignore-scripts
parameter. Useful
for skipping postinstall
scripts with npm
.
Example:
var reinstall = require('gulp-reinstall');
gulp
.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
// npm install --ignore-scripts
.pipe(reinstall({ ignoreScripts: true }));
Type: Boolean
Default: false
Set to true
if invocations of npm install
should be appended with the --no-optional
parameter, which will
prevent optional dependencies from being installed.
Example:
var reinstall = require('gulp-reinstall');
gulp
.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
// npm install --no-optional
.pipe(reinstall({ noOptional: true }));
Type: Boolean
Default: false
Set to true
if invocations of bower install
should be appended with the --allow-root
parameter.
Example:
var reinstall = require('gulp-reinstall');
gulp
.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
// bower install --allow-root
.pipe(reinstall({ allowRoot: true }));
Type: Array | String
Default: undefined
Specify additional arguments that will be passed to all install command(s).
Example:
var reinstall = require('gulp-reinstall');
gulp
.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
.pipe(
reinstall(
{
args: ['dev', '--no-shrinkwrap'],
} // npm install --dev --no-shrinkwrap
)
);
Type: Array | String | Object
Default: null
Use this to specify additional arguments for a particular command.
Example:
var reinstall = require('gulp-reinstall');
gulp
.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
.pipe(
reinstall({
// Either a single argument as a string
npm: '--production',
// Or arguments as an object (transformed using Dargs: https://www.npmjs.com/package/dargs)
bower: { allowRoot: true },
// Or arguments as an array
pip: ['--target', '.'],
})
);
This plugin is inspired by gulp-install, and significant parts of the source code owe a debt to that plugin, although the main plugin logic is largely rewritten.
The gulp-install
plugin appears to be no longer maintained, and is dependent on the now-deprecated
gulp-util
package. gulp-reinstall removes that dependency, and also reduces the number of package
dependencies to avoid npm audit
problems in future.
Contributions are very welcome! The rest of this section describes how to set yourself up for developing gulp-reinstall.
Just clone the repo locally and start hacking. Run npm test
to see if stuff broke.
This project follows the Keep a Changelog conventions.
Please use the Angular commit guidelines when writing commit messages.
(These are mainly notes for the maintainer, if you are contributing you won't need to worry about this)
The release process is driven by release-it. First you create a draft
GitHub release locally by using release-it
, then you publish the release through the GitHub web UI.
To create a draft release:
main
branch.npm run release
with the options you want, then follow the prompts. The two most useful options are --dry-run
and --preRelease=alpha
(or whatever the pre-release version is). Note that you need to add --
before any release-it
arguments.Example:
npm run release -- --dry-run --preRelease=alpha
The release-it settings are configured to create a draft release on GitHub. Once the release is published within GitHub,
an automated workflow publishes the package to the npm
repository.
Note: in order to run the release process, you need to set up the RELEASEMGMT_GITHUB_API_TOKEN
environment variable
on your local computer. This should contain a GitHub PAT with the appropriate permissions - see the
release-it documentation for more details.
Licensed under the MIT License.
[0.3.2] - 2023-03-05
FAQs
A Gulp plugin to install npm, bower, tsd, and pip packages, based on the configuration files found in the gulp file stream
The npm package gulp-reinstall receives a total of 0 weekly downloads. As such, gulp-reinstall popularity was classified as not popular.
We found that gulp-reinstall demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Security News
A new Node.js homepage button linking to paid support for EOL versions has sparked a heated discussion among contributors and the wider community.
Research
North Korean threat actors linked to the Contagious Interview campaign return with 35 new malicious npm packages using a stealthy multi-stage malware loader.