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,
|
modulesOpt: ModuleOption = ModulesOption.auto,
|
||||||
) => {
|
) => {
|
||||||
invariant(
|
invariant(
|
||||||
ModulesOption[modulesOpt.toString()] ||
|
ModulesOption[modulesOpt.toString()] || modulesOpt === ModulesOption.false,
|
||||||
ModulesOption[modulesOpt.toString()] === ModulesOption.false,
|
|
||||||
`Invalid Option: The 'modules' option must be one of \n` +
|
`Invalid Option: The 'modules' option must be one of \n` +
|
||||||
` - 'false' to indicate no module processing\n` +
|
` - 'false' to indicate no module processing\n` +
|
||||||
` - a specific module type: 'commonjs', 'amd', 'umd', 'systemjs'` +
|
` - a specific module type: 'commonjs', 'amd', 'umd', 'systemjs'` +
|
||||||
@ -184,7 +183,7 @@ export const validateUseBuiltInsOption = (
|
|||||||
) => {
|
) => {
|
||||||
invariant(
|
invariant(
|
||||||
UseBuiltInsOption[builtInsOpt.toString()] ||
|
UseBuiltInsOption[builtInsOpt.toString()] ||
|
||||||
UseBuiltInsOption[builtInsOpt.toString()] === UseBuiltInsOption.false,
|
builtInsOpt === UseBuiltInsOption.false,
|
||||||
`Invalid Option: The 'useBuiltIns' option must be either
|
`Invalid Option: The 'useBuiltIns' option must be either
|
||||||
'false' (default) to indicate no polyfill,
|
'false' (default) to indicate no polyfill,
|
||||||
'"entry"' to indicate replacing the entry polyfill, or
|
'"entry"' to indicate replacing the entry polyfill, or
|
||||||
|
|||||||
@ -6,6 +6,7 @@ const {
|
|||||||
checkDuplicateIncludeExcludes,
|
checkDuplicateIncludeExcludes,
|
||||||
validateBoolOption,
|
validateBoolOption,
|
||||||
validateModulesOption,
|
validateModulesOption,
|
||||||
|
validateUseBuiltInsOption,
|
||||||
normalizePluginName,
|
normalizePluginName,
|
||||||
} = normalizeOptions;
|
} = normalizeOptions;
|
||||||
describe("normalize-options", () => {
|
describe("normalize-options", () => {
|
||||||
@ -242,10 +243,36 @@ describe("normalize-options", () => {
|
|||||||
}).toThrow();
|
}).toThrow();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("`'false'` option is invalid", () => {
|
||||||
|
expect(() => {
|
||||||
|
validateModulesOption("false");
|
||||||
|
}).toThrow();
|
||||||
|
});
|
||||||
|
|
||||||
it("array option is invalid", () => {
|
it("array option is invalid", () => {
|
||||||
expect(() => {
|
expect(() => {
|
||||||
validateModulesOption([]);
|
validateModulesOption([]);
|
||||||
}).toThrow();
|
}).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