41 lines
1.4 KiB
JavaScript
Executable File
41 lines
1.4 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
'use strict';
|
|
|
|
const {chmod, cp, mkdir, rm} = require('shelljs');
|
|
const {
|
|
baseDir,
|
|
bazelBin,
|
|
bazelCmd,
|
|
buildTargetPackages,
|
|
exec,
|
|
scriptPath,
|
|
} = require('./package-builder');
|
|
|
|
|
|
// Build the legacy (view engine) npm packages into `dist/packages-dist/`.
|
|
buildTargetPackages('dist/packages-dist', false, 'Production');
|
|
|
|
// Build the `zone.js` npm package (into `dist/bin/packages/zone.js/npm_package/`), because it might
|
|
// be needed by other scripts/tests.
|
|
//
|
|
// NOTE: The `zone.js` package is not built as part of `buildTargetPackages()` above, nor is it
|
|
// copied into the `dist/packages-dist/` directory (despite its source's being inside
|
|
// `packages/`), because it is not published to npm under the `@angular` scope (as happens for
|
|
// the rest of the packages).
|
|
console.log('');
|
|
console.log('##############################');
|
|
console.log(`${scriptPath}:`);
|
|
console.log(' Building zone.js npm package');
|
|
console.log('##############################');
|
|
exec(`${bazelCmd} build //packages/zone.js:npm_package`);
|
|
|
|
// Copy artifacts to `dist/zone.js-dist/`, so they can be easier persisted on CI.
|
|
const buildOutputDir = `${bazelBin}/packages/zone.js/npm_package`;
|
|
const distTargetDir = `${baseDir}/dist/zone.js-dist/zone.js`;
|
|
|
|
console.log(`# Copy artifacts to ${distTargetDir}`);
|
|
mkdir('-p', distTargetDir);
|
|
rm('-rf', distTargetDir);
|
|
cp('-R', buildOutputDir, distTargetDir);
|
|
chmod('-R', 'u+w', distTargetDir);
|