gulp-resolve-dependencies
Advanced tools
Comparing version 2.2.0 to 3.0.0
30
index.js
@@ -5,6 +5,9 @@ 'use strict'; | ||
path = require('path'), | ||
gutil = require('gulp-util'), | ||
_ = require('lodash'), | ||
Vinyl = require('vinyl'), | ||
Log = require('fancy-log'), | ||
AnsiColors = require('ansi-colors'), | ||
merge = require('lodash.merge'), | ||
Stream = require('stream'), | ||
DAG = require('dag'); | ||
DAG = require('dag'), | ||
cloneRegexp = require('clone-regexp'); | ||
@@ -19,3 +22,3 @@ var PLUGIN_NAME = 'gulp-resolve-dependencies'; | ||
resolvePath: function(match, targetFile) { | ||
return path.join(path.dirname(targetFile.path), match); | ||
return path.join(path.dirname(path.resolve(targetFile.path)), match); | ||
} | ||
@@ -28,7 +31,8 @@ }, | ||
getFiles = function(targetFile) { | ||
var pattern = _.clone(config, true).pattern, | ||
var pattern = cloneRegexp(config.pattern, { | ||
lastIndex: 0 | ||
}), | ||
files = [], | ||
content, | ||
match, | ||
relFilePath, | ||
filePath, | ||
@@ -39,3 +43,3 @@ file, | ||
// Skip if already added to dependencies | ||
if (_.indexOf(fileCache, targetFile.path) !== -1) { | ||
if (fileCache.includes(targetFile.path)) { | ||
return false; | ||
@@ -47,3 +51,3 @@ } else { | ||
content = targetFile.contents.toString('utf8'); | ||
while (match = pattern.exec(content)) { | ||
@@ -72,3 +76,3 @@ filePath = config.resolvePath(match[1], targetFile); | ||
// Create new file | ||
file = new gutil.File({ | ||
file = new Vinyl({ | ||
base: targetFile.base, | ||
@@ -93,3 +97,3 @@ path: filePath, | ||
// Set default values | ||
config = _.merge(defaults, config); | ||
config = merge(defaults, config); | ||
@@ -117,5 +121,5 @@ // Happy streaming | ||
// Add dependencies and file itself to stream | ||
files.forEach(_.bind(function(file) { | ||
files.forEach(function(file) { | ||
this.push(file); | ||
}, this)); | ||
}.bind(this)); | ||
@@ -133,3 +137,3 @@ if (config.log) { | ||
if (config.log) { | ||
gutil.log('[' + gutil.colors.green(PLUGIN_NAME) + '] Files returned to stream:', filesReturned); | ||
Log('[' + AnsiColors.green(PLUGIN_NAME) + '] Files returned to stream:', filesReturned); | ||
} | ||
@@ -136,0 +140,0 @@ |
{ | ||
"name": "gulp-resolve-dependencies", | ||
"version": "2.2.0", | ||
"version": "3.0.0", | ||
"description": "Resolve dependency directives in assets (e.g. \"@requires\" or \"//= require\" in JavaScript)", | ||
@@ -9,3 +9,3 @@ "license": "MIT", | ||
"engines": { | ||
"node": ">=0.10.0" | ||
"node": ">=6" | ||
}, | ||
@@ -30,13 +30,17 @@ "scripts": { | ||
"dependencies": { | ||
"dag": "0.0.1", | ||
"gulp-util": "^3.0.3", | ||
"lodash": "^3.1.0" | ||
"ansi-colors": "^3.2.3", | ||
"clone-regexp": "^2.1.0", | ||
"dag": "^0.0.1", | ||
"fancy-log": "^1.3.0", | ||
"lodash.merge": "^4.6.1", | ||
"vinyl": "^2.2.0" | ||
}, | ||
"devDependencies": { | ||
"event-stream": "^3.2.2", | ||
"gulp": "^3.8.10", | ||
"event-stream": "3.3.4", | ||
"gulp": "^4.0.0", | ||
"gulp-concat": "^2.4.3", | ||
"gulp-tap": "^0.1.3", | ||
"mocha": "^2.1.0" | ||
"gulp-file": "^0.4.0", | ||
"gulp-tap": "^1.0.1", | ||
"mocha": "^5.2.0" | ||
} | ||
} |
var gulp = require('gulp'), | ||
fs = require('fs'), | ||
file = require('gulp-file'), | ||
path = require('path'), | ||
@@ -10,2 +11,15 @@ es = require('event-stream'), | ||
function assertFilesEqual(file) { | ||
var result = path.join(__dirname, 'results', file); | ||
var expected = path.join(__dirname, 'expected', file); | ||
assert.equal( | ||
fs.readFileSync(result, 'utf8'), | ||
fs.readFileSync(expected, 'utf8') | ||
); | ||
fs.unlinkSync(result); | ||
fs.rmdirSync(__dirname + '/results/'); | ||
} | ||
describe('gulp-resolve-dependencies', function() { | ||
@@ -18,10 +32,17 @@ it('should generate concatenated JS file', function(done) { | ||
.pipe(es.wait(function() { | ||
assert.equal( | ||
fs.readFileSync(__dirname + '/results/main.js', 'utf8'), | ||
fs.readFileSync(__dirname + '/expected/main.js', 'utf8') | ||
); | ||
assertFilesEqual('main.js'); | ||
done(); | ||
})); | ||
}); | ||
fs.unlinkSync(__dirname + '/results/main.js'); | ||
fs.rmdirSync(__dirname + '/results/'); | ||
it('should handle relative file paths', function(done) { | ||
gulp.src(__dirname + '/fixtures/main.js') | ||
// Add a new file | ||
.pipe(file('test/fixtures/relative.js', ['/**\n', ' * @requires main.js\n', ' */\n', 'console.log(\'relative.js\');\n'].join(''))) | ||
.pipe(resolveDependencies()) | ||
.pipe(concat('relative.js')) | ||
.pipe(gulp.dest(__dirname + '/results/')) | ||
.pipe(es.wait(function() { | ||
assertFilesEqual('relative.js'); | ||
done(); | ||
@@ -47,10 +68,3 @@ })); | ||
.pipe(es.wait(function() { | ||
assert.equal( | ||
fs.readFileSync(__dirname + '/results/resolvepath.js', 'utf8'), | ||
fs.readFileSync(__dirname + '/expected/resolvepath.js', 'utf8') | ||
); | ||
fs.unlinkSync(__dirname + '/results/resolvepath.js'); | ||
fs.rmdirSync(__dirname + '/results/'); | ||
assertFilesEqual('resolvepath.js'); | ||
done(); | ||
@@ -77,3 +91,3 @@ })); | ||
})) | ||
.on('end', function() { | ||
.on('finish', function() { | ||
done(); | ||
@@ -80,0 +94,0 @@ }); |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
141329
21
4085
6
6
1
+ Addedansi-colors@^3.2.3
+ Addedclone-regexp@^2.1.0
+ Addedfancy-log@^1.3.0
+ Addedlodash.merge@^4.6.1
+ Addedvinyl@^2.2.0
+ Addedansi-colors@3.2.4(transitive)
+ Addedclone@2.1.2(transitive)
+ Addedclone-buffer@1.0.0(transitive)
+ Addedclone-regexp@2.2.0(transitive)
+ Addedclone-stats@1.0.0(transitive)
+ Addedcloneable-readable@1.1.3(transitive)
+ Addedis-regexp@2.1.0(transitive)
+ Addedlodash.merge@4.6.2(transitive)
+ Addedremove-trailing-separator@1.1.0(transitive)
+ Addedreplace-ext@1.0.1(transitive)
+ Addedvinyl@2.2.1(transitive)
- Removedgulp-util@^3.0.3
- Removedlodash@^3.1.0
- Removedansi-regex@2.1.1(transitive)
- Removedansi-styles@2.2.1(transitive)
- Removedarray-differ@1.0.0(transitive)
- Removedarray-uniq@1.0.3(transitive)
- Removedbeeper@1.1.1(transitive)
- Removedchalk@1.1.3(transitive)
- Removedclone@1.0.4(transitive)
- Removedclone-stats@0.0.1(transitive)
- Removeddateformat@2.2.0(transitive)
- Removedduplexer2@0.0.2(transitive)
- Removedescape-string-regexp@1.0.5(transitive)
- Removedglogg@1.0.2(transitive)
- Removedgulp-util@3.0.8(transitive)
- Removedgulplog@1.0.0(transitive)
- Removedhas-ansi@2.0.0(transitive)
- Removedhas-gulplog@0.1.0(transitive)
- Removedisarray@0.0.1(transitive)
- Removedlodash@3.10.1(transitive)
- Removedlodash._basecopy@3.0.1(transitive)
- Removedlodash._basetostring@3.0.1(transitive)
- Removedlodash._basevalues@3.0.0(transitive)
- Removedlodash._getnative@3.9.1(transitive)
- Removedlodash._isiterateecall@3.0.9(transitive)
- Removedlodash._reescape@3.0.0(transitive)
- Removedlodash._reevaluate@3.0.0(transitive)
- Removedlodash._reinterpolate@3.0.0(transitive)
- Removedlodash._root@3.0.1(transitive)
- Removedlodash.escape@3.2.0(transitive)
- Removedlodash.isarguments@3.1.0(transitive)
- Removedlodash.isarray@3.0.4(transitive)
- Removedlodash.keys@3.1.2(transitive)
- Removedlodash.restparam@3.6.1(transitive)
- Removedlodash.template@3.6.2(transitive)
- Removedlodash.templatesettings@3.1.1(transitive)
- Removedminimist@1.2.8(transitive)
- Removedmultipipe@0.1.2(transitive)
- Removedobject-assign@3.0.0(transitive)
- Removedreadable-stream@1.1.14(transitive)
- Removedreplace-ext@0.0.1(transitive)
- Removedsparkles@1.0.1(transitive)
- Removedstring_decoder@0.10.31(transitive)
- Removedstrip-ansi@3.0.1(transitive)
- Removedsupports-color@2.0.0(transitive)
- Removedthrough2@2.0.5(transitive)
- Removedvinyl@0.5.3(transitive)
- Removedxtend@4.0.2(transitive)
Updateddag@^0.0.1