Skip to content

Commit

Permalink
Merge pull request #1819 from goto-bus-stop/appveyor
Browse files Browse the repository at this point in the history
Passing tests on Windows and Node 10
  • Loading branch information
goto-bus-stop committed May 8, 2018
2 parents 00cc377 + 8e7cb87 commit e34599a
Show file tree
Hide file tree
Showing 23 changed files with 176 additions and 127 deletions.
1 change: 1 addition & 0 deletions .travis.yml
@@ -1,5 +1,6 @@
language: node_js
node_js:
- "10"
- "9"
- "8"
- "6"
Expand Down
27 changes: 27 additions & 0 deletions appveyor.yml
@@ -0,0 +1,27 @@
environment:
matrix:
- nodejs_version: "10"
- nodejs_version: "9"
- nodejs_version: "8"
- nodejs_version: "6"
- nodejs_version: "4"
- nodejs_version: "0.12"
- nodejs_version: "0.10"

# Install scripts. (runs after repo cloning)
install:
# Get the latest stable version of Node.js or io.js
- ps: Install-Product node $env:nodejs_version
# install modules
- npm install

# Post-install test scripts.
test_script:
# Output useful info for debugging.
- node --version
- npm --version
# run tests
- npm test

# Don't actually build.
build: off
16 changes: 9 additions & 7 deletions index.js
Expand Up @@ -30,7 +30,8 @@ inherits(Browserify, EventEmitter);

var fs = require('fs');
var path = require('path');
var relativePath = require('cached-path-relative')
var cachedPathRelative = require('cached-path-relative');

var paths = {
empty: path.join(__dirname, 'lib/_empty.js')
};
Expand Down Expand Up @@ -136,14 +137,12 @@ Browserify.prototype.require = function (file, opts) {
var expose = opts.expose;
if (file === expose && /^[\.]/.test(expose)) {
expose = '/' + relativePath(basedir, expose);
expose = expose.replace(/\\/g, '/');
}
if (expose === undefined && this._options.exposeAll) {
expose = true;
}
if (expose === true) {
expose = '/' + relativePath(basedir, file);
expose = expose.replace(/\\/g, '/');
}

if (isStream(file)) {
Expand Down Expand Up @@ -498,7 +497,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) {
Expand Down Expand Up @@ -576,7 +575,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();
Expand Down Expand Up @@ -789,8 +788,7 @@ Browserify.prototype._debug = function (opts) {
return through.obj(function (row, enc, next) {
if (opts.debug) {
row.sourceRoot = 'file://localhost';
row.sourceFile = relativePath(basedir, row.file)
.replace(/\\/g, '/');
row.sourceFile = relativePath(basedir, row.file);
}
this.push(row);
next();
Expand Down Expand Up @@ -855,3 +853,7 @@ function isExternalModule (file) {
/^[\/.]/;
return !regexp.test(file);
}
function relativePath (from, to) {
// Replace \ with / for OS-independent behavior
return cachedPathRelative(from, to).replace(/\\/g, '/');
}
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -81,6 +81,7 @@
"has-template-literals": "^1.0.0",
"isstream": "^0.1.2",
"make-generator-function": "^1.1.0",
"semver": "^5.5.0",
"seq": "0.3.5",
"tap": "^10.7.2",
"temp": "^0.8.1",
Expand Down
6 changes: 5 additions & 1 deletion test/bin_tr_error.js
Expand Up @@ -2,8 +2,12 @@ var browserify = require('../');
var spawn = require('child_process').spawn;
var test = require('tap').test;
var path = require('path')
var semver = require('semver');

test('function transform', function (t) {
// TODO this should be fixable I guess
var flaky = process.platform === 'win32' && semver.satisfies(process.version, 'v0.10.x');

test('function transform', { skip: flaky }, function (t) {
t.plan(3);
var ps = spawn(process.execPath, [
path.resolve(__dirname, '../bin/cmd.js'),
Expand Down
5 changes: 3 additions & 2 deletions 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');

Expand All @@ -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();
Expand Down
5 changes: 3 additions & 2 deletions test/entry.js
@@ -1,13 +1,14 @@
var browserify = require('../');
var vm = require('vm');
var path = require('path');
var test = require('tap').test;

test('entry', function (t) {
t.plan(3);

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 = {
Expand All @@ -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 = {
Expand Down
1 change: 0 additions & 1 deletion 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) {
Expand Down
5 changes: 3 additions & 2 deletions 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) {
Expand All @@ -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 = {
Expand All @@ -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 = {
Expand Down
6 changes: 5 additions & 1 deletion test/error_code.js
@@ -1,8 +1,12 @@
var test = require('tap').test;
var spawn = require('child_process').spawn;
var path = require('path');
var semver = require('semver');

test('error code', function (t) {
// TODO this should be fixable I guess
var knownFailure = process.platform === 'win32' && semver.satisfies(process.version, 'v0.10.x');

test('error code', { skip: knownFailure }, function (t) {
t.plan(2);

var cwd = process.cwd();
Expand Down
2 changes: 1 addition & 1 deletion test/external_shim.js
Expand Up @@ -3,6 +3,7 @@ var vm = require('vm');
var test = require('tap').test;

test('requiring a shimmed module name from an external bundle', function (t) {
t.plan(1);
var b1 = browserify();
var b2 = browserify();

Expand All @@ -12,7 +13,6 @@ test('requiring a shimmed module name from an external bundle', function (t) {

b1.bundle(function (err, src1) {
b2.bundle(function (err, src2) {
t.plan(1);

var c = {
console: console,
Expand Down
2 changes: 1 addition & 1 deletion test/file_event.js
Expand Up @@ -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'
};
Expand Down
3 changes: 2 additions & 1 deletion 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) {
Expand Down Expand Up @@ -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' });
Expand Down

0 comments on commit e34599a

Please sign in to comment.