From 55aa1fc572c3ad8ee1d1b51020a3c283ad022c56 Mon Sep 17 00:00:00 2001 From: Kristian Dimitrov Date: Tue, 19 Nov 2019 17:57:53 +0200 Subject: [PATCH] fix: update scoped core package --- lib/constants.ts | 1 + lib/controllers/update-controller.ts | 26 ++++++++++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/lib/constants.ts b/lib/constants.ts index 1f23c5c110..ae5279593e 100644 --- a/lib/constants.ts +++ b/lib/constants.ts @@ -10,6 +10,7 @@ export const NATIVESCRIPT_KEY_NAME = "nativescript"; export const NODE_MODULES_FOLDER_NAME = "node_modules"; export const TNS_MODULES_FOLDER_NAME = "tns_modules"; export const TNS_CORE_MODULES_NAME = "tns-core-modules"; +export const SCOPED_TNS_CORE_MODULES = "@nativescript/core"; export const TNS_CORE_THEME_NAME = "nativescript-theme-core"; export const SCOPED_TNS_CORE_THEME_NAME = "@nativescript/theme"; export const WEBPACK_PLUGIN_NAME = "nativescript-dev-webpack"; diff --git a/lib/controllers/update-controller.ts b/lib/controllers/update-controller.ts index ebddc082a0..f1d1f7d527 100644 --- a/lib/controllers/update-controller.ts +++ b/lib/controllers/update-controller.ts @@ -3,11 +3,17 @@ import * as semver from "semver"; import * as constants from "../constants"; import { UpdateControllerBase } from "./update-controller-base"; +interface IPackage { + name: string; + alias?: string; +} + export class UpdateController extends UpdateControllerBase implements IUpdateController { - static readonly updatableDependencies: string[] = [ - constants.TNS_CORE_MODULES_NAME, - constants.TNS_CORE_MODULES_WIDGETS_NAME, - constants.WEBPACK_PLUGIN_NAME]; + static readonly updatableDependencies: IPackage[] = [ + { name: constants.SCOPED_TNS_CORE_MODULES, alias: constants.TNS_CORE_MODULES_NAME }, + { name: constants.TNS_CORE_MODULES_NAME }, + { name: constants.TNS_CORE_MODULES_WIDGETS_NAME }, + { name: constants.WEBPACK_PLUGIN_NAME }]; static readonly folders: string[] = [ constants.LIB_DIR_NAME, constants.HOOKS_DIR_NAME, @@ -184,9 +190,17 @@ export class UpdateController extends UpdateControllerBase implements IUpdateCon } private getUpdatableDependencies(dependencies: IDictionary): IDictionary { - return _.pickBy(dependencies, (value, key) => { - return UpdateController.updatableDependencies.indexOf(key) > -1; + const updatableDependencies: IDictionary = {}; + + UpdateController.updatableDependencies.forEach(updatableDependency => { + if (dependencies[updatableDependency.name]) { + updatableDependencies[updatableDependency.name] = dependencies[updatableDependency.name]; + } else if (updatableDependency.alias && dependencies[updatableDependency.alias]) { + updatableDependencies[updatableDependency.name] = dependencies[updatableDependency.alias]; + } }); + + return updatableDependencies; } private getTemplateName(projectData: IProjectData) {