* include range in location data
* use exclusive ranges
* ast generation hooks
* fix getAstChildren()
* babylon -
* isArray -> Array.isArray
* pass options to toJSON()
* default astType on Base
* using exclusive range
* extract location data tests
* babylon -> ast
* remove do ->
* _toAst -> getAstContent
* Pass through parsed number value from lexer to node; don't process more than is necessary (a number literal can never be negative, because the negative sign is an Op token and node)
* normalize NumberLiteral values
* use parsedValue in getNumberValue()
* recursive getNumberValue()
* parseNumber()
* The core JavaScript Number constructor does a better job at parsing strings into numbers than our helper does
* Use Object.assign rather than merge or extend
* Update link
* Cleanup style
* Refactor to make AST generation more object-oriented: have each of the AST properties be generated on the node itself, rather than in loops in the base class
* Untangle test helpers: give the AST location tests their own specific helper function, and move the general AST helper functions into the main AST tests file
* Not passing o
* Add node type check to AST location data tests
* Port to Babel 7
Use the Babel 7 @babel/core transpiler, falling back to the older babel-core version if possible.
* Use Babel 7 and preset-env 7 to build the browser compiler and test Babel transpilation
* Update docs for Babel 7
* fix momentum scrolling on iOS (#5083)
* Revert "fix momentum scrolling on iOS (#5083)" (#5084)
This reverts commit 812571843c.
* AST tests (WIP)
* added tests
* cleanup
new helpers for cleaner code
* more tests
tests are mostly complete now.
also included one for our helper function.
* string quotes
* Update dependencies; disable some babel-minify transforms to work around https://github.com/babel/minify/issues/893 (#5095)
* more tests + refactor
* Remove unused helper function; improve logging output
* Add tests for ImportNamespaceSpecifier, Expansion; cleanup
* CI: Test first before building, so that the tests run on the committed, built files in /lib; the build parts of CI are only a test that the build process succeeds, so we shouldn't be testing the output of the CI build steps
* Add `nodes` option to Node API, that returns POJO representation of AST; starting point for toPlainObject method on node classes to return the serializable plain JavaScript object representation of each node
* Make --nodes also return JSON (pretty-printed, though not colorized)
* Alphabetize CLI flags
* Use new `ast` flag to request AST, restoring prior `nodes` flag; rename toPlainObject to toJSON
* Update links to use https://coffeescript.org
* 2.3.1 changelog
* Bump version to 2.3.1; update output
* Forgot one
* Another one
* Lock Babel versions for Node 6 build to succeed, until Babel 7 is out
* Changelog sub-sections should use h3, not h2; no need for hack anchor tag anymore
* Internationalize dates to user’s locale
* Consistent names
* Split up the changelog into separate files per version; make HTML markup consistent with the other sections in the docs
* Fix sidebar links for introduction and overview
* Move the building of the comments hash into its own function, to make clearer that it only happens once
* Abstract token comments dictionary
* Format comments
* Allow attaching a “data” property to tokens, to allow extra info to pass through the parser into the node classes
* Add data to StringLiteral tokens such that we should be able to deindent them in the nodes class
* Update output
* Another comment fix
* Add data to every token, with common properties
* Be more defensive, even though we apparently don't need to be
* Improve comments
* Remove the token data property, leaving all unrelated improvements
* Code review improvements; update output
* Explicitly turn off minify mangling, because it was previously implicitly disabled by the existence of the `eval` call we’re about to remove
* Update babel-core
* Run browser-compiled scripts using window.eval rather than just eval, to use a clean scope (many times faster)
* Update output
* Fix browser-based test broken by #5028
* Update output
* Move analytics initialization into docs.coffee
* Bump Bootstrap and CodeMirror versions
* Update output
* Merge CodeMirror styles
* Update CodeMirror styles
* Better flexbox layout for docs, including flex auto-sized sidebar and main column
* Minor styling fixes for Edge
* Fix scrollspy for new layout
* Update output
* Clicking on the CoffeeScript logo in the navbar should scroll to top; fix main column width on mobile
* Update output
* 2.3.0 changelog
* Update operators section for **
* Update docs for ES2018 object rest/spread
* Remove references to Node's experimental modules support
* Move the README coffee cup to the right side, so our name isn't cut off on the NPM page; update README and CONTRIBUTING text
* Update dependencies
* Add compatibility note for async generators
* Bump version to 2.3.0 and update output
* Have CI test in Node 10 instead of 9
* Somehow this gets generated slightly differently in Node 10
* Fix#4042: Update broken link
* Move analytics initialization into docs.coffee
* Bump Bootstrap and CodeMirror versions
* Update output
* Merge CodeMirror styles
* Update CodeMirror styles
* Better flexbox layout for docs, including flex auto-sized sidebar and main column
* Minor styling fixes for Edge
* Fix scrollspy for new layout
* Update output
* Clicking on the CoffeeScript logo in the navbar should scroll to top; fix main column width on mobile
* Update output
* Support ES2018 regex dotall flag
* Test in Node 9
* Alphabetize regex flags
* Split regex dotall test into its own file, use new feature detection method of loading it
* Update docs to explain compatibility for ES2018 and newer Node features
* Remove unnecessary paragraph
* Passthrough exponentiation operator; remove tests that are invalid JavaScript
* Treat **= as a passthrough assignment
* Get tests passing in Node 6
* Improve scoping
* Move exponentiation tests into their own file, now that it's filtered out by Cakefile
* Restore original test