Browse Source

build: add noCommit option to build script

pull/2299/head
thediaval 7 years ago
parent
commit
5020d1181c
  1. 33
      npm/ng-packs/scripts/build.js
  2. 5
      npm/ng-packs/scripts/package-lock.json
  3. 1
      npm/ng-packs/scripts/package.json

33
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 });
@ -30,14 +41,20 @@ import fse from 'fs-extra';
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', '--packages', name, '--no-watch', '--sync-build'],
{
stdout: 'inherit',
cwd: '../',
},
);
});
await execa('git', ['add', '../dist/*', '../package.json'], { stdout: 'inherit' });
await execa('git', ['commit', '-m', 'Build ng packages', '--no-verify'], { stdout: 'inherit' });
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