Skip to content

Commit 277975e

Browse files
[CS2] Replace Closure Compiler with Babili, transform browser compiler into ES5-ish (#4523)
* Swap Google Closure Compiler for Babili * Browser compiler, minified by Babili * Use Babel to transform, not just to minify; add process.env.TRANSFORM to disable transforming if we only want to minify. Unfortunately several browser tests fail when transformed . . . * Move `super()` calls so that the Babel-transformed browser compiler passes all the browser tests (in Node, at least) * Updated browser build * Update browser tests
1 parent 7ef5cb4 commit 277975e

File tree

6 files changed

+305
-8105
lines changed

6 files changed

+305
-8105
lines changed

Cakefile

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,17 @@ task 'build:browser', 'merge the built scripts into a single file for use in a b
145145
}
146146
}(this));
147147
"""
148-
unless process.env.MINIFY is 'false'
149-
{compiledCode: code} = require('google-closure-compiler-js').compile
150-
jsCode: [
151-
src: code
152-
languageOut: if majorVersion is 1 then 'ES5' else 'ES6'
153-
]
148+
babel = require 'babel-core'
149+
presets = []
150+
# Exclude the `modules` plugin in order to not break the `}(this));`
151+
# at the end of the above code block.
152+
presets.push ['env', {modules: no}] unless process.env.TRANSFORM is 'false'
153+
presets.push 'babili' unless process.env.MINIFY is 'false'
154+
babelOptions =
155+
compact: process.env.MINIFY isnt 'false'
156+
presets: presets
157+
sourceType: 'script'
158+
{ code } = babel.transform code, babelOptions unless presets.length is 0
154159
outputFolder = "docs/v#{majorVersion}/browser-compiler"
155160
fs.mkdirSync outputFolder unless fs.existsSync outputFolder
156161
fs.writeFileSync "#{outputFolder}/coffeescript.js", header + '\n' + code

docs/v2/browser-compiler/coffeescript.js

Lines changed: 1 addition & 7979 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)