hermes-parser 0.33.0 → 0.33.2

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.
@@ -252,6 +252,7 @@ class HermesToESTreeAdapter extends _HermesASTAdapter.default {
252
252
  return node;
253
253
 
254
254
  case 'ArrowFunctionExpression':
255
+ node.id = null;
255
256
  node.expression = node.body.type !== 'BlockStatement';
256
257
  return node;
257
258
  }
@@ -234,6 +234,7 @@ export default class HermesToESTreeAdapter extends HermesASTAdapter {
234
234
  return node;
235
235
 
236
236
  case 'ArrowFunctionExpression':
237
+ node.id = null;
237
238
  node.expression = node.body.type !== 'BlockStatement';
238
239
  return node;
239
240
  }
@@ -23,7 +23,8 @@ export type ParserOptions = {
23
23
  tokens?: boolean,
24
24
  transformOptions?: {
25
25
  +TransformEnumSyntax?: {
26
- +getRuntime: () => Expression,
26
+ +enable: boolean,
27
+ +getRuntime?: () => Expression,
27
28
  },
28
29
  },
29
30
  };
package/dist/index.js CHANGED
@@ -139,6 +139,8 @@ function getOptions(options = { ...DEFAULTS
139
139
 
140
140
  // eslint-disable-next-line no-redeclare
141
141
  function parse(code, opts) {
142
+ var _options$transformOpt, _options$transformOpt2;
143
+
142
144
  const options = getOptions(opts);
143
145
  const ast = HermesParser.parse(code, options);
144
146
  const estreeAdapter = new _HermesToESTreeAdapter.default(options, code);
@@ -148,7 +150,11 @@ function parse(code, opts) {
148
150
  return estreeAST;
149
151
  }
150
152
 
151
- const loweredESTreeAST = [TransformEnumSyntax.transformProgram, TransformMatchSyntax.transformProgram, TransformComponentSyntax.transformProgram, TransformRecordSyntax.transformProgram, StripFlowTypesForBabel.transformProgram].reduce((ast, transform) => transform(ast, options), estreeAST);
153
+ const loweredESTreeAST = [(_options$transformOpt = options.transformOptions) != null && (_options$transformOpt2 = _options$transformOpt.TransformEnumSyntax) != null && _options$transformOpt2.enable ? TransformEnumSyntax.transformProgram : null, TransformMatchSyntax.transformProgram, TransformComponentSyntax.transformProgram, TransformRecordSyntax.transformProgram, StripFlowTypesForBabel.transformProgram].reduce((ast, transform) => {
154
+ var _transform;
155
+
156
+ return (_transform = transform == null ? void 0 : transform(ast, options)) != null ? _transform : ast;
157
+ }, estreeAST);
152
158
  return TransformESTreeToBabel.transformProgram(loweredESTreeAST, options);
153
159
  }
154
160
 
@@ -98,12 +98,14 @@ export function parse(
98
98
  }
99
99
 
100
100
  const loweredESTreeAST = [
101
- TransformEnumSyntax.transformProgram,
101
+ options.transformOptions?.TransformEnumSyntax?.enable
102
+ ? TransformEnumSyntax.transformProgram
103
+ : null,
102
104
  TransformMatchSyntax.transformProgram,
103
105
  TransformComponentSyntax.transformProgram,
104
106
  TransformRecordSyntax.transformProgram,
105
107
  StripFlowTypesForBabel.transformProgram,
106
- ].reduce((ast, transform) => transform(ast, options), estreeAST);
108
+ ].reduce((ast, transform) => transform?.(ast, options) ?? ast, estreeAST);
107
109
 
108
110
  return TransformESTreeToBabel.transformProgram(loweredESTreeAST, options);
109
111
  }
@@ -252,6 +252,7 @@ class HermesToESTreeAdapter extends _HermesASTAdapter.default {
252
252
  return node;
253
253
 
254
254
  case 'ArrowFunctionExpression':
255
+ node.id = null;
255
256
  node.expression = node.body.type !== 'BlockStatement';
256
257
  return node;
257
258
  }
package/dist/src/index.js CHANGED
@@ -139,6 +139,8 @@ function getOptions(options = { ...DEFAULTS
139
139
 
140
140
  // eslint-disable-next-line no-redeclare
141
141
  function parse(code, opts) {
142
+ var _options$transformOpt, _options$transformOpt2;
143
+
142
144
  const options = getOptions(opts);
143
145
  const ast = HermesParser.parse(code, options);
144
146
  const estreeAdapter = new _HermesToESTreeAdapter.default(options, code);
@@ -148,7 +150,11 @@ function parse(code, opts) {
148
150
  return estreeAST;
149
151
  }
150
152
 
151
- const loweredESTreeAST = [TransformEnumSyntax.transformProgram, TransformMatchSyntax.transformProgram, TransformComponentSyntax.transformProgram, TransformRecordSyntax.transformProgram, StripFlowTypesForBabel.transformProgram].reduce((ast, transform) => transform(ast, options), estreeAST);
153
+ const loweredESTreeAST = [(_options$transformOpt = options.transformOptions) != null && (_options$transformOpt2 = _options$transformOpt.TransformEnumSyntax) != null && _options$transformOpt2.enable ? TransformEnumSyntax.transformProgram : null, TransformMatchSyntax.transformProgram, TransformComponentSyntax.transformProgram, TransformRecordSyntax.transformProgram, StripFlowTypesForBabel.transformProgram].reduce((ast, transform) => {
154
+ var _transform;
155
+
156
+ return (_transform = transform == null ? void 0 : transform(ast, options)) != null ? _transform : ast;
157
+ }, estreeAST);
152
158
  return TransformESTreeToBabel.transformProgram(loweredESTreeAST, options);
153
159
  }
154
160
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hermes-parser",
3
- "version": "0.33.0",
3
+ "version": "0.33.2",
4
4
  "description": "A JavaScript parser built from the Hermes engine",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",
@@ -9,7 +9,7 @@
9
9
  "url": "git@github.com:facebook/hermes.git"
10
10
  },
11
11
  "dependencies": {
12
- "hermes-estree": "0.33.0"
12
+ "hermes-estree": "0.33.2"
13
13
  },
14
14
  "devDependencies": {
15
15
  "@babel/parser": "7.7.4",