@@ -11,47 +11,34 @@ const pluginPackageJson = JSON.parse(fs.readFileSync(pluginPackageJsonPath, "utf
1111
1212const isNgDependency = name => name . startsWith ( "@angular" ) ||
1313 name === "rxjs" ||
14- name === "zone.js" ;
14+ name === "zone.js" ||
15+ name === "typescript" ;
1516
16- function updateDeps ( deps , newDeps ) {
17- // set app dependencies to ones required from plugin
17+ function updateDeps ( deps , devDeps , newDeps ) {
1818 Object . keys ( newDeps )
1919 . filter ( isNgDependency )
20- . filter ( dependencyName => deps . hasOwnProperty ( dependencyName ) )
2120 . map ( dependencyName => ( {
2221 dependencyName,
23- version : pluginPackageJson . peerDependencies [ dependencyName ]
22+ version : newDeps [ dependencyName ]
2423 } ) )
25- . filter ( ( { dependencyName, version } ) => deps [ dependencyName ] !== version )
2624 . forEach ( ( { dependencyName, version } ) => {
27- deps [ dependencyName ] = version ;
25+ if ( devDeps [ dependencyName ] ) {
26+ devDeps [ dependencyName ] = version ;
27+ } else {
28+ deps [ dependencyName ] = version ;
29+ }
30+
2831 console . log ( `Updated dependency ${ dependencyName } to version: ${ version } .` ) ;
2932 } ) ;
30-
31- // remove platform-browser-dynamic if present
32- if ( deps . hasOwnProperty ( browserDynamicDependency ) ) {
33- delete deps [ browserDynamicDependency ] ;
34- console . log ( `Removed ${ browserDynamicDependency } ` ) ;
35- }
36-
37-
38- return deps ;
3933}
4034
41- let pluginDeps = pluginPackageJson . peerDependencies ;
42- Object . keys ( pluginPackageJson . devDependencies )
43- . filter ( isNgDependency )
44- . filter ( depName => ! pluginDeps . hasOwnProperty ( depName ) )
45- . forEach ( depName => {
46- pluginDeps [ depName ] = pluginPackageJson . devDependencies [ depName ] ;
47- } ) ;
48-
49- const projectPath = path . dirname ( path . dirname ( pluginPath ) ) ;
35+ const pluginDeps = pluginPackageJson . peerDependencies ;
36+ const projectPath = process . env . INIT_CWD || path . dirname ( path . dirname ( pluginPath ) ) ;
5037const appPackageJsonPath = path . join ( projectPath , "package.json" ) ;
5138const appPackageJson = JSON . parse ( fs . readFileSync ( appPackageJsonPath , "utf8" ) ) ;
5239
53- appPackageJson . dependencies = updateDeps ( appPackageJson . dependencies , pluginDeps ) ;
54- appPackageJson . devDependencies = updateDeps ( appPackageJson . devDependencies , pluginDeps ) ;
40+ const { dependencies, devDependencies } = appPackageJson ;
41+ updateDeps ( dependencies , devDependencies , pluginDeps ) ;
5542
5643fs . writeFileSync ( appPackageJsonPath , JSON . stringify ( appPackageJson , null , 2 ) ) ;
5744
0 commit comments