@@ -4,20 +4,21 @@ var fs = require('fs');
4
4
var glob = require ( 'glob' ) ;
5
5
var minimatch = require ( 'minimatch' ) ;
6
6
7
- module . exports = function ( logger , platformsData , projectData , hookArgs ) {
7
+ module . exports = function ( $ logger, $projectData , $injector , hookArgs ) {
8
8
var logsPrefix = "nativescript-dev-babel: " ;
9
- var platformData = platformsData . getPlatformData ( hookArgs . platform . toLowerCase ( ) ) ;
9
+ var platform = ( hookArgs && ( hookArgs . platform || ( hookArgs . prepareData && hookArgs . prepareData . platform ) ) || '' ) . toLowerCase ( ) ;
10
+ var platformData = getPlatformData ( $injector , $projectData , platform ) ;
10
11
var outDir = platformData . appDestinationDirectoryPath ;
11
12
12
13
var babelOptions = {
13
14
sourceMaps : 'inline'
14
15
} ;
15
16
16
- var babelrcFilePath = path . join ( projectData . projectDir , '.babelrc' ) ;
17
+ var babelrcFilePath = path . join ( $ projectData. projectDir , '.babelrc' ) ;
17
18
if ( fs . existsSync ( babelrcFilePath ) ) {
18
19
babelOptions = JSON . parse ( fs . readFileSync ( babelrcFilePath ) ) ;
19
20
} else {
20
- var packageOpts = JSON . parse ( fs . readFileSync ( path . join ( projectData . projectDir , 'package.json' ) ) ) ;
21
+ var packageOpts = JSON . parse ( fs . readFileSync ( path . join ( $ projectData. projectDir , 'package.json' ) ) ) ;
21
22
if ( packageOpts . babel ) {
22
23
babelOptions = packageOpts . babel ;
23
24
}
@@ -30,7 +31,7 @@ module.exports = function (logger, platformsData, projectData, hookArgs) {
30
31
var transformations = [ ] ;
31
32
for ( var includePattern of includedPatterns ) {
32
33
transformations . push ( new Promise ( function ( resolve , reject ) {
33
- logger . info ( `${ logsPrefix } Processing '${ path . join ( outDir , includePattern ) } .'` ) ;
34
+ $ logger. info ( `${ logsPrefix } Processing '${ path . join ( outDir , includePattern ) } .'` ) ;
34
35
glob ( path . join ( outDir , includePattern ) , { } , function ( err , files ) {
35
36
if ( err ) {
36
37
reject ( err ) ;
@@ -43,15 +44,15 @@ module.exports = function (logger, platformsData, projectData, hookArgs) {
43
44
return ;
44
45
}
45
46
46
- logger . trace ( `${ logsPrefix } Processing '${ jsFile } '.` ) ;
47
+ $ logger. trace ( `${ logsPrefix } Processing '${ jsFile } '.` ) ;
47
48
try {
48
49
var result = babel . transformFileSync ( jsFile , babelOptions ) ;
49
50
fs . writeFileSync ( jsFile , result . code ) ;
50
51
} catch ( err ) {
51
52
error = err ;
52
53
}
53
54
} ) ;
54
- logger . info ( `${ logsPrefix } Processing '${ path . join ( outDir , includePattern ) } ' complete.` ) ;
55
+ $ logger. info ( `${ logsPrefix } Processing '${ path . join ( outDir , includePattern ) } ' complete.` ) ;
55
56
if ( error ) {
56
57
error . errorAsWarning = true ;
57
58
}
@@ -63,3 +64,18 @@ module.exports = function (logger, platformsData, projectData, hookArgs) {
63
64
64
65
return Promise . all ( transformations ) ;
65
66
}
67
+
68
+ function getPlatformData ( $injector , $projectData , platform ) {
69
+ let platformData ;
70
+ try {
71
+ // used in CLI 6+
72
+ const platformsDataService = $injector . resolve ( "platformsDataService" ) ;
73
+ platformData = platformsDataService . getPlatformData ( platform , $projectData ) ;
74
+ } catch ( err ) {
75
+ // Used in CLI 5.4.x and below:
76
+ const platformsData = $injector . resolve ( "platformsData" ) ;
77
+ platformData = platformsData . getPlatformData ( platform , $projectData ) ;
78
+ }
79
+
80
+ return platformData ;
81
+ }
0 commit comments