* #7349 - Add "use strict" directive to transformed class bodies * Update tests (#7349) * Add test for program with use strict directive (#7349) * Update tests (#7349) * Update source mapping (#7349) * Add test for parent blockStatement with use strict directive (#7349) * Update tests (#7349) * Update tests (#7349) * Update tests (#7349) * Add test for constructor-only class (#7349) * Constructor only classes are strict, too But constructor only that use non-simple parameters must use a strict function wrapper. * Fix test * Wrapper not needed if class is already strict * Revert change to lerna.json
@babel/plugin-transform-flow-strip-types
Strip all flow type annotations and declarations from your output code.
Example
In
function foo(one: any, two: number, three?): string {}
Out
function foo(one, two, three) {}
Installation
npm install --save-dev @babel/plugin-transform-flow-strip-types
Usage
Via .babelrc (Recommended)
.babelrc
{
"plugins": ["@babel/plugin-transform-flow-strip-types"]
}
Via CLI
babel --plugins @babel/plugin-transform-flow-strip-types script.js
Via Node API
require("@babel/core").transform("code", {
plugins: ["@babel/plugin-transform-flow-strip-types"]
});
Options
requireDirective
boolean, defaults to false.
Setting this to true will only strip annotations and declarations from files
that contain the // @flow directive. It will also throw errors for any Flow
annotations found in files without the directive.