Browse Source

build(scripts): seperate installation from build script

pull/2366/head
mehmet-erim 7 years ago
parent
commit
aec8e4fad1
  1. 30
      npm/ng-packs/scripts/build.js
  2. 37
      npm/ng-packs/scripts/install-new-dependencies.js
  3. 1
      npm/ng-packs/scripts/package.json

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

@ -4,37 +4,15 @@ import fse from 'fs-extra';
import program from 'commander';
(async () => {
const { projects } = await fse.readJSON('../angular.json');
const projectNames = Object.keys(projects).filter(project => project !== 'dev-app');
const packageJson = await fse.readJSON('../package.json');
program.option('-c, --noCommit', 'skip commit process', false);
program.option('-i, --noInstall', 'skip updating package.json and installation', 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`,
);
npmPackageNames.push(name);
packageJson.devDependencies = {
...packageJson.devDependencies,
...dependencies,
...peerDependencies,
};
});
await fse.writeJSON('../package.json', packageJson, { spaces: 2 });
try {
await execa('yarn', ['install', '--ignore-scripts'], {
stdout: 'inherit',
cwd: '../',
});
if (!program.noInstall) {
await execa('yarn', ['install-new-dependencies'], { stdout: 'inherit' });
}
execa.sync(
'yarn',

37
npm/ng-packs/scripts/install-new-dependencies.js

@ -0,0 +1,37 @@
// 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).filter(project => project !== 'dev-app');
const packageJson = await fse.readJSON('../package.json');
projectNames.forEach(project => {
// do not convert to async
const { dependencies = {}, peerDependencies = {} } = fse.readJSONSync(
`../packages/${project}/package.json`,
);
packageJson.devDependencies = {
...packageJson.devDependencies,
...dependencies,
...peerDependencies,
};
});
await fse.writeJSON('../package.json', packageJson, { spaces: 2 });
try {
await execa('yarn', ['install', '--ignore-scripts'], {
stdout: 'inherit',
cwd: '../',
});
} catch (error) {
console.error(error.stderr);
process.exit(1);
}
process.exit(0);
})();

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

@ -6,6 +6,7 @@
"modules": "[build.js, sync.js]",
"scripts": {
"build": "node -r esm build.js",
"install-new-dependencies": "node -r esm install-new-dependencies.js",
"sync": "node -r esm sync.js",
"test": "echo \"Error: no test specified\" && exit 1"
},

Loading…
Cancel
Save