* First attempt at using AppVeyor
* Maybe it doesn't like the leading dot?
* Versions are an array
* Fix tests on Windows: for some reason, Windows requires `coffee` to be executed as `node coffee` (in the context of `spawnSync`, at least)
* Use npm@latest, see if that's less noisy
* Nevermind, only an issue on Node 6
* Better to see the NPM version before npm install
* Fix#4706: Comments before a PARAM_START token stay before that token
* Simplify nodes
* Add function-in-function test
* Fix#4706: Comments after class name should go after the identifier that's after `class`, not the variable assigned to
* Fix#4706: Top-level identifiers with trailing comments get wrapped in parentheses (around the comment too) so that Flow doesn't interpret it as a JavaScript label
* Cleanup
* If the source has parentheses wrapping an identifier followed by a block comment, output those parentheses rather than optimizing them away; this is a requirement of Flow, to distinguish from JavaScript labels
* More tests for Flow comments
* For local variables with trailing inline herecomments, output the comments up in the variable declarations line for Flow compatibility
* Fix#4706: Comments before a PARAM_START token stay before that token
* Simplify nodes
* Add function-in-function test
* Fix#4706: Comments after class name should go after the identifier that's after `class`, not the variable assigned to
* Fix#4706: Top-level identifiers with trailing comments get wrapped in parentheses (around the comment too) so that Flow doesn't interpret it as a JavaScript label
* Cleanup
* If the source has parentheses wrapping an identifier followed by a block comment, output those parentheses rather than optimizing them away; this is a requirement of Flow, to distinguish from JavaScript labels
* More tests for Flow comments
The handling of hoisted nodes in class bodies was incorrect, as the node
was being unwrapped *before* checking if it was hoisted, meaning nodes
that should have been hoisted would be output normally.
This affected `PassthroughLiteral`s as they were wrapped in a `Value`.
* Fix#4725: apply transpile option to require’d .coffee files
* Use the current module’s options if it has any, before going searching up the tree
* Don’t mutate passed-in options object
* If the REPL is run with `--transpile`, turn transpilation on for both the current REPL input and any files imported by that input
* Use the command.coffee machinery for parsing arguments
* Fix test for Windows
* Fix#4725: apply transpile option to require’d .coffee files
* Use the current module’s options if it has any, before going searching up the tree
* Don’t mutate passed-in options object
* ?
* ??
* Revert the coffee.EXE approach
* Explicitly define the PATH to include only the folders we need
* Get spawnSync working in Windows
* Simplify test to be cross-platform
* Show an appropriate error if the user tries to use --transpile via the CLI and babel-core isn’t installed
* Update documentation around global/local
* Fix#4713: Use Babel’s built-in `filename` option to let Babel search for its options, rather than us doing so
* Improve transpilation docs
* Colons are good
* Docs cleanup
* Rewrite transpilation docs
* Better identifier for compiled scripts that didn’t come from files; better resolving of paths
* Fix#4464: backticked expressions in class body should be left in the body, not hoisted
* Fix#4464: backticked expressions in class body should be left in the body, not hoisted
* Simplify fix for #4464
This uses more of the existing machinery for moving class body
expressions into the initializer.
* Clarify the purpose of Class::addInitializerExpression
* Further clarify the purpose of Class::addInitializerExpression
* Add reference to class fields; format
comment wrapping
* Reapply 1d3af8c432, that got lost because of rebase/force-push shenanigans
* Updated output
* Mobile Safari needs the code to be >= 16px
* Buttons that just run the code shouldn’t have a label, since in all the other examples the label signifies the command to be run
* Use Bootstrap’s breakpoints
* Use Bootstrap’s styling for the <code> element, to avoid misaligned baseline
* Updated output
* Fix#4704: use replaceState, so that back/forward only happen for user clicks on links; opening and closing Try CoffeeScript doesn’t count as a new history entry, and closing it retrieves the previous URL
* Fix#4702: Some changelog entries are more equal than others
* Updated output
* Eliminate the 1px jitter when initializing code editors
* On first time opening Try CoffeeScript, use just #try as the hash
* Update output
* Increase general body line spacing
* Code styling per Jeremy
* Don’t let the main text column grow unreasonably wide
* Give list items some modest bottom margin (and use ems whenever possible)
* Updated output
* Bump version to 2.0.0; bump dependencies versions
* Make v2 docs the primary docs; jettison the v1 docs’ source: whenever the v1 docs need to be rebuild in the future, that can be done on the `1` branch and copied over; simplify folder tree
* Updated v1 docs that reflect that v2 is out and have updated paths to reflect that the v2 docs are now the primary docs, and the v1 docs only live under /v1/
* Add Google Analytics; track navigation, editing code and running code
* 2.0.0 changelog
* Fix link to root docs
* No more @next; installing local copy should be --save-dev
* Analytics on the browser-based tests page should prove fascinating . . .
* Update annotated source
* Add note to changelog clarifying scope
* CoffeeScript 2 announcement, first draft
* Lydell's notes
* Jeremy’s notes; Rollup is not a transpiler
* Revise “unsupported features” section
* Fix links, invalid HTML
* Announcing CoffeeScript 2 HTML page
* Link to the announcement
* Add some references
* Fix anchors
* Better example
* Upgrade Babeli (now babel-minify) which fixes the bug that was forcing us to run Babel twice for transpilation
* Add --transpile option (WIP)
* Node API always compiles a string, so it doesn’t need the option to pass a path to an options file, it can always just pass an object to `transpile`; get `transpile` working with `eval`
* Not allowing argument to `--transpile` so don’t need to cover so many cases
* Don’t need to worry about `sourceMaps` option to pass to Babel, `inputSourceMap` overrides it
* Rewrite Webpack test to use Node API
* Make the compiler safe again for browsers and Webpack/Browserify
* Node version of CoffeeScript.compile passes reference to Babel if transpile is requested
* Test Node API for transpile option
* Test for merged source maps
* Test for Node API error message
* Only stop searching for Babel options if a package.json has a truthy "babel" key
* Update docs