Comparing version 0.1.4 to 0.2.0
var fs = require('graceful-fs'); | ||
var stripBom = require('strip-bom'); | ||
@@ -6,6 +7,6 @@ module.exports = function (file, cb) { | ||
if (data) { | ||
file.contents = data; | ||
file.contents = stripBom(data); | ||
} | ||
cb(err, file); | ||
}); | ||
}; | ||
}; |
var fs = require('graceful-fs'); | ||
var stripBom = require('strip-bom'); | ||
module.exports = function (file, cb) { | ||
file.contents = fs.createReadStream(file.path); | ||
file.contents = fs.createReadStream(file.path) | ||
.pipe(stripBom.stream()); | ||
cb(null, file); | ||
}; |
{ | ||
"name": "vinyl-fs", | ||
"description": "Vinyl adapter for the file system", | ||
"version": "0.1.4", | ||
"version": "0.2.0", | ||
"homepage": "http://github.com/wearefractal/vinyl-fs", | ||
@@ -10,18 +10,19 @@ "repository": "git://github.com/wearefractal/vinyl-fs.git", | ||
"dependencies": { | ||
"vinyl": "^0.2.0", | ||
"glob-stream": "^3.1.5", | ||
"glob-watcher": "^0.0.6", | ||
"mkdirp": "^0.3.5", | ||
"graceful-fs": "^2.0.1", | ||
"map-stream": "^0.1.0" | ||
"map-stream": "^0.1.0", | ||
"mkdirp": "^0.5.0", | ||
"strip-bom": "^0.3.0", | ||
"vinyl": "^0.2.0" | ||
}, | ||
"devDependencies": { | ||
"buffer-equal": "^0.0.1", | ||
"coveralls": "^2.6.1", | ||
"istanbul": "^0.2.3", | ||
"jshint": "^2.4.1", | ||
"mocha": "^1.17.0", | ||
"should": "^3.0.1", | ||
"mocha-lcov-reporter": "^0.0.1", | ||
"coveralls": "^2.6.1", | ||
"istanbul": "^0.2.3", | ||
"rimraf": "^2.2.5", | ||
"jshint": "^2.4.1", | ||
"buffer-equal": "0.0.0", | ||
"should": "^4.0.0", | ||
"through2": "^0.4.0" | ||
@@ -28,0 +29,0 @@ }, |
@@ -82,2 +82,68 @@ var vfs = require('../'); | ||
it('should strip BOM from UTF-8-encoded files', function(done) { | ||
var expectedPath = path.join(__dirname, "./fixtures/bom-utf8.txt"); | ||
var expectedContent = fs.readFileSync(expectedPath) | ||
// U+FEFF takes up 3 bytes in UTF-8: http://mothereff.in/utf-8#%EF%BB%BF | ||
.slice(3); | ||
var onEnd = function(){ | ||
buffered.length.should.equal(1); | ||
should.exist(buffered[0].stat); | ||
buffered[0].path.should.equal(expectedPath); | ||
buffered[0].isBuffer().should.equal(true); | ||
bufEqual(buffered[0].contents, expectedContent).should.equal(true); | ||
done(); | ||
}; | ||
var stream = vfs.src("./fixtures/bom-utf8.txt", {cwd: __dirname}); | ||
var buffered = []; | ||
bufferStream = through.obj(dataWrap(buffered.push.bind(buffered)), onEnd); | ||
stream.pipe(bufferStream); | ||
}); | ||
it('should not strip anything that looks like a UTF-8-encoded BOM from UTF-16-BE-encoded files', function(done) { | ||
// Note: this goes for any non-UTF-8 encoding, but testing for UTF-16-BE | ||
// and UTF-16-LE is enough to demonstrate this is done properly. | ||
var expectedPath = path.join(__dirname, "./fixtures/bom-utf16be.txt"); | ||
var expectedContent = fs.readFileSync(expectedPath); | ||
var onEnd = function(){ | ||
buffered.length.should.equal(1); | ||
should.exist(buffered[0].stat); | ||
buffered[0].path.should.equal(expectedPath); | ||
buffered[0].isBuffer().should.equal(true); | ||
bufEqual(buffered[0].contents, expectedContent).should.equal(true); | ||
done(); | ||
}; | ||
var stream = vfs.src("./fixtures/bom-utf16be.txt", {cwd: __dirname}); | ||
var buffered = []; | ||
bufferStream = through.obj(dataWrap(buffered.push.bind(buffered)), onEnd); | ||
stream.pipe(bufferStream); | ||
}); | ||
it('should not strip anything that looks like a UTF-8-encoded BOM from UTF-16-LE-encoded files', function(done) { | ||
// Note: this goes for any non-UTF-8 encoding, but testing for UTF-16-BE | ||
// and UTF-16-LE is enough to demonstrate this is done properly. | ||
var expectedPath = path.join(__dirname, "./fixtures/bom-utf16le.txt"); | ||
var expectedContent = fs.readFileSync(expectedPath); | ||
var onEnd = function(){ | ||
buffered.length.should.equal(1); | ||
should.exist(buffered[0].stat); | ||
buffered[0].path.should.equal(expectedPath); | ||
buffered[0].isBuffer().should.equal(true); | ||
bufEqual(buffered[0].contents, expectedContent).should.equal(true); | ||
done(); | ||
}; | ||
var stream = vfs.src("./fixtures/bom-utf16le.txt", {cwd: __dirname}); | ||
var buffered = []; | ||
bufferStream = through.obj(dataWrap(buffered.push.bind(buffered)), onEnd); | ||
stream.pipe(bufferStream); | ||
}); | ||
it('should glob a file with default settings', function(done) { | ||
@@ -182,3 +248,3 @@ var expectedPath = path.join(__dirname, "./fixtures/test.coffee"); | ||
var stream = vfs.src("./fixtures/*.coffee", {cwd: __dirname, buffer: false}); | ||
var buffered = []; | ||
@@ -185,0 +251,0 @@ bufferStream = through.obj(dataWrap(buffered.push.bind(buffered)), onEnd); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
29924
24
651
7
+ Addedstrip-bom@^0.3.0
+ Addedfirst-chunk-stream@0.1.0(transitive)
+ Addedis-utf8@0.2.1(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedmkdirp@0.5.6(transitive)
+ Addedstrip-bom@0.3.1(transitive)
- Removedmkdirp@0.3.5(transitive)
Updatedmkdirp@^0.5.0