diff --git a/index.js b/index.js index b8bf81d25..82c9c4a19 100644 --- a/index.js +++ b/index.js @@ -498,7 +498,7 @@ Browserify.prototype._createDeps = function (opts) { return cb(null, paths.empty, {}); } if (file && self._ignore.length) { - var nm = file.split('/node_modules/')[1]; + var nm = file.replace(/\\/g, '/').split('/node_modules/')[1]; if (nm) { nm = nm.split('/')[0]; if (self._ignore.indexOf(nm) >= 0) { @@ -576,7 +576,7 @@ Browserify.prototype._createDeps = function (opts) { if (no.indexOf(file) >= 0) return through(); if (absno.indexOf(file) >= 0) return through(); - var parts = file.split('/node_modules/'); + var parts = file.replace(/\\/g, '/').split('/node_modules/'); for (var i = 0; i < no.length; i++) { if (typeof no[i] === 'function' && no[i](file)) { return through(); diff --git a/test/delay.js b/test/delay.js index 6335ee832..63c1d8785 100644 --- a/test/delay.js +++ b/test/delay.js @@ -1,5 +1,6 @@ var browserify = require('../'); var vm = require('vm'); +var path = require('path'); var test = require('tap').test; var through = require('through2'); @@ -9,8 +10,8 @@ test('delay for pipelines', function (t) { var b = browserify(__dirname + '/delay/main.js'); b.pipeline.get('record').push(through.obj(function (row, enc, next) { if (row.file) { - t.equal(row.file, __dirname + '/delay/main.js'); - row.file = __dirname + '/delay/diverted.js'; + t.equal(row.file, path.join(__dirname, 'delay/main.js')); + row.file = path.join(__dirname, 'delay/diverted.js'); } this.push(row); next(); diff --git a/test/entry.js b/test/entry.js index 34d91e9f6..23a2ee254 100644 --- a/test/entry.js +++ b/test/entry.js @@ -1,5 +1,6 @@ var browserify = require('../'); var vm = require('vm'); +var path = require('path'); var test = require('tap').test; test('entry', function (t) { @@ -7,7 +8,7 @@ test('entry', function (t) { var b = browserify(__dirname + '/entry/main.js'); b.on('dep', function(row) { - if (row.entry) t.equal(row.file, __dirname + '/entry/main.js'); + if (row.entry) t.equal(row.file, path.join(__dirname, 'entry/main.js')); }); b.bundle(function (err, src) { var c = { @@ -27,7 +28,7 @@ test('entry via add', function (t) { var b = browserify(); b.add(__dirname + '/entry/main.js'); b.on('dep', function(row) { - if (row.entry) t.equal(row.file, __dirname + '/entry/main.js'); + if (row.entry) t.equal(row.file, path.join(__dirname, 'entry/main.js')); }); b.bundle(function (err, src) { var c = { diff --git a/test/entry_expose.js b/test/entry_expose.js index 2323c2cb9..381bdc5f5 100644 --- a/test/entry_expose.js +++ b/test/entry_expose.js @@ -1,6 +1,5 @@ var test = require('tap').test; var browserify = require('../'); -var path = require('path'); var vm = require('vm'); test('entry expose', function (t) { diff --git a/test/entry_relative.js b/test/entry_relative.js index f1ae37f2c..178a8ac1b 100644 --- a/test/entry_relative.js +++ b/test/entry_relative.js @@ -1,5 +1,6 @@ var browserify = require('../'); var vm = require('vm'); +var path = require('path'); var test = require('tap').test; test('entry - relative path', function (t) { @@ -9,7 +10,7 @@ test('entry - relative path', function (t) { var b = browserify('entry/main.js'); b.on('dep', function(row) { - if (row.entry) t.equal(row.file, __dirname + '/entry/main.js'); + if (row.entry) t.equal(row.file, path.join(__dirname, 'entry/main.js')); }); b.bundle(function (err, src) { var c = { @@ -29,7 +30,7 @@ test('entry - relative path via add', function (t) { var b = browserify({basedir: __dirname}); b.add('entry/main.js'); b.on('dep', function(row) { - if (row.entry) t.equal(row.file, __dirname + '/entry/main.js'); + if (row.entry) t.equal(row.file, path.join(__dirname, 'entry/main.js')); }); b.bundle(function (err, src) { var c = { diff --git a/test/file_event.js b/test/file_event.js index 285ccafa6..33ac36ce5 100644 --- a/test/file_event.js +++ b/test/file_event.js @@ -8,7 +8,7 @@ test('file event', function (t) { var b = browserify(__dirname + '/entry/main.js'); var files = { - 'main.js': __dirname + '/entry/main.js', + 'main.js': path.join(__dirname, 'entry/main.js'), 'one.js': './one', 'two.js': './two' }; diff --git a/test/global_noparse.js b/test/global_noparse.js index decd772da..a4e5a7051 100644 --- a/test/global_noparse.js +++ b/test/global_noparse.js @@ -1,5 +1,6 @@ var browserify = require('../'); var vm = require('vm'); +var path = require('path'); var test = require('tap').test; test('global noparse module', function (t) { @@ -84,7 +85,7 @@ test('global noparse function', function (t) { var b = browserify({ noParse: function(file) { - return file === __dirname + '/global/filename.js'; + return file === path.join(__dirname, 'global/filename.js'); } }); b.require(__dirname + '/global/filename.js', { expose: 'x' }); diff --git a/test/ignore.js b/test/ignore.js index fe19a2e00..4cb70971f 100644 --- a/test/ignore.js +++ b/test/ignore.js @@ -1,90 +1,91 @@ -var browserify = require('../'); -var test = require('tap').test; -var vm = require('vm'); - -test('ignore', function (t) { - t.plan(1); - - var b = browserify(); - b.add(__dirname + '/ignore/main.js'); - b.ignore( __dirname + '/ignore/skip.js'); - - b.bundle(function (err, src) { - if (err) t.fail(err); - vm.runInNewContext(src, { t: t }); - }); -}); - -test('ignore array', function(t) { - t.plan(2); - - var b = browserify(); - b.add(__dirname + '/ignore/array.js'); - b.ignore([ - __dirname + '/ignore/skip.js', - __dirname + '/ignore/skip2.js' - ]); - - b.bundle(function (err, src) { - if (err) { - t.fail(err); - } - vm.runInNewContext(src, { t: t }); - }); -}); - -test('ignore by package or id', function (t) { - t.plan(3); - - var b = browserify(); - b.add(__dirname + '/ignore/by-id.js'); - b.ignore('events'); - b.ignore('beep'); - b.ignore('bad id'); - - b.bundle(function (err, src) { - if (err) t.fail(err); - vm.runInNewContext(src, { t: t }); - }); -}); - -test('ignore files referenced by relative path', function (t) { - // Change the current working directory relative to this file - var cwd = process.cwd(); - process.chdir(__dirname); - - t.plan(1); - - var b = browserify(); - b.add(__dirname + '/ignore/by-relative.js'); - b.ignore('./ignore/ignored/skip.js'); - - b.bundle(function (err, src) { - if (err) t.fail(err); - vm.runInNewContext(src, { t: t }); - }); - - // Revert CWD - process.chdir(cwd); -}); - -test('do not ignore files with relative paths that do not resolve', function (t) { - // Change the current working directory to the ignore folder - var cwd = process.cwd(); - process.chdir(__dirname + '/ignore'); - - t.plan(2); - - var b = browserify(); - b.add(__dirname + '/ignore/double-skip.js'); - - b.ignore('./skip.js'); - - b.bundle(function (err, src) { - if (err) t.fail(err); - vm.runInNewContext(src, { t: t }); - }); - - // Revert CWD - process.chdir(cwd); -}); +var browserify = require('../'); +var test = require('tap').test; +var vm = require('vm'); +var path = require('path'); + +test('ignore', function (t) { + t.plan(1); + + var b = browserify(); + b.add(__dirname + '/ignore/main.js'); + b.ignore(path.join(__dirname, 'ignore/skip.js')); + + b.bundle(function (err, src) { + if (err) t.fail(err); + vm.runInNewContext(src, { t: t }); + }); +}); + +test('ignore array', function(t) { + t.plan(2); + + var b = browserify(); + b.add(__dirname + '/ignore/array.js'); + b.ignore([ + path.join(__dirname, 'ignore/skip.js'), + path.join(__dirname, 'ignore/skip2.js') + ]); + + b.bundle(function (err, src) { + if (err) { + t.fail(err); + } + vm.runInNewContext(src, { t: t }); + }); +}); + +test('ignore by package or id', function (t) { + t.plan(3); + + var b = browserify(); + b.add(__dirname + '/ignore/by-id.js'); + b.ignore('events'); + b.ignore('beep'); + b.ignore('bad id'); + + b.bundle(function (err, src) { + if (err) t.fail(err); + vm.runInNewContext(src, { t: t }); + }); +}); + +test('ignore files referenced by relative path', function (t) { + // Change the current working directory relative to this file + var cwd = process.cwd(); + process.chdir(__dirname); + + t.plan(1); + + var b = browserify(); + b.add(__dirname + '/ignore/by-relative.js'); + b.ignore('./ignore/ignored/skip.js'); + + b.bundle(function (err, src) { + if (err) t.fail(err); + vm.runInNewContext(src, { t: t }); + }); + + // Revert CWD + process.chdir(cwd); +}); + +test('do not ignore files with relative paths that do not resolve', function (t) { + // Change the current working directory to the ignore folder + var cwd = process.cwd(); + process.chdir(__dirname + '/ignore'); + + t.plan(2); + + var b = browserify(); + b.add(__dirname + '/ignore/double-skip.js'); + + b.ignore('./skip.js'); + + b.bundle(function (err, src) { + if (err) t.fail(err); + vm.runInNewContext(src, { t: t }); + }); + + // Revert CWD + process.chdir(cwd); +}); diff --git a/test/multi_entry.js b/test/multi_entry.js index f910eddc2..e38a7b3b4 100644 --- a/test/multi_entry.js +++ b/test/multi_entry.js @@ -1,12 +1,13 @@ var browserify = require('../'); var vm = require('vm'); +var path = require('path'); var test = require('tap').test; var fs = require('fs'); var testFiles = [ - __dirname + '/multi_entry/a.js', - __dirname + '/multi_entry/b.js', - __dirname + '/multi_entry/c.js' + path.join(__dirname, 'multi_entry/a.js'), + path.join(__dirname, 'multi_entry/b.js'), + path.join(__dirname, 'multi_entry/c.js') ]; test('multi entry', function (t) { @@ -105,7 +106,7 @@ test('entries as streams', function (t) { if (row.entry) { t.similar( row.file, - RegExp(__dirname + '/multi_entry/_stream_[\\d].js'), + RegExp(path.join(__dirname, 'multi_entry/_stream_').replace(/\\/g, '\\\\') + '[\\d].js'), 'should be full entry path' ); } diff --git a/test/multi_entry_cross_require.js b/test/multi_entry_cross_require.js index 0cc1a8829..43f04ea51 100644 --- a/test/multi_entry_cross_require.js +++ b/test/multi_entry_cross_require.js @@ -1,11 +1,12 @@ var browserify = require('../'); var vm = require('vm'); +var path = require('path'); var test = require('tap').test; var testFiles = [ - __dirname + '/multi_entry_cross_require/a.js', - __dirname + '/multi_entry_cross_require/lib/b.js', - __dirname + '/multi_entry_cross_require/c.js' + path.join(__dirname, 'multi_entry_cross_require/a.js'), + path.join(__dirname, 'multi_entry_cross_require/lib/b.js'), + path.join(__dirname, 'multi_entry_cross_require/c.js') ]; test('multi entry cross require', function (t) { diff --git a/test/multi_symlink.js b/test/multi_symlink.js index 913c7a3be..08a5b1dd6 100644 --- a/test/multi_symlink.js +++ b/test/multi_symlink.js @@ -2,7 +2,7 @@ var browserify = require('../'); var vm = require('vm'); var test = require('tap').test; -test('multiple symlink execution', function (t) { +test('multiple symlink execution', { skip: process.platform === 'win32' }, function (t) { t.plan(1); var b = browserify(__dirname + '/multi_symlink/main.js'); b.bundle(function (err, src) { diff --git a/test/noparse.js b/test/noparse.js index 7d0b3b272..ddb024df1 100644 --- a/test/noparse.js +++ b/test/noparse.js @@ -18,8 +18,8 @@ test('noParse array', function (t) { var b = browserify({ entries: [ __dirname + '/noparse/a.js' ], noParse: [ - __dirname + '/noparse/dir1/1.js', - __dirname + '/noparse/node_modules/robot/main.js' + path.join(__dirname, 'noparse/dir1/1.js'), + path.join(__dirname, 'noparse/node_modules/robot/main.js') ] }); b.on('dep', function(dep) { actual.push(dep.file); }); diff --git a/test/preserve-symlinks.js b/test/preserve-symlinks.js index aefb99361..83940ddc4 100644 --- a/test/preserve-symlinks.js +++ b/test/preserve-symlinks.js @@ -2,24 +2,24 @@ var browserify = require('../'); var vm = require('vm'); var test = require('tap').test; -test('optionally preserves symlinks', function (t) { +test('optionally preserves symlinks', { skip: process.platform === 'win32' }, function (t) { t.plan(2); var b = browserify(__dirname + '/preserve_symlinks/a/index.js', {preserveSymlinks: true}); b.bundle(function (err, buf) { - t.ok(!err); + t.ifError(err); t.ok(buf); var src = buf.toString('utf8'); vm.runInNewContext(src, {}); }); }); -test('always resolve entry point symlink', function (t) { +test('always resolve entry point symlink', { skip: process.platform === 'win32' }, function (t) { t.plan(2); var b = browserify(__dirname + '/preserve_symlinks/linked-entry.js', {preserveSymlinks: true}); b.bundle(function (err, buf) { - t.ok(!err); + t.ifError(err); t.ok(buf); var src = buf.toString('utf8'); vm.runInNewContext(src, {}); diff --git a/test/shared_symlink.js b/test/shared_symlink.js index d5287c139..f10d57339 100644 --- a/test/shared_symlink.js +++ b/test/shared_symlink.js @@ -4,7 +4,7 @@ var browserify = require('../'); var vm = require('vm'); var test = require('tap').test; -test('shared symlink', function (t) { +test('shared symlink', { skip: process.platform === 'win32' }, function (t) { t.plan(1); var b = browserify(__dirname + '/shared_symlink/main.js'); b.bundle(function (err, src) { diff --git a/test/symlink_dedupe.js b/test/symlink_dedupe.js index 00d21d15c..dbc7afe63 100644 --- a/test/symlink_dedupe.js +++ b/test/symlink_dedupe.js @@ -2,7 +2,7 @@ var browserify = require('../'); var vm = require('vm'); var test = require('tap').test; -test('hash instances with hashed contexts', function (t) { +test('hash instances with hashed contexts', { skip: process.platform === 'win32' }, function (t) { t.plan(5); var b = browserify(__dirname + '/symlink_dedupe/main.js'); diff --git a/test/tr_symlink.js b/test/tr_symlink.js index ae3210a50..9fcca56de 100644 --- a/test/tr_symlink.js +++ b/test/tr_symlink.js @@ -6,7 +6,7 @@ var vm = require('vm'); var test = require('tap').test; var through = require('through2'); -test('transform symlink', function (t) { +test('transform symlink', { skip: process.platform === 'win32' }, function (t) { t.plan(4); var expected = [ 9, 555, 777 ]; var b = browserify(__dirname + '/tr_symlink/app/main.js', {