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
Brian Ng
f77c450cda
Bump prettier ( #9373 )
2019-01-22 09:16:32 -06:00
Nicolò Ribaudo
f2af6c1170
v7.3.1
2019-01-22 08:07:23 +01:00
Daniel Tschinder
af88e63dff
fix new keyword broken by recent refactoring ( #9377 )
2019-01-21 22:25:37 -08:00
Nicolò Ribaudo
f6ee26c3da
v7.3.0
2019-01-21 22:22:39 +01:00
Daniel Tschinder
96a7343142
Merge pull request #9348 from danez/perf
...
Parser Performance Collection
2019-01-21 02:27:42 -08:00
Armano
a2e6d8e968
Disallow usage of invalid keyword after export abstract statement in Typescript ( #9336 )
2019-01-19 15:48:05 -06: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
455e003567
perf: Optimize regex
...
This saves some steps, as the regex parser does not have to backtrack for character classes, but is has to for alternates
2019-01-17 16:15:07 -08:00
Daniel Tschinder
49f7bcf271
perf: Remove unnecessary check for flow plugin inside of flow plugin
2019-01-17 16:15:07 -08:00
Daniel Tschinder
c2e41588aa
perf: run flow code in flow plugin
2019-01-17 16:15:05 -08:00
Daniel Tschinder
a1eac37bd2
Generate prettier comments
2019-01-17 16:15:04 -08:00
Daniel Tschinder
0370af58f1
perf: Use strict equals
2019-01-17 16:15:03 -08:00
Daniel Tschinder
8df0500f55
perf: Simplify reading of tokens.
...
This avoids checking isIdentifierStart for every single token
2019-01-17 16:15:01 -08:00
Daniel Tschinder
e4b8cfc768
perf: use Set instead of string indexOf
2019-01-17 16:15:00 -08:00
Daniel Tschinder
a7757ec4d0
perf: Use increment operator
2019-01-17 16:14:58 -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
Daniel Tschinder
ae154c86ed
perf: Minor optimizations
2019-01-17 16:14:53 -08:00
Nicolò Ribaudo
0a88230ec4
Disallow async functions as loop bodies ( #9314 )
2019-01-17 17:07:48 -05:00
Brian Ng
aaec2cd51d
Fix handling newline with TypeScript declare and abstract classes ( #9328 )
2019-01-15 06:56:52 -06:00
Brian Ng
34c9890f41
Fix range on TypeScript index signature parameters ( #9335 )
2019-01-15 06:52:33 -06:00
Armano
e8038863c3
Fix range on TypeScript this type predicate ( #9339 )
2019-01-15 10:35:49 +01:00
Nicolò Ribaudo
694e3fd8cf
Merge declaration and init of props in parser's state ( #9312 )
...
* Merge declaration and init of props in parser's state
* Move type def
2019-01-13 23:54:44 +01: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
Armano
2cc0376756
@babel/parser(ts): Add parsing of type import ( #9302 )
2019-01-10 11:14:48 -05:00
Armano
46e3f6df1f
@babel/parser: include leading character into range of generic ArrowFunctionExpression ( #9295 )
2019-01-08 07:19:55 -06:00
Brian Ng
03022d169e
Throw error if TypeScript class has empty implements ( #9292 )
2019-01-07 15:27:27 -06:00
Daniel Tschinder
e43777bb5f
Fix location for typescript type assertions in AST ( #9284 )
2019-01-06 16:39:14 -08:00
Brian Ng
a58893d1e3
Ensure modifiers are included in TSParameterProperty ranges ( #9276 )
2019-01-04 10:02:09 -06:00
J. S. Choi
c586d4e8ca
parser, smart pipes: Add support for yield in pipeline bodies
...
Fixes #9178 .
2018-12-23 17:09:18 +01:00
J. S. Choi
60ffe1d103
parser, smart pipes: Add test for async–await
2018-12-23 17:09:18 +01:00
Armano
b5177ce290
babel-parser: typescript: add missing bigint keyword ( #9230 )
2018-12-22 17:18:32 -06:00
Nicolò Ribaudo
0bb720401b
v7.2.3
2018-12-20 12:18:31 +01:00
Daniel Tschinder
5cb38995c0
Allow keywords to be used in type annotations ( #9184 )
2018-12-15 12:51:24 -08:00
Nicolò Ribaudo
c1499b13ac
v7.2.2
2018-12-15 10:59:56 +01:00
Vikram Rangaraj
72471aff63
Handle flow comments with leading spaces ( #9168 )
...
* check for spaces and tabs before a flow comment
* fix issue with using string index and shift interchangably
* update tests
* Use update charcodes version
* Disallow flow-comments in flow-comments and check for unterminated comments
2018-12-13 22:10:01 -08: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