Gulp plugin for listing package.json dependencies and copying their dist files to a specific folder
npm install gulp-npm-dist --save-dev
//package.json example
{
"name": "app",
"version": "1.0.0",
"dependencies": {
"bootstrap": "^3.3.7",
"bootstrap-3-typeahead": "^4.0.2",
"bootstrap-select": "^1.12.1",
"jquery": "^3.1.1",
"jquery-lazyload": "^1.9.7",
"shufflejs": "^4.0.2"
},
"devDependencies": {
"gulp": "^3.9.1",
"gulp-rename": "^1.2.2",
"gulp-less": "^3.1.0",
"gulp-npm-dist": "^0.1.2",
"pump": "^1.0.1"
}
}
var gulp = require('gulp');
var npmDist = require('gulp-npm-dist');
// Copy dependencies to ./public/libs/
gulp.task('copy:libs', function() {
gulp.src(npmDist(), {base:'./node_modules'})
.pipe(gulp.dest('./public/libs'));
});
Usage with gulp-rename
var gulp = require('gulp');
var npmDist = require('gulp-npm-dist');
var rename = require('gulp-rename');
gulp.task('copy:libs', function() {
gulp.src(npmDist(), {base:'./node_modules/'})
.pipe(rename(function(path) {
path.dirname = path.dirname.replace(/\/dist/, '').replace(/\\dist/, '');
}))
.pipe(gulp.dest('./public/libs'));
});
will create this structure:
Type: boolean
Default: false
Type: array
Default:
[
'*.map',
'src/**/*',
'examples/**/*',
'example/**/*',
'demo/**/*',
'spec/**/*',
'docs/**/*',
'tests/**/*',
'test/**/*',
'Gruntfile.js',
'gulpfile.js',
'package.json',
'package-lock.json',
'bower.json',
'composer.json',
'yarn.lock',
'webpack.config.js',
'README',
'LICENSE',
'CHANGELOG',
'*.yml',
'*.md',
'*.coffee',
'*.ts',
'*.scss',
'*.less'
]
Type: boolean
Default: false
(append your excludes to the default set)
gulp.task('copy:libs', function () {
gulp.src(npmDist({
copyUnminified: true,
excludes: ['/**/*.txt']
}), { base: './node_modules' })
.pipe(gulp.dest('./public/libs'));
});
Type: string
Default: ./
(relative to gulpfile.js
)
Type: string
Default: ./
(relative to gulpfile.js
)
Assume the following locations:
./node_modules/
./foo/gulpfile.js
./foo/bar/package.json
gulp.task('copy:libs', function () {
gulp.src(npmDist({
nodeModulesPath: '../',
packageJsonPath: 'bar/'
}), { base: '../node_modules' })
.pipe(gulp.dest('./public/libs'));
});