Browse Source

Merge pull request #2299 from abpframework/build/build-options

Build/build options
pull/2305/head
Mehmet Erim 6 years ago
committed by GitHub
parent
commit
fbe5813fb2
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      npm/ng-packs/package.json
  2. 55
      npm/ng-packs/scripts/build.js
  3. 5
      npm/ng-packs/scripts/package-lock.json
  4. 1
      npm/ng-packs/scripts/package.json

12
npm/ng-packs/package.json

@ -1,16 +1,14 @@
{
"scripts": {
"start": "ng serve dev-app",
"ng": "ng",
"test": "ng test --watchAll --runInBand",
"symlink": "symlink",
"abpng": "abpng",
"symlink": "symlink",
"start": "ng serve dev-app",
"test": "ng test --watchAll --runInBand",
"commit": "git-cz",
"lint": "ng lint --fix",
"lint": "ng lint",
"scripts:build": "cd scripts && npm install && npm run build",
"ci": "yarn ci:build:sync && yarn ci:build:async && yarn ci:test && yarn ng lint",
"ci:build:sync": "symlink copy --angular --no-watch --sync --packages @abp/ng.core,@abp/ng.theme.shared,@abp/ng.feature-management,@abp/ng.permission-management,@abp/ng.account.config,@abp/ng.identity.config,@abp/ng.setting-management.config,@abp/ng.tenant-management.config",
"ci:build:async": "symlink copy --angular --no-watch --all-packages --excluded-packages @abp/ng.core,@abp/ng.theme.shared,@abp/ng.feature-management,@abp/ng.permission-management,@abp/ng.account.config,@abp/ng.identity.config,@abp/ng.setting-management.config,@abp/ng.tenant-management.config",
"ci": "yarn scripts:build --noCommit && yarn ci:test && yarn ng lint",
"ci:test": "ng test --coverage=false"
},
"devDependencies": {

55
npm/ng-packs/scripts/build.js

@ -1,6 +1,7 @@
// ESM syntax is supported.
import execa from 'execa';
import fse from 'fs-extra';
import program from 'commander';
(async () => {
const { projects } = await fse.readJSON('../angular.json');
@ -8,13 +9,23 @@ import fse from 'fs-extra';
const packageJson = await fse.readJSON('../package.json');
program.option('-c, --noCommit', 'skip commit process', false);
program.parse(process.argv);
let npmPackageNames = [];
projectNames.forEach(project => {
// do not convert to async
const { name, dependencies = {}, peerDependencies = {} } = fse.readJSONSync(`../packages/${project}/package.json`);
const { name, dependencies = {}, peerDependencies = {} } = fse.readJSONSync(
`../packages/${project}/package.json`,
);
npmPackageNames.push(name);
packageJson.devDependencies = { ...packageJson.devDependencies, ...dependencies, ...peerDependencies };
packageJson.devDependencies = {
...packageJson.devDependencies,
...dependencies,
...peerDependencies,
};
});
await fse.writeJSON('../package.json', packageJson, { spaces: 2 });
@ -28,16 +39,38 @@ import fse from 'fs-extra';
console.error(error.stderr);
}
npmPackageNames.forEach(name => {
// do not convert to async
execa.sync('yarn', ['symlink', 'copy', '--angular', '--packages', name, '--no-watch', '--sync-build'], {
stdout: 'inherit',
cwd: '../',
});
});
execa.sync(
'yarn',
[
'symlink',
'copy',
'--angular',
'--no-watch',
'--sync',
'--packages',
'@abp/ng.core,@abp/ng.theme.shared,@abp/ng.feature-management,@abp/ng.permission-management,@abp/ng.account.config,@abp/ng.identity.config,@abp/ng.setting-management.config,@abp/ng.tenant-management.config',
],
{ stdout: 'inherit', cwd: '../' },
);
await execa('git', ['add', '../dist/*', '../package.json'], { stdout: 'inherit' });
await execa('git', ['commit', '-m', 'Build ng packages', '--no-verify'], { stdout: 'inherit' });
await execa(
'yarn',
[
'symlink',
'copy',
'--angular',
'--no-watch',
'--all-packages',
'--excluded-packages',
'@abp/ng.core,@abp/ng.theme.shared,@abp/ng.feature-management,@abp/ng.permission-management,@abp/ng.account.config,@abp/ng.identity.config,@abp/ng.setting-management.config,@abp/ng.tenant-management.config',
],
{ stdout: 'inherit', cwd: '../' },
);
if (!program.noCommit) {
await execa('git', ['add', '../dist/*', '../package.json'], { stdout: 'inherit' });
await execa('git', ['commit', '-m', 'Build ng packages', '--no-verify'], { stdout: 'inherit' });
}
process.exit(0);
})();

5
npm/ng-packs/scripts/package-lock.json

@ -438,6 +438,11 @@
"object-visit": "^1.0.0"
}
},
"commander": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-4.0.1.tgz",
"integrity": "sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA=="
},
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",

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

@ -13,6 +13,7 @@
"license": "ISC",
"dependencies": {
"babel-preset-node6": "^11.0.0",
"commander": "^4.0.1",
"esm": "^3.2.25",
"execa": "^2.0.3",
"fs-extra": "^8.1.0",

Loading…
Cancel
Save