1
1
/* jshint node: true, esnext: true */
2
+ /* eslint-env es6 */
2
3
'use strict' ;
3
4
4
5
const Promise = require ( 'ember-cli/lib/ext/promise' ) ;
5
6
const Task = require ( 'ember-cli/lib/models/task' ) ;
6
7
const npmTask = require ( 'ember-cli/lib/tasks/npm-task' ) ;
7
8
const chalk = require ( 'chalk' ) ;
8
9
const path = require ( 'path' ) ;
9
- const fs = require ( 'fs' ) ;
10
- const fse = require ( 'fs-extra' ) ;
11
- const packageJSON = path . resolve ( process . cwd ( ) , 'package.json' ) ;
12
- const nodeModules = path . resolve ( process . cwd ( ) , 'node_modules' ) ;
13
10
const typingsInstall = require ( './typings-install' ) ;
14
11
const systemJS = require ( '../utilities/systemjs-helper.ts' ) ;
15
- const ts = require ( 'typescript' ) ;
16
- const glob = require ( 'glob' ) ;
17
- const _ = require ( 'lodash' ) ;
18
12
19
13
module . exports = Task . extend ( {
20
14
completionOKMessage : 'Successfully installed.' ,
@@ -39,39 +33,45 @@ module.exports = Task.extend({
39
33
} ,
40
34
41
35
installProcedure : function ( ) {
36
+ const that = this ;
37
+
42
38
const NpmTask = new npmTask ( {
43
39
command : 'install' ,
44
40
ui : this . ui ,
45
41
analytics : this . analytics ,
46
42
project : this . project ,
47
- startProgressMessage : ` Installing packages: ${ this . packages } ` ,
48
- completionMessage : ` Packages successfully installed.`
43
+ startProgressMessage : ' Installing packages: ' + this . packages ,
44
+ completionMessage : ' Packages successfully installed.'
49
45
} ) ;
50
46
51
47
return NpmTask . run ( {
52
48
packages : this . packages ,
53
- verbose : false ,
49
+ verbose : false
54
50
} )
55
51
. then ( ( ) => this . storeInSystemJSConfig ( this . packages ) )
56
52
. then ( ( ) => {
57
- const typings = this . typings ;
53
+ const typings = that . typings ;
58
54
if ( typings ) {
59
- this . ui . startProgress ( chalk . green ( ` Installing typings: ${ typings } ` ) , chalk . green ( `.` ) ) ;
55
+ that . ui . startProgress ( chalk . green ( ' Installing typings: ' + typings ) , chalk . green ( '.' ) ) ;
60
56
return typingsInstall ( typings ) . then ( ( ) => {
61
- this . ui . stopProgress ( ) ;
62
- this . ui . writeLine ( chalk . green ( ` Typings successfully installed.` ) ) ;
57
+ that . ui . stopProgress ( ) ;
58
+ that . ui . writeLine ( chalk . green ( ' Typings successfully installed.' ) ) ;
63
59
} ) ;
64
60
}
65
- } . bind ( this ) ) ;
61
+ } ) ;
66
62
} ,
67
63
68
64
storeInSystemJSConfig : function ( packages ) {
69
65
const systemPath = path . resolve ( process . cwd ( ) , 'src' , 'config' , 'system.config.js' ) ;
70
66
let json = systemJS . loadSystemJson ( systemPath ) ;
71
67
68
+ packages = packages . filter ( p => {
69
+ return ( ! / n o d e - s a s s | s t y l u s | l e s s | c o m p a s s - i m p o r t e r / . test ( p ) ) ;
70
+ } ) ;
71
+
72
72
let mappings = json . map || { } ;
73
73
packages . forEach ( pkg => {
74
- mappings [ pkg ] = ` libs/${ pkg } / ${ pkg } .js` ;
74
+ mappings [ pkg ] = ' libs/' + pkg + '/' + pkg + ' .js' ;
75
75
} ) ;
76
76
json . map = mappings ;
77
77
systemJS . saveSystemJson ( systemPath , json ) ;
0 commit comments