Skip to content

Commit ff16d10

Browse files
ADjenkovsis0k0
authored andcommitted
refactor: Update update-app-ng-deps script
- Update dev deps - Add new deps in deps - Update to work with NPM5
1 parent 8e474ad commit ff16d10

File tree

1 file changed

+14
-27
lines changed

1 file changed

+14
-27
lines changed

nativescript-angular/bin/update-app-ng-deps

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,47 +11,34 @@ const pluginPackageJson = JSON.parse(fs.readFileSync(pluginPackageJsonPath, "utf
1111

1212
const 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));
5037
const appPackageJsonPath = path.join(projectPath, "package.json");
5138
const 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

5643
fs.writeFileSync(appPackageJsonPath, JSON.stringify(appPackageJson, null, 2));
5744

0 commit comments

Comments
 (0)