From 1afe926e232458ed1f1af78c1f21b0701b821989 Mon Sep 17 00:00:00 2001 From: "Lennart C. L. Kats" Date: Wed, 20 Apr 2016 12:15:11 +0200 Subject: [PATCH 1/4] Revert "Revert "disable stripping license comments"" --- node_modules/architect-build/module-deps.js | 6 +++--- plugins/c9.static/build_test.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/node_modules/architect-build/module-deps.js b/node_modules/architect-build/module-deps.js index 77718e8d..1dd9ac47 100644 --- a/node_modules/architect-build/module-deps.js +++ b/node_modules/architect-build/module-deps.js @@ -29,7 +29,7 @@ module.exports = function(mains, opts) { if (!opts.transforms) opts.transforms = []; - opts.transforms.push(removeLicenceComments, wrapUMD); + opts.transforms.push(wrapUMD); if (opts.pathConfig) { opts.paths = opts.paths || opts.pathConfig.paths; @@ -391,8 +391,8 @@ function wrapUMD(module) { + ' $build_deps$.module.define(name, [], function() { return $build_deps$.module.exports });\n' + ' }\n' + '}\n' - + 'define.amd = true;' - + module.source + + 'define.amd = true;\n' + + module.source + '\n' + '});'; } diff --git a/plugins/c9.static/build_test.js b/plugins/c9.static/build_test.js index 73c7e33f..018117a7 100755 --- a/plugins/c9.static/build_test.js +++ b/plugins/c9.static/build_test.js @@ -57,7 +57,7 @@ describe("The Module", function(){ var code = result.code; assert(code.indexOf("" >= 0), "should have at least one stripped style"); - assert(!code.match(/ Date: Wed, 20 Apr 2016 12:16:58 +0000 Subject: [PATCH 2/4] fix removeLicenceComments --- node_modules/architect-build/module-deps.js | 12 ++++++--- plugins/c9.static/build_test.js | 29 ++++++++++++++++++--- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/node_modules/architect-build/module-deps.js b/node_modules/architect-build/module-deps.js index 1dd9ac47..cb608570 100644 --- a/node_modules/architect-build/module-deps.js +++ b/node_modules/architect-build/module-deps.js @@ -29,7 +29,7 @@ module.exports = function(mains, opts) { if (!opts.transforms) opts.transforms = []; - opts.transforms.push(wrapUMD); + opts.transforms.push(removeLicenceComments, wrapUMD); if (opts.pathConfig) { opts.paths = opts.paths || opts.pathConfig.paths; @@ -345,13 +345,14 @@ function removeUseStrict(module) { module.source = module.source.replace(/['"]use strict['"];/g, ""); } +var commentRe = /^(;)?(?:\s*(?:\/\/.+\n|\/\*(?:[^*]|\*(?!\/))*\*\/))+(?: *\n)?/gm; function removeLicenceComments(module) { if (/\.(js|jsx|css|less)/.test(module.path)) - module.source = module.source.replace(/(?:(;)|\n|^)\s*\/\*[\d\D]*?\*\/|(\n|^)\s*\/\/.*/g, "$1"); + module.source = module.source.replace(commentRe, "$1"); } function removeLicenceCommentsKeepLines(module) { if (/\.(js|jsx|css|less)/.test(module.path)) { - module.source = module.source.replace(/(?:(;)|\n|^)\s*\/\*[\d\D]*?\*\/|\n\s*\/\/.*/g, function(cm, start) { + module.source = module.source.replace(commentRe, function(cm, start) { return (start||"") + cm.replace(/.+/g, ""); }); } @@ -410,4 +411,7 @@ function quote(str) { } -module.exports.resolveModulePath = resolveModulePath; \ No newline at end of file +module.exports.getSubmodules = getSubmodules; +module.exports.resolveModulePath = resolveModulePath; +module.exports.removeLicenceComments = removeLicenceComments; +module.exports.removeLicenceCommentsKeepLines = removeLicenceCommentsKeepLines; \ No newline at end of file diff --git a/plugins/c9.static/build_test.js b/plugins/c9.static/build_test.js index 018117a7..3fad1f95 100755 --- a/plugins/c9.static/build_test.js +++ b/plugins/c9.static/build_test.js @@ -17,7 +17,7 @@ require("amd-loader"); var build, options, pathConfig; -describe("The Module", function(){ +describe("The build module", function(){ this.timeout(60000); beforeEach(function(next) { @@ -57,13 +57,13 @@ describe("The Module", function(){ var code = result.code; assert(code.indexOf("" >= 0), "should have at least one stripped style"); - //assert(!code.match(/ Date: Wed, 20 Apr 2016 12:20:58 +0000 Subject: [PATCH 3/4] normalize windows newlines in architect build --- node_modules/architect-build/module-deps.js | 1 + 1 file changed, 1 insertion(+) diff --git a/node_modules/architect-build/module-deps.js b/node_modules/architect-build/module-deps.js index cb608570..c9a592c6 100644 --- a/node_modules/architect-build/module-deps.js +++ b/node_modules/architect-build/module-deps.js @@ -113,6 +113,7 @@ module.exports = function(mains, opts) { } function setModuleSource(mod, src, cb) { + src = src.replace(/\r\n/g, "\n"); // normalize windows newlines if (cache) cache.files[mod.file] = src; mod.source = src; From 1df9235755f9e3d89459328d8258fe0abfd50c54 Mon Sep 17 00:00:00 2001 From: nightwing Date: Wed, 20 Apr 2016 13:23:27 +0000 Subject: [PATCH 4/4] call done when done --- plugins/c9.static/build_test.js | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/c9.static/build_test.js b/plugins/c9.static/build_test.js index 3fad1f95..7dd15bed 100755 --- a/plugins/c9.static/build_test.js +++ b/plugins/c9.static/build_test.js @@ -93,5 +93,6 @@ describe("The build module", function(){ var x; // not removed x += "he/*ll*/o" + a; }); + done(); }); }); \ No newline at end of file