gulp-recipe-loader
Advanced tools
Comparing version 0.1.9 to 0.1.10
32
main.js
@@ -10,2 +10,3 @@ 'use strict'; | ||
var gutil = require('gulp-util'); | ||
var fs = require('fs'); | ||
@@ -59,2 +60,26 @@ // workaround for linked development modules | ||
/** | ||
* Checks if at least one of devDependency directory exists | ||
* (to distinguish production and dev npm install) | ||
* | ||
* @param dependency | ||
* @returns {*} | ||
*/ | ||
function devDependenciesExists(dependency) { | ||
var depExists; | ||
if (!dependency) { | ||
return false; | ||
} | ||
try { | ||
depExists = fs.statSync(path.join('node_modules', dependency)).isDirectory(); | ||
} | ||
catch(e) { | ||
depExists = false; | ||
} | ||
return depExists; | ||
} | ||
// require gulp from outside world to prevent multiple instances. This could also be a peer dependency, | ||
@@ -85,6 +110,9 @@ // but it gets tricky with multiple layers of modules | ||
// check for devDependencies | ||
var loadDevDependencies = devDependenciesExists(_.findKey(_.result(packageFile,'devDependencies'))); | ||
// lazy load all non-recipe plugins from package.json | ||
var $ = loadPlugins({ | ||
pattern: ['*', '!gulp-recipe-*', '!gulp'], | ||
scope: ['dependencies', 'devDependencies'], | ||
scope: loadDevDependencies ? ['dependencies', 'devDependencies'] : ['dependencies'], | ||
replaceString: 'gulp-', | ||
@@ -121,3 +149,3 @@ camelize: true, | ||
var externPattern = ['gulp-recipe-*', '!gulp-recipe-loader']; | ||
var externScope = ['dependencies', 'devDependencies']; | ||
var externScope = loadDevDependencies ? ['dependencies', 'devDependencies'] : ['dependencies']; | ||
var replaceString = 'gulp-recipe-'; | ||
@@ -124,0 +152,0 @@ var pluginNames = _.reduce(externScope, function(result, prop) { |
{ | ||
"name": "gulp-recipe-loader", | ||
"version": "0.1.9", | ||
"version": "0.1.10", | ||
"description": "Gulp environment with receipe modules autoloading with hooks", | ||
@@ -5,0 +5,0 @@ "main": "main.js", |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
39754
986
6