Erik Arvidsson
dd8b700a2c
Parenthesized expressions ( #8025 )
...
* Add parser createParenthesizedExpressions option …
When set to `true` we create `ParenthesizedExpression` nodes instead of
setting `extra.parenthesized`.
* Also update babel-parser.d.ts
2019-02-23 02:45:25 -05:00
Daniel Tschinder
058f057426
Also check AssignmentPatterns for export name ( #9521 )
2019-02-15 22:55:03 -08:00
Daniel Tschinder
2817844e89
Fix regression with let ( #9477 )
...
* Fix corner cases with let
* Handle generators correctly
* Fix flow plugin
* Fix typescript plugin
2019-02-08 13:36:37 -08:00
Daniel Tschinder
344d35bbe9
Simplify await and yield tracking in params ( #9405 )
2019-02-04 22:01:17 +01:00
Daniel Tschinder
9eb010da50
Unify reserved word checking and update error messages ( #9402 )
...
* Unify reserved word checking and update error messages
* Fix test
2019-01-31 19:02:32 -08:00
Brian Ng
7dc157f9be
Fix location/range on TypeScript ExportNamedDeclarations ( #9406 )
2019-01-24 19:44:22 -06:00
Daniel Tschinder
46ba5940c2
Make yield a contextual keyword ( #9400 )
2019-01-23 14:33:23 -08:00
Daniel Tschinder
42c5d3fc4b
Correctly fail for invalid yield in for ( #9398 )
2019-01-23 13:39:30 -08:00
Daniel Tschinder
8bc9f9a05f
fix: Allow toplevel await when option true and correctly mark await keyword as unexpected ( #9371 )
2019-01-22 14:56:30 -08:00
Daniel Tschinder
4f69699b71
Fix parsing in non-declaration places
2019-01-22 13:12:03 -08:00
Daniel Tschinder
f4f5ca2aaa
Parse class name in strict mode
...
The specification defines that the whole class declaration is parsed in strict mode
2019-01-22 13:12:03 -08:00
Daniel Tschinder
8071dca9ad
Disallow const let or let let
2019-01-22 13:12:02 -08:00
Daniel Tschinder
178f2d7949
Make let a contextual keyword
2019-01-22 13:12:02 -08:00
Nicolò Ribaudo
65febdd13a
Refactor import and export parsing ( #9326 )
...
* [parser] Refactor import parsing
* [parser] Refactor export parsing
* Fix types
2019-01-22 19:52:56 +01:00
Daniel Tschinder
4e5e319d5b
perf: remove double check for keywords in readWord
...
Instead of calling isKeyword we simple check directly if the keyword token is available
2019-01-17 16:16:31 -08:00
Daniel Tschinder
b66d921053
perf: Use === or Set.has instead of array.indexOf for keyword checks
2019-01-17 16:16:30 -08:00
Daniel Tschinder
f12905b531
perf: Use for loops while cloning classes
2019-01-17 16:16:29 -08:00
Daniel Tschinder
f216975378
perf: call isLineTerminator as last check
2019-01-17 16:16:28 -08:00
Daniel Tschinder
3a3d5cbe9c
perf: Check for plugin only once before looping
2019-01-17 16:16:28 -08:00
Daniel Tschinder
58768072ef
perf: Ensure canInsertSemicolon is always called last
...
It does a lot of checks and a regex test
2019-01-17 16:16:26 -08:00
Daniel Tschinder
0370af58f1
perf: Use strict equals
2019-01-17 16:15:03 -08:00
Daniel Tschinder
25a8db2a29
perf: use normal equality check in stead of indexOf
2019-01-17 16:14:57 -08:00
Daniel Tschinder
48fd387779
perf: precalculate length
2019-01-17 16:14:56 -08:00
Daniel Tschinder
59c4bbb4ab
perf: Make plugins a map instead of object
...
Fix plugin options
2019-01-17 16:14:55 -08:00
Daniel Tschinder
2dc1c91955
perf: Move input to state and precalculate length
...
This also fixes a bug with async functions
2019-01-17 16:14:54 -08:00
Nicolò Ribaudo
0a88230ec4
Disallow async functions as loop bodies ( #9314 )
2019-01-17 17:07:48 -05:00
Nicolò Ribaudo
3e4b608a80
Parse class heritage as strict mode code ( #9315 )
2019-01-12 14:54:23 +01:00
Nicolò Ribaudo
5889620a6a
Disallow new import(x) and import(x,) ( #9313 )
...
* Disallow "new import(...)"
* Disallow trailing comma inside dynamic import
* Rename test
* Update error message
2019-01-11 18:59:51 +01:00
Nicolò Ribaudo
9764718c32
Disallow trailing comma after rest ( #9311 )
...
* Add new tests
* Use state instead of param and disallow comma in [...a,]=[]
* Unify error messages
* Object destructuring
* Update whitelist
2019-01-11 13:08:38 +01:00
Daniel Tschinder
4ca35ef8b9
Fix running flow on travis and update flow ( #9128 )
...
* Fix running flow on travis and update flow
- ensure bootstrap is run before running flow as we need some generated files for correctly doing typechecks
- ensure that we only ignore the build directory inside the babel folder as currently we ignore everything because travis checks out into ‘/home/travis/build/’
* Fix all flow errors
2018-12-05 12:30:30 -08:00
Sven Sauleau
fdc869ce16
Merge pull request #8289 from valtech-nyc/implement-smart-pipeline-in-parser
...
Implement Smart Pipeline proposal in @babel/parser
2018-12-03 19:28:45 +01:00
Nicolò Ribaudo
61f2aed5b0
Disallow await inside arrow functions ( #9074 )
...
* Disallow await inside arrow functions
* Update test262 whitelist
2018-11-26 12:43:04 +01:00
Nicolò Ribaudo
856edbf95f
[flow] Allow type casts in array patterns inside arrow parameters ( #9069 )
2018-11-24 12:23:49 +01:00
mAAdhaTTah
100b38784d
Replace else with fall through
2018-11-21 21:07:03 -05:00
mAAdhaTTah
70318c9413
s/may/should
2018-11-21 16:02:34 -05:00
mAAdhaTTah
6e84352b51
PrimaryTopicReference -> PipelinePrimaryTopicReference
2018-11-21 15:54:56 -05:00
mAAdhaTTah
0eb9b2463d
Move plugin check to pipeline op appearance
...
No need to recheck it throughout then.
2018-11-21 15:54:26 -05:00
Grigory Moroz
445b14148e
Better error for disallowed trailing commas/parameters after rest elements ( #9046 )
...
* handle disordered rest parameter in function expressions
* remove spaces [lint]
* polish function parameters validation
* add test with arrow function and comma after rest parameter [babel-parser]
2018-11-21 07:49:36 +01:00
Brian Ng
4f206b2416
prettier@1.15.1 ( #9001 )
2018-11-09 15:25:13 -06:00
Daniel Tschinder
5d5cd8612f
Fix several edge cases with context expression state ( #8972 )
...
* Fix several edge cases with context expression state
* Fix review comments
* Remove unused field
2018-11-06 19:37:24 -08:00
Nicolò Ribaudo
2fa1984635
Fix await in function name and parameters ( #7727 )
...
* Disallow await in function parameters
* Fix await as function name
* Update test whitelists
2018-11-06 08:30:06 +01:00
Daniel Tschinder
e3b2c1afff
fix: Do not allow TypeCastExpressions w/o parens ( #8956 )
2018-11-05 15:34:24 -08:00
Nicolò Ribaudo
24c4901ff5
Remove Babylon plugins for features already merged to the ECMAScript spec ( #8448 )
...
These are now enabled by default:
- objectRestSpread (2018)
- asyncGenerators (2018)
- optionalCatchBInding (2019)
- jsonStrings (2019)
TODO (after this commit):
- [ ] Deprecate the `@babel/plugin-syntax-*` packages.
- [ ] Deprecate the `@babel/plugin-proposal-*` packages.
- [ ] Create the `@babel/plugin-transform-*` packages.
2018-11-05 23:48:06 +01:00
mAAdhaTTah
a0e94ec24d
Move PipelineStyle to types.js file
2018-11-03 14:03:17 -04:00
mAAdhaTTah
4521204ea0
Merge branch 'master' into implement-smart-pipeline-in-parser
...
* master: (222 commits)
Set correct methods name
Use toPropertyKey in the "decorate" helper
Allow function types in type params within arrow return types (#8954 )
Fix message when plugin of a wrong type is passed (#8950 )
rename colliding let bindings with for loop init (#8937 )
edge incomplete support for arrow destructuring (babel #8349 ) (#8926 )
fix single-arg async arrows when retainLines=true (#8868 )
[flow] Explicit inexact objects with `...` (#8884 )
Update preset-env data (#8898 )
Treat break inside block inside loop (#8914 )
fixed "source map" formatting in comment (#8878 ) [skip ci]
fix typo in contributing guidelines (#8901 ) [skip ci]
fix: Expression x === 'y' && '' should not evaluate to undefined. (#8880 )
fixed an extra word
Fixes #8865 (#8866 )
v7.1.4
v7.1.3
Bump Babel deps (#8770 )
flow-bin@0.82.0 (#8832 )
Insertafter jsx fix (#8833 )
...
# Conflicts:
# packages/babel-parser/src/tokenizer/index.js
# packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-numeric-literal/options.json
# packages/babel-parser/test/fixtures/experimental/pipeline-operator/invalid-proposal/options.json
2018-11-03 14:00:12 -04:00
Retsam
d2c75c2d38
fix: corrects handling of newline after async with paren-less arrow function ( #8830 )
...
If async is followed by a newline, then a paren-less arrow function should be parsed as two expressions
2018-10-09 23:25:31 +02:00
Bruno Macabeus
850bc1d3dd
class private methods and properties: should not allow spaces between # and identifier ( #8756 )
2018-10-02 19:31:06 -07:00
Nicolò Ribaudo
3c87401714
[decorators] [typescript] Parse type parameters ( #8767 )
...
* [decorators] [typescript] Parse type parameters
* Add test for invalid code
2018-10-01 22:04:19 +02:00
Brian Ng
9b4b436e1f
Fix parsing of newline between 'async' and 'function' ( #8698 )
2018-09-16 22:09:23 -05:00
Yi Li
b439013cd4
Fix trailingComments for FunctionExpression that is CallExpression arguments ( #8488 )
2018-08-21 12:29:11 -05:00