global_noparse.js
2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
var browserify = require('../');
var vm = require('vm');
var path = require('path');
var test = require('tap').test;
test('global noparse module', function (t) {
t.plan(2);
var b = browserify({
noParse: 'aaa'
});
b.require(__dirname + '/global/node_modules/aaa', { expose: 'x' });
b.bundle(function (err, src) {
var c = {
__filename: __filename,
__dirname: __dirname
};
vm.runInNewContext(src, c);
var x = c.require('x');
t.equal(x.filename, __filename);
t.equal(x.dirname, __dirname);
});
});
test('global noparse module file', function (t) {
t.plan(2);
var b = browserify({
noParse: 'aaa/index.js'
});
b.require(__dirname + '/global/node_modules/aaa', { expose: 'x' });
b.bundle(function (err, src) {
var c = {
__filename: __filename,
__dirname: __dirname
};
vm.runInNewContext(src, c);
var x = c.require('x');
t.equal(x.filename, __filename);
t.equal(x.dirname, __dirname);
});
});
test('global noparse module deep file', function (t) {
t.plan(2);
var b = browserify({
noParse: 'robot/lib/beep.js'
});
b.require(__dirname + '/global/node_modules/robot', { expose: 'x' });
b.bundle(function (err, src) {
var c = {
__filename: __filename,
__dirname: __dirname
};
vm.runInNewContext(src, c);
var x = c.require('x');
t.equal(x.filename, __filename);
t.equal(x.dirname, __dirname);
});
});
test('global noparse basedir', function (t) {
t.plan(2);
var b = browserify({
basedir: __dirname + '/global',
noParse: 'filename.js'
});
b.require(__dirname + '/global/filename.js', { expose: 'x' });
b.bundle(function (err, src) {
var c = {
__filename: __filename,
__dirname: __dirname
};
vm.runInNewContext(src, c);
var x = c.require('x');
t.equal(x.filename, __filename);
t.equal(x.dirname, __dirname);
});
});
test('global noparse function', function (t) {
t.plan(2);
var b = browserify({
noParse: function(file) {
return file === path.join(__dirname, 'global/filename.js');
}
});
b.require(__dirname + '/global/filename.js', { expose: 'x' });
b.bundle(function (err, src) {
var c = {
__filename: __filename,
__dirname: __dirname
};
vm.runInNewContext(src, c);
var x = c.require('x');
t.equal(x.filename, __filename);
t.equal(x.dirname, __dirname);
});
});