Socket
Socket
Sign inDemoInstall

flow-parser

Package Overview
Dependencies
0
Maintainers
6
Versions
303
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    flow-parser

JavaScript parser written in OCaml. Produces ESTree AST


Version published
Weekly downloads
6.7M
increased by0.81%
Maintainers
6
Created
Weekly downloads
 

Package description

What is flow-parser?

The flow-parser npm package is a JavaScript parser that parses JavaScript source code and produces an abstract syntax tree (AST) that is compliant with the Flow type checker syntax. It is primarily used for static type checking in JavaScript and can be used to analyze or transform JavaScript code.

What are flow-parser's main functionalities?

Parsing JavaScript code

This feature allows you to parse JavaScript code with Flow type annotations into an AST. The code sample demonstrates how to use the flow-parser to parse a simple line of code with a type annotation.

const flowParser = require('flow-parser');
const code = 'let x: number = 100;';
const ast = flowParser.parse(code);

Parsing with options

This feature allows you to provide options to the parser to enable or disable experimental features. The code sample shows how to parse code with options for decorators and export star syntax.

const flowParser = require('flow-parser');
const code = 'let x: number = 100;';
const options = { esproposal_decorators: true, esproposal_export_star_as: true };
const ast = flowParser.parse(code, options);

Other packages similar to flow-parser

Readme

Source

The flow-parser package

This package contains the Flow parser in its compiled-to-JavaScript form.

What is Flow

See flow.org. The code for the Flow parser lives on GitHub.

What is the Flow Parser

The Flow Parser is a JavaScript parser written in OCaml. It produces an AST that conforms to the ESTree spec and that mostly matches what esprima produces. The Flow Parser can be compiled to native code or can be compiled to JavaScript using js_of_ocaml. This npm package contains the Flow parser compiled to JavaScript.

Usage

You can use the Flow parser in your browser or in node. To use in node you can just do

require('flow-parser').parse('1+1', {});

To use in the browser, you can add

<script src="flow_parser.js"></script>

which will make the flow object available to use like so:

flow.parse('1+1', {});

Options

The second argument to flow.parse is the options object. Currently supported options:

  • all_comments (boolean, default true) - include a list of all comments from the whole program
  • comments (boolean, default true) - attach comments to AST nodes (leadingComments and trailingComments)
  • enums (boolean, default false) - enable parsing of Flow enums
  • esproposal_decorators (boolean, default false) - enable parsing of decorators
  • esproposal_export_star_as (boolean, default false) - enable parsing of export * as syntax
  • tokens (boolean, default false) - include a list of all parsed tokens in a top-level tokens property
  • types (boolean, default true) - enable parsing of Flow types
  • use_strict (boolean, default false) - treat the file as strict, without needing a "use strict" directive

FAQs

Last updated on 24 Apr 2024

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc