build(aio): ability to generate zips
This commit is contained in:
parent
648de7dd86
commit
50174d9fb5
@ -27,7 +27,8 @@
|
|||||||
"~~update-webdriver": "webdriver-manager update --standalone false --gecko false",
|
"~~update-webdriver": "webdriver-manager update --standalone false --gecko false",
|
||||||
"boilerplate:add": "node ./tools/examples/add-example-boilerplate add",
|
"boilerplate:add": "node ./tools/examples/add-example-boilerplate add",
|
||||||
"boilerplate:remove": "node ./tools/examples/add-example-boilerplate remove",
|
"boilerplate:remove": "node ./tools/examples/add-example-boilerplate remove",
|
||||||
"generate-plunkers": "node ./tools/plunker-builder/generatePlunkers"
|
"generate-plunkers": "node ./tools/plunker-builder/generatePlunkers",
|
||||||
|
"generate-zips": "node ./tools/example-zipper/generateZips"
|
||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -52,6 +53,7 @@
|
|||||||
"@angular/compiler-cli": "next",
|
"@angular/compiler-cli": "next",
|
||||||
"@types/jasmine": "2.5.38",
|
"@types/jasmine": "2.5.38",
|
||||||
"@types/node": "~6.0.60",
|
"@types/node": "~6.0.60",
|
||||||
|
"archiver": "^1.3.0",
|
||||||
"canonical-path": "^0.0.2",
|
"canonical-path": "^0.0.2",
|
||||||
"codelyzer": "~2.0.0",
|
"codelyzer": "~2.0.0",
|
||||||
"concurrently": "^3.4.0",
|
"concurrently": "^3.4.0",
|
||||||
|
41
aio/tools/example-zipper/customizer/package-json/base.json
Normal file
41
aio/tools/example-zipper/customizer/package-json/base.json
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"scripts": [
|
||||||
|
{ "name": "lint" }
|
||||||
|
],
|
||||||
|
"dependencies": [
|
||||||
|
"@angular/animations",
|
||||||
|
"@angular/common",
|
||||||
|
"@angular/compiler",
|
||||||
|
"@angular/compiler-cli",
|
||||||
|
"@angular/core",
|
||||||
|
"@angular/forms",
|
||||||
|
"@angular/http",
|
||||||
|
"@angular/platform-browser",
|
||||||
|
"@angular/platform-browser-dynamic",
|
||||||
|
"@angular/platform-server",
|
||||||
|
"@angular/router",
|
||||||
|
"@angular/tsc-wrapped",
|
||||||
|
"@angular/upgrade",
|
||||||
|
"angular-in-memory-web-api",
|
||||||
|
"core-js",
|
||||||
|
"rxjs",
|
||||||
|
"zone.js"
|
||||||
|
],
|
||||||
|
"devDependencies": [
|
||||||
|
"@types/jasmine",
|
||||||
|
"@types/node",
|
||||||
|
"jasmine",
|
||||||
|
"jasmine-core",
|
||||||
|
"karma",
|
||||||
|
"karma-chrome-launcher",
|
||||||
|
"karma-cli",
|
||||||
|
"karma-jasmine",
|
||||||
|
"karma-jasmine-html-reporter",
|
||||||
|
"karma-phantomjs-launcher",
|
||||||
|
"lodash",
|
||||||
|
"phantomjs-prebuilt",
|
||||||
|
"protractor",
|
||||||
|
"tslint",
|
||||||
|
"typescript"
|
||||||
|
]
|
||||||
|
}
|
14
aio/tools/example-zipper/customizer/package-json/cli.json
Normal file
14
aio/tools/example-zipper/customizer/package-json/cli.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"scripts": [
|
||||||
|
{ "name": "ng", "command": "ng" },
|
||||||
|
{ "name": "start", "command": "ng serve" },
|
||||||
|
{ "name": "test", "command": "ng test" },
|
||||||
|
{ "name": "lint", "command": "ng lint" },
|
||||||
|
{ "name": "e2e", "command": "ng e2e" }
|
||||||
|
],
|
||||||
|
"dependencies": [],
|
||||||
|
"devDependencies": [
|
||||||
|
"@angular/cli",
|
||||||
|
"ts-node"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"name": "angular-io-example",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"private": true,
|
||||||
|
"description": "Example project from an angular.io guide.",
|
||||||
|
"scripts": {
|
||||||
|
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
|
||||||
|
},
|
||||||
|
"repository": {}
|
||||||
|
}
|
@ -0,0 +1,55 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const path = require('canonical-path');
|
||||||
|
|
||||||
|
const examplesPath = path.resolve(__dirname, '../../../examples');
|
||||||
|
const packageFolder = path.resolve(__dirname);
|
||||||
|
|
||||||
|
class PackageJsonCustomizer {
|
||||||
|
constructor() {
|
||||||
|
this.dependenciesPackageJson = require(path.join(examplesPath, '/shared/package.json'));
|
||||||
|
this.scriptsPackageJson = require(path.join(examplesPath, '/shared/boilerplate/package.json'));
|
||||||
|
this.basePackageJson = require(`${packageFolder}/base.json`);
|
||||||
|
}
|
||||||
|
|
||||||
|
generate(type = 'systemjs') {
|
||||||
|
let packageJson = require(`${packageFolder}/package.json`);
|
||||||
|
let rules = require(`${packageFolder}/${type}.json`);
|
||||||
|
|
||||||
|
this._mergeJSON(rules, this.basePackageJson);
|
||||||
|
|
||||||
|
rules.scripts.forEach((r) => {
|
||||||
|
const scriptName = r.name;
|
||||||
|
const script = this.scriptsPackageJson.scripts[scriptName];
|
||||||
|
const finalName = r.rename ? r.rename : r.name;
|
||||||
|
const finalScript = r.command ? r.command : script;
|
||||||
|
packageJson.scripts[finalName] = finalScript;
|
||||||
|
});
|
||||||
|
|
||||||
|
rules.dependencies.forEach((name) => {
|
||||||
|
const version = this.dependenciesPackageJson.dependencies[name];
|
||||||
|
packageJson.dependencies[name] = version;
|
||||||
|
});
|
||||||
|
|
||||||
|
rules.devDependencies.forEach((name) => {
|
||||||
|
const version = this.dependenciesPackageJson.devDependencies[name];
|
||||||
|
packageJson.devDependencies[name] = version;
|
||||||
|
});
|
||||||
|
|
||||||
|
return JSON.stringify(packageJson, null, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
_mergeJSON(json1,json2) {
|
||||||
|
var result = json1 ;
|
||||||
|
for (var prop in json2)
|
||||||
|
{
|
||||||
|
if (json2.hasOwnProperty(prop))
|
||||||
|
{
|
||||||
|
result[prop] = (result[prop].concat(json2[prop])).sort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = PackageJsonCustomizer;
|
@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"scripts": [
|
||||||
|
{ "name": "build" },
|
||||||
|
{ "name": "build:watch" },
|
||||||
|
{ "name": "serve" },
|
||||||
|
{ "name": "prestart" },
|
||||||
|
{ "name": "start" },
|
||||||
|
{ "name": "pretest" },
|
||||||
|
{ "name": "test" },
|
||||||
|
{ "name": "pretest:once" },
|
||||||
|
{ "name": "test:once" },
|
||||||
|
{ "name": "build:upgrade" },
|
||||||
|
{ "name": "serve:upgrade" },
|
||||||
|
{ "name": "build:aot" },
|
||||||
|
{ "name": "serve:aot" },
|
||||||
|
{ "name": "build:babel" },
|
||||||
|
{ "name": "copy-dist-files" },
|
||||||
|
{ "name": "i18n" }
|
||||||
|
],
|
||||||
|
"dependencies": [
|
||||||
|
"systemjs"
|
||||||
|
],
|
||||||
|
"devDependencies": [
|
||||||
|
"@types/angular",
|
||||||
|
"@types/angular-animate",
|
||||||
|
"@types/angular-cookies",
|
||||||
|
"@types/angular-mocks",
|
||||||
|
"@types/angular-resource",
|
||||||
|
"@types/angular-route",
|
||||||
|
"@types/angular-sanitize",
|
||||||
|
"babel-cli",
|
||||||
|
"babel-preset-angular2",
|
||||||
|
"babel-preset-es2015",
|
||||||
|
"canonical-path",
|
||||||
|
"http-server",
|
||||||
|
"concurrently",
|
||||||
|
"lite-server",
|
||||||
|
"rollup",
|
||||||
|
"rollup-plugin-commonjs",
|
||||||
|
"rollup-plugin-node-resolve",
|
||||||
|
"rollup-plugin-uglify",
|
||||||
|
"source-map-explorer"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"scripts": [
|
||||||
|
{ "name": "start:webpack", "rename": "start" },
|
||||||
|
{ "name": "test:webpack", "rename": "test" },
|
||||||
|
{ "name": "build:webpack", "rename": "build" }
|
||||||
|
],
|
||||||
|
"dependencies": [],
|
||||||
|
"devDependencies": [
|
||||||
|
"angular2-template-loader",
|
||||||
|
"awesome-typescript-loader",
|
||||||
|
"css-loader",
|
||||||
|
"extract-text-webpack-plugin",
|
||||||
|
"file-loader",
|
||||||
|
"html-loader",
|
||||||
|
"html-webpack-plugin",
|
||||||
|
"karma-sourcemap-loader",
|
||||||
|
"karma-webpack",
|
||||||
|
"null-loader",
|
||||||
|
"raw-loader",
|
||||||
|
"rimraf",
|
||||||
|
"style-loader",
|
||||||
|
"webpack",
|
||||||
|
"webpack-dev-server",
|
||||||
|
"webpack-merge"
|
||||||
|
]
|
||||||
|
}
|
148
aio/tools/example-zipper/exampleZipper.js
Normal file
148
aio/tools/example-zipper/exampleZipper.js
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
// Canonical path provides a consistent path (i.e. always forward slashes) across different OSes
|
||||||
|
const path = require('canonical-path');
|
||||||
|
const archiver = require('archiver');
|
||||||
|
const fs = require('fs-extra');
|
||||||
|
const globby = require('globby');
|
||||||
|
|
||||||
|
const PackageJsonCustomizer = require('./customizer/package-json/packageJsonCustomizer');
|
||||||
|
const regionExtractor = require('../transforms/examples-package/services/region-parser');
|
||||||
|
|
||||||
|
class ExampleZipper {
|
||||||
|
constructor(sourceDirName, outputDirName) {
|
||||||
|
this.examplesPackageJson = path.join(__dirname, '../examples/shared/package.json');
|
||||||
|
this.examplesSystemjsConfig = path.join(__dirname, '../examples/shared/boilerplate/src/systemjs.config.js');
|
||||||
|
this.examplesSystemjsLoaderConfig = path.join(__dirname, '../examples/shared/boilerplate/src/systemjs-angular-loader.js');
|
||||||
|
this.exampleTsconfig = path.join(__dirname, '../examples/shared/boilerplate/src/tsconfig.json');
|
||||||
|
this.customizer = new PackageJsonCustomizer();
|
||||||
|
|
||||||
|
let gpathPlnkr = path.join(sourceDirName, '**/*plnkr.json');
|
||||||
|
let gpathZipper = path.join(sourceDirName, '**/zipper.json');
|
||||||
|
let configFileNames = globby.sync([gpathPlnkr, gpathZipper], { ignore: ['**/node_modules/**'] });
|
||||||
|
configFileNames.forEach((configFileName) => {
|
||||||
|
this._zipExample(configFileName, sourceDirName, outputDirName);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
_changeTypeRoots(tsconfig) {
|
||||||
|
return tsconfig.replace('../../../', '../');
|
||||||
|
}
|
||||||
|
|
||||||
|
_createZipArchive(zipFileName) {
|
||||||
|
let dirName = path.dirname(zipFileName);
|
||||||
|
fs.ensureDirSync(dirName);
|
||||||
|
let output = fs.createWriteStream(zipFileName);
|
||||||
|
let archive = archiver('zip');
|
||||||
|
|
||||||
|
output.on('close', function () {
|
||||||
|
console.log('zip created: ' + zipFileName + ' (' + archive.pointer() + ' total bytes)');
|
||||||
|
});
|
||||||
|
|
||||||
|
archive.on('error', function (err) {
|
||||||
|
throw err;
|
||||||
|
});
|
||||||
|
|
||||||
|
archive.pipe(output);
|
||||||
|
return archive;
|
||||||
|
}
|
||||||
|
|
||||||
|
_zipExample(configFileName, sourceDirName, outputDirName) {
|
||||||
|
let json = require(configFileName, 'utf-8');
|
||||||
|
const exampleType = json.type || 'systemjs';
|
||||||
|
const basePath = json.basePath || '';
|
||||||
|
const jsonFileName = configFileName.replace(/^.*[\\\/]/, '');
|
||||||
|
let relativeDirName = path.dirname(path.relative(sourceDirName, configFileName));
|
||||||
|
let exampleZipName;
|
||||||
|
|
||||||
|
if (relativeDirName.indexOf('/') !== -1) { // Special example
|
||||||
|
[relativeDirName, exampleZipName] = relativeDirName.split('/');
|
||||||
|
} else {
|
||||||
|
exampleZipName = jsonFileName.replace(/(plnkr|zipper).json/, relativeDirName);
|
||||||
|
}
|
||||||
|
|
||||||
|
const exampleDirName = path.dirname(configFileName);
|
||||||
|
const outputFileName = path.join(outputDirName, relativeDirName, exampleZipName + '.zip');
|
||||||
|
let defaultIncludes = ['**/*.ts', '**/*.js', '**/*.es6', '**/*.css', '**/*.html', '**/*.md', '**/*.json', '**/*.png'];
|
||||||
|
let alwaysIncludes = ['bs-config.json', 'tslint.json', 'karma-test-shim.js', 'karma.conf.js', 'src/testing/**/*', 'src/.babelrc'];
|
||||||
|
var defaultExcludes = [
|
||||||
|
'!**/bs-config.e2e.json',
|
||||||
|
'!**/*plnkr.*',
|
||||||
|
'!**/*zipper.*',
|
||||||
|
'!**/systemjs.config.js',
|
||||||
|
'!**/npm-debug.log',
|
||||||
|
'!**/package.json',
|
||||||
|
'!**/example-config.json',
|
||||||
|
'!**/wallaby.js',
|
||||||
|
'!**/tsconfig.json',
|
||||||
|
'!**/package.webpack.json',
|
||||||
|
// AoT related files
|
||||||
|
'!**/aot/**/*.*',
|
||||||
|
'!**/*-aot.*'
|
||||||
|
];
|
||||||
|
|
||||||
|
if (json.files) {
|
||||||
|
if (json.files.length > 0) {
|
||||||
|
json.files = json.files.map(file => {
|
||||||
|
if (file.startsWith('!')) {
|
||||||
|
if (file.startsWith('!**')) {
|
||||||
|
return file;
|
||||||
|
}
|
||||||
|
|
||||||
|
return '!' + basePath + file.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return basePath + file;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (json.files[0].substr(0, 1) === '!') {
|
||||||
|
json.files = defaultIncludes.concat(json.files);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
json.files = defaultIncludes;
|
||||||
|
}
|
||||||
|
|
||||||
|
json.files = json.files.concat(alwaysIncludes);
|
||||||
|
|
||||||
|
let gpaths = json.files.map((fileName) => {
|
||||||
|
fileName = fileName.trim();
|
||||||
|
if (fileName.substr(0, 1) === '!') {
|
||||||
|
return '!' + path.join(exampleDirName, fileName.substr(1));
|
||||||
|
} else {
|
||||||
|
return path.join(exampleDirName, fileName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Array.prototype.push.apply(gpaths, defaultExcludes);
|
||||||
|
|
||||||
|
let fileNames = globby.sync(gpaths, { ignore: ['**/node_modules/**']});
|
||||||
|
|
||||||
|
let zip = this._createZipArchive(outputFileName);
|
||||||
|
fileNames.forEach((fileName) => {
|
||||||
|
let relativePath = path.relative(exampleDirName, fileName);
|
||||||
|
let content = fs.readFileSync(fileName, 'utf8');
|
||||||
|
let extn = path.extname(fileName).substr(1);
|
||||||
|
// if we don't need to clean up the file then we can do the following.
|
||||||
|
// zip.append(fs.createReadStream(fileName), { name: relativePath });
|
||||||
|
let output = regionExtractor()(content, extn).contents;
|
||||||
|
|
||||||
|
zip.append(output, { name: relativePath } )
|
||||||
|
});
|
||||||
|
|
||||||
|
// we need the package.json from _examples root, not the _boilerplate one
|
||||||
|
zip.append(this.customizer.generate(exampleType), { name: 'package.json' });
|
||||||
|
// also a systemjs config
|
||||||
|
if (!json.removeSystemJsConfig) {
|
||||||
|
zip.append(fs.readFileSync(this.examplesSystemjsConfig, 'utf8'), { name: 'src/systemjs.config.js' });
|
||||||
|
zip.append(fs.readFileSync(this.examplesSystemjsLoaderConfig, 'utf8'), { name: 'src/systemjs-angular-loader.js' });
|
||||||
|
}
|
||||||
|
// a modified tsconfig
|
||||||
|
let tsconfig = fs.readFileSync(this.exampleTsconfig, 'utf8');
|
||||||
|
zip.append(this._changeTypeRoots(tsconfig), {name: 'src/tsconfig.json'});
|
||||||
|
|
||||||
|
zip.finalize();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = ExampleZipper;
|
7
aio/tools/example-zipper/generateZips.js
Normal file
7
aio/tools/example-zipper/generateZips.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
const ExampleZipper = require('./exampleZipper');
|
||||||
|
const path = require('canonical-path');
|
||||||
|
|
||||||
|
const EXAMPLES_PATH = path.join(__dirname, '../../content/examples');
|
||||||
|
const ZIPS_PATH = path.join(__dirname, '../../src/content/zips');
|
||||||
|
|
||||||
|
new ExampleZipper(EXAMPLES_PATH, ZIPS_PATH);
|
@ -327,6 +327,17 @@ aproba@^1.0.3:
|
|||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
|
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
|
||||||
|
|
||||||
|
archiver-utils@^1.3.0:
|
||||||
|
version "1.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-1.3.0.tgz#e50b4c09c70bf3d680e32ff1b7994e9f9d895174"
|
||||||
|
dependencies:
|
||||||
|
glob "^7.0.0"
|
||||||
|
graceful-fs "^4.1.0"
|
||||||
|
lazystream "^1.0.0"
|
||||||
|
lodash "^4.8.0"
|
||||||
|
normalize-path "^2.0.0"
|
||||||
|
readable-stream "^2.0.0"
|
||||||
|
|
||||||
archiver@^0.16.0:
|
archiver@^0.16.0:
|
||||||
version "0.16.0"
|
version "0.16.0"
|
||||||
resolved "https://registry.yarnpkg.com/archiver/-/archiver-0.16.0.tgz#bb570346899d0865eb77ed66727ab3c634fc1a50"
|
resolved "https://registry.yarnpkg.com/archiver/-/archiver-0.16.0.tgz#bb570346899d0865eb77ed66727ab3c634fc1a50"
|
||||||
@ -340,6 +351,20 @@ archiver@^0.16.0:
|
|||||||
tar-stream "~1.2.1"
|
tar-stream "~1.2.1"
|
||||||
zip-stream "~0.6.0"
|
zip-stream "~0.6.0"
|
||||||
|
|
||||||
|
archiver@^1.3.0:
|
||||||
|
version "1.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/archiver/-/archiver-1.3.0.tgz#4f2194d6d8f99df3f531e6881f14f15d55faaf22"
|
||||||
|
dependencies:
|
||||||
|
archiver-utils "^1.3.0"
|
||||||
|
async "^2.0.0"
|
||||||
|
buffer-crc32 "^0.2.1"
|
||||||
|
glob "^7.0.0"
|
||||||
|
lodash "^4.8.0"
|
||||||
|
readable-stream "^2.0.0"
|
||||||
|
tar-stream "^1.5.0"
|
||||||
|
walkdir "^0.0.11"
|
||||||
|
zip-stream "^1.1.0"
|
||||||
|
|
||||||
are-we-there-yet@~1.1.2:
|
are-we-there-yet@~1.1.2:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3"
|
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3"
|
||||||
@ -473,7 +498,7 @@ async@^1.3.0, async@^1.4.0, async@^1.4.2, async@^1.5.2:
|
|||||||
version "1.5.2"
|
version "1.5.2"
|
||||||
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
|
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
|
||||||
|
|
||||||
async@^2.0.1, async@^2.1.2, async@^2.1.4:
|
async@^2.0.0, async@^2.0.1, async@^2.1.2, async@^2.1.4:
|
||||||
version "2.1.5"
|
version "2.1.5"
|
||||||
resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc"
|
resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -815,7 +840,7 @@ browserslist@^1.0.1, browserslist@^1.5.2, browserslist@^1.7.4:
|
|||||||
caniuse-db "^1.0.30000624"
|
caniuse-db "^1.0.30000624"
|
||||||
electron-to-chromium "^1.2.2"
|
electron-to-chromium "^1.2.2"
|
||||||
|
|
||||||
buffer-crc32@~0.2.1:
|
buffer-crc32@^0.2.1, buffer-crc32@~0.2.1:
|
||||||
version "0.2.13"
|
version "0.2.13"
|
||||||
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||||
|
|
||||||
@ -1238,6 +1263,15 @@ component-inherit@0.0.3:
|
|||||||
version "0.0.3"
|
version "0.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
|
resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
|
||||||
|
|
||||||
|
compress-commons@^1.1.0:
|
||||||
|
version "1.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-1.2.0.tgz#58587092ef20d37cb58baf000112c9278ff73b9f"
|
||||||
|
dependencies:
|
||||||
|
buffer-crc32 "^0.2.1"
|
||||||
|
crc32-stream "^2.0.0"
|
||||||
|
normalize-path "^2.0.0"
|
||||||
|
readable-stream "^2.0.0"
|
||||||
|
|
||||||
compress-commons@~0.3.0:
|
compress-commons@~0.3.0:
|
||||||
version "0.3.0"
|
version "0.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-0.3.0.tgz#97093e2e193f7567fa13203d4b8defcd5971a519"
|
resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-0.3.0.tgz#97093e2e193f7567fa13203d4b8defcd5971a519"
|
||||||
@ -1403,6 +1437,13 @@ corser@~2.0.0:
|
|||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
|
resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
|
||||||
|
|
||||||
|
crc32-stream@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4"
|
||||||
|
dependencies:
|
||||||
|
crc "^3.4.4"
|
||||||
|
readable-stream "^2.0.0"
|
||||||
|
|
||||||
crc32-stream@~0.3.1:
|
crc32-stream@~0.3.1:
|
||||||
version "0.3.4"
|
version "0.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-0.3.4.tgz#73bc25b45fac1db6632231a7bfce8927e9f06552"
|
resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-0.3.4.tgz#73bc25b45fac1db6632231a7bfce8927e9f06552"
|
||||||
@ -1410,6 +1451,10 @@ crc32-stream@~0.3.1:
|
|||||||
buffer-crc32 "~0.2.1"
|
buffer-crc32 "~0.2.1"
|
||||||
readable-stream "~1.0.24"
|
readable-stream "~1.0.24"
|
||||||
|
|
||||||
|
crc@^3.4.4:
|
||||||
|
version "3.4.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.4.tgz#9da1e980e3bd44fc5c93bf5ab3da3378d85e466b"
|
||||||
|
|
||||||
create-ecdh@^4.0.0:
|
create-ecdh@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
|
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
|
||||||
@ -2866,7 +2911,7 @@ got@^6.7.1:
|
|||||||
unzip-response "^2.0.1"
|
unzip-response "^2.0.1"
|
||||||
url-parse-lax "^1.0.0"
|
url-parse-lax "^1.0.0"
|
||||||
|
|
||||||
graceful-fs@*, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
|
graceful-fs@*, graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
|
||||||
version "4.1.11"
|
version "4.1.11"
|
||||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
|
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
|
||||||
|
|
||||||
@ -3933,6 +3978,12 @@ lazy-req@^2.0.0:
|
|||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-2.0.0.tgz#c9450a363ecdda2e6f0c70132ad4f37f8f06f2b4"
|
resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-2.0.0.tgz#c9450a363ecdda2e6f0c70132ad4f37f8f06f2b4"
|
||||||
|
|
||||||
|
lazystream@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4"
|
||||||
|
dependencies:
|
||||||
|
readable-stream "^2.0.5"
|
||||||
|
|
||||||
lazystream@~0.1.0:
|
lazystream@~0.1.0:
|
||||||
version "0.1.0"
|
version "0.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-0.1.0.tgz#1b25d63c772a4c20f0a5ed0a9d77f484b6e16920"
|
resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-0.1.0.tgz#1b25d63c772a4c20f0a5ed0a9d77f484b6e16920"
|
||||||
@ -4102,7 +4153,7 @@ lodash@^3.10.0, lodash@^3.10.1, lodash@^3.8.0, lodash@~3.10.0, lodash@~3.10.1:
|
|||||||
version "3.10.1"
|
version "3.10.1"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
|
||||||
|
|
||||||
lodash@^4.0.0, lodash@^4.11.1, lodash@^4.11.2, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.5.1, lodash@^4.6.1:
|
lodash@^4.0.0, lodash@^4.11.1, lodash@^4.11.2, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.5.1, lodash@^4.6.1, lodash@^4.8.0:
|
||||||
version "4.17.4"
|
version "4.17.4"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
||||||
|
|
||||||
@ -4546,7 +4597,7 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
|
|||||||
semver "2 || 3 || 4 || 5"
|
semver "2 || 3 || 4 || 5"
|
||||||
validate-npm-package-license "^3.0.1"
|
validate-npm-package-license "^3.0.1"
|
||||||
|
|
||||||
normalize-path@^2.0.1:
|
normalize-path@^2.0.0, normalize-path@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a"
|
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a"
|
||||||
|
|
||||||
@ -6455,6 +6506,15 @@ tar-pack@~3.3.0:
|
|||||||
tar "~2.2.1"
|
tar "~2.2.1"
|
||||||
uid-number "~0.0.6"
|
uid-number "~0.0.6"
|
||||||
|
|
||||||
|
tar-stream@^1.5.0:
|
||||||
|
version "1.5.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.2.tgz#fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf"
|
||||||
|
dependencies:
|
||||||
|
bl "^1.0.0"
|
||||||
|
end-of-stream "^1.0.0"
|
||||||
|
readable-stream "^2.0.0"
|
||||||
|
xtend "^4.0.0"
|
||||||
|
|
||||||
tar-stream@~1.2.1:
|
tar-stream@~1.2.1:
|
||||||
version "1.2.2"
|
version "1.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.2.2.tgz#9632f23d98fd33d41661bbdec05489120dec6028"
|
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.2.2.tgz#9632f23d98fd33d41661bbdec05489120dec6028"
|
||||||
@ -7093,6 +7153,10 @@ walk-sync@^0.3.1:
|
|||||||
ensure-posix-path "^1.0.0"
|
ensure-posix-path "^1.0.0"
|
||||||
matcher-collection "^1.0.0"
|
matcher-collection "^1.0.0"
|
||||||
|
|
||||||
|
walkdir@^0.0.11:
|
||||||
|
version "0.0.11"
|
||||||
|
resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.0.11.tgz#a16d025eb931bd03b52f308caed0f40fcebe9532"
|
||||||
|
|
||||||
watchpack@^1.2.0:
|
watchpack@^1.2.0:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.2.1.tgz#01efa80c5c29e5c56ba55d6f5470a35b6402f0b2"
|
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.2.1.tgz#01efa80c5c29e5c56ba55d6f5470a35b6402f0b2"
|
||||||
@ -7511,6 +7575,15 @@ yn@^1.2.0:
|
|||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/yn/-/yn-1.2.0.tgz#d237a4c533f279b2b89d3acac2db4b8c795e4a63"
|
resolved "https://registry.yarnpkg.com/yn/-/yn-1.2.0.tgz#d237a4c533f279b2b89d3acac2db4b8c795e4a63"
|
||||||
|
|
||||||
|
zip-stream@^1.1.0:
|
||||||
|
version "1.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-1.1.1.tgz#5216b48bbb4d2651f64d5c6e6f09eb4a7399d557"
|
||||||
|
dependencies:
|
||||||
|
archiver-utils "^1.3.0"
|
||||||
|
compress-commons "^1.1.0"
|
||||||
|
lodash "^4.8.0"
|
||||||
|
readable-stream "^2.0.0"
|
||||||
|
|
||||||
zip-stream@~0.6.0:
|
zip-stream@~0.6.0:
|
||||||
version "0.6.0"
|
version "0.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-0.6.0.tgz#ee933aed996fb18b344a91ae3b5d264cec5e812b"
|
resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-0.6.0.tgz#ee933aed996fb18b344a91ae3b5d264cec5e812b"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user