@babel/plugin-transform-flow-strip-types
ПРИМЕЧАНИЕ: Этот плагин включён в
@babel/preset-flow
Пример
В
function foo(one: any, two: number, three?): string {}
Вывод
function foo(one, two, three) {}
Установка
- npm
- Yarn
- pnpm
npm install --save-dev @babel/plugin-transform-flow-strip-types
yarn add --dev @babel/plugin-transform-flow-strip-types
pnpm add --save-dev @babel/plugin-transform-flow-strip-types
Использование
С файлом конфигурации (Рекомендуется)
{
"plugins": ["@babel/plugin-transform-flow-strip-types"]
}
Через командную строку
babel --plugins @babel/plugin-transform-flow-strip-types script.js
Через API Node.js
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-flow-strip-types"],
});
Параметры
all
boolean, по умолчанию false.
Flow будет анализировать только функции, специфичные для Flow, если присутствует пragma @flow, или параметр all установлен внутри .flowconfig.
Если вы используете параметр all в своей конфигурации Flow, убедитесь, что этот параметр установлен в true для получения соответствующего поведения.
Например, без указанных выше параметров следующее выражение вызова с аргументом типа:
f<T>(e)
Будет обработано как вложенное бинарное выражение:
f < T > e;
requireDirective
boolean, по умолчанию false.
Установка значения в true будет удалять только аннотации и объявления из файлов, содержащих директиву // @flow. Также будут генерироваться ошибки для аннотаций Flow, найденных в файлах без этой директивы.
allowDeclareFields
boolean, по умолчанию false
Добавлена в: v7.9.0
ПРИМЕЧАНИЕ: Эта опция будет включена по умолчанию в Babel 8
При включении, поля класса, содержащие только тип, будут удалены только если они имеют префикс модификатора declare:
class A {
declare foo: string; // Removed
bar: string; // Initialized to undefined
}
Дополнительную информацию о настройке параметров плагина можно найти здесь
© 2014-present Sebastian McKenzie
Licensed under the MIT License.
https://babeljs.io/docs/babel-plugin-transform-flow-strip-types/