Launch Week Day 5: Introducing Reachability for PHP.Learn More
Socket
Book a DemoSign in
Socket

builder-util

Package Overview
Dependencies
Maintainers
1
Versions
279
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

builder-util - npm Package Compare versions

Comparing version
4.1.0
to
4.1.1
+8
-8
out/asyncTaskManager.js

@@ -20,2 +20,8 @@ "use strict";

var _log;
function _load_log() {
return _log = require("./log");
}
var _promise;

@@ -27,8 +33,2 @@

var _util;
function _load_util() {
return _util = require("./util");
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -49,3 +49,3 @@

if (this.cancellationToken.cancelled) {
(0, (_util || _load_util()).debug)(`Async task not added because cancelled: ${new Error().stack}`);
(_log || _load_log()).log.debug({ reason: "cancelled", stack: new Error().stack }, "async task not added");
if ("cancel" in promise) {

@@ -57,3 +57,3 @@ promise.cancel();

this.tasks.push(promise.catch(it => {
(0, (_util || _load_util()).debug)(`Async task error: ${it.stack || it}`);
(_log || _load_log()).log.debug({ error: it.message }, "async task error");
this.errors.push(it);

@@ -60,0 +60,0 @@ return (_bluebirdLst2 || _load_bluebirdLst2()).default.resolve(null);

@@ -1,1 +0,1 @@

{"version":3,"file":"asyncTaskManager.js","sourceRoot":"","sources":["../src/asyncTaskManager.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { CancellationToken } from \"builder-util-runtime\"\nimport { NestedError } from \"./promise\"\nimport { debug } from \"./util\"\n\nexport class AsyncTaskManager {\n readonly tasks: Array<Promise<any>> = []\n private readonly errors: Array<Error> = []\n\n constructor(private readonly cancellationToken: CancellationToken) {\n }\n\n add(task: () => Promise<any>) {\n if (this.cancellationToken == null || !this.cancellationToken.cancelled) {\n this.addTask(task())\n }\n }\n\n addTask(promise: Promise<any>) {\n if (this.cancellationToken.cancelled) {\n debug(`Async task not added because cancelled: ${new Error().stack}`)\n if (\"cancel\" in promise) {\n (promise as any).cancel()\n }\n return\n }\n\n this.tasks.push(promise\n .catch(it => {\n debug(`Async task error: ${it.stack || it}`)\n this.errors.push(it)\n return BluebirdPromise.resolve(null)\n }))\n }\n\n cancelTasks() {\n for (const task of this.tasks) {\n if (\"cancel\" in task) {\n (task as any).cancel()\n }\n }\n this.tasks.length = 0\n }\n\n async awaitTasks(): Promise<Array<any>> {\n if (this.cancellationToken.cancelled) {\n this.cancelTasks()\n return []\n }\n\n const checkErrors = () => {\n if (this.errors.length > 0) {\n this.cancelTasks()\n throwError(this.errors)\n return\n }\n }\n\n checkErrors()\n\n let result: Array<any> | null = null\n const tasks = this.tasks\n let list = tasks.slice()\n tasks.length = 0\n while (list.length > 0) {\n const subResult = await BluebirdPromise.all(list)\n result = result == null ? subResult : result.concat(subResult)\n checkErrors()\n if (tasks.length === 0) {\n break\n }\n else {\n if (this.cancellationToken.cancelled) {\n this.cancelTasks()\n return []\n }\n\n list = tasks.slice()\n tasks.length = 0\n }\n }\n return result || []\n }\n}\n\nfunction throwError(errors: Array<Error>) {\n if (errors.length === 1) {\n throw errors[0]\n }\n else if (errors.length > 1) {\n throw new NestedError(errors, \"Cannot cleanup: \")\n }\n}"]}
{"version":3,"file":"asyncTaskManager.js","sourceRoot":"","sources":["../src/asyncTaskManager.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { CancellationToken } from \"builder-util-runtime\"\nimport { log } from \"./log\"\nimport { NestedError } from \"./promise\"\n\nexport class AsyncTaskManager {\n readonly tasks: Array<Promise<any>> = []\n private readonly errors: Array<Error> = []\n\n constructor(private readonly cancellationToken: CancellationToken) {\n }\n\n add(task: () => Promise<any>) {\n if (this.cancellationToken == null || !this.cancellationToken.cancelled) {\n this.addTask(task())\n }\n }\n\n addTask(promise: Promise<any>) {\n if (this.cancellationToken.cancelled) {\n log.debug({reason: \"cancelled\", stack: new Error().stack}, \"async task not added\")\n if (\"cancel\" in promise) {\n (promise as any).cancel()\n }\n return\n }\n\n this.tasks.push(promise\n .catch(it => {\n log.debug({error: it.message}, \"async task error\")\n this.errors.push(it)\n return BluebirdPromise.resolve(null)\n }))\n }\n\n cancelTasks() {\n for (const task of this.tasks) {\n if (\"cancel\" in task) {\n (task as any).cancel()\n }\n }\n this.tasks.length = 0\n }\n\n async awaitTasks(): Promise<Array<any>> {\n if (this.cancellationToken.cancelled) {\n this.cancelTasks()\n return []\n }\n\n const checkErrors = () => {\n if (this.errors.length > 0) {\n this.cancelTasks()\n throwError(this.errors)\n return\n }\n }\n\n checkErrors()\n\n let result: Array<any> | null = null\n const tasks = this.tasks\n let list = tasks.slice()\n tasks.length = 0\n while (list.length > 0) {\n const subResult = await BluebirdPromise.all(list)\n result = result == null ? subResult : result.concat(subResult)\n checkErrors()\n if (tasks.length === 0) {\n break\n }\n else {\n if (this.cancellationToken.cancelled) {\n this.cancelTasks()\n return []\n }\n\n list = tasks.slice()\n tasks.length = 0\n }\n }\n return result || []\n }\n}\n\nfunction throwError(errors: Array<Error>) {\n if (errors.length === 1) {\n throw errors[0]\n }\n else if (errors.length > 1) {\n throw new NestedError(errors, \"Cannot cleanup: \")\n }\n}"]}

@@ -29,8 +29,7 @@ "use strict";

const dirStat = yield (0, (_fs || _load_fs()).statOrNull)(dirPath);
//noinspection ES6MissingAwait
if (dirStat != null && dirStat.isDirectory()) {
(_util || _load_util()).log.debug(logFlags, `found existing`);
(_util || _load_util()).log.debug(logFlags, "found existing");
return dirPath;
}
(_util || _load_util()).log.info(Object.assign({}, logFlags, { url }), `downloading`);
(_util || _load_util()).log.info(Object.assign({}, logFlags, { url }), "downloading");
// 7z cannot be extracted from the input stream, temp file is required

@@ -37,0 +36,0 @@ const tempUnpackDir = _path.join(cachePath, (0, (_tempFile || _load_tempFile()).getTempName)());

@@ -1,1 +0,1 @@

{"version":3,"file":"binDownload.js","sourceRoot":"","sources":["../src/binDownload.ts"],"names":[],"mappings":"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","sourcesContent":["import { path7za } from \"7zip-bin\"\nimport BluebirdPromise from \"bluebird-lst\"\nimport { CancellationToken, DownloadOptions } from \"builder-util-runtime\"\nimport { emptyDir, rename, unlink } from \"fs-extra-p\"\nimport * as path from \"path\"\nimport { getTempName } from \"temp-file\"\nimport { statOrNull } from \"./fs\"\nimport { httpExecutor } from \"./nodeHttpExecutor\"\nimport { debug7zArgs, getCacheDirectory, log, spawn } from \"./util\"\n\nconst versionToPromise = new Map<string, BluebirdPromise<string>>()\n\nexport function getBinFromBintray(name: string, version: string, sha2: string): Promise<string> {\n const dirName = `${name}-${version}`\n return getBin(name, dirName, `https://dl.bintray.com/electron-userland/bin/${dirName}.7z`, sha2)\n}\n\nexport function getBinFromGithub(name: string, version: string, checksum: string): Promise<string> {\n const dirName = `${name}-${version}`\n return getBin(name, dirName, `https://github.com/electron-userland/electron-builder-binaries/releases/download/${dirName}/${dirName}.7z`, checksum)\n}\n\nexport function getBin(name: string, dirName: string, url: string, checksum: string): Promise<string> {\n let promise = versionToPromise.get(dirName)\n // if rejected, we will try to download again\n if (promise != null && !promise.isRejected()) {\n return promise\n }\n\n promise = doGetBin(name, dirName, url, checksum) as BluebirdPromise<string>\n versionToPromise.set(dirName, promise)\n return promise\n}\n\n// we cache in the global location - in the home dir, not in the node_modules/.cache (https://www.npmjs.com/package/find-cache-dir) because\n// * don't need to find node_modules\n// * don't pollute user project dir (important in case of 1-package.json project structure)\n// * simplify/speed-up tests (don't download fpm for each test project)\nasync function doGetBin(name: string, dirName: string, url: string, checksum: string): Promise<string> {\n const cachePath = path.join(getCacheDirectory(), name)\n const dirPath = path.join(cachePath, dirName)\n\n const logFlags = {path: dirPath}\n\n const dirStat = await statOrNull(dirPath)\n //noinspection ES6MissingAwait\n if (dirStat != null && dirStat.isDirectory()) {\n log.debug(logFlags, `found existing`)\n return dirPath\n }\n\n log.info({...logFlags, url}, `downloading`)\n\n // 7z cannot be extracted from the input stream, temp file is required\n const tempUnpackDir = path.join(cachePath, getTempName())\n const archiveName = `${tempUnpackDir}.7z`\n // 7z doesn't create out dir, so, we don't create dir in parallel to download - dir creation will create parent dirs for archive file also\n await emptyDir(tempUnpackDir)\n const options: DownloadOptions = {\n skipDirCreation: true,\n cancellationToken: new CancellationToken(),\n }\n\n if (checksum.length === 64 && !checksum.includes(\"+\") && !checksum.includes(\"Z\") && !checksum.includes(\"=\")) {\n (options as any).sha2 = checksum\n }\n else {\n (options as any).sha512 = checksum\n }\n\n for (let attemptNumber = 1; attemptNumber < 4; attemptNumber++) {\n try {\n await httpExecutor.download(url, archiveName, options)\n }\n catch (e) {\n if (attemptNumber >= 3) {\n throw e\n }\n\n log.warn({...logFlags, attempt: attemptNumber}, `cannot download: ${e}`)\n await new BluebirdPromise((resolve, reject) => {\n setTimeout(() =>\n httpExecutor\n .download(url, archiveName, options)\n .then(resolve).catch(reject), 1000 * attemptNumber)\n })\n }\n }\n\n await spawn(path7za, debug7zArgs(\"x\").concat(archiveName, `-o${tempUnpackDir}`), {\n cwd: cachePath,\n })\n\n await BluebirdPromise.all([\n rename(tempUnpackDir, dirPath)\n .catch(e => log.debug({...logFlags, tempUnpackDir, e}, `cannot move downloaded into final location (another process downloaded faster?)`)),\n unlink(archiveName),\n ])\n\n log.debug(logFlags, `downloaded`)\n return dirPath\n}"]}
{"version":3,"file":"binDownload.js","sourceRoot":"","sources":["../src/binDownload.ts"],"names":[],"mappings":"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","sourcesContent":["import { path7za } from \"7zip-bin\"\nimport BluebirdPromise from \"bluebird-lst\"\nimport { CancellationToken, DownloadOptions } from \"builder-util-runtime\"\nimport { emptyDir, rename, unlink } from \"fs-extra-p\"\nimport * as path from \"path\"\nimport { getTempName } from \"temp-file\"\nimport { statOrNull } from \"./fs\"\nimport { httpExecutor } from \"./nodeHttpExecutor\"\nimport { debug7zArgs, getCacheDirectory, log, spawn } from \"./util\"\n\nconst versionToPromise = new Map<string, BluebirdPromise<string>>()\n\nexport function getBinFromBintray(name: string, version: string, sha2: string): Promise<string> {\n const dirName = `${name}-${version}`\n return getBin(name, dirName, `https://dl.bintray.com/electron-userland/bin/${dirName}.7z`, sha2)\n}\n\nexport function getBinFromGithub(name: string, version: string, checksum: string): Promise<string> {\n const dirName = `${name}-${version}`\n return getBin(name, dirName, `https://github.com/electron-userland/electron-builder-binaries/releases/download/${dirName}/${dirName}.7z`, checksum)\n}\n\nexport function getBin(name: string, dirName: string, url: string, checksum: string): Promise<string> {\n let promise = versionToPromise.get(dirName)\n // if rejected, we will try to download again\n if (promise != null && !promise.isRejected()) {\n return promise\n }\n\n promise = doGetBin(name, dirName, url, checksum) as BluebirdPromise<string>\n versionToPromise.set(dirName, promise)\n return promise\n}\n\n// we cache in the global location - in the home dir, not in the node_modules/.cache (https://www.npmjs.com/package/find-cache-dir) because\n// * don't need to find node_modules\n// * don't pollute user project dir (important in case of 1-package.json project structure)\n// * simplify/speed-up tests (don't download fpm for each test project)\nasync function doGetBin(name: string, dirName: string, url: string, checksum: string): Promise<string> {\n const cachePath = path.join(getCacheDirectory(), name)\n const dirPath = path.join(cachePath, dirName)\n\n const logFlags = {path: dirPath}\n\n const dirStat = await statOrNull(dirPath)\n if (dirStat != null && dirStat.isDirectory()) {\n log.debug(logFlags, \"found existing\")\n return dirPath\n }\n\n log.info({...logFlags, url}, \"downloading\")\n\n // 7z cannot be extracted from the input stream, temp file is required\n const tempUnpackDir = path.join(cachePath, getTempName())\n const archiveName = `${tempUnpackDir}.7z`\n // 7z doesn't create out dir, so, we don't create dir in parallel to download - dir creation will create parent dirs for archive file also\n await emptyDir(tempUnpackDir)\n const options: DownloadOptions = {\n skipDirCreation: true,\n cancellationToken: new CancellationToken(),\n }\n\n if (checksum.length === 64 && !checksum.includes(\"+\") && !checksum.includes(\"Z\") && !checksum.includes(\"=\")) {\n (options as any).sha2 = checksum\n }\n else {\n (options as any).sha512 = checksum\n }\n\n for (let attemptNumber = 1; attemptNumber < 4; attemptNumber++) {\n try {\n await httpExecutor.download(url, archiveName, options)\n }\n catch (e) {\n if (attemptNumber >= 3) {\n throw e\n }\n\n log.warn({...logFlags, attempt: attemptNumber}, `cannot download: ${e}`)\n await new BluebirdPromise((resolve, reject) => {\n setTimeout(() =>\n httpExecutor\n .download(url, archiveName, options)\n .then(resolve).catch(reject), 1000 * attemptNumber)\n })\n }\n }\n\n await spawn(path7za, debug7zArgs(\"x\").concat(archiveName, `-o${tempUnpackDir}`), {\n cwd: cachePath,\n })\n\n await BluebirdPromise.all([\n rename(tempUnpackDir, dirPath)\n .catch(e => log.debug({...logFlags, tempUnpackDir, e}, `cannot move downloaded into final location (another process downloaded faster?)`)),\n unlink(archiveName),\n ])\n\n log.debug(logFlags, `downloaded`)\n return dirPath\n}"]}
{
"name": "builder-util",
"version": "4.1.0",
"version": "4.1.1",
"main": "out/util.js",

@@ -5,0 +5,0 @@ "author": "Vladimir Krivosheev",