mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-17 19:13:34 +08:00
ci: use tar balls instead of npm install /path
Node 8 actually symlink when installing a path, so using a tar ball forces it to be more like a real install.
This commit is contained in:
parent
447f9f74be
commit
bcd0d01015
@ -27,7 +27,8 @@ const packages =
|
||||
packageJson: path.join(pkg.root, 'package.json'),
|
||||
root: pkg.root,
|
||||
relative: path.relative(path.dirname(__dirname), pkg.root),
|
||||
main: path.resolve(pkg.root, 'src/index.ts')
|
||||
main: path.resolve(pkg.root, 'src/index.ts'),
|
||||
tar: path.join(distRoot, pkg.name.replace('/', '_') + '.tgz')
|
||||
};
|
||||
return packages;
|
||||
}, {});
|
||||
|
@ -68,8 +68,8 @@
|
||||
"json-loader": "^0.5.4",
|
||||
"less": "^2.7.2",
|
||||
"less-loader": "^4.0.2",
|
||||
"loader-utils": "^1.0.2",
|
||||
"license-webpack-plugin": "^0.4.3",
|
||||
"loader-utils": "^1.0.2",
|
||||
"lodash": "^4.11.1",
|
||||
"magic-string": "^0.19.0",
|
||||
"memory-fs": "^0.4.1",
|
||||
@ -136,6 +136,7 @@
|
||||
"resolve-bin": "^0.4.0",
|
||||
"rewire": "^2.5.1",
|
||||
"spdx-satisfies": "^0.1.3",
|
||||
"tar": "^3.1.5",
|
||||
"through": "^2.3.6",
|
||||
"tree-kill": "^1.0.0",
|
||||
"ts-node": "^3.0.6",
|
||||
|
@ -33,7 +33,7 @@ export default function() {
|
||||
.then(() => createProject)
|
||||
.then(() => updateJsonFile('package.json', json => {
|
||||
Object.keys(packages).forEach(pkgName => {
|
||||
json['dependencies'][pkgName] = packages[pkgName].dist;
|
||||
json['dependencies'][pkgName] = packages[pkgName].tar;
|
||||
});
|
||||
}))
|
||||
.then(() => argv['ng2'] ? useNg2() : Promise.resolve())
|
||||
|
@ -5,6 +5,7 @@ import {buildSchema} from './build-schema';
|
||||
|
||||
const denodeify = require('denodeify');
|
||||
const glob = denodeify(require('glob'));
|
||||
const tar = require('tar');
|
||||
const npmRun = require('npm-run');
|
||||
|
||||
|
||||
@ -31,7 +32,7 @@ function copy(from: string, to: string): Promise<void> {
|
||||
|
||||
|
||||
function rm(p: string): Promise<void> {
|
||||
path.relative(process.cwd(), p);
|
||||
p = path.relative(process.cwd(), p);
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
fs.unlink(p, err => {
|
||||
if (err) {
|
||||
@ -44,6 +45,12 @@ function rm(p: string): Promise<void> {
|
||||
}
|
||||
|
||||
|
||||
function tarFiles(out: string, dir: string): Promise<void> {
|
||||
// const files = fs.readdirSync(dir);
|
||||
return tar.create({ gzip: true, strict: true, portable: true, cwd: dir, file: out }, ['.']);
|
||||
}
|
||||
|
||||
|
||||
function getDeps(pkg: any): any {
|
||||
const packageJson = require(pkg.packageJson);
|
||||
return Object.assign({}, packageJson['dependencies'], packageJson['devDependencies']);
|
||||
@ -216,10 +223,20 @@ export default function build(packagesToBuild: string[], _opts: any,
|
||||
const licenseLogger = new Logger('license', logger);
|
||||
return Promise.all(Object.keys(packages).map(pkgName => {
|
||||
const pkg = packages[pkgName];
|
||||
licenseLogger.info(`${pkgName}`);
|
||||
licenseLogger.info(pkgName);
|
||||
return copy('LICENSE', path.join(pkg.dist, 'LICENSE'));
|
||||
}));
|
||||
})
|
||||
.then(() => {
|
||||
logger.info('Tarring all packages...');
|
||||
|
||||
const tarLogger = new Logger('license', logger);
|
||||
return Promise.all(Object.keys(packages).map(pkgName => {
|
||||
const pkg = packages[pkgName];
|
||||
tarLogger.info(`${pkgName} => ${pkg.tar}`);
|
||||
return tarFiles(pkg.tar, pkg.dist);
|
||||
}));
|
||||
})
|
||||
.then(() => process.exit(0), (err) => {
|
||||
logger.fatal(err);
|
||||
});
|
||||
|
25
yarn.lock
25
yarn.lock
@ -3184,6 +3184,18 @@ minimist@^1.1.3, minimist@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
||||
|
||||
minipass@^2.0.0, minipass@^2.0.2:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.1.1.tgz#c80c80a3491c180d4071d8f219bd1b4b0284999d"
|
||||
dependencies:
|
||||
yallist "^3.0.0"
|
||||
|
||||
minizlib@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.0.3.tgz#d5c1abf77be154619952e253336eccab9b2a32f5"
|
||||
dependencies:
|
||||
minipass "^2.0.0"
|
||||
|
||||
mixin-object@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e"
|
||||
@ -4945,6 +4957,15 @@ tar@^2.0.0, tar@^2.2.1:
|
||||
fstream "^1.0.2"
|
||||
inherits "2"
|
||||
|
||||
tar@^3.1.5:
|
||||
version "3.1.5"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-3.1.5.tgz#4981e97ab7bad4cb1d5da9232047c9047a681aef"
|
||||
dependencies:
|
||||
minipass "^2.0.2"
|
||||
minizlib "^1.0.3"
|
||||
mkdirp "^0.5.0"
|
||||
yallist "^3.0.2"
|
||||
|
||||
temp@0.8.3:
|
||||
version "0.8.3"
|
||||
resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59"
|
||||
@ -5454,6 +5475,10 @@ yallist@^2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
|
||||
|
||||
yallist@^3.0.0, yallist@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
|
||||
|
||||
yargs-parser@^4.2.0:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
|
||||
|
Loading…
x
Reference in New Issue
Block a user