4879 Commits

Author SHA1 Message Date
Geoffrey Booth
f9c3316aa5 2.6.0 (#5374) 2.6.0 2021-09-19 14:15:00 -07:00
Erik Demaine
ff13d85625 ci: Check that build steps didn’t change any files (#5373) 2021-09-16 15:04:51 -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
Erik Demaine
b0946c3c60 Fix documentation links to try/catch section (#5349)
* Fix documentation links to try/catch section

Consistently use `#try-catch` for the section (and `#try` for the demo)

* Fix documentation source
2021-09-15 10:39:38 -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
Geoffrey Booth
389ce89555 Run browser tests in headless Chrome; replace Travis and AppVeyor with GitHub Actions (#5298) 2020-05-25 21:03:49 -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
3136bde928 Update dependencies (#5311)
* Install exactly @babel/core@7.7.7, the last version known to work in Node 6 --harmony

* Update other dependencies
2020-03-10 00:28:54 -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
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
Daniel Bayley
bb8df1e052 Fix typos (#5287) 2020-01-16 09:54:12 -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
2.5.0
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
Geoffrey Booth
33bbef963c Merge pull request #5285 from helixbass/browser-compiler-call-parsing-error
Browser compiler call parsing fix
2019-12-31 09:58: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
8fb5c1ba4f Make it clearer that we're adding a property to an object 2019-12-30 09:54:06 -08:00
Geoffrey Booth
b2b2f97873 Fix comments after colons getting lost (#5276)
Fix comments after colons getting lost
2019-12-30 07:21:15 -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
Geoffrey Booth
3e7c570679 AST (#5273)
AST
2019-12-29 22:31:05 -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
2ab714b4fe Merge branch 'master' into ast
# Conflicts:
#	lib/coffeescript/lexer.js
#	lib/coffeescript/parser.js
#	src/lexer.coffee
#	test/jsx.coffee
#	test/numeric_literal_separators.coffee
2019-12-29 17:00:06 -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
square
9b37f16f11 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>
2019-12-28 17:02:40 -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