diff --git a/gulpfile.js b/gulpfile.js index 4c82dc9a5c..b947715a92 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -370,11 +370,6 @@ gulp.task('build/transpile.js.cjs', transpile(gulp, gulpPlugins, { options: CONFIG.transpile.options.js.cjs, srcFolderInsertion: CONFIG.srcFolderInsertion.js })); -gulp.task('build/transformCJSTests', function() { - return gulp.src(CONFIG.dest.js.cjs + '/angular2/test/**/*_spec.js') - .pipe(transformCJSTests()) - .pipe(gulp.dest(CONFIG.dest.js.cjs + '/angular2/test/')); -}); gulp.task('build/transpile.dart', ['build.broccoli.tools'], function() { return broccoliBuild(makeBroccoliTree('dart'), 'dart'); @@ -807,7 +802,6 @@ gulp.task('build.js.cjs', function(done) { runSequence( 'broccoli.js.cjs', ['build/linknodemodules.js.cjs'], - 'build/transformCJSTests', done ); }); diff --git a/tools/broccoli/make-broccoli-tree.ts b/tools/broccoli/make-broccoli-tree.ts index d1e27ace21..00f6907217 100644 --- a/tools/broccoli/make-broccoli-tree.ts +++ b/tools/broccoli/make-broccoli-tree.ts @@ -159,6 +159,25 @@ function makeCjsTree() { modules: 'commonjs' }); + // Transform all tests to make them runnable in node + cjsTree = replace(cjsTree, { + files: ['**/test/**/*_spec.js'], + patterns: [ + { + // Override the default DOM adapter with Parse5 for all tests + match: /"use strict";/, + replacement: + "'use strict'; var parse5Adapter = require('angular2/src/dom/parse5_adapter'); " + + "parse5Adapter.Parse5DomAdapter.makeCurrent();" + }, + { + // Append main() to all tests since all of our tests are wrapped in exported main fn + match: /$/g, + replacement: "\r\n main();" + } + ] + }); + // Now we add the LICENSE file into all the folders that will become npm packages outputPackages.forEach(function(destDir) { var license = new Funnel('.', {files: ['LICENSE'], destDir: destDir});