2982 Commits

Author SHA1 Message Date
Geoffrey Booth
f9c3316aa5 2.6.0 (#5374) 2021-09-19 14:15:00 -07:00
Erik Demaine
c4f1fe7132 Support top-level await (#5371)
* Support top-level await

* Remove code duplication

* Avoid use of trimEnd so tests pass in old Node

* Proposed rewrite of tests

* startsWith tests; revert eqJS

* build:browser
2021-09-15 10:40:18 -07:00
Geoffrey Booth
b90bc2459a Add Node 16 to CI (#5372) 2021-09-14 21:39:11 -07:00
Geoffrey Booth
07f644c392 Fix call MetaProperty (#5324) 2020-06-02 21:00:40 -07:00
Aurélio A. Heckert
2fd9ee403c Support import.meta and import.meta.* (#5319)
Co-authored-by: Geoffrey Booth <webmaster@geoffreybooth.com>
2020-05-29 18:16:48 -07:00
Julian Rosse
75d376f2ef Fix: comprehension as postfix conditional (#5310)
Co-authored-by: Geoffrey Booth <webmaster@geoffreybooth.com>
2020-03-10 10:29:00 -07:00
Geoffrey Booth
26a7ba1659 2.5.1 (#5297)
* Bump version to 2.5.1

* Changelog for 2.5.1

* Update output for 2.5.1
2020-01-30 22:38:10 -08:00
Julian Rosse
9cef39d21a Handle implicit object as end of outer implicit object property value (#5296)
* not continuing implicit object if after UNFINISHED

* following property not working

* handle following object properties

* tests

* indebt -> continuationLineAdditionalIndent
2020-01-29 16:20:40 -08:00
Julian Rosse
92ad04b9b1 Allow soaks and prototype shorthands in object splats (#5293)
* use normal Accessor grammar rule

* allow soaked calls

* test lhs spread
2020-01-27 15:37:22 -08:00
Julian Rosse
6fe980e569 Improve performance of location data compensation (#5294) 2020-01-26 22:46:28 -08:00
Geoffrey Booth
61d408f093 2.5.0 (#5284)
* 2.5.0 changelog

* Update dependencies

* Colors are expected to be globals by the new AST test helpers

* Disable testing of deepStrictIncludeExpectedProperties in browsers for now

* Update output of compiler only

* Update browser compiler output

* Update docs output

* Document ast option

* Update output

* Fix and reenable deepStrict test for browser test suite

* Update output
2019-12-31 22:19:32 -08:00
Julian Rosse
ba41b4417d Allow linebreak/indent in destructured for variable (#5286)
* allow linebreak/indent in for variable pattern

* tests

* <

* condition
2019-12-31 18:22:04 -08:00
Julian Rosse
c4f0c9ed06 don't return boolean from grammar rule 2019-12-31 10:05:42 -07:00
Geoffrey Booth
8677a0dbc4 Update output from #5275 2019-12-30 23:17:55 -08:00
Geoffrey Booth
ee2a107f3c AST: Refactor marking nodes that return (#5275)
AST: Refactor marking nodes that return
2019-12-30 12:57:50 -08:00
Geoffrey Booth
0045cb21ba Colons are apparently another token type that doesn't survive passing through the parser, so rescue any comments attached to colons 2019-12-30 01:04:30 -08:00
Geoffrey Booth
a8273bf980 No need for separate ast returns method, as it's never overridden 2019-12-29 23:10:30 -08:00
Julian Rosse
a34c0c9502 Return Root from nodes() (#5274)
* return Root from nodes()

* add children
2019-12-29 21:17:32 -08:00
Geoffrey Booth
56eec0bc4e AST: Update with latest changes from master (#5270)
* Fix #5213: Update Babel options to restore MINIFY=false (#5214)

* CSX namespaced tags and attributes (#5218)

* Support namespaces in attributes

* Support namespaces in tag names

* Support reserved words in CSX boolean properties (fix #5125)

* Implement review comments

* Build

* Revert parser.js

* Add debugging information to error message test (#5239)

One of the test cases in test/error_messages.coffee fails intermittently
in the Node.js ecosystem-testing tool CITGM. In an effort to help debug
what's going on when this occurs, this adds more information to the
AssertionError message in question.

* Fix #5103: Add support for BigInt literals (#5104)

* Fix #5103: Add support for BigInt literals

* Fix typos found in testing

* Support binary, octal and hex BigInt literals

* Make decimal BigInt test consistent other bases

* Correct test BigInt test names

* Add Node versions to CI

* Numeric literal separators (#5215)

* implement numeric literal separators

* add tests

* Revert changes to package-lock.json

* small regex adjustment

* split tests

* add comment

* Add Node versions to CI

* Fix #5103: Add support for BigInt literals (#5104)

* Fix #5103: Add support for BigInt literals

* Fix typos found in testing

* Support binary, octal and hex BigInt literals

* Make decimal BigInt test consistent other bases

* Correct test BigInt test names

* Add Node versions to CI

* Update output

* Fix style

* support bigint literal with separators

* un-disallow property access on number literal

* Update output

* Refactor numeric literal separator tests to be more like the rest of the tests

* Add test for numeric property with underscore

Co-authored-by: Geoffrey Booth <GeoffreyBooth@users.noreply.github.com>
Co-authored-by: Robert de Forest <guitar.robot@gmail.com>

Co-authored-by: Erik Demaine <edemaine@mit.edu>
Co-authored-by: Rich Trott <rtrott@gmail.com>
Co-authored-by: Robert de Forest <guitar.robot@gmail.com>
Co-authored-by: square <Inve1951@users.noreply.github.com>
2019-12-29 16:55:33 -08:00
Julian Rosse
f528e5e754 AST: numeric separators, BigInt (#5272)
* Revert to more complicated lexing of numbers, as the Number constructor can't handle BigInts or numbers with numeric separators

* Add debugging information to error message test (#5239)

One of the test cases in test/error_messages.coffee fails intermittently
in the Node.js ecosystem-testing tool CITGM. In an effort to help debug
what's going on when this occurs, this adds more information to the
AssertionError message in question.

* Fix #5103: Add support for BigInt literals (#5104)

* Fix #5103: Add support for BigInt literals

* Fix typos found in testing

* Support binary, octal and hex BigInt literals

* Make decimal BigInt test consistent other bases

* Correct test BigInt test names

* Add Node versions to CI

* Numeric literal separators (#5215)

* implement numeric literal separators

* add tests

* Revert changes to package-lock.json

* small regex adjustment

* split tests

* add comment

* Add Node versions to CI

* Fix #5103: Add support for BigInt literals (#5104)

* Fix #5103: Add support for BigInt literals

* Fix typos found in testing

* Support binary, octal and hex BigInt literals

* Make decimal BigInt test consistent other bases

* Correct test BigInt test names

* Add Node versions to CI

* Update output

* Fix style

* support bigint literal with separators

* un-disallow property access on number literal

* Update output

* Refactor numeric literal separator tests to be more like the rest of the tests

* Add test for numeric property with underscore

Co-authored-by: Geoffrey Booth <GeoffreyBooth@users.noreply.github.com>
Co-authored-by: Robert de Forest <guitar.robot@gmail.com>

* Update test style and output

* numeric separator parsed value

* BigInt AST; parseNumber()

Co-authored-by: Geoffrey Booth <GeoffreyBooth@users.noreply.github.com>
Co-authored-by: Rich Trott <rtrott@gmail.com>
Co-authored-by: Robert de Forest <guitar.robot@gmail.com>
Co-authored-by: square <Inve1951@users.noreply.github.com>
2019-12-29 16:20:43 -08:00
Geoffrey Booth
bdcb2c73af Revert to more complicated lexing of numbers, as the Number constructor can't handle BigInts or numbers with numeric separators (#5269) 2019-12-29 15:41:01 -08:00
Julian Rosse
26351096a6 AST: interpolated string is computed key (#5267)
* interpolated string key is computed

* lhs test
2019-12-22 15:47:24 -08:00
Julian Rosse
a091bb82f9 AST: splat param location data (#5266)
* handle assignment to nested nontrailing splat

* splat param location data
2019-12-17 23:19:09 -08:00
Julian Rosse
a6d4bf1982 handle assignment to nested nontrailing splat (#5265) 2019-12-17 23:18:27 -08:00
Julian Rosse
0e51cdaccd AST: allow assignment to nontrailing splat (#5263)
* allow assignment to nontrailing splat

* allow assignment to empty array

* complex object splat

* add explanatory comment
2019-12-16 17:18:26 -08:00
Julian Rosse
d4b7bd3a1f AST: fix interpolated regex tokens (#5262)
* this property

* clean up AST tests

* updated grammar

* export location data

* export default class location data

* fix interpolated regex tokens
2019-12-16 14:14:23 -08:00
Julian Rosse
559e735994 AST: clean up AST tests (#5261)
* this property

* clean up AST tests

* updated grammar

* export location data

* export default class location data
2019-12-16 14:13:54 -08:00
Julian Rosse
09caa217c2 AST: test compile errors (#5260)
* multiple splats error

* delete operand; catch variable

* disallow multiple splats

* unassignable conditional

* lone expansion param

* class bodies pure statements/arguments

* remove duplicate

* getAndCheckSplatProps()

* getAndCheckSplatsAndExpansions()

* clean up disallowLoneExpansionAndMultipleSplats()
2019-12-16 00:16:55 -05:00
Julian Rosse
a35df430db AST: throw expected error messages (#5259)
* working through error messages

* import/export errors

* param assignability

* super

* non-top-level import TODO comment
2019-12-14 17:32:24 -05:00
Julian Rosse
05d45e9b27 astAsBlockIfNeeded(); eachName checkAssignability (#5258)
👍
2019-12-09 14:36:10 -08:00
Julian Rosse
69521b97ce AST: comment after semicolon (#5257)
* astNode()

* no override ast()

* add suggested comments

* astInitialize()

* astAddReturns()

* separate step

* recognize quoted constructor

* add params to scope

* object colon location data

* mark generated JSX tokens

* more generated tokens

* preserve comment after semicolon

* move comments

* Add explanation for token seeming mismatch
2019-12-08 16:18:00 -08:00
Julian Rosse
c7e538a624 AST: token cleanups (#5256)
* astNode()

* no override ast()

* add suggested comments

* astInitialize()

* astAddReturns()

* separate step

* recognize quoted constructor

* add params to scope

* object colon location data

* mark generated JSX tokens

* more generated tokens

* Add explanation for token seeming mismatch
2019-12-08 15:36:59 -08:00
Julian Rosse
44be72a4d9 AST: object colon location data (#5253)
* astNode()

* no override ast()

* add suggested comments

* astInitialize()

* astAddReturns()

* separate step

* recognize quoted constructor

* add params to scope

* object colon location data
2019-12-08 14:41:15 -08:00
Julian Rosse
9cfcf8623c AST: add params to scope (#5252)
* astNode()

* no override ast()

* add suggested comments

* astInitialize()

* astAddReturns()

* separate step

* recognize quoted constructor

* add params to scope
2019-12-08 14:41:02 -08:00
Julian Rosse
25c23786af AST: recognize quoted constructor (#5251)
* astNode()

* no override ast()

* add suggested comments

* astInitialize()

* astAddReturns()

* separate step

* recognize quoted constructor
2019-12-08 14:40:23 -08:00
Julian Rosse
47bf5d962b AST: mark implicit returns (#5255)
* astNode()

* no override ast()

* add suggested comments

* astInitialize()

* astAddReturns()

* separate step
2019-12-08 13:37:58 -08:00
Julian Rosse
a30e6807b1 add mark argument to makeReturn (#5254) 2019-12-06 14:54:30 -08:00
Julian Rosse
d735c81da0 Location data: compensate for stripped characters (#5249)
* location data compensations

* previous lines compensation
2019-12-01 12:26:10 -08:00
Julian Rosse
f56515b100 Compound assign location data (#5248)
* Assign declaration

* For

* Class

* import/export

* params

* Catch

* compound assign location data
2019-11-30 18:51:48 -08:00
Julian Rosse
74d6635f95 AST: declarations (#5247)
* Assign declaration

* For

* Class

* import/export

* params

* Catch
2019-11-30 18:49:10 -08:00
Julian Rosse
e8d0deae78 AST: expose tokens (#5246)
* respect withTokens option

* attach tokens to ast
2019-11-30 13:35:04 -08:00
Julian Rosse
95d6ec7492 handle empty program AST (#5245)
Looks good!
2019-11-28 16:31:10 -08:00
Julian Rosse
265b251a7d AST comments: include in blocks; heregex comments (#5233)
* simple trailing comment

* multiple trailing tests

* fix rebase

* leading comments

* empty block

* nested dedented comment

* check preceding

* trailing implicit call in condition

* don't include heregex comments in AST

* expose heregex comments in AST

* heregex comment location data

* don't use object spread
2019-08-24 01:10:08 -07:00
Julian Rosse
7539f7af2e Reconcile ast branch with Prettier plugin: part 2 (#5234)
* pass level

* assign always expression

* escaped backticks in PassthroughLiteral

* computed class properties
2019-08-18 17:30:24 -07:00
Julian Rosse
2f27225e8c JSX namespaced name AST (#5231)
* opening element

* closing element
2019-07-30 17:58:51 -07:00
Julian Rosse
99ad0cc16c Merge master into ast (#5230)
* Fix #5213: Update Babel options to restore MINIFY=false (#5214)

* CSX namespaced tags and attributes (#5218)

* Support namespaces in attributes

* Support namespaces in tag names

* Support reserved words in CSX boolean properties (fix #5125)

* Implement review comments

* Build

* Revert parser.js
2019-07-29 17:49:22 -07:00
Julian Rosse
9d1af43c91 Start reconciling ast branch with Prettier plugin (#5228)
* export IDENTIFIER

* leading comment + directive

* function hasIndentedBody

* missing o

* Sequence

* root location data with leading comment

* empty interpolations

* fixes from code review
2019-07-29 09:07:10 -07:00
Julian Rosse
c6fdde8834 Chained comparison AST (#5225)
* chained comparison AST

* Explicit return

Co-Authored-By: Geoffrey Booth <GeoffreyBooth@users.noreply.github.com>
2019-07-24 07:11:42 -07:00
Julian Rosse
0174ee082c super AST (#5226) 2019-07-23 16:01:12 -07:00
Julian Rosse
82b7bd3a92 use OptionalMemberExpression/OptionalCallExpression (#5224) 2019-07-21 21:51:46 -07:00