From 5a7823622e2d3547cda0b2970b5a7616f448fd31 Mon Sep 17 00:00:00 2001 From: Henry Blyth Date: Thu, 10 Jan 2019 18:05:36 +0000 Subject: [PATCH 1/5] Add `aliases` option to allow named paths --- README.md | 11 ++++++++++- index.js | 21 ++++++++++++++++++--- test/expected/js/basic-include-aliases.js | 3 +++ test/fixtures/js/basic-include-aliases.js | 3 +++ test/main.js | 23 +++++++++++++++++++++++ 5 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 test/expected/js/basic-include-aliases.js create mode 100644 test/fixtures/js/basic-include-aliases.js diff --git a/README.md b/README.md index fd2a31e..0d81122 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,11 @@ gulp.task("default", ["scripts"]); an include directive. * If set to `false` gulp include will not fail, but display warnings in the console. +- `aliases` (optional) + * Takes an `Object` of names to absolute paths + eg: `{myModule: __dirname + '/my-module/*'}` + * If set, `gulp-include` will replace the alias with the expanded filepaths, allowing you to define global unique names (easier to read) + #### Example options usage: ```js gulp.src("src/js/main.js") @@ -63,7 +68,11 @@ gulp.src("src/js/main.js") includePaths: [ __dirname + "/bower_components", __dirname + "/src/js" - ] + ], + aliases: { + jquery: __dirname + '/vendor/jquery.js', + myModule: __dirname + '/path/to/my-module/**/*.js' + } })) .pipe(gulp.dest("dist/js")); ``` diff --git a/index.js b/index.js index b82001b..51ece91 100644 --- a/index.js +++ b/index.js @@ -15,7 +15,8 @@ module.exports = function (params) { var extensions = null, // The extension to be searched after includedFiles = [], // Keeping track of what files have been included includePaths = false, // The paths to be searched - hardFail = false; // Throw error when no match + hardFail = false, // Throw error when no match + aliases = {}; // Allow unique names to match filepaths // Check for includepaths in the params if (params.includePaths) { @@ -28,6 +29,14 @@ module.exports = function (params) { } } + // Check for aliases in the params + if (params.aliases) { + if (typeof params.aliases != "object" || Array.isArray(params.aliases)) { + throw new gutil.PluginError('gulp-include', 'aliases option must be an object'); + } + aliases = params.aliases; + } + // Toggle error reporting if (params.hardFail != undefined) { hardFail = params.hardFail; @@ -136,6 +145,7 @@ module.exports = function (params) { // SEARCHING STARTS HERE // Split the directive and the path var includeType = split[0]; + var includeValue = split[1]; // Use glob for file searching var fileMatches = []; @@ -144,14 +154,19 @@ module.exports = function (params) { if (includePaths != false) { // If includepaths are set, search in those folders for (var y = 0; y < includePaths.length; y++) { - includePath = includePaths[y] + "/" + split[1]; + includePath = includePaths[y] + "/" + includeValue; var globResults = glob.sync(includePath, {mark: true}); fileMatches = fileMatches.concat(globResults); } + } else if (aliases[includeValue]) { + // Add the absolute path + includePath = aliases[includeValue]; + var globResults = glob.sync(includePath, {mark: true}); + fileMatches = globResults; }else{ // Otherwise search relatively - includePath = relativeBasePath + "/" + split[1]; + includePath = relativeBasePath + "/" + includeValue; var globResults = glob.sync(includePath, {mark: true}); fileMatches = globResults; } diff --git a/test/expected/js/basic-include-aliases.js b/test/expected/js/basic-include-aliases.js new file mode 100644 index 0000000..aaaa723 --- /dev/null +++ b/test/expected/js/basic-include-aliases.js @@ -0,0 +1,3 @@ +// basic-include.js +// b.js +// c.js diff --git a/test/fixtures/js/basic-include-aliases.js b/test/fixtures/js/basic-include-aliases.js new file mode 100644 index 0000000..9ddd8fd --- /dev/null +++ b/test/fixtures/js/basic-include-aliases.js @@ -0,0 +1,3 @@ +// basic-include.js +/*= include b */ +// = include "c" diff --git a/test/main.js b/test/main.js index 323d65f..72dc6c4 100644 --- a/test/main.js +++ b/test/main.js @@ -30,6 +30,29 @@ describe("gulp-include", function () { testInclude.write(file); }); + it("should use aliases if set", function (done) { + var file = new gutil.File({ + base: "test/fixtures/", + path: "test/fixtures/js/basic-include-aliases.js", + contents: fs.readFileSync("test/fixtures/js/basic-include-aliases.js") + }); + + testInclude = include({ + aliases: { + b: __dirname + '/fixtures/js/deep_path/b.js', + c: __dirname + '/fixtures/js/deep_path/deeper_path/c.js' + } + }); + testInclude.on("data", function (newFile) { + should.exist(newFile); + should.exist(newFile.contents); + + String(newFile.contents).should.equal(String(fs.readFileSync("test/expected/js/basic-include-aliases.js"), "utf8")) + done(); + }); + testInclude.write(file); + }); + it("should keep whitespace when including", function (done) { var file = new gutil.File({ base: "test/fixtures/", From b0af440d169ac63ac098586997de29dd2bcc08e3 Mon Sep 17 00:00:00 2001 From: Henry Blyth Date: Thu, 10 Jan 2019 18:23:52 +0000 Subject: [PATCH 2/5] Include current and top-level source path in error Also mark aliases as such in the error. --- index.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/index.js b/index.js index 51ece91..2136e52 100644 --- a/index.js +++ b/index.js @@ -77,10 +77,15 @@ module.exports = function (params) { callback(null, file); } - function processInclude(content, filePath, sourceMap) { + function processInclude(content, filePath, sourceMap, filePathToplevel) { var matches = content.match(/^(\s+)?(\/\/|\/\*|\#|\<\!\-\-)(\s+)?=(\s+)?(include|require)(.+$)/mg); var relativeBasePath = path.dirname(filePath); + if (!filePathToplevel) { + // First call: save the source filepath. + filePathToplevel = filePath; + } + if (!matches) return {content: content, map: null}; // Apply sourcemaps @@ -171,7 +176,13 @@ module.exports = function (params) { fileMatches = globResults; } - if (fileMatches.length < 1) fileNotFoundError(includePath); + if (fileMatches.length < 1) { + var includePathForError = includePath; + if (aliases[includeValue]) { + includePathForError = 'alias "' + includeValue + '" ' + includePath; + } + fileNotFoundError(includePathForError, filePath, filePathToplevel); + } var replaceContent = ''; for (var y = 0; y < fileMatches.length; y++) { @@ -187,7 +198,7 @@ module.exports = function (params) { // Unicode byte order marks are stripped from the start of included files var fileContents = stripBom(fs.readFileSync(globbedFilePath)); - var result = processInclude(fileContents.toString(), globbedFilePath, sourceMap); + var result = processInclude(fileContents.toString(), globbedFilePath, sourceMap, filePathToplevel); var resultContent = result.content; if (sourceMap) { @@ -294,7 +305,11 @@ module.exports = function (params) { }).join("\n"); } - function fileNotFoundError(includePath) { + function fileNotFoundError(includePath, filePath, filePathToplevel) { + if (filePathToplevel !== filePath) { + filePath += ', starting from ' + filePathToplevel; + } + includePath += ' (source: ' + filePath + ')'; if (hardFail) { throw new gutil.PluginError('gulp-include', 'No files found matching ' + includePath); }else{ From e27c9a23e4f05c062b96b02454276921150eea82 Mon Sep 17 00:00:00 2001 From: Henry Blyth Date: Fri, 11 Jan 2019 08:46:32 +0000 Subject: [PATCH 3/5] Pin mocha dependency debug@2 for node v0.10 Otherwise it installs debug@4 which uses ES6 features unsupported in node v0.10 --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 475be89..277a066 100644 --- a/package.json +++ b/package.json @@ -19,10 +19,11 @@ }, "license": "MIT", "devDependencies": { + "debug": "^2.6.9", "gulp": "~3.3.4", + "gulp-sourcemaps": "^1.1.4", "mocha": "~1.17.0", "should": "~2.1.1", - "gulp-sourcemaps": "^1.1.4", "stream-assert": "^2.0.1" }, "dependencies": { From 56157fff3a342dbcefa3d17becf244f1d338b5bc Mon Sep 17 00:00:00 2001 From: Henry Blyth Date: Fri, 11 Jan 2019 08:48:26 +0000 Subject: [PATCH 4/5] Add npm-shrinkwrap to pin everything for node 0.10 --- npm-shrinkwrap.json | 1349 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1349 insertions(+) create mode 100644 npm-shrinkwrap.json diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json new file mode 100644 index 0000000..e0faefa --- /dev/null +++ b/npm-shrinkwrap.json @@ -0,0 +1,1349 @@ +{ + "name": "gulp-include", + "version": "2.3.1", + "dependencies": { + "debug": { + "version": "2.6.9", + "from": "debug@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "dependencies": { + "ms": { + "version": "2.0.0", + "from": "ms@2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + } + } + }, + "event-stream": { + "version": "3.1.7", + "from": "event-stream@>=3.1.0 <3.2.0", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.1.7.tgz", + "dependencies": { + "through": { + "version": "2.3.8", + "from": "through@>=2.3.4 <2.4.0", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + }, + "duplexer": { + "version": "0.1.1", + "from": "duplexer@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz" + }, + "from": { + "version": "0.1.7", + "from": "from@>=0.0.0 <1.0.0", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz" + }, + "map-stream": { + "version": "0.1.0", + "from": "map-stream@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" + }, + "pause-stream": { + "version": "0.0.11", + "from": "pause-stream@0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz" + }, + "split": { + "version": "0.2.10", + "from": "split@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/split/-/split-0.2.10.tgz" + }, + "stream-combiner": { + "version": "0.0.4", + "from": "stream-combiner@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz" + } + } + }, + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.12 <6.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "dependencies": { + "inflight": { + "version": "1.0.6", + "from": "inflight@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "minimatch": { + "version": "3.0.4", + "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "from": "brace-expansion@>=1.1.7 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "from": "balanced-match@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + } + } + } + } + }, + "once": { + "version": "1.4.0", + "from": "once@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "from": "path-is-absolute@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + } + } + }, + "gulp": { + "version": "3.3.4", + "from": "gulp@>=3.3.4 <3.4.0", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.3.4.tgz", + "dependencies": { + "glob-stream": { + "version": "3.1.18", + "from": "glob-stream@>=3.1.2 <3.2.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", + "dependencies": { + "glob": { + "version": "4.5.3", + "from": "glob@>=4.3.1 <5.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "dependencies": { + "inflight": { + "version": "1.0.6", + "from": "inflight@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "once": { + "version": "1.4.0", + "from": "once@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + } + } + }, + "minimatch": { + "version": "2.0.10", + "from": "minimatch@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "from": "balanced-match@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + } + } + } + } + }, + "ordered-read-streams": { + "version": "0.1.0", + "from": "ordered-read-streams@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz" + }, + "glob2base": { + "version": "0.0.12", + "from": "glob2base@>=0.0.12 <0.0.13", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", + "dependencies": { + "find-index": { + "version": "0.1.1", + "from": "find-index@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz" + } + } + }, + "unique-stream": { + "version": "1.0.0", + "from": "unique-stream@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz" + }, + "through2": { + "version": "0.6.5", + "from": "through2@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@>=1.0.33-1 <1.1.0-0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } + } + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@>=4.0.0 <4.1.0-0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + } + } + } + } + }, + "mkdirp": { + "version": "0.3.5", + "from": "mkdirp@>=0.3.5 <0.4.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + }, + "optimist": { + "version": "0.6.1", + "from": "optimist@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "dependencies": { + "wordwrap": { + "version": "0.0.3", + "from": "wordwrap@>=0.0.2 <0.1.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" + }, + "minimist": { + "version": "0.0.10", + "from": "minimist@>=0.0.1 <0.1.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" + } + } + }, + "orchestrator": { + "version": "0.3.8", + "from": "orchestrator@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", + "dependencies": { + "end-of-stream": { + "version": "0.1.5", + "from": "end-of-stream@>=0.1.5 <0.2.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", + "dependencies": { + "once": { + "version": "1.3.3", + "from": "once@>=1.3.0 <1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + } + } + }, + "sequencify": { + "version": "0.0.7", + "from": "sequencify@>=0.0.7 <0.1.0", + "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz" + }, + "stream-consume": { + "version": "0.1.1", + "from": "stream-consume@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz" + } + } + }, + "resolve": { + "version": "0.6.3", + "from": "resolve@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz" + }, + "findup-sync": { + "version": "0.1.3", + "from": "findup-sync@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", + "dependencies": { + "glob": { + "version": "3.2.11", + "from": "glob@>=3.2.9 <3.3.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "dependencies": { + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "minimatch": { + "version": "0.3.0", + "from": "minimatch@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "dependencies": { + "lru-cache": { + "version": "2.7.3", + "from": "lru-cache@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + }, + "sigmund": { + "version": "1.0.1", + "from": "sigmund@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" + } + } + } + } + }, + "lodash": { + "version": "2.4.2", + "from": "lodash@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz" + } + } + }, + "pretty-hrtime": { + "version": "0.2.2", + "from": "pretty-hrtime@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-0.2.2.tgz" + }, + "glob-watcher": { + "version": "0.0.8", + "from": "glob-watcher@>=0.0.1 <0.1.0", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.8.tgz", + "dependencies": { + "gaze": { + "version": "0.5.2", + "from": "gaze@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", + "dependencies": { + "globule": { + "version": "0.1.0", + "from": "globule@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "dependencies": { + "lodash": { + "version": "1.0.2", + "from": "lodash@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz" + }, + "glob": { + "version": "3.1.21", + "from": "glob@>=3.1.21 <3.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "dependencies": { + "graceful-fs": { + "version": "1.2.3", + "from": "graceful-fs@>=1.2.0 <1.3.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + }, + "inherits": { + "version": "1.0.2", + "from": "inherits@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz" + } + } + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@>=0.2.11 <0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.7.3", + "from": "lru-cache@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + }, + "sigmund": { + "version": "1.0.1", + "from": "sigmund@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" + } + } + } + } + } + } + } + } + }, + "graceful-fs": { + "version": "2.0.3", + "from": "graceful-fs@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz" + }, + "through": { + "version": "2.3.8", + "from": "through@>=2.3.4 <2.4.0", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + }, + "map-stream": { + "version": "0.1.0", + "from": "map-stream@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" + }, + "semver": { + "version": "2.2.1", + "from": "semver@>=2.2.1 <2.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-2.2.1.tgz" + } + } + }, + "gulp-sourcemaps": { + "version": "1.12.1", + "from": "gulp-sourcemaps@>=1.1.4 <2.0.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.12.1.tgz", + "dependencies": { + "@gulp-sourcemaps/map-sources": { + "version": "1.0.0", + "from": "@gulp-sourcemaps/map-sources@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "from": "normalize-path@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "dependencies": { + "remove-trailing-separator": { + "version": "1.1.0", + "from": "remove-trailing-separator@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + } + } + } + } + }, + "acorn": { + "version": "4.0.13", + "from": "acorn@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz" + }, + "convert-source-map": { + "version": "1.6.0", + "from": "convert-source-map@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "from": "safe-buffer@>=5.1.1 <5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + } + } + }, + "css": { + "version": "2.2.4", + "from": "css@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "dependencies": { + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.3 <3.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "source-map-resolve": { + "version": "0.5.2", + "from": "source-map-resolve@>=0.5.2 <0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "dependencies": { + "atob": { + "version": "2.1.2", + "from": "atob@>=2.1.1 <3.0.0", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + }, + "decode-uri-component": { + "version": "0.2.0", + "from": "decode-uri-component@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" + }, + "resolve-url": { + "version": "0.2.1", + "from": "resolve-url@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + }, + "source-map-url": { + "version": "0.4.0", + "from": "source-map-url@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz" + } + } + }, + "urix": { + "version": "0.1.0", + "from": "urix@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + } + } + }, + "debug-fabulous": { + "version": "0.0.4", + "from": "debug-fabulous@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-0.0.4.tgz", + "dependencies": { + "lazy-debug-legacy": { + "version": "0.0.1", + "from": "lazy-debug-legacy@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz" + }, + "object-assign": { + "version": "4.1.0", + "from": "object-assign@4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" + } + } + }, + "detect-newline": { + "version": "2.1.0", + "from": "detect-newline@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz" + }, + "graceful-fs": { + "version": "4.1.15", + "from": "graceful-fs@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz" + }, + "source-map": { + "version": "0.6.1", + "from": "source-map@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + }, + "through2": { + "version": "2.0.5", + "from": "through2@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "from": "readable-stream@>=2.3.6 <2.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.3 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "process-nextick-args": { + "version": "2.0.0", + "from": "process-nextick-args@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz" + }, + "safe-buffer": { + "version": "5.1.2", + "from": "safe-buffer@>=5.1.1 <5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + }, + "string_decoder": { + "version": "1.1.1", + "from": "string_decoder@>=1.1.1 <1.2.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + } + } + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@>=4.0.0 <4.1.0-0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + } + } + }, + "vinyl": { + "version": "1.2.0", + "from": "vinyl@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "dependencies": { + "clone": { + "version": "1.0.4", + "from": "clone@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" + }, + "clone-stats": { + "version": "0.0.1", + "from": "clone-stats@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + }, + "replace-ext": { + "version": "0.0.1", + "from": "replace-ext@0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz" + } + } + } + } + }, + "gulp-util": { + "version": "2.2.20", + "from": "gulp-util@>=2.2.10 <2.3.0", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz", + "dependencies": { + "chalk": { + "version": "0.5.1", + "from": "chalk@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "dependencies": { + "ansi-styles": { + "version": "1.1.0", + "from": "ansi-styles@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz" + }, + "escape-string-regexp": { + "version": "1.0.5", + "from": "escape-string-regexp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + }, + "has-ansi": { + "version": "0.1.0", + "from": "has-ansi@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "from": "ansi-regex@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz" + } + } + }, + "strip-ansi": { + "version": "0.3.0", + "from": "strip-ansi@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "from": "ansi-regex@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz" + } + } + }, + "supports-color": { + "version": "0.2.0", + "from": "supports-color@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz" + } + } + }, + "dateformat": { + "version": "1.0.12", + "from": "dateformat@>=1.0.7-1.2.3 <2.0.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "from": "get-stdin@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" + }, + "meow": { + "version": "3.7.0", + "from": "meow@>=3.3.0 <4.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "dependencies": { + "camelcase-keys": { + "version": "2.1.0", + "from": "camelcase-keys@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "dependencies": { + "camelcase": { + "version": "2.1.1", + "from": "camelcase@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" + } + } + }, + "decamelize": { + "version": "1.2.0", + "from": "decamelize@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + }, + "loud-rejection": { + "version": "1.6.0", + "from": "loud-rejection@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "dependencies": { + "currently-unhandled": { + "version": "0.4.1", + "from": "currently-unhandled@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "dependencies": { + "array-find-index": { + "version": "1.0.2", + "from": "array-find-index@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" + } + } + }, + "signal-exit": { + "version": "3.0.2", + "from": "signal-exit@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" + } + } + }, + "map-obj": { + "version": "1.0.1", + "from": "map-obj@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + }, + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + }, + "normalize-package-data": { + "version": "2.4.0", + "from": "normalize-package-data@>=2.3.4 <3.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "dependencies": { + "hosted-git-info": { + "version": "2.7.1", + "from": "hosted-git-info@>=2.1.4 <3.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz" + }, + "is-builtin-module": { + "version": "1.0.0", + "from": "is-builtin-module@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "from": "builtin-modules@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" + } + } + }, + "semver": { + "version": "5.6.0", + "from": "semver@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0||>=4.0.0 <5.0.0||>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "from": "validate-npm-package-license@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "dependencies": { + "spdx-correct": { + "version": "3.1.0", + "from": "spdx-correct@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "dependencies": { + "spdx-license-ids": { + "version": "3.0.3", + "from": "spdx-license-ids@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz" + } + } + }, + "spdx-expression-parse": { + "version": "3.0.0", + "from": "spdx-expression-parse@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "dependencies": { + "spdx-exceptions": { + "version": "2.2.0", + "from": "spdx-exceptions@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz" + }, + "spdx-license-ids": { + "version": "3.0.3", + "from": "spdx-license-ids@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz" + } + } + } + } + } + } + }, + "object-assign": { + "version": "4.1.1", + "from": "object-assign@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + }, + "read-pkg-up": { + "version": "1.0.1", + "from": "read-pkg-up@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "dependencies": { + "find-up": { + "version": "1.1.2", + "from": "find-up@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "dependencies": { + "path-exists": { + "version": "2.1.0", + "from": "path-exists@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "dependencies": { + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + } + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "from": "read-pkg@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "from": "load-json-file@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "from": "graceful-fs@>=4.1.2 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz" + }, + "parse-json": { + "version": "2.2.0", + "from": "parse-json@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "dependencies": { + "error-ex": { + "version": "1.3.2", + "from": "error-ex@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "from": "is-arrayish@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + } + } + } + } + }, + "pify": { + "version": "2.3.0", + "from": "pify@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "dependencies": { + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + } + } + } + } + }, + "path-type": { + "version": "1.1.0", + "from": "path-type@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "from": "graceful-fs@>=4.1.2 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz" + }, + "pify": { + "version": "2.3.0", + "from": "pify@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "dependencies": { + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + } + } + } + } + } + } + } + } + }, + "redent": { + "version": "1.0.0", + "from": "redent@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "dependencies": { + "indent-string": { + "version": "2.1.0", + "from": "indent-string@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "dependencies": { + "repeating": { + "version": "2.0.1", + "from": "repeating@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "dependencies": { + "is-finite": { + "version": "1.0.2", + "from": "is-finite@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "from": "number-is-nan@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + } + } + } + } + } + } + }, + "strip-indent": { + "version": "1.0.1", + "from": "strip-indent@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "from": "trim-newlines@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" + } + } + } + } + }, + "lodash._reinterpolate": { + "version": "2.4.1", + "from": "lodash._reinterpolate@>=2.4.1 <3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz" + }, + "lodash.template": { + "version": "2.4.1", + "from": "lodash.template@>=2.4.1 <3.0.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", + "dependencies": { + "lodash.defaults": { + "version": "2.4.1", + "from": "lodash.defaults@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "lodash._objecttypes@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "lodash.escape": { + "version": "2.4.1", + "from": "lodash.escape@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", + "dependencies": { + "lodash._escapehtmlchar": { + "version": "2.4.1", + "from": "lodash._escapehtmlchar@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", + "dependencies": { + "lodash._htmlescapes": { + "version": "2.4.1", + "from": "lodash._htmlescapes@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + } + } + }, + "lodash._reunescapedhtml": { + "version": "2.4.1", + "from": "lodash._reunescapedhtml@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", + "dependencies": { + "lodash._htmlescapes": { + "version": "2.4.1", + "from": "lodash._htmlescapes@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + } + } + } + } + }, + "lodash._escapestringchar": { + "version": "2.4.1", + "from": "lodash._escapestringchar@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz" + }, + "lodash.keys": { + "version": "2.4.1", + "from": "lodash.keys@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "lodash._isnative@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.isobject": { + "version": "2.4.1", + "from": "lodash.isobject@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "lodash._objecttypes@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "lodash._shimkeys": { + "version": "2.4.1", + "from": "lodash._shimkeys@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "lodash._objecttypes@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + } + } + }, + "lodash.templatesettings": { + "version": "2.4.1", + "from": "lodash.templatesettings@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz" + }, + "lodash.values": { + "version": "2.4.1", + "from": "lodash.values@>=2.4.1 <2.5.0", + "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz" + } + } + }, + "minimist": { + "version": "0.2.0", + "from": "minimist@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz" + }, + "multipipe": { + "version": "0.1.2", + "from": "multipipe@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "from": "duplexer2@0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "from": "readable-stream@>=1.1.9 <1.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } + } + } + } + } + } + }, + "through2": { + "version": "0.5.1", + "from": "through2@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@>=1.0.33-1 <1.1.0-0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } + } + }, + "xtend": { + "version": "3.0.0", + "from": "xtend@>=3.0.0 <3.1.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz" + } + } + }, + "vinyl": { + "version": "0.2.3", + "from": "vinyl@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "dependencies": { + "clone-stats": { + "version": "0.0.1", + "from": "clone-stats@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + } + } + } + } + }, + "mocha": { + "version": "1.17.1", + "from": "mocha@>=1.17.0 <1.18.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-1.17.1.tgz", + "dependencies": { + "commander": { + "version": "2.0.0", + "from": "commander@2.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz" + }, + "growl": { + "version": "1.7.0", + "from": "growl@>=1.7.0 <1.8.0", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz" + }, + "jade": { + "version": "0.26.3", + "from": "jade@0.26.3", + "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", + "dependencies": { + "commander": { + "version": "0.6.1", + "from": "commander@0.6.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz" + }, + "mkdirp": { + "version": "0.3.0", + "from": "mkdirp@0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz" + } + } + }, + "diff": { + "version": "1.0.7", + "from": "diff@1.0.7", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.0.7.tgz" + }, + "mkdirp": { + "version": "0.3.5", + "from": "mkdirp@0.3.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + }, + "glob": { + "version": "3.2.3", + "from": "glob@3.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.3.tgz", + "dependencies": { + "minimatch": { + "version": "0.2.14", + "from": "minimatch@>=0.2.11 <0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.7.3", + "from": "lru-cache@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + }, + "sigmund": { + "version": "1.0.1", + "from": "sigmund@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" + } + } + }, + "graceful-fs": { + "version": "2.0.3", + "from": "graceful-fs@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } + } + } + } + }, + "should": { + "version": "2.1.1", + "from": "should@>=2.1.1 <2.2.0", + "resolved": "https://registry.npmjs.org/should/-/should-2.1.1.tgz" + }, + "source-map": { + "version": "0.5.7", + "from": "source-map@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + }, + "stream-assert": { + "version": "2.0.3", + "from": "stream-assert@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/stream-assert/-/stream-assert-2.0.3.tgz", + "dependencies": { + "through2": { + "version": "0.6.5", + "from": "through2@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@>=1.0.33-1 <1.1.0-0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } + } + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@>=4.0.0 <4.1.0-0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + } + } + } + } + }, + "strip-bom": { + "version": "2.0.0", + "from": "strip-bom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "dependencies": { + "is-utf8": { + "version": "0.2.1", + "from": "is-utf8@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "from": "vinyl-sourcemaps-apply@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz" + } + } +} From 9c3b9e84a8a7728a5e3d92d6b21f2e97930f4c1c Mon Sep 17 00:00:00 2001 From: Henry Blyth Date: Fri, 11 Jan 2019 08:49:44 +0000 Subject: [PATCH 5/5] Move aliases check to before includePaths Saves on File IO time spent searching for globs that are aliases. --- index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/index.js b/index.js index 2136e52..75c6b9d 100644 --- a/index.js +++ b/index.js @@ -156,7 +156,12 @@ module.exports = function (params) { var fileMatches = []; var includePath = ""; - if (includePaths != false) { + if (aliases[includeValue]) { + // Add the absolute path + includePath = aliases[includeValue]; + var globResults = glob.sync(includePath, {mark: true}); + fileMatches = globResults; + } else if (includePaths != false) { // If includepaths are set, search in those folders for (var y = 0; y < includePaths.length; y++) { includePath = includePaths[y] + "/" + includeValue; @@ -164,11 +169,6 @@ module.exports = function (params) { var globResults = glob.sync(includePath, {mark: true}); fileMatches = fileMatches.concat(globResults); } - } else if (aliases[includeValue]) { - // Add the absolute path - includePath = aliases[includeValue]; - var globResults = glob.sync(includePath, {mark: true}); - fileMatches = globResults; }else{ // Otherwise search relatively includePath = relativeBasePath + "/" + includeValue;