Browse Source

build: add post-install script

pull/2883/head
mehmet-erim 6 years ago
parent
commit
313944ebe4
  1. 11
      npm/ng-packs/package.json
  2. 7
      npm/ng-packs/scripts/install-new-dependencies.ts
  3. 1
      npm/ng-packs/scripts/package.json
  4. 26
      npm/ng-packs/scripts/post-install.ts
  5. 1275
      npm/ng-packs/scripts/yarn.lock
  6. 40
      npm/ng-packs/yarn.lock

11
npm/ng-packs/package.json

@ -19,6 +19,7 @@
"ci:test": "ng test --coverage=false", "ci:test": "ng test --coverage=false",
"ci:build": "cd scripts && yarn build:prod", "ci:build": "cd scripts && yarn build:prod",
"lerna": "lerna", "lerna": "lerna",
"postinstall": "cd scripts && npm install && npm run post-install",
"generate:changelog": "conventional-changelog -p angular -i CHANGELOG.md -s" "generate:changelog": "conventional-changelog -p angular -i CHANGELOG.md -s"
}, },
"devDependencies": { "devDependencies": {
@ -35,7 +36,7 @@
"@abp/ng.tenant-management.config": "~2.9.0", "@abp/ng.tenant-management.config": "~2.9.0",
"@abp/ng.theme.basic": "~2.9.0", "@abp/ng.theme.basic": "~2.9.0",
"@abp/ng.theme.shared": "~2.9.0", "@abp/ng.theme.shared": "~2.9.0",
"@abp/utils": "^2.7.0", "@abp/utils": "^2.9.0",
"@angular-builders/jest": "^8.2.0", "@angular-builders/jest": "^8.2.0",
"@angular-devkit/build-angular": "~0.901.7", "@angular-devkit/build-angular": "~0.901.7",
"@angular-devkit/build-ng-packagr": "~0.901.7", "@angular-devkit/build-ng-packagr": "~0.901.7",
@ -51,10 +52,10 @@
"@angular/platform-browser": "~9.1.9", "@angular/platform-browser": "~9.1.9",
"@angular/platform-browser-dynamic": "~9.1.9", "@angular/platform-browser-dynamic": "~9.1.9",
"@angular/router": "~9.1.9", "@angular/router": "~9.1.9",
"@fortawesome/fontawesome-free": "^5.12.1", "@fortawesome/fontawesome-free": "^5.13.0",
"@ng-bootstrap/ng-bootstrap": "^5.3.0", "@ng-bootstrap/ng-bootstrap": "^6.1.0",
"@ngneat/spectator": "^4.5.0", "@ngneat/spectator": "^4.5.0",
"@ngx-validate/core": "^0.0.7", "@ngx-validate/core": "^0.0.8",
"@ngxs/devtools-plugin": "^3.6.2", "@ngxs/devtools-plugin": "^3.6.2",
"@ngxs/logger-plugin": "^3.6.2", "@ngxs/logger-plugin": "^3.6.2",
"@ngxs/router-plugin": "^3.6.2", "@ngxs/router-plugin": "^3.6.2",
@ -63,7 +64,7 @@
"@types/jest": "^24.0.18", "@types/jest": "^24.0.18",
"@types/node": "^12.11.1", "@types/node": "^12.11.1",
"angular-oauth2-oidc": "^8.0.4", "angular-oauth2-oidc": "^8.0.4",
"bootstrap": "^4.4.1", "bootstrap": "^4.5.0",
"chart.js": "^2.9.3", "chart.js": "^2.9.3",
"codelyzer": "^5.1.2", "codelyzer": "^5.1.2",
"conventional-changelog-cli": "^2.0.31", "conventional-changelog-cli": "^2.0.31",

7
npm/ng-packs/scripts/install-new-dependencies.ts

@ -25,7 +25,8 @@ const updateAndInstall = async () => {
.reduce((acc, key) => ({ ...acc, [key]: packageJson.devDependencies[key] }), {}); .reduce((acc, key) => ({ ...acc, [key]: packageJson.devDependencies[key] }), {});
}); });
console.warn('Searching the packages on NPM to check if it is exist. It takes a while.'); // tslint:disable-next-line: no-console
console.log('Searching the packages on NPM to check if it is exist. It takes a while.');
Object.keys(packageJson.devDependencies).forEach(pkg => { Object.keys(packageJson.devDependencies).forEach(pkg => {
const isPackageExistOnNPM = !( const isPackageExistOnNPM = !(
execa.sync('npm', ['search', pkg]).stdout.indexOf('No matches found for') > -1 execa.sync('npm', ['search', pkg]).stdout.indexOf('No matches found for') > -1
@ -41,6 +42,10 @@ const updateAndInstall = async () => {
stdout: 'inherit', stdout: 'inherit',
cwd: '../', cwd: '../',
}); });
await execa('yarn', ['post-install'], {
stdout: 'inherit',
});
} catch (error) { } catch (error) {
console.error(error.stderr); console.error(error.stderr);
process.exit(1); process.exit(1);

1
npm/ng-packs/scripts/package.json

@ -8,6 +8,7 @@
"build:prod": "ts-node -r tsconfig-paths/register prod-build.ts", "build:prod": "ts-node -r tsconfig-paths/register prod-build.ts",
"publish-packages": "ts-node -r tsconfig-paths/register publish.ts", "publish-packages": "ts-node -r tsconfig-paths/register publish.ts",
"install-new-dependencies": "ts-node -r tsconfig-paths/register install-new-dependencies.ts", "install-new-dependencies": "ts-node -r tsconfig-paths/register install-new-dependencies.ts",
"post-install": "ts-node -r tsconfig-paths/register post-install.ts",
"replace-with-tilde": "ts-node -r tsconfig-paths/register replace-with-tilde.ts", "replace-with-tilde": "ts-node -r tsconfig-paths/register replace-with-tilde.ts",
"sync": "ts-node -r tsconfig-paths/register sync.ts" "sync": "ts-node -r tsconfig-paths/register sync.ts"
}, },

26
npm/ng-packs/scripts/post-install.ts

@ -0,0 +1,26 @@
import execa from 'execa';
import fse from 'fs-extra';
(async () => {
rename(true);
try {
await execa('yarn', ['ngcc'], {
stdout: 'inherit',
cwd: '../',
});
} catch (error) {
rename(false);
}
rename(false);
})();
async function rename(prodToMain: boolean) {
try {
await fse.rename('../tsconfig.json', `../tsconfig.${prodToMain ? 'temp' : 'prod'}.json`);
await fse.rename(`../tsconfig.${prodToMain ? 'prod' : 'temp'}.json`, '../tsconfig.json');
} catch (error) {
rename(!prodToMain);
}
}

1275
npm/ng-packs/scripts/yarn.lock

File diff suppressed because it is too large

40
npm/ng-packs/yarn.lock

@ -122,7 +122,7 @@
chart.js "^2.9.3" chart.js "^2.9.3"
tslib "^1.9.0" tslib "^1.9.0"
"@abp/utils@^2.7.0": "@abp/utils@^2.7.0", "@abp/utils@^2.9.0":
version "2.9.0" version "2.9.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-2.9.0.tgz#8a66b7e1d422eae5898d32af7810d6bd625276f2" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-2.9.0.tgz#8a66b7e1d422eae5898d32af7810d6bd625276f2"
integrity sha512-0gvWUH3jT7YE4ym2C45uKDzHs/oOdMW5lPq9ncCZ58wMxTrgPvxXNuMmRW0P259OcXYiRwmsNtb09/WlTQQbKA== integrity sha512-0gvWUH3jT7YE4ym2C45uKDzHs/oOdMW5lPq9ncCZ58wMxTrgPvxXNuMmRW0P259OcXYiRwmsNtb09/WlTQQbKA==
@ -1309,7 +1309,7 @@
unique-filename "^1.1.1" unique-filename "^1.1.1"
which "^1.3.1" which "^1.3.1"
"@fortawesome/fontawesome-free@^5.12.1": "@fortawesome/fontawesome-free@^5.12.1", "@fortawesome/fontawesome-free@^5.13.0":
version "5.13.0" version "5.13.0"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.0.tgz#fcb113d1aca4b471b709e8c9c168674fbd6e06d9" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.0.tgz#fcb113d1aca4b471b709e8c9c168674fbd6e06d9"
integrity sha512-xKOeQEl5O47GPZYIMToj6uuA2syyFlq9EMSl2ui0uytjY9xbe8XS0pexNWmxrdcCyNGyDmLyYw5FtKsalBUeOg== integrity sha512-xKOeQEl5O47GPZYIMToj6uuA2syyFlq9EMSl2ui0uytjY9xbe8XS0pexNWmxrdcCyNGyDmLyYw5FtKsalBUeOg==
@ -2178,6 +2178,11 @@
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@ng-bootstrap/ng-bootstrap@^6.1.0":
version "6.1.0"
resolved "https://registry.yarnpkg.com/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-6.1.0.tgz#fce7550a095aeac42108f76ac1ebd63caf8304e9"
integrity sha512-2GzkNJBKdeHkaUqaCAqSILPft0IzzHjMfAlAuGY6/ZLlVQ0glt5MTbIXtIhSbjR+OvlrljoXFLrvzs1LGdmE+A==
"@ngneat/spectator@^4.5.0": "@ngneat/spectator@^4.5.0":
version "4.11.1" version "4.11.1"
resolved "https://registry.yarnpkg.com/@ngneat/spectator/-/spectator-4.11.1.tgz#0f2de4c89c29e255396177f9efa6948a2557c977" resolved "https://registry.yarnpkg.com/@ngneat/spectator/-/spectator-4.11.1.tgz#0f2de4c89c29e255396177f9efa6948a2557c977"
@ -2199,14 +2204,7 @@
rxjs "6.5.4" rxjs "6.5.4"
webpack-sources "1.4.3" webpack-sources "1.4.3"
"@ngx-validate/core@^0.0.7": "@ngx-validate/core@^0.0.7", "@ngx-validate/core@^0.0.8":
version "0.0.7"
resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.7.tgz#35a4364e8c8bb43ce1731e8d681ce1ab307c5955"
integrity sha512-APT7kstDaJ0JkC6cDkypbVSXAOAEyPTQ9P8DjEI1szi+Xzuz69XLASK3NdTYjFwogWevhYXoYRaR2Bq9iWzl+g==
dependencies:
tslib "^1.9.0"
"@ngx-validate/core@^0.0.8":
version "0.0.8" version "0.0.8"
resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.8.tgz#8577405eb1af0f5002cdda7a86fbcda56280f116" resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.8.tgz#8577405eb1af0f5002cdda7a86fbcda56280f116"
integrity sha512-caIG5ao76Xhf7T+pNA8crnpAwK0yqj3i0OAUGZRUq1W+kNgz+ZnrSd4F9an/W4g+38u/8gfUVvsfsm07ju6qYA== integrity sha512-caIG5ao76Xhf7T+pNA8crnpAwK0yqj3i0OAUGZRUq1W+kNgz+ZnrSd4F9an/W4g+38u/8gfUVvsfsm07ju6qYA==
@ -3477,7 +3475,7 @@ boolbase@^1.0.0, boolbase@~1.0.0:
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
bootstrap@^4.4.1: bootstrap@^4.4.1, bootstrap@^4.5.0:
version "4.5.0" version "4.5.0"
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.5.0.tgz#97d9dbcb5a8972f8722c9962483543b907d9b9ec" resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.5.0.tgz#97d9dbcb5a8972f8722c9962483543b907d9b9ec"
integrity sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA== integrity sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA==
@ -3892,9 +3890,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0" lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001061: caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001061:
version "1.0.30001078" version "1.0.30001079"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001078.tgz#e1b6e2ae327b6a1ec11f65ec7a0dde1e7093074c" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001079.tgz#ed3e5225cd9a6850984fdd88bf24ce45d69b9c22"
integrity sha512-sF12qXe9VMm32IEf/+NDvmTpwJaaU7N1igpiH2FdI4DyABJSsOqG3ZAcFvszLkoLoo1y6VJLMYivukUAxaMASw== integrity sha512-2KaYheg0iOY+CMmDuAB3DHehrXhhb4OZU4KBVGDr/YKyYAcpudaiUQ9PJ9rxrPlKEoJ3ATasQ5AN48MqpwS43Q==
canonical-path@1.0.0: canonical-path@1.0.0:
version "1.0.0" version "1.0.0"
@ -5837,9 +5835,9 @@ fast-deep-equal@^2.0.1:
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
fast-deep-equal@^3.1.1: fast-deep-equal@^3.1.1:
version "3.1.1" version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-glob@^2.2.6: fast-glob@^2.2.6:
version "2.2.7" version "2.2.7"
@ -12866,10 +12864,10 @@ typescript@^3.3.3333, typescript@^3.5.2:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.5.tgz#586f0dba300cde8be52dd1ac4f7e1009c1b13f36" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.5.tgz#586f0dba300cde8be52dd1ac4f7e1009c1b13f36"
integrity sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ== integrity sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==
typescript@~3.7.5: typescript@~3.8.0:
version "3.7.5" version "3.8.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"
integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw== integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==
uglify-js@^3.1.4: uglify-js@^3.1.4:
version "3.9.4" version "3.9.4"

Loading…
Cancel
Save