From d224f8d8836bc7a9fc523ce94a3c7128bf1b9c95 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Tue, 30 Jul 2019 10:10:15 +0300 Subject: [PATCH 1/2] feature: install symlink-manager remove lerna from ng-packs #1547 --- npm/ng-packs/lerna.json | 6 ------ npm/ng-packs/package.json | 5 ++--- 2 files changed, 2 insertions(+), 9 deletions(-) delete mode 100644 npm/ng-packs/lerna.json diff --git a/npm/ng-packs/lerna.json b/npm/ng-packs/lerna.json deleted file mode 100644 index 4bf8306654..0000000000 --- a/npm/ng-packs/lerna.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "version": "0.7.5", - "packages": ["packages/*"], - "npmClient": "yarn", - "lerna": "2.11.0" -} diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index 2f441106c2..c193f47542 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -1,7 +1,7 @@ { "scripts": { "ng": "ng", - "lerna": "lerna" + "symlink": "symlink" }, "devDependencies": { "@angular-devkit/build-angular": "~0.801.2", @@ -38,7 +38,6 @@ "karma-coverage-istanbul-reporter": "~2.0.1", "karma-jasmine": "~2.0.1", "karma-jasmine-html-reporter": "^1.4.0", - "lerna": "^3.16.4", "ng-packagr": "^5.1.0", "ngx-perfect-scrollbar": "^8.0.0", "primeicons": "^1.0.0", @@ -46,7 +45,7 @@ "protractor": "~5.4.0", "rxjs": "~6.4.0", "snq": "^1.0.3", - "symlink-manager": "^1.2.0", + "symlink-manager": "^1.2.1", "ts-node": "~7.0.0", "tsickle": "^0.35.0", "tslib": "^1.9.0", From 7a0f617c12ca8fd1b3418eb80dcf192990c437a7 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Tue, 30 Jul 2019 11:05:46 +0300 Subject: [PATCH 2/2] feature: add build script to ng-packs update main dependencies update peerDependencies of core #1547 --- npm/ng-packs/dist/core/package.json | 10 +++---- npm/ng-packs/package.json | 11 +++++--- npm/ng-packs/packages/core/package.json | 10 +++---- npm/ng-packs/scripts/build.js | 37 +++++++++++++++++++++++++ 4 files changed, 54 insertions(+), 14 deletions(-) diff --git a/npm/ng-packs/dist/core/package.json b/npm/ng-packs/dist/core/package.json index 4e292688c7..5d10abb632 100644 --- a/npm/ng-packs/dist/core/package.json +++ b/npm/ng-packs/dist/core/package.json @@ -11,11 +11,11 @@ "tslib": "^1.9.0" }, "peerDependencies": { - "@angular/common": ">=8.1.0", - "@angular/core": ">=8.1.0", - "@angular/forms": ">=8.1.0", - "@angular/router": ">=8.1.0", - "rxjs": ">=6.4.0" + "@angular/common": "~8.1.2", + "@angular/core": "~8.1.2", + "@angular/forms": "~8.1.2", + "@angular/router": "~8.1.2", + "rxjs": "~6.4.0" }, "publishConfig": { "access": "public" diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index c193f47542..cb7ca1f024 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -4,19 +4,22 @@ "symlink": "symlink" }, "devDependencies": { + "@abp/ng.core": "^0.7.6", + "@abp/ng.permission-management": "^0.7.6", + "@abp/ng.theme.shared": "^0.7.6", "@angular-devkit/build-angular": "~0.801.2", "@angular-devkit/build-ng-packagr": "~0.801.2", "@angular/animations": "~8.1.2", "@angular/cdk": "^8.0.1", "@angular/cli": "~8.1.2", "@angular/common": "~8.1.2", - "@angular/compiler": "~8.1.2", "@angular/compiler-cli": "~8.1.2", + "@angular/compiler": "~8.1.2", "@angular/core": "~8.1.2", "@angular/forms": "~8.1.2", "@angular/language-service": "~8.1.2", - "@angular/platform-browser": "~8.1.2", "@angular/platform-browser-dynamic": "~8.1.2", + "@angular/platform-browser": "~8.1.2", "@angular/router": "~8.1.2", "@ng-bootstrap/ng-bootstrap": "^5.0.0-rc.1", "@ngx-validate/core": "^0.0.1", @@ -33,11 +36,11 @@ "jasmine-core": "~3.4.0", "jasmine-spec-reporter": "~4.2.1", "just-compare": "^1.3.0", - "karma": "~4.1.0", "karma-chrome-launcher": "~2.2.0", "karma-coverage-istanbul-reporter": "~2.0.1", - "karma-jasmine": "~2.0.1", "karma-jasmine-html-reporter": "^1.4.0", + "karma-jasmine": "~2.0.1", + "karma": "~4.1.0", "ng-packagr": "^5.1.0", "ngx-perfect-scrollbar": "^8.0.0", "primeicons": "^1.0.0", diff --git a/npm/ng-packs/packages/core/package.json b/npm/ng-packs/packages/core/package.json index 1d09a79d2a..b56cca7593 100644 --- a/npm/ng-packs/packages/core/package.json +++ b/npm/ng-packs/packages/core/package.json @@ -10,11 +10,11 @@ "snq": "^1.0.3" }, "peerDependencies": { - "@angular/common": ">=8.1.0", - "@angular/core": ">=8.1.0", - "@angular/forms": ">=8.1.0", - "@angular/router": ">=8.1.0", - "rxjs": ">=6.4.0" + "@angular/common": "~8.1.2", + "@angular/core": "~8.1.2", + "@angular/forms": "~8.1.2", + "@angular/router": "~8.1.2", + "rxjs": "~6.4.0" }, "publishConfig": { "access": "public" diff --git a/npm/ng-packs/scripts/build.js b/npm/ng-packs/scripts/build.js index e2fa882625..6b21c48e0f 100644 --- a/npm/ng-packs/scripts/build.js +++ b/npm/ng-packs/scripts/build.js @@ -1 +1,38 @@ +// ESM syntax is supported. import execa from 'execa'; +import fse from 'fs-extra'; + +(async () => { + const { projects } = await fse.readJSON('../angular.json'); + const projectNames = Object.keys(projects); + + const packageJson = await fse.readJSON('../package.json'); + + let npmPackageNames = []; + projectNames.forEach(project => { + // do not convert to async + const { name, dependencies = {}, peerDependencies = {} } = fse.readJSONSync(`../packages/${project}/package.json`); + npmPackageNames.push(name); + + packageJson.devDependencies = { ...packageJson.devDependencies, ...dependencies, ...peerDependencies }; + }); + + await fse.writeJSON('../package.json', packageJson, { spaces: 2 }); + + try { + await execa('yarn', { + stdout: 'inherit', + cwd: '..', + }); + } catch (error) { + console.error(error.stderr); + } + + npmPackageNames.forEach(name => { + // do not convert to async + execa.sync('yarn', ['symlink', 'copy', '--angular', '--packages', name, '--no-watch'], { + stdout: 'inherit', + cwd: '../', + }); + }); +})();