Fixed useBuiltIns and modules validation when using 'false' as option (#11373)
* Fixed useBuiltIns and modules validation when using 'false' as option * Added tests for 'validateUseBuiltInsOptions' and for 'validateModulesOption' when input is 'false' Co-authored-by: Jovica Markoski <jovica@upshiftwork.com>
This commit is contained in:
parent
2c31587aa1
commit
40db926170
@ -167,8 +167,7 @@ export const validateModulesOption = (
|
||||
modulesOpt: ModuleOption = ModulesOption.auto,
|
||||
) => {
|
||||
invariant(
|
||||
ModulesOption[modulesOpt.toString()] ||
|
||||
ModulesOption[modulesOpt.toString()] === ModulesOption.false,
|
||||
ModulesOption[modulesOpt.toString()] || modulesOpt === ModulesOption.false,
|
||||
`Invalid Option: The 'modules' option must be one of \n` +
|
||||
` - 'false' to indicate no module processing\n` +
|
||||
` - a specific module type: 'commonjs', 'amd', 'umd', 'systemjs'` +
|
||||
@ -184,7 +183,7 @@ export const validateUseBuiltInsOption = (
|
||||
) => {
|
||||
invariant(
|
||||
UseBuiltInsOption[builtInsOpt.toString()] ||
|
||||
UseBuiltInsOption[builtInsOpt.toString()] === UseBuiltInsOption.false,
|
||||
builtInsOpt === UseBuiltInsOption.false,
|
||||
`Invalid Option: The 'useBuiltIns' option must be either
|
||||
'false' (default) to indicate no polyfill,
|
||||
'"entry"' to indicate replacing the entry polyfill, or
|
||||
|
||||
@ -6,6 +6,7 @@ const {
|
||||
checkDuplicateIncludeExcludes,
|
||||
validateBoolOption,
|
||||
validateModulesOption,
|
||||
validateUseBuiltInsOption,
|
||||
normalizePluginName,
|
||||
} = normalizeOptions;
|
||||
describe("normalize-options", () => {
|
||||
@ -242,10 +243,36 @@ describe("normalize-options", () => {
|
||||
}).toThrow();
|
||||
});
|
||||
|
||||
it("`'false'` option is invalid", () => {
|
||||
expect(() => {
|
||||
validateModulesOption("false");
|
||||
}).toThrow();
|
||||
});
|
||||
|
||||
it("array option is invalid", () => {
|
||||
expect(() => {
|
||||
validateModulesOption([]);
|
||||
}).toThrow();
|
||||
});
|
||||
});
|
||||
|
||||
describe("validateUseBuiltInsOptions", () => {
|
||||
it("usage option is valid", () => {
|
||||
expect(validateUseBuiltInsOption("usage")).toBe("usage");
|
||||
});
|
||||
|
||||
it("entry option is valid", () => {
|
||||
expect(validateUseBuiltInsOption("entry")).toBe("entry");
|
||||
});
|
||||
|
||||
it("`false` option returns false", () => {
|
||||
expect(validateUseBuiltInsOption(false)).toBe(false);
|
||||
});
|
||||
|
||||
it("`'false'` option is invalid", () => {
|
||||
expect(() => {
|
||||
validateUseBuiltInsOption("false");
|
||||
}).toThrow();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user