build: fix build.sh for package group and add a test (#22638)
PR Close #22638
This commit is contained in:
parent
dd20898bd5
commit
f256c02b5e
2
build.sh
2
build.sh
|
@ -34,7 +34,7 @@ NODE_PACKAGES=(compiler-cli
|
||||||
benchpress)
|
benchpress)
|
||||||
|
|
||||||
SCOPED_PACKAGES=$(
|
SCOPED_PACKAGES=$(
|
||||||
for P in ${PACKAGES[@]}; do echo @angular/${P}; done
|
for P in ${PACKAGES[@]}; do echo \\@angular/${P}; done
|
||||||
)
|
)
|
||||||
NG_UPDATE_PACKAGE_GROUP=$(
|
NG_UPDATE_PACKAGE_GROUP=$(
|
||||||
# The first sed creates an array of strings
|
# The first sed creates an array of strings
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
const angularRoot = path.resolve('./node_modules/@angular');
|
||||||
|
const angularModules = fs.readdirSync(angularRoot).map(function (name) {
|
||||||
|
const content = fs.readFileSync(path.join(angularRoot, name, 'package.json'), 'utf-8').toString();
|
||||||
|
return JSON.parse(content);
|
||||||
|
}).reduce(function (acc, packageJson) {
|
||||||
|
acc[packageJson.name] = packageJson;
|
||||||
|
return acc;
|
||||||
|
}, Object.create(null));
|
||||||
|
|
||||||
|
var error = false;
|
||||||
|
Object.keys(angularModules).forEach(function (name) {
|
||||||
|
packageJson = angularModules[name];
|
||||||
|
|
||||||
|
const ngUpdate = packageJson['ng-update'];
|
||||||
|
if (!ngUpdate) {
|
||||||
|
console.error('Package ' + JSON.stringify(name) + ' does not have an "ng-update" key.');
|
||||||
|
error = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const packageGroup = ngUpdate['packageGroup'];
|
||||||
|
if (!packageGroup) {
|
||||||
|
console.error('Package ' + JSON.stringify(name) + ' does not have a "packageGroup" key.');
|
||||||
|
error = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Verify that every packageGroup is represented in the list of modules.
|
||||||
|
Object.keys(angularModules).forEach(function (groupEntry) {
|
||||||
|
if (packageGroup.indexOf(groupEntry) == -1) {
|
||||||
|
console.error('Package ' + JSON.stringify(name) + ' is missing ' + JSON.stringify(groupEntry)
|
||||||
|
+ ' as a packageGroup entry.');
|
||||||
|
error = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
process.exit(error ? 1 : 0);
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"name": "ng_update",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"scripts": {
|
||||||
|
"build": "",
|
||||||
|
"test": "node ./check.js"
|
||||||
|
},
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@angular/animations": "file:../../dist/packages-dist/animations",
|
||||||
|
"@angular/common": "file:../../dist/packages-dist/common",
|
||||||
|
"@angular/compiler": "file:../../dist/packages-dist/compiler",
|
||||||
|
"@angular/compiler-cli": "file:../../dist/packages-dist/compiler-cli",
|
||||||
|
"@angular/core": "file:../../dist/packages-dist/core",
|
||||||
|
"@angular/forms": "file:../../dist/packages-dist/forms",
|
||||||
|
"@angular/http": "file:../../dist/packages-dist/http",
|
||||||
|
"@angular/language-service": "file:../../dist/packages-dist/language-service",
|
||||||
|
"@angular/platform-browser": "file:../../dist/packages-dist/platform-browser",
|
||||||
|
"@angular/platform-browser-dynamic": "file:../../dist/packages-dist/platform-browser-dynamic",
|
||||||
|
"@angular/platform-server": "file:../../dist/packages-dist/platform-server",
|
||||||
|
"@angular/platform-webworker": "file:../../dist/packages-dist/platform-webworker",
|
||||||
|
"@angular/platform-webworker-dynamic": "file:../../dist/packages-dist/platform-webworker-dynamic",
|
||||||
|
"@angular/router": "file:../../dist/packages-dist/router",
|
||||||
|
"@angular/service-worker": "file:../../dist/packages-dist/service-worker",
|
||||||
|
"@angular/upgrade": "file:../../dist/packages-dist/upgrade",
|
||||||
|
"rxjs": "file:../../node_modules/rxjs",
|
||||||
|
"typescript": "file:../../node_modules/typescript",
|
||||||
|
"zone.js": "file:../../node_modules/zone.js"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue