Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
@babel/preset-flow
Advanced tools
The @babel/preset-flow npm package is a Babel preset for transforming Flow syntax. Flow is a static type checker for JavaScript, and this preset allows developers to strip Flow types from their source code to make it compatible with standard JavaScript environments. This is useful for projects that use Flow for type checking but need to remove the type annotations for production builds.
Type Annotations Stripping
This code sample shows a class with Flow type annotations. The @babel/preset-flow will remove the ': number' type annotations when transforming the code.
class MyClass {
size: number;
constructor(size: number) {
this.size = size;
}
}
Interface Stripping
This code sample defines a Flow interface. The @babel/preset-flow will remove the entire interface declaration when transforming the code.
interface Serializable {
serialize(): string;
}
Type Alias Removal
This code sample shows a Flow type alias. The @babel/preset-flow will remove the type alias when transforming the code.
type Point = {
x: number,
y: number
};
Similar to @babel/preset-flow, this package is used to strip TypeScript types from the source code to convert it into plain JavaScript. It serves a similar purpose for TypeScript as @babel/preset-flow does for Flow.
This package is a lightweight alternative to Babel for removing Flow type annotations from files. It is faster and simpler but does not offer the extensive plugin system and transformations that Babel provides.
Babel preset for all Flow plugins.
This preset includes the following plugins:
In
function foo(one: any, two: number, three?): string {}
Out
function foo(one, two, three) {}
npm install --save-dev @babel/preset-flow
.babelrc
(Recommended).babelrc
{
"presets": ["@babel/flow"]
}
babel --presets @babel/flow script.js
require("@babel/core").transform("code", {
presets: ["@babel/flow"]
});
FAQs
Babel preset for all Flow plugins.
The npm package @babel/preset-flow receives a total of 5,557,107 weekly downloads. As such, @babel/preset-flow popularity was classified as popular.
We found that @babel/preset-flow demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.