From 7a0f617c12ca8fd1b3418eb80dcf192990c437a7 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Tue, 30 Jul 2019 11:05:46 +0300 Subject: [PATCH] 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: '../', + }); + }); +})();