1 | import commonjs from '@rollup/plugin-commonjs';
|
2 |
|
3 | const MODULE_NAME = '__chaiSpies__';
|
4 |
|
5 | function replaceGlobalExportWithChaiUse() {
|
6 | const moduleRegexp = new RegExp(`global.${MODULE_NAME} *= *factory\\(\\)`);
|
7 | const usePluginCode = [
|
8 | '(function() {',
|
9 | 'if (!global.chai) throw new Error("global.chai is not defined");',
|
10 | 'global.chai.use(factory());',
|
11 | '})()'
|
12 | ].join('');
|
13 |
|
14 | return {
|
15 | name: 'chai-use',
|
16 | renderChunk(code) {
|
17 | return {
|
18 | code: code.replace(moduleRegexp, usePluginCode),
|
19 | map: { mappings: '' },
|
20 | };
|
21 | }
|
22 | }
|
23 | }
|
24 |
|
25 | export default {
|
26 | input: 'lib/spy.js',
|
27 | output: {
|
28 | format: 'umd',
|
29 | name: MODULE_NAME,
|
30 | file: './chai-spies.js',
|
31 | plugins: [
|
32 | replaceGlobalExportWithChaiUse()
|
33 | ]
|
34 | },
|
35 | plugins: [
|
36 | commonjs(),
|
37 | ]
|
38 | };
|