-
Notifications
You must be signed in to change notification settings - Fork 921
/
index.test.js
67 lines (62 loc) · 1.72 KB
/
index.test.js
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
const {testFixture} = require('../../../fixture-utils');
const dedent = require('dedent');
describe('packageOptions.external', () => {
beforeAll(() => {
// Needed until we make Snowpack's JS Build Interface quiet by default
require('snowpack').logger.level = 'error';
});
it('Does not transform imports of external modules', async () => {
const result = await testFixture({
'index.js': dedent`
import 'fs';
import 'array-flatten';
`,
'snowpack.config.js': dedent`
module.exports = {
packageOptions: {
external: ['fs'],
},
};
`,
});
expect(result['index.js']).toContain(`import 'fs';`);
});
it('Does not install externals that are deep package imports', async () => {
const result = await testFixture({
'packages/some-thing/main.js': dedent`
export default 'ok';
`,
'packages/some-thing/deep.js': dedent`
export default 'oops';
`,
'packages/some-thing/package.json': dedent`
{
"version": "1.0.0",
"name": "some-thing",
"module": "main.js"
}
`,
'package.json': dedent`
{
"version": "1.0.1",
"name": "@snowpack/test-config-external",
"dependencies": {
"some-thing": "file:./packages/some-thing"
}
}
`,
'index.js': dedent`
import 'some-thing';
import 'some-thing/deep.js';
`,
'snowpack.config.js': dedent`
module.exports = {
packageOptions: {
external: ['some-thing/deep.js']
}
}
`
});
expect(result['index.js']).toContain(`import 'some-thing/deep.js';`);
})
});