Skip to content

Commit a71c6cc

Browse files
committed
feat(angular2-app): allow to easily add vendor files
to be able to easily add vendor files in generated projects: var Angular2App = require('angular-cli/lib/broccoli/angular2-app'); module.exports = function(defaults) { var app = new Angular2App(defaults, { vendorFiles: ['material-design-lite/material.css'] }); return app.toTree(); }
1 parent ba4f81b commit a71c6cc

File tree

2 files changed

+22
-22
lines changed

2 files changed

+22
-22
lines changed

addon/ng2/blueprints/ng2/files/ember-cli-build.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
var Angular2App = require('angular-cli/lib/broccoli/angular2-app');
44

55
module.exports = function(defaults) {
6-
var app = new Angular2App(defaults);
6+
var app = new Angular2App(defaults, {
7+
vendorFiles: []
8+
});
79
return app.toTree();
810
}

lib/broccoli/angular2-app.js

+19-21
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,24 @@ module.exports = Angular2App;
1111
function Angular2App(defaults, options) {
1212
this._initProject();
1313
this._notifyAddonIncluded();
14+
this.options = options;
1415
}
1516

16-
Angular2App.prototype.toTree = function () {
17+
Angular2App.prototype.toTree = function() {
1718
var sourceTree = 'src';
19+
var vendorNpmFiles = [
20+
'angular2/bundles/angular2-polyfills.js',
21+
'angular2/bundles/angular2.dev.js',
22+
'angular2/bundles/http.dev.js',
23+
'angular2/bundles/router.dev.js',
24+
'angular2/bundles/upgrade.dev.js',
25+
'rxjs/bundles/Rx.js',
26+
'systemjs/dist/system.src.js'
27+
];
28+
29+
if (this.options.vendorNpmFiles) {
30+
vendorNpmFiles = vendorNpmFiles.concat(this.options.vendorNpmFiles);
31+
}
1832

1933
var tsConfigCompilerOptions = JSON.parse(fs.readFileSync('src/tsconfig.json', 'utf-8')).compilerOptions;
2034
var tsTree = compileWithTypescript(sourceTree, tsConfigCompilerOptions);
@@ -34,28 +48,12 @@ Angular2App.prototype.toTree = function () {
3448
allowEmpty: true
3549
});
3650

37-
var vendorJsTree = new Funnel('node_modules', {
38-
files: [
39-
'angular2/bundles/angular2-polyfills.js',
40-
'angular2/bundles/angular2.dev.js',
41-
'angular2/bundles/http.dev.js',
42-
'angular2/bundles/router.dev.js',
43-
'angular2/bundles/upgrade.dev.js',
44-
'rxjs/bundles/Rx.js',
45-
'systemjs/dist/system.src.js'
46-
],
51+
var vendorNpmTree = new Funnel('node_modules', {
52+
files: vendorNpmFiles,
4753
destDir: 'vendor'
48-
})
49-
50-
// var appJs = new Concat(mergeTrees([tsTree, jsTree]), {
51-
// inputFiles: [
52-
// '*.js',
53-
// '**/*.js'
54-
// ],
55-
// outputFile: '/app.js'
56-
// });
54+
});
5755

58-
return mergeTrees([assetTree, tsSrcTree, tsTree, jsTree, this.index(), vendorJsTree], { overwrite: true });
56+
return mergeTrees([assetTree, tsSrcTree, tsTree, jsTree, this.index(), vendorNpmTree], { overwrite: true });
5957
};
6058

6159
/**

0 commit comments

Comments
 (0)