feat(cli): init loadBuildScriptToCache

This commit is contained in:
Sam Tolmay 2020-10-27 14:58:20 +02:00
parent 1a976659c8
commit f2eabfae92
30 changed files with 536 additions and 22 deletions

243
.pnp.js generated
View File

@ -3706,11 +3706,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@lowdefy/build", "workspace:packages/build"],
["@lowdefy/helpers", "workspace:packages/helpers"],
["@lowdefy/node-utils", "workspace:packages/nodeUtils"],
["axios", "npm:0.21.0"],
["babel-jest", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:26.5.2"],
["babel-loader", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:8.1.0"],
["chalk", "npm:4.1.0"],
["chokidar", "npm:3.4.2"],
["commander", "npm:6.1.0"],
["decompress", "npm:4.2.1"],
["decompress-targz", "npm:4.1.1"],
["inquirer", "npm:7.3.3"],
["jest", "npm:26.5.3"],
["js-yaml", "npm:3.14.0"],
@ -7304,6 +7307,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]
]],
["bl", [
["npm:1.2.3", {
"packageLocation": "./.yarn/cache/bl-npm-1.2.3-49c4213ca5-64f1ce11d0.zip/node_modules/bl/",
"packageDependencies": [
["bl", "npm:1.2.3"],
["readable-stream", "npm:2.3.7"],
["safe-buffer", "npm:5.2.1"]
],
"linkType": "HARD",
}],
["npm:4.0.3", {
"packageLocation": "./.yarn/cache/bl-npm-4.0.3-4670d76538-1f33c5a3da.zip/node_modules/bl/",
"packageDependencies": [
@ -7488,6 +7500,44 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["buffer-alloc", [
["npm:1.2.0", {
"packageLocation": "./.yarn/cache/buffer-alloc-npm-1.2.0-388beee0c7-0a66de8968.zip/node_modules/buffer-alloc/",
"packageDependencies": [
["buffer-alloc", "npm:1.2.0"],
["buffer-alloc-unsafe", "npm:1.1.0"],
["buffer-fill", "npm:1.0.0"]
],
"linkType": "HARD",
}]
]],
["buffer-alloc-unsafe", [
["npm:1.1.0", {
"packageLocation": "./.yarn/cache/buffer-alloc-unsafe-npm-1.1.0-b5d7ccb44c-f5ab30acb1.zip/node_modules/buffer-alloc-unsafe/",
"packageDependencies": [
["buffer-alloc-unsafe", "npm:1.1.0"]
],
"linkType": "HARD",
}]
]],
["buffer-crc32", [
["npm:0.2.13", {
"packageLocation": "./.yarn/cache/buffer-crc32-npm-0.2.13-c4b6fceac1-0340e848d6.zip/node_modules/buffer-crc32/",
"packageDependencies": [
["buffer-crc32", "npm:0.2.13"]
],
"linkType": "HARD",
}]
]],
["buffer-fill", [
["npm:1.0.0", {
"packageLocation": "./.yarn/cache/buffer-fill-npm-1.0.0-915809118a-099a16038e.zip/node_modules/buffer-fill/",
"packageDependencies": [
["buffer-fill", "npm:1.0.0"]
],
"linkType": "HARD",
}]
]],
["buffer-from", [
["npm:1.1.1", {
"packageLocation": "./.yarn/cache/buffer-from-npm-1.1.1-22917b8ed8-540ceb79c4.zip/node_modules/buffer-from/",
@ -9227,6 +9277,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["decompress", [
["npm:4.2.1", {
"packageLocation": "./.yarn/cache/decompress-npm-4.2.1-a79829cc55-544ea5deef.zip/node_modules/decompress/",
"packageDependencies": [
["decompress", "npm:4.2.1"],
["decompress-tar", "npm:4.1.1"],
["decompress-tarbz2", "npm:4.1.1"],
["decompress-targz", "npm:4.1.1"],
["decompress-unzip", "npm:4.0.1"],
["graceful-fs", "npm:4.2.4"],
["make-dir", "npm:1.3.0"],
["pify", "npm:2.3.0"],
["strip-dirs", "npm:2.1.0"]
],
"linkType": "HARD",
}]
]],
["decompress-response", [
["npm:3.3.0", {
"packageLocation": "./.yarn/cache/decompress-response-npm-3.3.0-6e7b6375c3-93b0dcc8f0.zip/node_modules/decompress-response/",
@ -9253,6 +9320,57 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["decompress-tar", [
["npm:4.1.1", {
"packageLocation": "./.yarn/cache/decompress-tar-npm-4.1.1-ff91950fee-9fff396f16.zip/node_modules/decompress-tar/",
"packageDependencies": [
["decompress-tar", "npm:4.1.1"],
["file-type", "npm:5.2.0"],
["is-stream", "npm:1.1.0"],
["tar-stream", "npm:1.6.2"]
],
"linkType": "HARD",
}]
]],
["decompress-tarbz2", [
["npm:4.1.1", {
"packageLocation": "./.yarn/cache/decompress-tarbz2-npm-4.1.1-69114342e0-defbb7ebfb.zip/node_modules/decompress-tarbz2/",
"packageDependencies": [
["decompress-tarbz2", "npm:4.1.1"],
["decompress-tar", "npm:4.1.1"],
["file-type", "npm:6.2.0"],
["is-stream", "npm:1.1.0"],
["seek-bzip", "npm:1.0.6"],
["unbzip2-stream", "npm:1.4.3"]
],
"linkType": "HARD",
}]
]],
["decompress-targz", [
["npm:4.1.1", {
"packageLocation": "./.yarn/cache/decompress-targz-npm-4.1.1-444d44d5aa-473f69d84b.zip/node_modules/decompress-targz/",
"packageDependencies": [
["decompress-targz", "npm:4.1.1"],
["decompress-tar", "npm:4.1.1"],
["file-type", "npm:5.2.0"],
["is-stream", "npm:1.1.0"]
],
"linkType": "HARD",
}]
]],
["decompress-unzip", [
["npm:4.0.1", {
"packageLocation": "./.yarn/cache/decompress-unzip-npm-4.0.1-8d93b02d1f-7eb4f7fc8f.zip/node_modules/decompress-unzip/",
"packageDependencies": [
["decompress-unzip", "npm:4.0.1"],
["file-type", "npm:3.9.0"],
["get-stream", "npm:2.3.1"],
["pify", "npm:2.3.0"],
["yauzl", "npm:2.10.0"]
],
"linkType": "HARD",
}]
]],
["dedent", [
["npm:0.7.0", {
"packageLocation": "./.yarn/cache/dedent-npm-0.7.0-2dbb45a4c5-05c18541a4.zip/node_modules/dedent/",
@ -10958,6 +11076,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["fd-slicer", [
["npm:1.1.0", {
"packageLocation": "./.yarn/cache/fd-slicer-npm-1.1.0-3cade0050a-ec759b16ae.zip/node_modules/fd-slicer/",
"packageDependencies": [
["fd-slicer", "npm:1.1.0"],
["pend", "npm:1.2.0"]
],
"linkType": "HARD",
}]
]],
["figgy-pudding", [
["npm:3.5.2", {
"packageLocation": "./.yarn/cache/figgy-pudding-npm-3.5.2-2f4e3e1305-737645f602.zip/node_modules/figgy-pudding/",
@ -10995,6 +11123,29 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["file-type", [
["npm:3.9.0", {
"packageLocation": "./.yarn/cache/file-type-npm-3.9.0-fec2c20533-e2167e3221.zip/node_modules/file-type/",
"packageDependencies": [
["file-type", "npm:3.9.0"]
],
"linkType": "HARD",
}],
["npm:5.2.0", {
"packageLocation": "./.yarn/cache/file-type-npm-5.2.0-d8b09d0b59-55776adbab.zip/node_modules/file-type/",
"packageDependencies": [
["file-type", "npm:5.2.0"]
],
"linkType": "HARD",
}],
["npm:6.2.0", {
"packageLocation": "./.yarn/cache/file-type-npm-6.2.0-0b469e4b41-55e43eea6e.zip/node_modules/file-type/",
"packageDependencies": [
["file-type", "npm:6.2.0"]
],
"linkType": "HARD",
}]
]],
["file-uri-to-path", [
["npm:1.0.0", {
"packageLocation": "./.yarn/cache/file-uri-to-path-npm-1.0.0-1043ac6206-5ddb9682f0.zip/node_modules/file-uri-to-path/",
@ -11489,6 +11640,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]
]],
["get-stream", [
["npm:2.3.1", {
"packageLocation": "./.yarn/cache/get-stream-npm-2.3.1-1755f3cab9-e1ed22af1e.zip/node_modules/get-stream/",
"packageDependencies": [
["get-stream", "npm:2.3.1"],
["object-assign", "npm:4.1.1"],
["pinkie-promise", "npm:2.0.1"]
],
"linkType": "HARD",
}],
["npm:3.0.0", {
"packageLocation": "./.yarn/cache/get-stream-npm-3.0.0-ca0b13ddbe-83ed722c1b.zip/node_modules/get-stream/",
"packageDependencies": [
@ -13310,6 +13470,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["is-natural-number", [
["npm:4.0.1", {
"packageLocation": "./.yarn/cache/is-natural-number-npm-4.0.1-b5fd86a31d-8b0f8a5f5c.zip/node_modules/is-natural-number/",
"packageDependencies": [
["is-natural-number", "npm:4.0.1"]
],
"linkType": "HARD",
}]
]],
["is-negative-zero", [
["npm:2.0.0", {
"packageLocation": "./.yarn/cache/is-negative-zero-npm-2.0.0-fd9b9ac0e5-87ddefbdf7.zip/node_modules/is-negative-zero/",
@ -17245,6 +17414,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["pend", [
["npm:1.2.0", {
"packageLocation": "./.yarn/cache/pend-npm-1.2.0-7a13d93266-35da01b2aa.zip/node_modules/pend/",
"packageDependencies": [
["pend", "npm:1.2.0"]
],
"linkType": "HARD",
}]
]],
["performance-now", [
["npm:2.1.0", {
"packageLocation": "./.yarn/cache/performance-now-npm-2.1.0-45e3ce7e49-bb4ebed0b0.zip/node_modules/performance-now/",
@ -19984,6 +20162,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["seek-bzip", [
["npm:1.0.6", {
"packageLocation": "./.yarn/cache/seek-bzip-npm-1.0.6-cb7be69a1d-9fee1a01ce.zip/node_modules/seek-bzip/",
"packageDependencies": [
["seek-bzip", "npm:1.0.6"],
["commander", "npm:2.20.3"]
],
"linkType": "HARD",
}]
]],
["select-hose", [
["npm:2.0.0", {
"packageLocation": "./.yarn/cache/select-hose-npm-2.0.0-8ce63adb52-4da089c022.zip/node_modules/select-hose/",
@ -20986,6 +21174,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["strip-dirs", [
["npm:2.1.0", {
"packageLocation": "./.yarn/cache/strip-dirs-npm-2.1.0-f0e727d3fc-fc1d999e60.zip/node_modules/strip-dirs/",
"packageDependencies": [
["strip-dirs", "npm:2.1.0"],
["is-natural-number", "npm:4.0.1"]
],
"linkType": "HARD",
}]
]],
["strip-eof", [
["npm:1.0.0", {
"packageLocation": "./.yarn/cache/strip-eof-npm-1.0.0-d82eaf947c-905cd8718a.zip/node_modules/strip-eof/",
@ -21273,6 +21471,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]
]],
["tar-stream", [
["npm:1.6.2", {
"packageLocation": "./.yarn/cache/tar-stream-npm-1.6.2-f4a7fc08e2-56405b15d9.zip/node_modules/tar-stream/",
"packageDependencies": [
["tar-stream", "npm:1.6.2"],
["bl", "npm:1.2.3"],
["buffer-alloc", "npm:1.2.0"],
["end-of-stream", "npm:1.4.4"],
["fs-constants", "npm:1.0.0"],
["readable-stream", "npm:2.3.7"],
["to-buffer", "npm:1.1.1"],
["xtend", "npm:4.0.2"]
],
"linkType": "HARD",
}],
["npm:2.1.4", {
"packageLocation": "./.yarn/cache/tar-stream-npm-2.1.4-5f7040c9c5-d0414b07c2.zip/node_modules/tar-stream/",
"packageDependencies": [
@ -21685,6 +21897,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["to-buffer", [
["npm:1.1.1", {
"packageLocation": "./.yarn/cache/to-buffer-npm-1.1.1-0be2cf74fe-1e0b2b6bfb.zip/node_modules/to-buffer/",
"packageDependencies": [
["to-buffer", "npm:1.1.1"]
],
"linkType": "HARD",
}]
]],
["to-fast-properties", [
["npm:2.0.0", {
"packageLocation": "./.yarn/cache/to-fast-properties-npm-2.0.0-0dc60cc481-40e6198424.zip/node_modules/to-fast-properties/",
@ -22066,6 +22287,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["unbzip2-stream", [
["npm:1.4.3", {
"packageLocation": "./.yarn/cache/unbzip2-stream-npm-1.4.3-c5582d6a9f-779446eed1.zip/node_modules/unbzip2-stream/",
"packageDependencies": [
["unbzip2-stream", "npm:1.4.3"],
["buffer", "npm:5.6.1"],
["through", "npm:2.3.8"]
],
"linkType": "HARD",
}]
]],
["undefsafe", [
["npm:2.0.3", {
"packageLocation": "./.yarn/cache/undefsafe-npm-2.0.3-ce5f7e2bb1-0974f82a87.zip/node_modules/undefsafe/",
@ -24124,6 +24356,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD",
}]
]],
["yauzl", [
["npm:2.10.0", {
"packageLocation": "./.yarn/cache/yauzl-npm-2.10.0-72e70ea021-6d0c4e7270.zip/node_modules/yauzl/",
"packageDependencies": [
["yauzl", "npm:2.10.0"],
["buffer-crc32", "npm:0.2.13"],
["fd-slicer", "npm:1.1.0"]
],
"linkType": "HARD",
}]
]],
["yeoman-environment", [
["npm:2.10.3", {
"packageLocation": "./.yarn/cache/yeoman-environment-npm-2.10.3-93bca3350a-d5b28f6e7f.zip/node_modules/yeoman-environment/",

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -43,9 +43,12 @@
"@lowdefy/build": "0.0.0-experimental.0",
"@lowdefy/helpers": "1.1.0",
"@lowdefy/node-utils": "1.0.0",
"axios": "0.21.0",
"chalk": "4.1.0",
"chokidar": "3.4.2",
"commander": "6.1.0",
"decompress": "4.2.1",
"decompress-targz": "4.1.1",
"inquirer": "7.3.3",
"js-yaml": "3.14.0"
},

View File

@ -26,11 +26,12 @@ async function build(program) {
baseDirectory = path.resolve(program.baseDirectory);
}
const version = await getLowdefyVersion(program.baseDirectory);
const buildScript = await getBuildScript(version);
const cacheDirectory = path.resolve(baseDirectory, cacheDirectoryPath);
const buildScript = await getBuildScript(version, cacheDirectory);
buildScript({
logger: createPrint({ timestamp: true }),
cacheDirectory: path.resolve(baseDirectory, cacheDirectoryPath),
cacheDirectory,
configDirectory: baseDirectory,
outputDirectory: path.resolve(baseDirectory, outputDirectoryPath),
});

View File

@ -16,17 +16,18 @@
import fs from 'fs';
import path from 'path';
import loadBuildScriptToCache from './loadBuildScriptToCache';
import loadModule from '../../utils/loadModule';
async function getBuildScript(version) {
async function getBuildScript(version, cacheDirectory) {
let buildScript;
const cleanVersion = version.replace(/[-.]/g, '_');
const cachePath = path.resolve(process.cwd(), `./.lowdefy/.cache/build/v${cleanVersion}`);
if (fs.existsSync(cachePath)) {
buildScript = await loadModule(cachePath, './build');
return buildScript.default;
const cachePath = path.resolve(cacheDirectory, `scripts/build_${cleanVersion}`);
if (!fs.existsSync(path.resolve(cachePath, 'package/dist/remoteEntry.js'))) {
await loadBuildScriptToCache(version, cachePath);
}
return null;
buildScript = await loadModule(cachePath, './build');
return buildScript.default;
}
export default getBuildScript;

View File

@ -0,0 +1,42 @@
/*
Copyright 2020 Lowdefy, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
import axios from 'axios';
import decompress from 'decompress';
import decompressTargz from 'decompress-targz';
async function loadBuildScriptToCache(version, cachePath) {
const packageInfo = await axios.get('https://registry.npmjs.org/@lowdefy/build');
if (!packageInfo || !packageInfo.data) {
// TODO: What should this error message be?
throw new Error('Build script could not be found.');
}
if (!packageInfo.data.versions[version]) {
throw new Error(`Invalid Lowdefy version. Version "${version}" does not exist.`);
}
const tarball = await axios.get(packageInfo.data.versions[version].dist.tarball, {
responseType: 'arraybuffer',
});
if (!tarball || !tarball.data) {
// TODO: What should this error message be?
throw new Error('Build script could not be fetched.');
}
await decompress(tarball.data, cachePath, {
plugins: [decompressTargz()],
});
}
export default loadBuildScriptToCache;

View File

@ -14,7 +14,7 @@
limitations under the License.
*/
import errorBoundary from './errorBoundary';
import errorHandler from './errorHandler';
import createPrint from './print';
jest.mock('./print', () => {
@ -38,7 +38,7 @@ beforeEach(() => {
test('Error boundary with synchronous function', async () => {
const fn = jest.fn(() => 1 + 1);
const wrapped = errorBoundary(fn);
const wrapped = errorHandler(fn);
const res = await wrapped();
expect(res).toBe(2);
expect(fn).toHaveBeenCalled();
@ -49,7 +49,7 @@ test('Error boundary with asynchronous function', async () => {
await wait(3);
return 4;
});
const wrapped = errorBoundary(fn);
const wrapped = errorHandler(fn);
const res = await wrapped();
expect(res).toBe(4);
expect(fn).toHaveBeenCalled();
@ -57,7 +57,7 @@ test('Error boundary with asynchronous function', async () => {
test('Pass args to synchronous function', async () => {
const fn = jest.fn((arg1, arg2) => ({ arg1, arg2 }));
const wrapped = errorBoundary(fn);
const wrapped = errorHandler(fn);
const res = await wrapped('1', '2');
expect(res).toEqual({ arg1: '1', arg2: '2' });
});
@ -66,7 +66,7 @@ test('Catch error synchronous function, stay alive', async () => {
const fn = jest.fn(() => {
throw new Error('Error');
});
const wrapped = errorBoundary(fn, { stayAlive: true });
const wrapped = errorHandler(fn, { stayAlive: true });
const res = await wrapped();
expect(res).toBe(undefined);
expect(fn).toHaveBeenCalled();
@ -78,7 +78,7 @@ test('Catch error asynchronous function, stay alive', async () => {
await wait(3);
throw new Error('Async Error');
});
const wrapped = errorBoundary(fn, { stayAlive: true });
const wrapped = errorHandler(fn, { stayAlive: true });
const res = await wrapped();
expect(res).toBe(undefined);
expect(fn).toHaveBeenCalled();
@ -92,7 +92,7 @@ test('Catch error synchronous function, exit process', async () => {
const fn = jest.fn(() => {
throw new Error('Error');
});
const wrapped = errorBoundary(fn);
const wrapped = errorHandler(fn);
await wrapped();
expect(fn).toHaveBeenCalled();
expect(print.error.mock.calls).toEqual([['Error']]);
@ -108,7 +108,7 @@ test('Catch error asynchronous function, exit process', async () => {
await wait(3);
throw new Error('Async Error');
});
const wrapped = errorBoundary(fn);
const wrapped = errorHandler(fn);
await wrapped();
expect(fn).toHaveBeenCalled();
expect(print.error.mock.calls).toEqual([['Async Error']]);

236
yarn.lock
View File

@ -2866,11 +2866,14 @@ __metadata:
"@lowdefy/build": 0.0.0-experimental.0
"@lowdefy/helpers": 1.1.0
"@lowdefy/node-utils": 1.0.0
axios: 0.21.0
babel-jest: 26.5.2
babel-loader: 8.1.0
chalk: 4.1.0
chokidar: 3.4.2
commander: 6.1.0
decompress: 4.2.1
decompress-targz: 4.1.1
inquirer: 7.3.3
jest: 26.5.3
js-yaml: 3.14.0
@ -5689,6 +5692,16 @@ __metadata:
languageName: node
linkType: hard
"bl@npm:^1.0.0":
version: 1.2.3
resolution: "bl@npm:1.2.3"
dependencies:
readable-stream: ^2.3.5
safe-buffer: ^5.1.1
checksum: 64f1ce11d018d2ae40e7ab9cdccb4f9bff636bb4871f7ab7d7cadfb620369db03084bd9b9481716a23933a8ce31b666b80e512681e265cfd9dcab82d0d9e64f8
languageName: node
linkType: hard
"bl@npm:^4.0.3":
version: 4.0.3
resolution: "bl@npm:4.0.3"
@ -5851,6 +5864,37 @@ __metadata:
languageName: node
linkType: hard
"buffer-alloc-unsafe@npm:^1.1.0":
version: 1.1.0
resolution: "buffer-alloc-unsafe@npm:1.1.0"
checksum: f5ab30acb1270dbec68283464d757eb1bf694557a06f27d542344bd1474e4bb202db35be1e04c804e28880eb2092dacbe39870204bc14934377f74925a4aac5c
languageName: node
linkType: hard
"buffer-alloc@npm:^1.2.0":
version: 1.2.0
resolution: "buffer-alloc@npm:1.2.0"
dependencies:
buffer-alloc-unsafe: ^1.1.0
buffer-fill: ^1.0.0
checksum: 0a66de89687b503644bd1a5996ac3492f8f6a154f352baae72b410db1c1a12f6ccfb9e088d838cca8648e64049140ae4ffca6a54620dec8a3aba7d114d7697db
languageName: node
linkType: hard
"buffer-crc32@npm:~0.2.3":
version: 0.2.13
resolution: "buffer-crc32@npm:0.2.13"
checksum: 0340e848d6fd87e49ef6f1067f31b2a8d2e71b433e9bb62ff3d9bc2499146f0be586b5b80b0d099c7110a226161b21cb6cd80162dd5a51d9ebdb03da58b99637
languageName: node
linkType: hard
"buffer-fill@npm:^1.0.0":
version: 1.0.0
resolution: "buffer-fill@npm:1.0.0"
checksum: 099a16038eaa2586c12b902e68e300f2e0d581c8bfdbe5c8937757ea20c375167e0dfe1891585b99ae1b4385d7ed18b4f2d4b3f85120252778fe45489ee519f1
languageName: node
linkType: hard
"buffer-from@npm:^1.0.0":
version: 1.1.1
resolution: "buffer-from@npm:1.1.1"
@ -5865,7 +5909,7 @@ __metadata:
languageName: node
linkType: hard
"buffer@npm:5.6.1, buffer@npm:^5.5.0":
"buffer@npm:5.6.1, buffer@npm:^5.2.1, buffer@npm:^5.5.0":
version: 5.6.1
resolution: "buffer@npm:5.6.1"
dependencies:
@ -6618,7 +6662,7 @@ __metadata:
languageName: node
linkType: hard
"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3":
"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.8.1":
version: 2.20.3
resolution: "commander@npm:2.20.3"
checksum: b73428e97de7624323f81ba13f8ed9271de487017432d18b4da3f07cfc528ad754bbd199004bd5d14e0ccd67d1fdfe0ec8dbbd4c438b401df3c4cc387bfd1daa
@ -7356,6 +7400,69 @@ __metadata:
languageName: node
linkType: hard
"decompress-tar@npm:^4.0.0, decompress-tar@npm:^4.1.0, decompress-tar@npm:^4.1.1":
version: 4.1.1
resolution: "decompress-tar@npm:4.1.1"
dependencies:
file-type: ^5.2.0
is-stream: ^1.1.0
tar-stream: ^1.5.2
checksum: 9fff396f1697a9a637ada6c380c01b6c97c453a3dc15a9ec07feef073401f0c345dd44005ad880647378dcf7a6f580e162877518f82b92478d02f8be71d18228
languageName: node
linkType: hard
"decompress-tarbz2@npm:^4.0.0":
version: 4.1.1
resolution: "decompress-tarbz2@npm:4.1.1"
dependencies:
decompress-tar: ^4.1.0
file-type: ^6.1.0
is-stream: ^1.1.0
seek-bzip: ^1.0.5
unbzip2-stream: ^1.0.9
checksum: defbb7ebfbf78dd2725a54cce96811c9b46efc3706f702568b7cf268bb7efce69a52ab2cc90316fec3ebe51fa2c7fd09b696681bbeb45f83a5c1a3ad83429eeb
languageName: node
linkType: hard
"decompress-targz@npm:4.1.1, decompress-targz@npm:^4.0.0":
version: 4.1.1
resolution: "decompress-targz@npm:4.1.1"
dependencies:
decompress-tar: ^4.1.1
file-type: ^5.2.0
is-stream: ^1.1.0
checksum: 473f69d84b78e7df9faaa44450b496b82cbd5e42ef0d080e06319350cbc38e12289526ceb0df225f8ffa723926d8e8f37787adeb3be5a093d579e6e23a3ea2c9
languageName: node
linkType: hard
"decompress-unzip@npm:^4.0.1":
version: 4.0.1
resolution: "decompress-unzip@npm:4.0.1"
dependencies:
file-type: ^3.8.0
get-stream: ^2.2.0
pify: ^2.3.0
yauzl: ^2.4.2
checksum: 7eb4f7fc8f1fa1061d824b9d6311d6df3ec1c1e1f4defb62fa22b32fb921aec992b692287efe5beee65bda3dad8a72e69f73f5924dd22fca5be93f56783e168f
languageName: node
linkType: hard
"decompress@npm:4.2.1":
version: 4.2.1
resolution: "decompress@npm:4.2.1"
dependencies:
decompress-tar: ^4.0.0
decompress-tarbz2: ^4.0.0
decompress-targz: ^4.0.0
decompress-unzip: ^4.0.1
graceful-fs: ^4.1.10
make-dir: ^1.0.0
pify: ^2.3.0
strip-dirs: ^2.0.0
checksum: 544ea5deef942c9d115943f8d3ac7c08d5dd1075cacbd0b76ae73a798927420dbfb44a8acd374f320b665dfdf57568da392e774fbb6282de29610636519009c7
languageName: node
linkType: hard
"dedent@npm:^0.7.0":
version: 0.7.0
resolution: "dedent@npm:0.7.0"
@ -8882,6 +8989,15 @@ __metadata:
languageName: node
linkType: hard
"fd-slicer@npm:~1.1.0":
version: 1.1.0
resolution: "fd-slicer@npm:1.1.0"
dependencies:
pend: ~1.2.0
checksum: ec759b16aea613f79540b450ffc278dcb927dccf55c89a364b68547441bec776d637f0a53aee9c9c70683406e4fc4b3aff29b1732bb388f9fa6ba200e8a79caa
languageName: node
linkType: hard
"figgy-pudding@npm:^3.4.1, figgy-pudding@npm:^3.5.1":
version: 3.5.2
resolution: "figgy-pudding@npm:3.5.2"
@ -8916,6 +9032,27 @@ __metadata:
languageName: node
linkType: hard
"file-type@npm:^3.8.0":
version: 3.9.0
resolution: "file-type@npm:3.9.0"
checksum: e2167e322111e54edf8845c351fa29d7faf35d25e7856c2a560f8c295702b4182ff579d8d721638d5d0f8d06e6a9b5ab05ac3944d353378129a6dda4296d10d1
languageName: node
linkType: hard
"file-type@npm:^5.2.0":
version: 5.2.0
resolution: "file-type@npm:5.2.0"
checksum: 55776adbabbb58fcd13e11cf15dee6818945e25156b631f0795b810b4c14abb4e7107dffd063c76a2d53e9df7fb15f4e5ea8a81e59d282bf4a9d7321c7741bb8
languageName: node
linkType: hard
"file-type@npm:^6.1.0":
version: 6.2.0
resolution: "file-type@npm:6.2.0"
checksum: 55e43eea6e99050af085d66a26a736727176c41f772e7b742d93ffbdb8172580ed5736301cb5d7e2d1261aa7ffb7d11f1c2c29e1e1a7aab3aa4f74e8980a1145
languageName: node
linkType: hard
"file-uri-to-path@npm:1.0.0":
version: 1.0.0
resolution: "file-uri-to-path@npm:1.0.0"
@ -9377,6 +9514,16 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"get-stream@npm:^2.2.0":
version: 2.3.1
resolution: "get-stream@npm:2.3.1"
dependencies:
object-assign: ^4.0.1
pinkie-promise: ^2.0.0
checksum: e1ed22af1e94d8a16b5cab988541d9bd92ea27d4f759501c4781725e8cc6cc2bd6c96b20fd63b244c1019b46eec7c8ff3b92edbc9541909b1064d2d66aab6e03
languageName: node
linkType: hard
"get-stream@npm:^3.0.0":
version: 3.0.0
resolution: "get-stream@npm:3.0.0"
@ -9756,7 +9903,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.3, graceful-fs@npm:^4.2.4":
"graceful-fs@npm:^4.1.10, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.3, graceful-fs@npm:^4.2.4":
version: 4.2.4
resolution: "graceful-fs@npm:4.2.4"
checksum: d095ee4dc6eacc76814cd52d5d185b860119378a6fd4888e7d4e94983095c54d4f6369942a5e3d759cdbdd4e3ee7eaeb27a39ff938c6ee4610894fd9de46b6cb
@ -10954,6 +11101,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"is-natural-number@npm:^4.0.1":
version: 4.0.1
resolution: "is-natural-number@npm:4.0.1"
checksum: 8b0f8a5f5c7848f612eeef4f6e0b75c1f80a80ee32d5521fd7cd32be794b7adf748223094f4704079771d9e10a80745fce339e206a67a70d132243056b97f80c
languageName: node
linkType: hard
"is-negative-zero@npm:^2.0.0":
version: 2.0.0
resolution: "is-negative-zero@npm:2.0.0"
@ -14558,6 +14712,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"pend@npm:~1.2.0":
version: 1.2.0
resolution: "pend@npm:1.2.0"
checksum: 35da01b2aa52458fbda2dceaeb5305c0d6c7262beca67d9f4c97bd70e4a8f4457f5fa01ffea3b3f786fb310b9b3b98515c52de3d7ae0b50dfb50b2a2d38d042b
languageName: node
linkType: hard
"performance-now@npm:^2.1.0":
version: 2.1.0
resolution: "performance-now@npm:2.1.0"
@ -16049,7 +16210,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.6, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6":
"readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.6, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6":
version: 2.3.7
resolution: "readable-stream@npm:2.3.7"
dependencies:
@ -16820,6 +16981,18 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"seek-bzip@npm:^1.0.5":
version: 1.0.6
resolution: "seek-bzip@npm:1.0.6"
dependencies:
commander: ^2.8.1
bin:
seek-bunzip: bin/seek-bunzip
seek-table: bin/seek-bzip-table
checksum: 9fee1a01cecb1ef00519bf45c2c58a366ff798a0c57e3c6e1f402a050906ed90b49adef25bca8e880bf9b28bbfc071070a2736e38fee153219768ee669d3e426
languageName: node
linkType: hard
"select-hose@npm:^2.0.0":
version: 2.0.0
resolution: "select-hose@npm:2.0.0"
@ -17743,6 +17916,15 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"strip-dirs@npm:^2.0.0":
version: 2.1.0
resolution: "strip-dirs@npm:2.1.0"
dependencies:
is-natural-number: ^4.0.1
checksum: fc1d999e601579dfb386b69d0f3922d89c6825e4c118e45d90315ecc34bc4222ed19563f055dde0e41194480b8738890c6a5b47bab32289a56446872256efffb
languageName: node
linkType: hard
"strip-eof@npm:^1.0.0":
version: 1.0.0
resolution: "strip-eof@npm:1.0.0"
@ -17934,6 +18116,21 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"tar-stream@npm:^1.5.2":
version: 1.6.2
resolution: "tar-stream@npm:1.6.2"
dependencies:
bl: ^1.0.0
buffer-alloc: ^1.2.0
end-of-stream: ^1.0.0
fs-constants: ^1.0.0
readable-stream: ^2.3.0
to-buffer: ^1.1.1
xtend: ^4.0.0
checksum: 56405b15d94401278d042fbb54cd0efe7e2e915e71f4bc64da8e3b0deafaf4e1fbe91c30edbda19149ab1b85c687085dab798d3e708634b9cfbe01da6b5edffa
languageName: node
linkType: hard
"tar-stream@npm:^2.0.1":
version: 2.1.4
resolution: "tar-stream@npm:2.1.4"
@ -18151,7 +18348,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6":
"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.8":
version: 2.3.8
resolution: "through@npm:2.3.8"
checksum: 918d9151680b5355990011eb8c4b02e8cb8cf6e9fb6ea3d3e5a1faa688343789e261634ae35de4ea9167ab029d1e7bac6af2fe61b843931768d405fdc3e8897c
@ -18209,6 +18406,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"to-buffer@npm:^1.1.1":
version: 1.1.1
resolution: "to-buffer@npm:1.1.1"
checksum: 1e0b2b6bfbb92311ebc5f5e7e17a79b84cc1c2bd14a98b12b7ac7c5853c1b6aabfad1f1652c58a9f8d3353a684eeb11a7cd0bab3083981bb246198f3a13b84e4
languageName: node
linkType: hard
"to-fast-properties@npm:^2.0.0":
version: 2.0.0
resolution: "to-fast-properties@npm:2.0.0"
@ -18550,6 +18754,16 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"unbzip2-stream@npm:^1.0.9":
version: 1.4.3
resolution: "unbzip2-stream@npm:1.4.3"
dependencies:
buffer: ^5.2.1
through: ^2.3.8
checksum: 779446eed1d66898a9cb5c674826a68ecef4d49861dec438e0720767a4151b463659af570deb70f416a41185be81ce99360ddc002c03ea44baaa42191194ef5a
languageName: node
linkType: hard
"undefsafe@npm:^2.0.3":
version: 2.0.3
resolution: "undefsafe@npm:2.0.3"
@ -19684,7 +19898,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"xtend@npm:^4.0.1, xtend@npm:~4.0.1":
"xtend@npm:^4.0.0, xtend@npm:^4.0.1, xtend@npm:~4.0.1":
version: 4.0.2
resolution: "xtend@npm:4.0.2"
checksum: 37ee522a3e9fb9b143a400c30b21dc122aa8c9c9411c6afae1005a4617dc20a21765c114d544e37a6bb60c2733dd8ee0a44ed9e80d884ac78cccd30b5e0ab0da
@ -19831,6 +20045,16 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"yauzl@npm:^2.4.2":
version: 2.10.0
resolution: "yauzl@npm:2.10.0"
dependencies:
buffer-crc32: ~0.2.3
fd-slicer: ~1.1.0
checksum: 6d0c4e72706ec2df6ea842d09c792e7b34badc5db3d8a893e0c70d0e464c9bf82bac4b1690f3515b5e1d96b72fceb6cc4dd96465426077ba6dddc54e7dd4d517
languageName: node
linkType: hard
"yeoman-environment@npm:^2.8.1, yeoman-environment@npm:^2.9.5":
version: 2.10.3
resolution: "yeoman-environment@npm:2.10.3"