flow-parser 0.320.0 → 0.321.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +14 -26
  2. package/package.json +6 -7
  3. package/flow_parser.js +0 -14585
  4. package/oxidized/oxidized-src/FlowParser.js +0 -249
  5. package/oxidized/oxidized-src/FlowParserDeserializer.js +0 -209
  6. package/oxidized/oxidized-src/FlowParserNodeDeserializers.js +0 -1781
  7. package/oxidized/oxidized-src/HermesParserDecodeUTF8String.js +0 -45
  8. package/oxidized/oxidized-src/ParserOptions.js +0 -8
  9. package/oxidized/oxidized-src/babel/TransformESTreeToBabel.js +0 -1063
  10. package/oxidized/oxidized-src/estree/StripFlowTypes.js +0 -158
  11. package/oxidized/oxidized-src/estree/StripFlowTypesForBabel.js +0 -191
  12. package/oxidized/oxidized-src/estree/TransformComponentSyntax.js +0 -764
  13. package/oxidized/oxidized-src/estree/TransformEnumSyntax.js +0 -92
  14. package/oxidized/oxidized-src/estree/TransformMatchSyntax.js +0 -990
  15. package/oxidized/oxidized-src/estree/TransformRecordSyntax.js +0 -283
  16. package/oxidized/oxidized-src/generated/ESTreeVisitorKeys.js +0 -234
  17. package/oxidized/oxidized-src/getModuleDocblock.js +0 -87
  18. package/oxidized/oxidized-src/index.js +0 -220
  19. package/oxidized/transform/SimpleTransform.js +0 -95
  20. package/oxidized/transform/astArrayMutationHelpers.js +0 -52
  21. package/oxidized/transform/astNodeMutationHelpers.js +0 -142
  22. package/oxidized/transform/print/comments/comments.js +0 -245
  23. package/oxidized/transform/print/comments/prettier/common/util.js +0 -235
  24. package/oxidized/transform/print/comments/prettier/language-js/comments.js +0 -663
  25. package/oxidized/transform/print/comments/prettier/language-js/loc.js +0 -30
  26. package/oxidized/transform/print/comments/prettier/language-js/printer-estree.js +0 -23
  27. package/oxidized/transform/print/comments/prettier/language-js/utils.js +0 -89
  28. package/oxidized/transform/print/comments/prettier/main/comments.js +0 -374
  29. package/oxidized/transform/print/comments/prettier/utils/get-last.js +0 -5
  30. package/oxidized/transform/print/detachedNodeTypes.js +0 -1
  31. package/oxidized/transform/print/print.js +0 -68
  32. package/oxidized/traverse/SimpleTraverser.js +0 -90
  33. package/oxidized/traverse/getVisitorKeys.js +0 -29
  34. package/oxidized/utils/Builders.js +0 -181
  35. package/oxidized/utils/GenID.js +0 -37
  36. package/oxidized/utils/createSyntaxError.js +0 -15
  37. package/oxidized/utils/isReservedWord.js +0 -53
  38. package/oxidized/utils/mutateESTreeASTForPrettier.js +0 -85
  39. /package/{oxidized → dist}/FlowParser.js +0 -0
  40. /package/{oxidized → dist}/FlowParser.js.flow +0 -0
  41. /package/{oxidized → dist}/FlowParserDeserializer.js +0 -0
  42. /package/{oxidized → dist}/FlowParserDeserializer.js.flow +0 -0
  43. /package/{oxidized → dist}/FlowParserNodeDeserializers.js +0 -0
  44. /package/{oxidized → dist}/FlowParserNodeDeserializers.js.flow +0 -0
  45. /package/{oxidized → dist}/FlowParserWASM.js +0 -0
  46. /package/{oxidized → dist}/FlowParserWASM.js.flow +0 -0
  47. /package/{oxidized → dist}/HermesAST.js.flow +0 -0
  48. /package/{oxidized → dist}/HermesParserDecodeUTF8String.js +0 -0
  49. /package/{oxidized → dist}/HermesParserDecodeUTF8String.js.flow +0 -0
  50. /package/{oxidized → dist}/ParserOptions.js +0 -0
  51. /package/{oxidized → dist}/ParserOptions.js.flow +0 -0
  52. /package/{oxidized → dist}/babel/TransformESTreeToBabel.js +0 -0
  53. /package/{oxidized → dist}/babel/TransformESTreeToBabel.js.flow +0 -0
  54. /package/{oxidized → dist}/estree/StripFlowTypes.js +0 -0
  55. /package/{oxidized → dist}/estree/StripFlowTypes.js.flow +0 -0
  56. /package/{oxidized → dist}/estree/StripFlowTypesForBabel.js +0 -0
  57. /package/{oxidized → dist}/estree/StripFlowTypesForBabel.js.flow +0 -0
  58. /package/{oxidized → dist}/estree/TransformComponentSyntax.js +0 -0
  59. /package/{oxidized → dist}/estree/TransformComponentSyntax.js.flow +0 -0
  60. /package/{oxidized → dist}/estree/TransformEnumSyntax.js +0 -0
  61. /package/{oxidized → dist}/estree/TransformEnumSyntax.js.flow +0 -0
  62. /package/{oxidized → dist}/estree/TransformMatchSyntax.js +0 -0
  63. /package/{oxidized → dist}/estree/TransformMatchSyntax.js.flow +0 -0
  64. /package/{oxidized → dist}/estree/TransformRecordSyntax.js +0 -0
  65. /package/{oxidized → dist}/estree/TransformRecordSyntax.js.flow +0 -0
  66. /package/{oxidized → dist}/generated/ESTreeVisitorKeys.js +0 -0
  67. /package/{oxidized → dist}/generated/ESTreeVisitorKeys.js.flow +0 -0
  68. /package/{oxidized → dist}/getModuleDocblock.js +0 -0
  69. /package/{oxidized → dist}/getModuleDocblock.js.flow +0 -0
  70. /package/{oxidized → dist}/index.js +0 -0
  71. /package/{oxidized → dist}/index.js.flow +0 -0
  72. /package/{oxidized/oxidized-src → dist}/transform/SimpleTransform.js +0 -0
  73. /package/{oxidized → dist}/transform/SimpleTransform.js.flow +0 -0
  74. /package/{oxidized/oxidized-src → dist}/transform/astArrayMutationHelpers.js +0 -0
  75. /package/{oxidized → dist}/transform/astArrayMutationHelpers.js.flow +0 -0
  76. /package/{oxidized/oxidized-src → dist}/transform/astNodeMutationHelpers.js +0 -0
  77. /package/{oxidized → dist}/transform/astNodeMutationHelpers.js.flow +0 -0
  78. /package/{oxidized/oxidized-src → dist}/transform/print/comments/comments.js +0 -0
  79. /package/{oxidized → dist}/transform/print/comments/comments.js.flow +0 -0
  80. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/common/util.js +0 -0
  81. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/language-js/comments.js +0 -0
  82. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/language-js/loc.js +0 -0
  83. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/language-js/printer-estree.js +0 -0
  84. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/language-js/utils.js +0 -0
  85. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/main/comments.js +0 -0
  86. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/utils/get-last.js +0 -0
  87. /package/{oxidized/oxidized-src → dist}/transform/print/detachedNodeTypes.js +0 -0
  88. /package/{oxidized → dist}/transform/print/detachedNodeTypes.js.flow +0 -0
  89. /package/{oxidized/oxidized-src → dist}/transform/print/print.js +0 -0
  90. /package/{oxidized → dist}/transform/print/print.js.flow +0 -0
  91. /package/{oxidized/oxidized-src → dist}/traverse/SimpleTraverser.js +0 -0
  92. /package/{oxidized → dist}/traverse/SimpleTraverser.js.flow +0 -0
  93. /package/{oxidized/oxidized-src → dist}/traverse/getVisitorKeys.js +0 -0
  94. /package/{oxidized → dist}/traverse/getVisitorKeys.js.flow +0 -0
  95. /package/{oxidized/oxidized-src → dist}/utils/Builders.js +0 -0
  96. /package/{oxidized → dist}/utils/Builders.js.flow +0 -0
  97. /package/{oxidized/oxidized-src → dist}/utils/GenID.js +0 -0
  98. /package/{oxidized → dist}/utils/GenID.js.flow +0 -0
  99. /package/{oxidized/oxidized-src → dist}/utils/createSyntaxError.js +0 -0
  100. /package/{oxidized → dist}/utils/createSyntaxError.js.flow +0 -0
  101. /package/{oxidized/oxidized-src → dist}/utils/isReservedWord.js +0 -0
  102. /package/{oxidized → dist}/utils/isReservedWord.js.flow +0 -0
  103. /package/{oxidized/oxidized-src → dist}/utils/mutateESTreeASTForPrettier.js +0 -0
  104. /package/{oxidized → dist}/utils/mutateESTreeASTForPrettier.js.flow +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # The flow-parser package
2
2
 
3
- This package contains the Flow parser in its compiled-to-JavaScript form.
3
+ This package contains the Flow parser in its JavaScript package form.
4
4
 
5
5
  # What is Flow
6
6
 
@@ -8,42 +8,30 @@ See [flow.org](https://flow.org/). The code for the Flow parser [lives on GitHub
8
8
 
9
9
  # What is the Flow Parser
10
10
 
11
- The Flow Parser is a JavaScript parser written in OCaml. It produces an AST that conforms to the [ESTree spec](https://github.com/estree/estree) and that mostly matches what [esprima](http://esprima.org/) produces. The Flow Parser can be compiled to native code or can be compiled to JavaScript using [js_of_ocaml](http://ocsigen.org/js_of_ocaml/). This npm package contains the Flow parser compiled to JavaScript.
11
+ The Flow Parser is a JavaScript parser for Flow syntax. It produces an AST that conforms to the [ESTree spec](https://github.com/estree/estree). This npm package contains the Flow Rust parser compiled to WASM with JavaScript bindings.
12
12
 
13
13
  # Usage
14
14
 
15
- You can use the Flow parser in your browser or in node. To use in node you can just do
15
+ You can use the Flow parser in node:
16
16
 
17
17
  ```JavaScript
18
- require('flow-parser').parse('1+1', {});
19
- ```
20
-
21
- To use in the browser, you can add
22
-
23
- ```HTML
24
- <script src="flow_parser.js"></script>
25
- ```
26
-
27
- which will make the `flow` object available to use like so:
28
-
29
- ```JavaScript
30
- flow.parse('1+1', {});
18
+ const {parse} = require('flow-parser');
19
+ parse('1+1', {});
31
20
  ```
32
21
 
33
22
  ## Options
34
23
 
35
- The second argument to `flow.parse` is the options object. Currently supported options:
24
+ The second argument to `parse` is the options object. Common options:
36
25
 
37
26
  ### Basic options
38
- * `types` (boolean, default `true`) - enable parsing of Flow types
39
- * `use_strict` (boolean, default `false`) - treat the file as strict, without needing a "use strict" directive
40
- * `comments` (boolean, default `true`) - attach comments to AST nodes (`leadingComments` and `trailingComments`)
41
- * `all_comments` (boolean, default `true`) - include a list of all comments from the whole program
27
+ * `flow` (`'detect'` or `'all'`, default `'detect'`) - parse Flow syntax only with an `@flow` pragma, or always parse Flow syntax
28
+ * `sourceType` (`'module'`, `'script'`, or `'unambiguous'`) - parse the file as a module, script, or infer it from the contents
42
29
  * `tokens` (boolean, default `false`) - include a list of all parsed tokens in a top-level `tokens` property
30
+ * `babel` (boolean, default `false`) - return a Babel-shaped AST
43
31
 
44
32
  ### Language features
45
- * `enums` (boolean, default `false`) - enable parsing of [enums](https://flow.org/en/docs/enums/)
46
- * `match` (boolean, default `false`) - enable parsing of [match expressions and match statements](https://flow.org/en/docs/match/)
47
- * `components` (boolean, default `false`) - enable parsing of [component syntax](https://flow.org/en/docs/react/component-syntax/)
48
- * `assert_operator` (boolean, default `false`) - enable parsing of the assert operator
49
- * `esproposal_decorators` (boolean, default `false`) - enable parsing of decorators
33
+ * `enableEnums` (boolean, default `true`) - enable parsing of [enums](https://flow.org/en/docs/enums/)
34
+ * `enableExperimentalFlowMatchSyntax` (boolean, default `true`) - enable parsing of [match expressions and match statements](https://flow.org/en/docs/match/)
35
+ * `enableExperimentalComponentSyntax` (boolean, default `true`) - enable parsing of [component syntax](https://flow.org/en/docs/react/component-syntax/)
36
+ * `assertOperator` (boolean, default `false`) - enable parsing of the assert operator
37
+ * `enableExperimentalDecorators` (boolean, default `true`) - enable parsing of decorators
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flow-parser",
3
- "version": "0.320.0",
3
+ "version": "0.321.0",
4
4
  "description": "JavaScript parser written in OCaml. Produces ESTree AST",
5
5
  "homepage": "https://flow.org",
6
6
  "license": "MIT",
@@ -9,21 +9,20 @@
9
9
  "email": "flow@fb.com"
10
10
  },
11
11
  "files": [
12
- "flow_parser.js",
13
- "oxidized"
12
+ "dist",
13
+ "README.md"
14
14
  ],
15
- "main": "flow_parser.js",
15
+ "main": "dist/index.js",
16
16
  "repository": {
17
17
  "type": "git",
18
18
  "url": "git+https://github.com/facebook/flow.git",
19
19
  "directory": "packages/flow-parser"
20
20
  },
21
21
  "scripts": {
22
- "test": "node test/run_tests.js",
23
- "build": "make js"
22
+ "test": "node test/run_tests.js"
24
23
  },
25
24
  "dependencies": {
26
- "flow-estree": "0.320.0"
25
+ "flow-estree": "0.321.0"
27
26
  },
28
27
  "devDependencies": {
29
28
  "@babel/generator": "7.7.4",