blob: e1491a38d9dc1f32142149820868d228a0673dcd (
plain)
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
|
const Resolve = require('./Resolve');
const ChainedSet = require('./ChainedSet');
module.exports = class extends Resolve {
constructor(parent) {
super(parent);
this.moduleExtensions = new ChainedSet(this);
this.packageMains = new ChainedSet(this);
}
toConfig() {
return this.clean(
Object.assign(
{
moduleExtensions: this.moduleExtensions.values(),
packageMains: this.packageMains.values(),
},
super.toConfig()
)
);
}
merge(obj, omit = []) {
const omissions = ['moduleExtensions', 'packageMains'];
omissions.forEach(key => {
if (!omit.includes(key) && key in obj) {
this[key].merge(obj[key]);
}
});
return super.merge(obj, [...omit, ...omissions]);
}
};
|