From b8e736869bbef4ae4ee66cb4295404c45cf66287 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Mon, 14 May 2018 14:37:10 +0100 Subject: [PATCH 01/13] makes closure compiler threaded --- scripts/rollup/build.js | 2 +- scripts/rollup/plugins/closure-compiler.js | 12 ++++++ .../plugins/rollup-closure-compiler-plugin.js | 37 +++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 scripts/rollup/plugins/closure-compiler.js create mode 100644 scripts/rollup/plugins/rollup-closure-compiler-plugin.js diff --git a/scripts/rollup/build.js b/scripts/rollup/build.js index 1a9e0758140..f9479dba003 100644 --- a/scripts/rollup/build.js +++ b/scripts/rollup/build.js @@ -2,7 +2,7 @@ const {rollup} = require('rollup'); const babel = require('rollup-plugin-babel'); -const closure = require('rollup-plugin-closure-compiler-js'); +const closure = require('./plugins/rollup-closure-compiler-plugin'); const commonjs = require('rollup-plugin-commonjs'); const prettier = require('rollup-plugin-prettier'); const replace = require('rollup-plugin-replace'); diff --git a/scripts/rollup/plugins/closure-compiler.js b/scripts/rollup/plugins/closure-compiler.js new file mode 100644 index 00000000000..4dc3442fcae --- /dev/null +++ b/scripts/rollup/plugins/closure-compiler.js @@ -0,0 +1,12 @@ +let closureCompiler; + +process.on('message', ({status, data}) => { + if (status === 'START') { + closureCompiler = require('google-closure-compiler-js'); + const output = closureCompiler.compile(data); + process.send({ + status: 'SUCCESS', + data: {code: output.compiledCode, map: output.sourceMap}, + }); + } +}); diff --git a/scripts/rollup/plugins/rollup-closure-compiler-plugin.js b/scripts/rollup/plugins/rollup-closure-compiler-plugin.js new file mode 100644 index 00000000000..0089289aea6 --- /dev/null +++ b/scripts/rollup/plugins/rollup-closure-compiler-plugin.js @@ -0,0 +1,37 @@ +const {fork} = require('child_process'); +// import logger from './logger'; + +function compile(flags) { + return new Promise((resolve, reject) => { + const child = fork(require.resolve('./closure-compiler.js')); + const command = { status: 'START', data: flags }; + child.on('message', ({status, data}) => { + if (status === 'SUCCESS') { + child.kill('SIGINT'); + resolve(data); + } + }); + child.send(command); + }); +} + +module.exports = function closure(flags = {}) { + return { + name: 'closure-compiler-js', + async transformBundle(code) { + flags = Object.assign({ + createSourceMap: true, + processCommonJsModules: true, + }, flags); + flags.jsCode = [{ + src: code, + }]; + + const output = await compile(flags); + // if (logger(flags, output)) { + // throw new Error(`compilation error, ${output.errors.length} error${output.errors.length===0 || output.errors.length>1?'s':''}`); + // } + return {code: output.compiledCode, map: output.sourceMap}; + }, + }; +}; From e5e4ba21f917a399c9695e0d2855ddb93582c070 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Mon, 14 May 2018 15:19:54 +0100 Subject: [PATCH 02/13] Dans PR with a closure compiler java version --- package.json | 1 + scripts/rollup/build.js | 18 +++---- scripts/rollup/plugins/closure-compiler.js | 12 ----- .../plugins/rollup-closure-compiler-plugin.js | 53 +++++++++++-------- yarn.lock | 22 ++++++-- 5 files changed, 59 insertions(+), 47 deletions(-) delete mode 100644 scripts/rollup/plugins/closure-compiler.js diff --git a/package.json b/package.json index ed1a5cad148..6c2a6d8387b 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,7 @@ "git-branch": "^0.3.0", "glob": "^6.0.4", "glob-stream": "^6.1.0", + "google-closure-compiler": "^20180506.0.0", "gzip-js": "~0.3.2", "gzip-size": "^3.0.0", "jasmine-check": "^1.0.0-rc.0", diff --git a/scripts/rollup/build.js b/scripts/rollup/build.js index f9479dba003..aa02cc53866 100644 --- a/scripts/rollup/build.js +++ b/scripts/rollup/build.js @@ -62,15 +62,15 @@ const errorCodeOpts = { }; const closureOptions = { - compilationLevel: 'SIMPLE', - languageIn: 'ECMASCRIPT5_STRICT', - languageOut: 'ECMASCRIPT5_STRICT', + compilation_level: 'SIMPLE', + language_in: 'ECMASCRIPT5_STRICT', + language_out: 'ECMASCRIPT5_STRICT', env: 'CUSTOM', - warningLevel: 'QUIET', - applyInputSourceMaps: false, - useTypesForOptimization: false, - processCommonJsModules: false, - rewritePolyfills: false, + warning_level: 'QUIET', + apply_input_source_maps: false, + use_types_for_optimization: false, + process_common_js_modules: false, + rewrite_polyfills: false, }; function getBabelConfig(updateBabelOptions, bundleType, filename) { @@ -264,7 +264,7 @@ function getPlugins( Object.assign({}, closureOptions, { // Don't let it create global variables in the browser. // https://github.com/facebook/react/issues/10909 - assumeFunctionWrapper: !isInGlobalScope, + assume_function_wrapper: !isInGlobalScope, // Works because `google-closure-compiler-js` is forked in Yarn lockfile. // We can remove this if GCC merges my PR: // https://github.com/google/closure-compiler/pull/2707 diff --git a/scripts/rollup/plugins/closure-compiler.js b/scripts/rollup/plugins/closure-compiler.js deleted file mode 100644 index 4dc3442fcae..00000000000 --- a/scripts/rollup/plugins/closure-compiler.js +++ /dev/null @@ -1,12 +0,0 @@ -let closureCompiler; - -process.on('message', ({status, data}) => { - if (status === 'START') { - closureCompiler = require('google-closure-compiler-js'); - const output = closureCompiler.compile(data); - process.send({ - status: 'SUCCESS', - data: {code: output.compiledCode, map: output.sourceMap}, - }); - } -}); diff --git a/scripts/rollup/plugins/rollup-closure-compiler-plugin.js b/scripts/rollup/plugins/rollup-closure-compiler-plugin.js index 0089289aea6..f92cedb61b5 100644 --- a/scripts/rollup/plugins/rollup-closure-compiler-plugin.js +++ b/scripts/rollup/plugins/rollup-closure-compiler-plugin.js @@ -1,17 +1,33 @@ -const {fork} = require('child_process'); -// import logger from './logger'; +const ClosureCompiler = require('google-closure-compiler').compiler; +const {promisify} = require('util'); +const fs = require('fs'); +const path = require('path'); +const writeFileAsync = promisify(fs.writeFile); function compile(flags) { + return new Promise((resolve, reject) => { + const closureCompiler = new ClosureCompiler(flags); + + closureCompiler.run(function(exitCode, stdOut, stdErr) { + // not sure if this is 100% right for error checking, + // didn't get time to confirm + if (!stdErr) { + resolve(stdOut); + } else { + reject(stdErr); + } + }); + }); +} + +function deleteFile(filename) { return new Promise((resolve, reject) => { - const child = fork(require.resolve('./closure-compiler.js')); - const command = { status: 'START', data: flags }; - child.on('message', ({status, data}) => { - if (status === 'SUCCESS') { - child.kill('SIGINT'); - resolve(data); + fs.unlink(filename, err => { + if (err) { + reject(); } + resolve(); }); - child.send(command); }); } @@ -19,19 +35,12 @@ module.exports = function closure(flags = {}) { return { name: 'closure-compiler-js', async transformBundle(code) { - flags = Object.assign({ - createSourceMap: true, - processCommonJsModules: true, - }, flags); - flags.jsCode = [{ - src: code, - }]; - - const output = await compile(flags); - // if (logger(flags, output)) { - // throw new Error(`compilation error, ${output.errors.length} error${output.errors.length===0 || output.errors.length>1?'s':''}`); - // } - return {code: output.compiledCode, map: output.sourceMap}; + const tempPath = path.resolve(__dirname, 'temp.js'); + flags = Object.assign({}, flags, { js: tempPath }); + await writeFileAsync(tempPath, code, 'utf8'); + const compiledCode = await compile(flags); + await deleteFile(tempPath); + return {code: compiledCode }; }, }; }; diff --git a/yarn.lock b/yarn.lock index caca3e89e22..3632e1455d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2556,6 +2556,14 @@ google-closure-compiler-js@>20170000: vinyl "^2.0.1" webpack-core "^0.6.8" +google-closure-compiler@^20180506.0.0: + version "20180506.0.0" + resolved "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20180506.0.0.tgz#f59cc34dbf8c9a4f48fba3ebb2cf098d25e345ab" + dependencies: + chalk "^1.0.0" + vinyl "^2.0.1" + vinyl-sourcemaps-apply "^0.2.0" + graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -5045,14 +5053,14 @@ source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, sour version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" +source-map@^0.5.1, source-map@~0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + source-map@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" -source-map@~0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - sparkles@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" @@ -5546,6 +5554,12 @@ verror@1.3.6: dependencies: extsprintf "1.0.2" +vinyl-sourcemaps-apply@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" + dependencies: + source-map "^0.5.1" + vinyl@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" From 926dd887238e7c16bdfe9b2c16fc2fcc274c58ef Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 14 May 2018 16:23:28 +0100 Subject: [PATCH 03/13] Remove unused dep --- package.json | 1 - yarn.lock | 27 +-------------------------- 2 files changed, 1 insertion(+), 27 deletions(-) diff --git a/package.json b/package.json index 6c2a6d8387b..4931d0ddbf5 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,6 @@ "rimraf": "^2.6.1", "rollup": "^0.52.1", "rollup-plugin-babel": "^3.0.1", - "rollup-plugin-closure-compiler-js": "^1.0.6", "rollup-plugin-commonjs": "^8.2.6", "rollup-plugin-node-resolve": "^2.1.1", "rollup-plugin-prettier": "^0.3.0", diff --git a/yarn.lock b/yarn.lock index 3632e1455d8..a53b2682411 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2548,14 +2548,6 @@ glogg@^1.0.0: dependencies: sparkles "^1.0.0" -google-closure-compiler-js@>20170000: - version "20180402.0.0" - resolved "https://registry.yarnpkg.com/google-closure-compiler-js/-/google-closure-compiler-js-20180402.0.0.tgz#b90ee11c597030b90ed1c6a054dd728aba81ab2d" - dependencies: - minimist "^1.2.0" - vinyl "^2.0.1" - webpack-core "^0.6.8" - google-closure-compiler@^20180506.0.0: version "20180506.0.0" resolved "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20180506.0.0.tgz#f59cc34dbf8c9a4f48fba3ebb2cf098d25e345ab" @@ -4822,12 +4814,6 @@ rollup-plugin-babel@^3.0.1: dependencies: rollup-pluginutils "^1.5.0" -rollup-plugin-closure-compiler-js@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/rollup-plugin-closure-compiler-js/-/rollup-plugin-closure-compiler-js-1.0.6.tgz#58e3e31297ad1a532d9114108bc06f2756d72c3d" - dependencies: - google-closure-compiler-js ">20170000" - rollup-plugin-commonjs@^8.2.6: version "8.2.6" resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.2.6.tgz#27e5b9069ff94005bb01e01bb46a1e4873784677" @@ -5015,10 +5001,6 @@ sntp@2.x.x: dependencies: hoek "4.x.x" -source-list-map@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" - source-map-support@^0.2.10: version "0.2.10" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.2.10.tgz#ea5a3900a1c1cb25096a0ae8cc5c2b4b10ded3dc" @@ -5043,7 +5025,7 @@ source-map@0.1.32: dependencies: amdefine ">=0.0.4" -source-map@^0.4.4, source-map@~0.4.0, source-map@~0.4.1, source-map@~0.4.2: +source-map@^0.4.4, source-map@~0.4.0, source-map@~0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: @@ -5605,13 +5587,6 @@ webidl-conversions@^4.0.1, webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" -webpack-core@^0.6.8: - version "0.6.9" - resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2" - dependencies: - source-list-map "~0.1.7" - source-map "~0.4.1" - whatwg-encoding@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" From 4b82b58e4b6c2411c610599abf318f6ea1902cd2 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 14 May 2018 16:24:23 +0100 Subject: [PATCH 04/13] Pin GCC --- package.json | 2 +- yarn.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 4931d0ddbf5..3b1e2f61689 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "git-branch": "^0.3.0", "glob": "^6.0.4", "glob-stream": "^6.1.0", - "google-closure-compiler": "^20180506.0.0", + "google-closure-compiler": "20180506.0.0", "gzip-js": "~0.3.2", "gzip-size": "^3.0.0", "jasmine-check": "^1.0.0-rc.0", diff --git a/yarn.lock b/yarn.lock index a53b2682411..08eb3a49a21 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2548,7 +2548,7 @@ glogg@^1.0.0: dependencies: sparkles "^1.0.0" -google-closure-compiler@^20180506.0.0: +google-closure-compiler@20180506.0.0: version "20180506.0.0" resolved "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20180506.0.0.tgz#f59cc34dbf8c9a4f48fba3ebb2cf098d25e345ab" dependencies: From ac67f46f2b6f7ef0dea572f6a2680c62a1c2e244 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 14 May 2018 16:24:45 +0100 Subject: [PATCH 05/13] Prettier --- scripts/rollup/plugins/rollup-closure-compiler-plugin.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/rollup/plugins/rollup-closure-compiler-plugin.js b/scripts/rollup/plugins/rollup-closure-compiler-plugin.js index f92cedb61b5..d9bef778326 100644 --- a/scripts/rollup/plugins/rollup-closure-compiler-plugin.js +++ b/scripts/rollup/plugins/rollup-closure-compiler-plugin.js @@ -5,9 +5,9 @@ const path = require('path'); const writeFileAsync = promisify(fs.writeFile); function compile(flags) { - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { const closureCompiler = new ClosureCompiler(flags); - + closureCompiler.run(function(exitCode, stdOut, stdErr) { // not sure if this is 100% right for error checking, // didn't get time to confirm @@ -36,11 +36,11 @@ module.exports = function closure(flags = {}) { name: 'closure-compiler-js', async transformBundle(code) { const tempPath = path.resolve(__dirname, 'temp.js'); - flags = Object.assign({}, flags, { js: tempPath }); + flags = Object.assign({}, flags, {js: tempPath}); await writeFileAsync(tempPath, code, 'utf8'); const compiledCode = await compile(flags); await deleteFile(tempPath); - return {code: compiledCode }; + return {code: compiledCode}; }, }; }; From 7b014d95d2f264281f5211816ef74c47f3fc54c8 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 14 May 2018 16:25:47 +0100 Subject: [PATCH 06/13] Nit rename --- scripts/rollup/build.js | 2 +- .../{rollup-closure-compiler-plugin.js => closure-plugin.js} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename scripts/rollup/plugins/{rollup-closure-compiler-plugin.js => closure-plugin.js} (100%) diff --git a/scripts/rollup/build.js b/scripts/rollup/build.js index aa02cc53866..90e249b291f 100644 --- a/scripts/rollup/build.js +++ b/scripts/rollup/build.js @@ -2,7 +2,7 @@ const {rollup} = require('rollup'); const babel = require('rollup-plugin-babel'); -const closure = require('./plugins/rollup-closure-compiler-plugin'); +const closure = require('./plugins/closure-plugin'); const commonjs = require('rollup-plugin-commonjs'); const prettier = require('rollup-plugin-prettier'); const replace = require('rollup-plugin-replace'); diff --git a/scripts/rollup/plugins/rollup-closure-compiler-plugin.js b/scripts/rollup/plugins/closure-plugin.js similarity index 100% rename from scripts/rollup/plugins/rollup-closure-compiler-plugin.js rename to scripts/rollup/plugins/closure-plugin.js From 5c755219833805c5e70ac41f1f453ad56b28f1dd Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 14 May 2018 16:39:53 +0100 Subject: [PATCH 07/13] Fix error handling --- scripts/rollup/build.js | 8 ++++---- scripts/rollup/plugins/closure-plugin.js | 22 +++++----------------- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/scripts/rollup/build.js b/scripts/rollup/build.js index 90e249b291f..3f736b87c6e 100644 --- a/scripts/rollup/build.js +++ b/scripts/rollup/build.js @@ -460,9 +460,9 @@ function handleRollupError(error) { console.error( `\x1b[31m-- ${error.code}${error.plugin ? ` (${error.plugin})` : ''} --` ); - console.error(error.message); - const {file, line, column} = error.loc; - if (file) { + console.error(error.stack); + if (error.loc && error.loc.file) { + const {file, line, column} = error.loc; // This looks like an error from Rollup, e.g. missing export. // We'll use the accurate line numbers provided by Rollup but // use Babel code frame because it looks nicer. @@ -473,7 +473,7 @@ function handleRollupError(error) { highlightCode: true, }); console.error(frame); - } else { + } else if (error.codeFrame) { // This looks like an error from a plugin (e.g. Babel). // In this case we'll resort to displaying the provided code frame // because we can't be sure the reported location is accurate. diff --git a/scripts/rollup/plugins/closure-plugin.js b/scripts/rollup/plugins/closure-plugin.js index d9bef778326..4e3c6c5f6e3 100644 --- a/scripts/rollup/plugins/closure-plugin.js +++ b/scripts/rollup/plugins/closure-plugin.js @@ -2,31 +2,18 @@ const ClosureCompiler = require('google-closure-compiler').compiler; const {promisify} = require('util'); const fs = require('fs'); const path = require('path'); +const tmp = require('tmp'); const writeFileAsync = promisify(fs.writeFile); function compile(flags) { return new Promise((resolve, reject) => { const closureCompiler = new ClosureCompiler(flags); - closureCompiler.run(function(exitCode, stdOut, stdErr) { - // not sure if this is 100% right for error checking, - // didn't get time to confirm if (!stdErr) { resolve(stdOut); } else { - reject(stdErr); - } - }); - }); -} - -function deleteFile(filename) { - return new Promise((resolve, reject) => { - fs.unlink(filename, err => { - if (err) { - reject(); + reject(new Error(stdErr)); } - resolve(); }); }); } @@ -35,11 +22,12 @@ module.exports = function closure(flags = {}) { return { name: 'closure-compiler-js', async transformBundle(code) { - const tempPath = path.resolve(__dirname, 'temp.js'); + const inputFile = tmp.fileSync(); + const tempPath = inputFile.name; flags = Object.assign({}, flags, {js: tempPath}); await writeFileAsync(tempPath, code, 'utf8'); const compiledCode = await compile(flags); - await deleteFile(tempPath); + inputFile.removeCallback(); return {code: compiledCode}; }, }; From 8478f2dcd8feff2e768f16d2f131216c5bfbf16e Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 14 May 2018 16:40:50 +0100 Subject: [PATCH 08/13] Name plugins consistently --- scripts/rollup/plugins/closure-plugin.js | 2 +- scripts/rollup/plugins/sizes-plugin.js | 1 + scripts/rollup/plugins/use-forks-plugin.js | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/rollup/plugins/closure-plugin.js b/scripts/rollup/plugins/closure-plugin.js index 4e3c6c5f6e3..5da3316e229 100644 --- a/scripts/rollup/plugins/closure-plugin.js +++ b/scripts/rollup/plugins/closure-plugin.js @@ -20,7 +20,7 @@ function compile(flags) { module.exports = function closure(flags = {}) { return { - name: 'closure-compiler-js', + name: 'scripts/rollup/plugins/closure-plugin', async transformBundle(code) { const inputFile = tmp.fileSync(); const tempPath = inputFile.name; diff --git a/scripts/rollup/plugins/sizes-plugin.js b/scripts/rollup/plugins/sizes-plugin.js index 514795464d5..d581d6e0e44 100644 --- a/scripts/rollup/plugins/sizes-plugin.js +++ b/scripts/rollup/plugins/sizes-plugin.js @@ -10,6 +10,7 @@ const gzip = require('gzip-size'); module.exports = function sizes(options) { return { + name: 'scripts/rollup/plugins/sizes-plugin', ongenerate(bundle, obj) { const size = Buffer.byteLength(obj.code); const gzipSize = gzip.sync(obj.code); diff --git a/scripts/rollup/plugins/use-forks-plugin.js b/scripts/rollup/plugins/use-forks-plugin.js index a1c06b18498..b0f7e4e1b99 100644 --- a/scripts/rollup/plugins/use-forks-plugin.js +++ b/scripts/rollup/plugins/use-forks-plugin.js @@ -37,6 +37,7 @@ function useForks(forks) { ); }); return { + name: 'scripts/rollup/plugins/use-forks-plugin', resolveId(importee, importer) { if (!importer || !importee) { return null; From 3b9f911561fa184d433e506897fbf4f5ab7bd0ec Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 14 May 2018 16:57:08 +0100 Subject: [PATCH 09/13] Fix lint --- scripts/rollup/plugins/closure-plugin.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/rollup/plugins/closure-plugin.js b/scripts/rollup/plugins/closure-plugin.js index 5da3316e229..831be64a23b 100644 --- a/scripts/rollup/plugins/closure-plugin.js +++ b/scripts/rollup/plugins/closure-plugin.js @@ -1,7 +1,8 @@ +'use strict' + const ClosureCompiler = require('google-closure-compiler').compiler; const {promisify} = require('util'); const fs = require('fs'); -const path = require('path'); const tmp = require('tmp'); const writeFileAsync = promisify(fs.writeFile); From 3d0e4d7507adbf5e3029b0d31e3efa82d5d2e19d Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 14 May 2018 17:02:10 +0100 Subject: [PATCH 10/13] Maybe this works? --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 86fd8c74125..dbe3fe47660 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ jobs: build: docker: - - image: circleci/node:8 + - image: circleci/node:8-jdk-node-browsers environment: TZ: /usr/share/zoneinfo/America/Los_Angeles From 2a5e40a97d7ec6bb6a9b6e4c78d500b44d05e734 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 14 May 2018 17:10:47 +0100 Subject: [PATCH 11/13] or this --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dbe3fe47660..73a6ca773c1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ jobs: build: docker: - - image: circleci/node:8-jdk-node-browsers + - image: circleci/openjdk:8-jdk-node-browsers environment: TZ: /usr/share/zoneinfo/America/Los_Angeles From dd90525ebff658a5063e0936f4c7d663ac73b1f2 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 14 May 2018 17:18:02 +0100 Subject: [PATCH 12/13] AppVeyor --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 0c97cd4d10d..6437f33d3d7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -5,8 +5,8 @@ init: - git config --global core.autocrlf input environment: - matrix: - - nodejs_version: 8 + nodejs_version: 8 + JAVA_HOME: C:\Program Files\Java\jdk1.8.0 # Finish on first failed build matrix: From 06bef07715e4e0a6de79ed540f291d7a3baafad9 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 14 May 2018 17:19:21 +0100 Subject: [PATCH 13/13] Fix lint --- scripts/rollup/plugins/closure-plugin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/rollup/plugins/closure-plugin.js b/scripts/rollup/plugins/closure-plugin.js index 831be64a23b..0c95ee99e22 100644 --- a/scripts/rollup/plugins/closure-plugin.js +++ b/scripts/rollup/plugins/closure-plugin.js @@ -1,4 +1,4 @@ -'use strict' +'use strict'; const ClosureCompiler = require('google-closure-compiler').compiler; const {promisify} = require('util');