UNPKG

@kcws/rspack-config

Version:
65 lines 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConfigWrapper = void 0; const utils_1 = require("./utils"); class ConfigWrapper { base; constructor(base) { this.base = base; } get config() { return this.base; } set(config) { return new ConfigWrapper(config); } merge(config) { return new ConfigWrapper({ ...this.base, ...config }); } setEntry(input, condition) { if (condition === undefined || condition()) return this.merge({ entry: input }); return this; } addEntry(input, condition) { const entry = { ...this.convertEntryRecord(this.base.entry), ...input, }; return this.setEntry(entry, condition); } addRelativeEntry(input, condition) { const record = {}; for (const key in input) { record[key] = (0, utils_1.relative)(input[key]); } return this.addEntry(record, condition); } addEntryByName(name, value, condition) { const record = { [name]: value }; return this.addEntry(record, condition); } addRelativeEntryByName(name, value, condition) { return this.addEntryByName(name, (0, utils_1.relative)(value), condition); } setPlugins(plugins, condition) { if (condition === undefined || condition()) return this.merge({ plugins: plugins }); return this; } addPlugins(plugin, condition) { const plugins = this.base.plugins ?? []; return this.setPlugins([...plugins, plugin], condition); } convertEntryRecord(entry) { if (entry === undefined) return {}; if (typeof entry === "string") return { default: entry }; if (Array.isArray(entry)) return { default: entry }; return entry; } } exports.ConfigWrapper = ConfigWrapper; //# sourceMappingURL=wrapper.js.map