/
_config.js
51 lines (49 loc) · 1.07 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
const assert = require('assert');
const testedIds = [];
module.exports = {
description: 'passes both unresolved and resolved ids to the external option',
context: {
require() {
return true;
}
},
exports(exports) {
assert.deepStrictEqual(exports, {
resolvedExternal: true,
resolvedObject: true,
resolvedObjectExternal: true,
resolvedString: true
});
assert.deepStrictEqual(testedIds, [
'resolve-string',
'resolve-external',
'resolve-object',
'resolve-object-external',
'resolved-string',
'resolved-object'
]);
},
options: {
external(id) {
testedIds.push(id);
return id.startsWith('resolved');
},
plugins: {
name: 'test-plugin',
resolveId(source) {
switch (source) {
case 'resolve-string':
return 'resolved-string';
case 'resolve-external':
return false;
case 'resolve-object':
return { id: 'resolved-object', external: false };
case 'resolve-object-external':
return { id: 'resolved-object-external', external: true };
default:
return null;
}
}
}
}
};