You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
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({ 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]); }};
|