babel/packages/babel-preset-flow/src/normalize-options.ts
Bogdan Savluk 0058b7fef4
Migrate Babel from Flow to TypeScript (except Babel parser) (#11578)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-11-25 23:09:13 +01:00

26 lines
793 B
TypeScript

import { OptionValidator } from "@babel/helper-validator-option";
const v = new OptionValidator("@babel/preset-flow");
export default function normalizeOptions(options: any = {}) {
let { all } = options;
const { allowDeclareFields } = options;
if (process.env.BABEL_8_BREAKING) {
v.invariant(
!("allowDeclareFields" in options),
`Since Babel 8, \`declare property: A\` is always supported, and the "allowDeclareFields" option is no longer available. Please remove it from your config.`,
);
const TopLevelOptions = {
all: "all",
};
v.validateTopLevelOptions(options, TopLevelOptions);
all = v.validateBooleanOption(TopLevelOptions.all, options.all);
return { all };
} else {
return {
all,
allowDeclareFields,
};
}
}