/
_config.js
67 lines (66 loc) · 1.75 KB
/
_config.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 assert = require('assert');
module.exports = {
description: 'allows to read and modify options in the options hook',
exports(exports) {
assert.deepStrictEqual(exports, {
foo: 42,
bar: 43
});
},
options: {
output: {
banner: "throw new Error('unused')"
},
plugins: {
name: 'test-plugin',
renderChunk(code, chunk, options) {
assert.deepStrictEqual(JSON.parse(JSON.stringify(options)), {
amd: {
define: 'define',
autoId: false
},
assetFileNames: 'assets/[name]-[hash][extname]',
chunkFileNames: '[name]-[hash].js',
compact: false,
entryFileNames: '[name].js',
esModule: true,
exports: 'auto',
extend: false,
externalLiveBindings: true,
format: 'cjs',
freeze: true,
globals: {},
hoistTransitiveImports: true,
indent: true,
inlineDynamicImports: false,
manualChunks: {},
minifyInternalExports: false,
namespaceToStringTag: false,
noConflict: false,
paths: {},
plugins: [],
preferConst: false,
preserveModules: false,
sourcemap: false,
sourcemapExcludeSources: false,
strict: true,
systemNullSetters: false,
validate: false
});
assert.strictEqual(options.banner(), 'exports.bar = 43;');
assert.ok(/^\d+\.\d+\.\d+/.test(this.meta.rollupVersion));
assert.strictEqual(this.meta.watchMode, false);
},
outputOptions(options) {
assert.deepStrictEqual(JSON.parse(JSON.stringify(options)), {
banner: "throw new Error('unused')",
exports: 'auto',
format: 'cjs'
});
assert.ok(/^\d+\.\d+\.\d+/.test(this.meta.rollupVersion));
assert.strictEqual(this.meta.watchMode, false);
return Object.assign({}, options, { banner: 'exports.bar = 43;' });
}
}
}
};