mirror of
https://github.com/DeterminateSystems/magic-nix-cache-action.git
synced 2024-12-26 01:12:17 +01:00
Merge pull request #47 from DeterminateSystems/debug-daemon-listen
Debug daemon listen
This commit is contained in:
commit
e8013ee4e5
5 changed files with 299 additions and 217 deletions
100
dist/index.js
generated
vendored
100
dist/index.js
generated
vendored
|
@ -93750,7 +93750,9 @@ const got = source_create(defaults);
|
|||
|
||||
;// CONCATENATED MODULE: external "node:stream/promises"
|
||||
const external_node_stream_promises_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:stream/promises");
|
||||
;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@5abcb239472d24b114a53f70800f0e42fc30819c_ey4bwtjkop43mcem42nicbf3we/node_modules/detsys-ts/dist/index.js
|
||||
;// CONCATENATED MODULE: external "node:zlib"
|
||||
const external_node_zlib_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:zlib");
|
||||
;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@b2ff406239cb9d311fa9dad332ccfee2669ce6dc_o2lwkok3rvt3rnal2ayts63upe/node_modules/detsys-ts/dist/index.js
|
||||
var __defProp = Object.defineProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
|
@ -94096,17 +94098,27 @@ function getNixPlatform(archOs) {
|
|||
// src/inputs.ts
|
||||
var inputs_exports = {};
|
||||
__export(inputs_exports, {
|
||||
getArrayOfStrings: () => getArrayOfStrings,
|
||||
getBool: () => getBool,
|
||||
getMultilineStringOrNull: () => getMultilineStringOrNull,
|
||||
getNumberOrNull: () => getNumberOrNull,
|
||||
getString: () => getString,
|
||||
getStringOrNull: () => getStringOrNull,
|
||||
getStringOrUndefined: () => getStringOrUndefined
|
||||
getStringOrUndefined: () => getStringOrUndefined,
|
||||
handleString: () => handleString
|
||||
});
|
||||
|
||||
var getBool = (name) => {
|
||||
return core.getBooleanInput(name);
|
||||
};
|
||||
var getArrayOfStrings = (name, separator) => {
|
||||
const original = getString(name);
|
||||
return handleString(original, separator);
|
||||
};
|
||||
var handleString = (input, separator) => {
|
||||
const sepChar = separator === "comma" ? "," : /\s+/;
|
||||
return input.trim().split(sepChar).map((s) => s.trim());
|
||||
};
|
||||
var getMultilineStringOrNull = (name) => {
|
||||
const value = core.getMultilineInput(name);
|
||||
if (value.length === 0) {
|
||||
|
@ -94186,18 +94198,24 @@ function constructSourceParameters(legacyPrefix) {
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
var DEFAULT_IDS_HOST = "https://install.determinate.systems";
|
||||
var IDS_HOST = process.env["IDS_HOST"] ?? DEFAULT_IDS_HOST;
|
||||
var EVENT_EXCEPTION = "exception";
|
||||
var EVENT_ARTIFACT_CACHE_HIT = "artifact_cache_hit";
|
||||
var EVENT_ARTIFACT_CACHE_MISS = "artifact_cache_miss";
|
||||
var EVENT_ARTIFACT_CACHE_PERSIST = "artifact_cache_persist";
|
||||
var FACT_ENDED_WITH_EXCEPTION = "ended_with_exception";
|
||||
var FACT_FINAL_EXCEPTION = "final_exception";
|
||||
var FACT_SOURCE_URL = "source_url";
|
||||
var FACT_SOURCE_URL_ETAG = "source_url_etag";
|
||||
var IdsToolbox = class {
|
||||
constructor(actionOptions) {
|
||||
this.actionOptions = makeOptionsConfident(actionOptions);
|
||||
this.hookMain = void 0;
|
||||
this.hookPost = void 0;
|
||||
this.exceptionAttachments = /* @__PURE__ */ new Map();
|
||||
this.events = [];
|
||||
this.client = got_dist_source.extend({
|
||||
retry: {
|
||||
|
@ -94276,6 +94294,17 @@ var IdsToolbox = class {
|
|||
);
|
||||
this.recordEvent(`begin_${this.executionPhase}`);
|
||||
}
|
||||
/**
|
||||
* Attach a file to the diagnostics data in error conditions.
|
||||
*
|
||||
* The file at `location` doesn't need to exist when stapleFile is called.
|
||||
*
|
||||
* If the file doesn't exist or is unreadable when trying to staple the attachments, the JS error will be stored in a context value at `staple_failure_{name}`.
|
||||
* If the file is readable, the file's contents will be stored in a context value at `staple_value_{name}`.
|
||||
*/
|
||||
stapleFile(name, location) {
|
||||
this.exceptionAttachments.set(name, location);
|
||||
}
|
||||
onMain(callback) {
|
||||
this.hookMain = callback;
|
||||
}
|
||||
|
@ -94288,6 +94317,9 @@ var IdsToolbox = class {
|
|||
process.exitCode = 1;
|
||||
});
|
||||
}
|
||||
stringifyError(error2) {
|
||||
return error2 instanceof Error || typeof error2 == "string" ? error2.toString() : JSON.stringify(error2);
|
||||
}
|
||||
async executeAsync() {
|
||||
try {
|
||||
process.env.DETSYS_CORRELATION = JSON.stringify(
|
||||
|
@ -94305,14 +94337,31 @@ var IdsToolbox = class {
|
|||
this.addFact(FACT_ENDED_WITH_EXCEPTION, false);
|
||||
} catch (error2) {
|
||||
this.addFact(FACT_ENDED_WITH_EXCEPTION, true);
|
||||
const reportable = error2 instanceof Error || typeof error2 == "string" ? error2.toString() : JSON.stringify(error2);
|
||||
const reportable = this.stringifyError(error2);
|
||||
this.addFact(FACT_FINAL_EXCEPTION, reportable);
|
||||
if (this.executionPhase === "post") {
|
||||
core.warning(reportable);
|
||||
} else {
|
||||
core.setFailed(reportable);
|
||||
}
|
||||
this.recordEvent(EVENT_EXCEPTION);
|
||||
const do_gzip = (0,external_node_util_.promisify)(external_node_zlib_namespaceObject.gzip);
|
||||
const exceptionContext = /* @__PURE__ */ new Map();
|
||||
for (const [attachmentLabel, filePath] of this.exceptionAttachments) {
|
||||
try {
|
||||
const logText = (0,external_node_fs_namespaceObject.readFileSync)(filePath);
|
||||
const buf = await do_gzip(logText);
|
||||
exceptionContext.set(
|
||||
`staple_value_${attachmentLabel}`,
|
||||
buf.toString("base64")
|
||||
);
|
||||
} catch (e) {
|
||||
exceptionContext.set(
|
||||
`staple_failure_${attachmentLabel}`,
|
||||
this.stringifyError(e)
|
||||
);
|
||||
}
|
||||
}
|
||||
this.recordEvent(EVENT_EXCEPTION, Object.fromEntries(exceptionContext));
|
||||
} finally {
|
||||
await this.complete();
|
||||
}
|
||||
|
@ -94354,6 +94403,7 @@ var IdsToolbox = class {
|
|||
const versionCheckup = await this.client.head(correlatedUrl);
|
||||
if (versionCheckup.headers.etag) {
|
||||
const v = versionCheckup.headers.etag;
|
||||
this.addFact(FACT_SOURCE_URL_ETAG, v);
|
||||
core.debug(
|
||||
`Checking the tool cache for ${this.getUrl()} at ${v}`
|
||||
);
|
||||
|
@ -94402,6 +94452,7 @@ var IdsToolbox = class {
|
|||
getUrl() {
|
||||
const p = this.sourceParameters;
|
||||
if (p.url) {
|
||||
this.addFact(FACT_SOURCE_URL, p.url);
|
||||
return new URL(p.url);
|
||||
}
|
||||
const fetchUrl = new URL(IDS_HOST);
|
||||
|
@ -94418,6 +94469,7 @@ var IdsToolbox = class {
|
|||
fetchUrl.pathname += `/stable`;
|
||||
}
|
||||
fetchUrl.pathname += `/${this.architectureFetchSuffix}`;
|
||||
this.addFact(FACT_SOURCE_URL, fetchUrl.toString());
|
||||
return fetchUrl;
|
||||
}
|
||||
cacheKey(version2) {
|
||||
|
@ -94465,7 +94517,7 @@ var IdsToolbox = class {
|
|||
void 0,
|
||||
true
|
||||
);
|
||||
this.recordEvent(EVENT_ARTIFACT_CACHE_HIT);
|
||||
this.recordEvent(EVENT_ARTIFACT_CACHE_PERSIST);
|
||||
} finally {
|
||||
process.env.GITHUB_WORKSPACE = process.env.GITHUB_WORKSPACE_BACKUP;
|
||||
delete process.env.GITHUB_WORKSPACE_BACKUP;
|
||||
|
@ -94690,6 +94742,8 @@ async function flakeHubLogin(netrc) {
|
|||
|
||||
|
||||
var ENV_CACHE_DAEMONDIR = "MAGIC_NIX_CACHE_DAEMONDIR";
|
||||
var ENV_CACHE_STARTED = "MAGIC_NIX_CACHE_STARTED";
|
||||
var STARTED_HINT = "true";
|
||||
var MagicNixCacheAction = class {
|
||||
constructor() {
|
||||
this.idslib = new IdsToolbox({
|
||||
|
@ -94713,9 +94767,20 @@ var MagicNixCacheAction = class {
|
|||
]
|
||||
}
|
||||
});
|
||||
this.daemonStarted = process.env[ENV_CACHE_STARTED] === STARTED_HINT;
|
||||
if (process.env[ENV_CACHE_DAEMONDIR]) {
|
||||
this.daemonDir = process.env[ENV_CACHE_DAEMONDIR];
|
||||
} else {
|
||||
this.daemonDir = this.idslib.getTemporaryName();
|
||||
(0,external_node_fs_namespaceObject.mkdirSync)(this.daemonDir);
|
||||
core.exportVariable(ENV_CACHE_DAEMONDIR, this.daemonDir);
|
||||
}
|
||||
this.idslib.stapleFile(
|
||||
"daemon.log",
|
||||
external_node_path_namespaceObject.join(this.daemonDir, "daemon.log")
|
||||
);
|
||||
}
|
||||
async setUpAutoCache() {
|
||||
const tmpdir3 = process.env["RUNNER_TEMP"] || external_node_os_.tmpdir();
|
||||
const requiredEnv = [
|
||||
"ACTIONS_CACHE_URL",
|
||||
"ACTIONS_RUNTIME_URL",
|
||||
|
@ -94736,7 +94801,8 @@ var MagicNixCacheAction = class {
|
|||
core.debug(
|
||||
`GitHub Action Cache URL: ${process.env["ACTIONS_CACHE_URL"]}`
|
||||
);
|
||||
const daemonDir = await promises_namespaceObject.mkdtemp(external_node_path_namespaceObject.join(tmpdir3, "magic-nix-cache-"));
|
||||
this.daemonStarted = true;
|
||||
core.exportVariable(ENV_CACHE_STARTED, STARTED_HINT);
|
||||
const sourceBinary = inputs_exports.getStringOrNull("source-binary");
|
||||
const daemonBin = sourceBinary !== null ? sourceBinary : await this.fetchAutoCacher();
|
||||
let runEnv;
|
||||
|
@ -94768,9 +94834,9 @@ var MagicNixCacheAction = class {
|
|||
});
|
||||
});
|
||||
});
|
||||
const outputPath = `${daemonDir}/daemon.log`;
|
||||
const outputPath = `${this.daemonDir}/daemon.log`;
|
||||
const output = (0,external_node_fs_namespaceObject.openSync)(outputPath, "a");
|
||||
const log = tailLog(daemonDir);
|
||||
const log = tailLog(this.daemonDir);
|
||||
const netrc = await netrcPath();
|
||||
const nixConfPath = `${process.env["HOME"]}/.config/nix/nix.conf`;
|
||||
const hostAndPort = inputs_exports.getString("listen");
|
||||
|
@ -94813,7 +94879,7 @@ var MagicNixCacheAction = class {
|
|||
core.debug("Full daemon start command:");
|
||||
core.debug(`${daemonBin} ${daemonCliFlags.join(" ")}`);
|
||||
const daemon = (0,external_node_child_process_namespaceObject.spawn)(daemonBin, daemonCliFlags, opts);
|
||||
const pidFile = external_node_path_namespaceObject.join(daemonDir, "daemon.pid");
|
||||
const pidFile = external_node_path_namespaceObject.join(this.daemonDir, "daemon.pid");
|
||||
await promises_namespaceObject.writeFile(pidFile, `${daemon.pid}`);
|
||||
core.info("Waiting for magic-nix-cache to start...");
|
||||
await new Promise((resolve, reject) => {
|
||||
|
@ -94834,7 +94900,6 @@ var MagicNixCacheAction = class {
|
|||
});
|
||||
daemon.unref();
|
||||
core.info("Launched Magic Nix Cache");
|
||||
core.exportVariable(ENV_CACHE_DAEMONDIR, daemonDir);
|
||||
log.unwatch();
|
||||
}
|
||||
async fetchAutoCacher() {
|
||||
|
@ -94848,8 +94913,8 @@ var MagicNixCacheAction = class {
|
|||
return `${lastPath}/bin/magic-nix-cache`;
|
||||
}
|
||||
async notifyAutoCache() {
|
||||
const daemonDir = process.env[ENV_CACHE_DAEMONDIR];
|
||||
if (!daemonDir) {
|
||||
if (!this.daemonStarted) {
|
||||
core.debug("magic-nix-cache not started - Skipping");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
|
@ -94864,18 +94929,17 @@ var MagicNixCacheAction = class {
|
|||
}
|
||||
}
|
||||
async tearDownAutoCache() {
|
||||
const daemonDir = process.env[ENV_CACHE_DAEMONDIR];
|
||||
if (!daemonDir) {
|
||||
if (!this.daemonStarted) {
|
||||
core.debug("magic-nix-cache not started - Skipping");
|
||||
return;
|
||||
}
|
||||
const pidFile = external_node_path_namespaceObject.join(daemonDir, "daemon.pid");
|
||||
const pidFile = external_node_path_namespaceObject.join(this.daemonDir, "daemon.pid");
|
||||
const pid = parseInt(await promises_namespaceObject.readFile(pidFile, { encoding: "ascii" }));
|
||||
core.debug(`found daemon pid: ${pid}`);
|
||||
if (!pid) {
|
||||
throw new Error("magic-nix-cache did not start successfully");
|
||||
}
|
||||
const log = tailLog(daemonDir);
|
||||
const log = tailLog(this.daemonDir);
|
||||
try {
|
||||
core.debug(`about to post to localhost`);
|
||||
const hostAndPort = inputs_exports.getString("listen");
|
||||
|
@ -94895,7 +94959,7 @@ var MagicNixCacheAction = class {
|
|||
} finally {
|
||||
if (core.isDebug()) {
|
||||
core.info("Entire log:");
|
||||
const entireLog = (0,external_node_fs_namespaceObject.readFileSync)(external_node_path_namespaceObject.join(daemonDir, "daemon.log"));
|
||||
const entireLog = (0,external_node_fs_namespaceObject.readFileSync)(external_node_path_namespaceObject.join(this.daemonDir, "daemon.log"));
|
||||
core.info(entireLog.toString());
|
||||
}
|
||||
}
|
||||
|
|
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
|
@ -33,10 +33,10 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
|
||||
"@types/node": "^20.12.7",
|
||||
"@types/node": "^20.12.9",
|
||||
"@types/tail": "^2.2.3",
|
||||
"@types/uuid": "^9.0.8",
|
||||
"@typescript-eslint/eslint-plugin": "^7.7.1",
|
||||
"@typescript-eslint/eslint-plugin": "^7.8.0",
|
||||
"@vercel/ncc": "^0.38.1",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
|
|
361
pnpm-lock.yaml
361
pnpm-lock.yaml
|
@ -13,7 +13,7 @@ dependencies:
|
|||
version: 1.1.1
|
||||
detsys-ts:
|
||||
specifier: github:DeterminateSystems/detsys-ts
|
||||
version: github.com/DeterminateSystems/detsys-ts/5abcb239472d24b114a53f70800f0e42fc30819c
|
||||
version: github.com/DeterminateSystems/detsys-ts/b2ff406239cb9d311fa9dad332ccfee2669ce6dc
|
||||
got:
|
||||
specifier: ^14.2.1
|
||||
version: 14.2.1
|
||||
|
@ -26,8 +26,8 @@ devDependencies:
|
|||
specifier: ^4.3.0
|
||||
version: 4.3.0(prettier@3.2.5)
|
||||
'@types/node':
|
||||
specifier: ^20.12.7
|
||||
version: 20.12.7
|
||||
specifier: ^20.12.9
|
||||
version: 20.12.9
|
||||
'@types/tail':
|
||||
specifier: ^2.2.3
|
||||
version: 2.2.3
|
||||
|
@ -35,8 +35,8 @@ devDependencies:
|
|||
specifier: ^9.0.8
|
||||
version: 9.0.8
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
specifier: ^7.7.1
|
||||
version: 7.7.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0)(typescript@5.4.5)
|
||||
specifier: ^7.8.0
|
||||
version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@vercel/ncc':
|
||||
specifier: ^0.38.1
|
||||
version: 0.38.1
|
||||
|
@ -45,13 +45,13 @@ devDependencies:
|
|||
version: 8.57.0
|
||||
eslint-import-resolver-typescript:
|
||||
specifier: ^3.6.1
|
||||
version: 3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
version: 3.6.1(@typescript-eslint/parser@7.8.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
eslint-plugin-github:
|
||||
specifier: ^4.10.2
|
||||
version: 4.10.2(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.4.5)
|
||||
eslint-plugin-import:
|
||||
specifier: ^2.29.1
|
||||
version: 2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
version: 2.29.1(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-prettier:
|
||||
specifier: ^5.1.3
|
||||
version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5)
|
||||
|
@ -67,11 +67,6 @@ devDependencies:
|
|||
|
||||
packages:
|
||||
|
||||
/@aashutoshrathi/word-wrap@1.2.6:
|
||||
resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/@actions/cache@3.2.4:
|
||||
resolution: {integrity: sha512-RuHnwfcDagtX+37s0ZWy7clbOfnZ7AlDJQ7k/9rzt2W4Gnwde3fa/qjSjVuz4vLcLIpc7fUob27CMrqiWZytYA==}
|
||||
dependencies:
|
||||
|
@ -240,7 +235,7 @@ packages:
|
|||
resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/highlight': 7.24.2
|
||||
'@babel/highlight': 7.24.5
|
||||
picocolors: 1.0.0
|
||||
dev: true
|
||||
|
||||
|
@ -253,11 +248,11 @@ packages:
|
|||
source-map: 0.5.7
|
||||
dev: true
|
||||
|
||||
/@babel/generator@7.24.4:
|
||||
resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==}
|
||||
/@babel/generator@7.24.5:
|
||||
resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.24.0
|
||||
'@babel/types': 7.24.5
|
||||
'@jridgewell/gen-mapping': 0.3.5
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
jsesc: 2.5.2
|
||||
|
@ -273,21 +268,21 @@ packages:
|
|||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/template': 7.24.0
|
||||
'@babel/types': 7.24.0
|
||||
'@babel/types': 7.24.5
|
||||
dev: true
|
||||
|
||||
/@babel/helper-hoist-variables@7.22.5:
|
||||
resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.24.0
|
||||
'@babel/types': 7.24.5
|
||||
dev: true
|
||||
|
||||
/@babel/helper-split-export-declaration@7.22.6:
|
||||
resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
|
||||
/@babel/helper-split-export-declaration@7.24.5:
|
||||
resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.24.0
|
||||
'@babel/types': 7.24.5
|
||||
dev: true
|
||||
|
||||
/@babel/helper-string-parser@7.24.1:
|
||||
|
@ -295,31 +290,31 @@ packages:
|
|||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/helper-validator-identifier@7.22.20:
|
||||
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
|
||||
/@babel/helper-validator-identifier@7.24.5:
|
||||
resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/highlight@7.24.2:
|
||||
resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
|
||||
/@babel/highlight@7.24.5:
|
||||
resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/helper-validator-identifier': 7.22.20
|
||||
'@babel/helper-validator-identifier': 7.24.5
|
||||
chalk: 2.4.2
|
||||
js-tokens: 4.0.0
|
||||
picocolors: 1.0.0
|
||||
dev: true
|
||||
|
||||
/@babel/parser@7.24.4:
|
||||
resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
|
||||
/@babel/parser@7.24.5:
|
||||
resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@babel/types': 7.17.0
|
||||
dev: true
|
||||
|
||||
/@babel/runtime@7.24.4:
|
||||
resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==}
|
||||
/@babel/runtime@7.24.5:
|
||||
resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
regenerator-runtime: 0.14.1
|
||||
|
@ -330,8 +325,8 @@ packages:
|
|||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.24.2
|
||||
'@babel/parser': 7.24.4
|
||||
'@babel/types': 7.24.0
|
||||
'@babel/parser': 7.24.5
|
||||
'@babel/types': 7.24.5
|
||||
dev: true
|
||||
|
||||
/@babel/traverse@7.23.2:
|
||||
|
@ -339,13 +334,13 @@ packages:
|
|||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.24.2
|
||||
'@babel/generator': 7.24.4
|
||||
'@babel/generator': 7.24.5
|
||||
'@babel/helper-environment-visitor': 7.22.20
|
||||
'@babel/helper-function-name': 7.23.0
|
||||
'@babel/helper-hoist-variables': 7.22.5
|
||||
'@babel/helper-split-export-declaration': 7.22.6
|
||||
'@babel/parser': 7.24.4
|
||||
'@babel/types': 7.24.0
|
||||
'@babel/helper-split-export-declaration': 7.24.5
|
||||
'@babel/parser': 7.24.5
|
||||
'@babel/types': 7.24.5
|
||||
debug: 4.3.4
|
||||
globals: 11.12.0
|
||||
transitivePeerDependencies:
|
||||
|
@ -356,16 +351,16 @@ packages:
|
|||
resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/helper-validator-identifier': 7.22.20
|
||||
'@babel/helper-validator-identifier': 7.24.5
|
||||
to-fast-properties: 2.0.0
|
||||
dev: true
|
||||
|
||||
/@babel/types@7.24.0:
|
||||
resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
|
||||
/@babel/types@7.24.5:
|
||||
resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/helper-string-parser': 7.24.1
|
||||
'@babel/helper-validator-identifier': 7.22.20
|
||||
'@babel/helper-validator-identifier': 7.24.5
|
||||
to-fast-properties: 2.0.0
|
||||
dev: true
|
||||
|
||||
|
@ -722,128 +717,128 @@ packages:
|
|||
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/@rollup/rollup-android-arm-eabi@4.16.4:
|
||||
resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==}
|
||||
/@rollup/rollup-android-arm-eabi@4.17.2:
|
||||
resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-android-arm64@4.16.4:
|
||||
resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==}
|
||||
/@rollup/rollup-android-arm64@4.17.2:
|
||||
resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-darwin-arm64@4.16.4:
|
||||
resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==}
|
||||
/@rollup/rollup-darwin-arm64@4.17.2:
|
||||
resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-darwin-x64@4.16.4:
|
||||
resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==}
|
||||
/@rollup/rollup-darwin-x64@4.17.2:
|
||||
resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-arm-gnueabihf@4.16.4:
|
||||
resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==}
|
||||
/@rollup/rollup-linux-arm-gnueabihf@4.17.2:
|
||||
resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-arm-musleabihf@4.16.4:
|
||||
resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==}
|
||||
/@rollup/rollup-linux-arm-musleabihf@4.17.2:
|
||||
resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-arm64-gnu@4.16.4:
|
||||
resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==}
|
||||
/@rollup/rollup-linux-arm64-gnu@4.17.2:
|
||||
resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-arm64-musl@4.16.4:
|
||||
resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==}
|
||||
/@rollup/rollup-linux-arm64-musl@4.17.2:
|
||||
resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-powerpc64le-gnu@4.16.4:
|
||||
resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==}
|
||||
/@rollup/rollup-linux-powerpc64le-gnu@4.17.2:
|
||||
resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-riscv64-gnu@4.16.4:
|
||||
resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==}
|
||||
/@rollup/rollup-linux-riscv64-gnu@4.17.2:
|
||||
resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-s390x-gnu@4.16.4:
|
||||
resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==}
|
||||
/@rollup/rollup-linux-s390x-gnu@4.17.2:
|
||||
resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-x64-gnu@4.16.4:
|
||||
resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==}
|
||||
/@rollup/rollup-linux-x64-gnu@4.17.2:
|
||||
resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-x64-musl@4.16.4:
|
||||
resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==}
|
||||
/@rollup/rollup-linux-x64-musl@4.17.2:
|
||||
resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-win32-arm64-msvc@4.16.4:
|
||||
resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==}
|
||||
/@rollup/rollup-win32-arm64-msvc@4.17.2:
|
||||
resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-win32-ia32-msvc@4.16.4:
|
||||
resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==}
|
||||
/@rollup/rollup-win32-ia32-msvc@4.17.2:
|
||||
resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-win32-x64-msvc@4.16.4:
|
||||
resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==}
|
||||
/@rollup/rollup-win32-x64-msvc@4.17.2:
|
||||
resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
|
@ -872,7 +867,7 @@ packages:
|
|||
optional: true
|
||||
dependencies:
|
||||
'@babel/generator': 7.17.7
|
||||
'@babel/parser': 7.24.4
|
||||
'@babel/parser': 7.24.5
|
||||
'@babel/traverse': 7.23.2
|
||||
'@babel/types': 7.17.0
|
||||
javascript-natural-sort: 0.7.1
|
||||
|
@ -901,12 +896,12 @@ packages:
|
|||
/@types/node-fetch@2.6.11:
|
||||
resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==}
|
||||
dependencies:
|
||||
'@types/node': 20.12.7
|
||||
'@types/node': 20.12.9
|
||||
form-data: 4.0.0
|
||||
dev: false
|
||||
|
||||
/@types/node@20.12.7:
|
||||
resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==}
|
||||
/@types/node@20.12.9:
|
||||
resolution: {integrity: sha512-o93r47yu04MHumPBCFg0bMPBMNgtMg3jzbhl7e68z50+BMHmRMGDJv13eBlUgOdc9i/uoJXGMGYLtJV4ReTXEg==}
|
||||
dependencies:
|
||||
undici-types: 5.26.5
|
||||
|
||||
|
@ -921,15 +916,15 @@ packages:
|
|||
/@types/tunnel@0.0.3:
|
||||
resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==}
|
||||
dependencies:
|
||||
'@types/node': 20.12.7
|
||||
'@types/node': 20.12.9
|
||||
dev: false
|
||||
|
||||
/@types/uuid@9.0.8:
|
||||
resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==}
|
||||
/@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': ^7.0.0
|
||||
|
@ -940,11 +935,11 @@ packages:
|
|||
optional: true
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.10.0
|
||||
'@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.7.1
|
||||
'@typescript-eslint/type-utils': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.7.1
|
||||
'@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.8.0
|
||||
'@typescript-eslint/type-utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.8.0
|
||||
debug: 4.3.4
|
||||
eslint: 8.57.0
|
||||
graphemer: 1.4.0
|
||||
|
@ -957,8 +952,8 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==}
|
||||
/@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
|
@ -967,10 +962,10 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 7.7.1
|
||||
'@typescript-eslint/types': 7.7.1
|
||||
'@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.7.1
|
||||
'@typescript-eslint/scope-manager': 7.8.0
|
||||
'@typescript-eslint/types': 7.8.0
|
||||
'@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.8.0
|
||||
debug: 4.3.4
|
||||
eslint: 8.57.0
|
||||
typescript: 5.4.5
|
||||
|
@ -978,16 +973,16 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/scope-manager@7.7.1:
|
||||
resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==}
|
||||
/@typescript-eslint/scope-manager@7.8.0:
|
||||
resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.7.1
|
||||
'@typescript-eslint/visitor-keys': 7.7.1
|
||||
'@typescript-eslint/types': 7.8.0
|
||||
'@typescript-eslint/visitor-keys': 7.8.0
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/type-utils@7.7.1(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==}
|
||||
/@typescript-eslint/type-utils@7.8.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
|
@ -996,8 +991,8 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
debug: 4.3.4
|
||||
eslint: 8.57.0
|
||||
ts-api-utils: 1.3.0(typescript@5.4.5)
|
||||
|
@ -1006,13 +1001,13 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/types@7.7.1:
|
||||
resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==}
|
||||
/@typescript-eslint/types@7.8.0:
|
||||
resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==}
|
||||
/@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
|
@ -1020,8 +1015,8 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.7.1
|
||||
'@typescript-eslint/visitor-keys': 7.7.1
|
||||
'@typescript-eslint/types': 7.8.0
|
||||
'@typescript-eslint/visitor-keys': 7.8.0
|
||||
debug: 4.3.4
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
|
@ -1033,8 +1028,8 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/utils@7.7.1(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==}
|
||||
/@typescript-eslint/utils@7.8.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
|
@ -1042,9 +1037,9 @@ packages:
|
|||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||
'@types/json-schema': 7.0.15
|
||||
'@types/semver': 7.5.8
|
||||
'@typescript-eslint/scope-manager': 7.7.1
|
||||
'@typescript-eslint/types': 7.7.1
|
||||
'@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.8.0
|
||||
'@typescript-eslint/types': 7.8.0
|
||||
'@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
|
||||
eslint: 8.57.0
|
||||
semver: 7.6.0
|
||||
transitivePeerDependencies:
|
||||
|
@ -1052,11 +1047,11 @@ packages:
|
|||
- typescript
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/visitor-keys@7.7.1:
|
||||
resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==}
|
||||
/@typescript-eslint/visitor-keys@7.8.0:
|
||||
resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.7.1
|
||||
'@typescript-eslint/types': 7.8.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
dev: true
|
||||
|
||||
|
@ -1279,14 +1274,14 @@ packages:
|
|||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001612
|
||||
electron-to-chromium: 1.4.749
|
||||
caniuse-lite: 1.0.30001616
|
||||
electron-to-chromium: 1.4.756
|
||||
node-releases: 2.0.14
|
||||
update-browserslist-db: 1.0.13(browserslist@4.23.0)
|
||||
update-browserslist-db: 1.0.15(browserslist@4.23.0)
|
||||
dev: true
|
||||
|
||||
/bundle-require@4.0.3(esbuild@0.19.12):
|
||||
resolution: {integrity: sha512-2iscZ3fcthP2vka4Y7j277YJevwmsby/FpFDwjgw34Nl7dtCpt7zz/4TexmHMzY6KZEih7En9ImlbbgUNNQGtA==}
|
||||
/bundle-require@4.1.0(esbuild@0.19.12):
|
||||
resolution: {integrity: sha512-FeArRFM+ziGkRViKRnSTbHZc35dgmR9yNog05Kn0+ItI59pOAISGvnnIwW1WgFZQW59IxD9QpJnUPkdIPfZuXg==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
peerDependencies:
|
||||
esbuild: '>=0.17'
|
||||
|
@ -1334,8 +1329,8 @@ packages:
|
|||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/caniuse-lite@1.0.30001612:
|
||||
resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==}
|
||||
/caniuse-lite@1.0.30001616:
|
||||
resolution: {integrity: sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==}
|
||||
dev: true
|
||||
|
||||
/chalk@2.4.2:
|
||||
|
@ -1538,8 +1533,8 @@ packages:
|
|||
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
||||
dev: true
|
||||
|
||||
/electron-to-chromium@1.4.749:
|
||||
resolution: {integrity: sha512-LRMMrM9ITOvue0PoBrvNIraVmuDbJV5QC9ierz/z5VilMdPOVMjOtpICNld3PuXuTZ3CHH/UPxX9gHhAPwi+0Q==}
|
||||
/electron-to-chromium@1.4.756:
|
||||
resolution: {integrity: sha512-RJKZ9+vEBMeiPAvKNWyZjuYyUqMndcP1f335oHqn3BEQbs2NFtVrnK5+6Xg5wSM9TknNNpWghGDUCKGYF+xWXw==}
|
||||
dev: true
|
||||
|
||||
/emoji-regex@8.0.0:
|
||||
|
@ -1577,7 +1572,7 @@ packages:
|
|||
function.prototype.name: 1.1.6
|
||||
get-intrinsic: 1.2.4
|
||||
get-symbol-description: 1.0.2
|
||||
globalthis: 1.0.3
|
||||
globalthis: 1.0.4
|
||||
gopd: 1.0.1
|
||||
has-property-descriptors: 1.0.2
|
||||
has-proto: 1.0.3
|
||||
|
@ -1633,7 +1628,7 @@ packages:
|
|||
es-set-tostringtag: 2.0.3
|
||||
function-bind: 1.1.2
|
||||
get-intrinsic: 1.2.4
|
||||
globalthis: 1.0.3
|
||||
globalthis: 1.0.4
|
||||
has-property-descriptors: 1.0.2
|
||||
has-proto: 1.0.3
|
||||
has-symbols: 1.0.3
|
||||
|
@ -1738,7 +1733,7 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
|
||||
/eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.8.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
|
@ -1748,10 +1743,10 @@ packages:
|
|||
debug: 4.3.4
|
||||
enhanced-resolve: 5.16.0
|
||||
eslint: 8.57.0
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
fast-glob: 3.3.2
|
||||
get-tsconfig: 4.7.3
|
||||
get-tsconfig: 4.7.4
|
||||
is-core-module: 2.13.1
|
||||
is-glob: 4.0.3
|
||||
transitivePeerDependencies:
|
||||
|
@ -1761,7 +1756,7 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
/eslint-module-utils@2.8.1(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
|
@ -1782,11 +1777,11 @@ packages:
|
|||
eslint-import-resolver-webpack:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
debug: 3.2.7
|
||||
eslint: 8.57.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.8.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
@ -1830,8 +1825,8 @@ packages:
|
|||
eslint: ^8.0.1
|
||||
dependencies:
|
||||
'@github/browserslist-config': 1.0.0
|
||||
'@typescript-eslint/eslint-plugin': 7.7.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
aria-query: 5.3.0
|
||||
eslint: 8.57.0
|
||||
eslint-config-prettier: 9.1.0(eslint@8.57.0)
|
||||
|
@ -1839,7 +1834,7 @@ packages:
|
|||
eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0)
|
||||
eslint-plugin-filenames: 1.3.2(eslint@8.57.0)
|
||||
eslint-plugin-i18n-text: 1.0.1(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0)
|
||||
eslint-plugin-no-only-tests: 3.1.0
|
||||
eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5)
|
||||
|
@ -1863,7 +1858,7 @@ packages:
|
|||
eslint: 8.57.0
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
|
@ -1873,7 +1868,7 @@ packages:
|
|||
'@typescript-eslint/parser':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
array-includes: 3.1.8
|
||||
array.prototype.findlastindex: 1.2.5
|
||||
array.prototype.flat: 1.3.2
|
||||
|
@ -1882,7 +1877,7 @@ packages:
|
|||
doctrine: 2.1.0
|
||||
eslint: 8.57.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.13.1
|
||||
is-glob: 4.0.3
|
||||
|
@ -1904,7 +1899,7 @@ packages:
|
|||
peerDependencies:
|
||||
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
|
||||
dependencies:
|
||||
'@babel/runtime': 7.24.4
|
||||
'@babel/runtime': 7.24.5
|
||||
aria-query: 5.3.0
|
||||
array-includes: 3.1.8
|
||||
array.prototype.flatmap: 1.3.2
|
||||
|
@ -2007,7 +2002,7 @@ packages:
|
|||
lodash.merge: 4.6.2
|
||||
minimatch: 3.1.2
|
||||
natural-compare: 1.4.0
|
||||
optionator: 0.9.3
|
||||
optionator: 0.9.4
|
||||
strip-ansi: 6.0.1
|
||||
text-table: 0.2.0
|
||||
transitivePeerDependencies:
|
||||
|
@ -2236,8 +2231,8 @@ packages:
|
|||
get-intrinsic: 1.2.4
|
||||
dev: true
|
||||
|
||||
/get-tsconfig@4.7.3:
|
||||
resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==}
|
||||
/get-tsconfig@4.7.4:
|
||||
resolution: {integrity: sha512-ofbkKj+0pjXjhejr007J/fLf+sW+8H7K5GCm+msC8q3IpvgjobpyPqSRFemNyIMxklC0zeJpi7VDFna19FacvQ==}
|
||||
dependencies:
|
||||
resolve-pkg-maps: 1.0.0
|
||||
dev: true
|
||||
|
@ -2264,7 +2259,7 @@ packages:
|
|||
foreground-child: 3.1.1
|
||||
jackspeak: 2.3.6
|
||||
minimatch: 9.0.4
|
||||
minipass: 7.0.4
|
||||
minipass: 7.1.0
|
||||
path-scurry: 1.10.2
|
||||
dev: true
|
||||
|
||||
|
@ -2291,11 +2286,12 @@ packages:
|
|||
type-fest: 0.20.2
|
||||
dev: true
|
||||
|
||||
/globalthis@1.0.3:
|
||||
resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
|
||||
/globalthis@1.0.4:
|
||||
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dependencies:
|
||||
define-properties: 1.2.1
|
||||
gopd: 1.0.1
|
||||
dev: true
|
||||
|
||||
/globby@11.1.0:
|
||||
|
@ -2782,8 +2778,8 @@ packages:
|
|||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
dev: false
|
||||
|
||||
/lru-cache@10.2.1:
|
||||
resolution: {integrity: sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==}
|
||||
/lru-cache@10.2.2:
|
||||
resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==}
|
||||
engines: {node: 14 || >=16.14}
|
||||
dev: true
|
||||
|
||||
|
@ -2854,8 +2850,8 @@ packages:
|
|||
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
||||
dev: true
|
||||
|
||||
/minipass@7.0.4:
|
||||
resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
|
||||
/minipass@7.1.0:
|
||||
resolution: {integrity: sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==}
|
||||
engines: {node: '>=16 || 14 >=14.17'}
|
||||
dev: true
|
||||
|
||||
|
@ -2986,16 +2982,16 @@ packages:
|
|||
mimic-fn: 2.1.0
|
||||
dev: true
|
||||
|
||||
/optionator@0.9.3:
|
||||
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
|
||||
/optionator@0.9.4:
|
||||
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
dependencies:
|
||||
'@aashutoshrathi/word-wrap': 1.2.6
|
||||
deep-is: 0.1.4
|
||||
fast-levenshtein: 2.0.6
|
||||
levn: 0.4.1
|
||||
prelude-ls: 1.2.1
|
||||
type-check: 0.4.0
|
||||
word-wrap: 1.2.5
|
||||
dev: true
|
||||
|
||||
/p-cancelable@4.0.1:
|
||||
|
@ -3047,8 +3043,8 @@ packages:
|
|||
resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
|
||||
engines: {node: '>=16 || 14 >=14.17'}
|
||||
dependencies:
|
||||
lru-cache: 10.2.1
|
||||
minipass: 7.0.4
|
||||
lru-cache: 10.2.2
|
||||
minipass: 7.1.0
|
||||
dev: true
|
||||
|
||||
/path-type@4.0.0:
|
||||
|
@ -3088,7 +3084,7 @@ packages:
|
|||
optional: true
|
||||
dependencies:
|
||||
lilconfig: 3.1.1
|
||||
yaml: 2.4.1
|
||||
yaml: 2.4.2
|
||||
dev: true
|
||||
|
||||
/prelude-ls@1.2.1:
|
||||
|
@ -3144,7 +3140,7 @@ packages:
|
|||
es-abstract: 1.23.3
|
||||
es-errors: 1.3.0
|
||||
get-intrinsic: 1.2.4
|
||||
globalthis: 1.0.3
|
||||
globalthis: 1.0.4
|
||||
which-builtin-type: 1.1.3
|
||||
dev: true
|
||||
|
||||
|
@ -3208,29 +3204,29 @@ packages:
|
|||
glob: 7.2.3
|
||||
dev: true
|
||||
|
||||
/rollup@4.16.4:
|
||||
resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==}
|
||||
/rollup@4.17.2:
|
||||
resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
|
||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@types/estree': 1.0.5
|
||||
optionalDependencies:
|
||||
'@rollup/rollup-android-arm-eabi': 4.16.4
|
||||
'@rollup/rollup-android-arm64': 4.16.4
|
||||
'@rollup/rollup-darwin-arm64': 4.16.4
|
||||
'@rollup/rollup-darwin-x64': 4.16.4
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.16.4
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.16.4
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.16.4
|
||||
'@rollup/rollup-linux-arm64-musl': 4.16.4
|
||||
'@rollup/rollup-linux-powerpc64le-gnu': 4.16.4
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.16.4
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.16.4
|
||||
'@rollup/rollup-linux-x64-gnu': 4.16.4
|
||||
'@rollup/rollup-linux-x64-musl': 4.16.4
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.16.4
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.16.4
|
||||
'@rollup/rollup-win32-x64-msvc': 4.16.4
|
||||
'@rollup/rollup-android-arm-eabi': 4.17.2
|
||||
'@rollup/rollup-android-arm64': 4.17.2
|
||||
'@rollup/rollup-darwin-arm64': 4.17.2
|
||||
'@rollup/rollup-darwin-x64': 4.17.2
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.17.2
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.17.2
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.17.2
|
||||
'@rollup/rollup-linux-arm64-musl': 4.17.2
|
||||
'@rollup/rollup-linux-powerpc64le-gnu': 4.17.2
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.17.2
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.17.2
|
||||
'@rollup/rollup-linux-x64-gnu': 4.17.2
|
||||
'@rollup/rollup-linux-x64-musl': 4.17.2
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.17.2
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.17.2
|
||||
'@rollup/rollup-win32-x64-msvc': 4.17.2
|
||||
fsevents: 2.3.3
|
||||
dev: true
|
||||
|
||||
|
@ -3566,7 +3562,7 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
bundle-require: 4.0.3(esbuild@0.19.12)
|
||||
bundle-require: 4.1.0(esbuild@0.19.12)
|
||||
cac: 6.7.14
|
||||
chokidar: 3.6.0
|
||||
debug: 4.3.4
|
||||
|
@ -3576,7 +3572,7 @@ packages:
|
|||
joycon: 3.1.1
|
||||
postcss-load-config: 4.0.2
|
||||
resolve-from: 5.0.0
|
||||
rollup: 4.16.4
|
||||
rollup: 4.17.2
|
||||
source-map: 0.8.0-beta.0
|
||||
sucrase: 3.35.0
|
||||
tree-kill: 1.2.2
|
||||
|
@ -3672,8 +3668,8 @@ packages:
|
|||
'@fastify/busboy': 2.1.1
|
||||
dev: false
|
||||
|
||||
/update-browserslist-db@1.0.13(browserslist@4.23.0):
|
||||
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
|
||||
/update-browserslist-db@1.0.15(browserslist@4.23.0):
|
||||
resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
browserslist: '>= 4.21.0'
|
||||
|
@ -3780,6 +3776,11 @@ packages:
|
|||
isexe: 2.0.0
|
||||
dev: true
|
||||
|
||||
/word-wrap@1.2.5:
|
||||
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/wrap-ansi@7.0.0:
|
||||
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
@ -3819,8 +3820,8 @@ packages:
|
|||
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
||||
dev: true
|
||||
|
||||
/yaml@2.4.1:
|
||||
resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
|
||||
/yaml@2.4.2:
|
||||
resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==}
|
||||
engines: {node: '>= 14'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
@ -3830,8 +3831,8 @@ packages:
|
|||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
github.com/DeterminateSystems/detsys-ts/5abcb239472d24b114a53f70800f0e42fc30819c:
|
||||
resolution: {tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/5abcb239472d24b114a53f70800f0e42fc30819c}
|
||||
github.com/DeterminateSystems/detsys-ts/b2ff406239cb9d311fa9dad332ccfee2669ce6dc:
|
||||
resolution: {tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/b2ff406239cb9d311fa9dad332ccfee2669ce6dc}
|
||||
name: detsys-ts
|
||||
version: 1.0.0
|
||||
dependencies:
|
||||
|
|
49
src/index.ts
49
src/index.ts
|
@ -4,18 +4,24 @@ import { IdsToolbox, inputs } from "detsys-ts";
|
|||
import got, { Got } from "got";
|
||||
import * as http from "http";
|
||||
import { SpawnOptions, exec, spawn } from "node:child_process";
|
||||
import { openSync, readFileSync } from "node:fs";
|
||||
import { mkdirSync, openSync, readFileSync } from "node:fs";
|
||||
import * as fs from "node:fs/promises";
|
||||
import * as os from "node:os";
|
||||
import * as path from "node:path";
|
||||
import { inspect, promisify } from "node:util";
|
||||
|
||||
const ENV_CACHE_DAEMONDIR = "MAGIC_NIX_CACHE_DAEMONDIR";
|
||||
const ENV_CACHE_STARTED = "MAGIC_NIX_CACHE_STARTED";
|
||||
|
||||
const STARTED_HINT = "true";
|
||||
|
||||
class MagicNixCacheAction {
|
||||
idslib: IdsToolbox;
|
||||
private client: Got;
|
||||
|
||||
private daemonDir: string;
|
||||
private daemonStarted: boolean;
|
||||
|
||||
constructor() {
|
||||
this.idslib = new IdsToolbox({
|
||||
name: "magic-nix-cache",
|
||||
|
@ -39,10 +45,24 @@ class MagicNixCacheAction {
|
|||
],
|
||||
},
|
||||
});
|
||||
|
||||
this.daemonStarted = process.env[ENV_CACHE_STARTED] === STARTED_HINT;
|
||||
|
||||
if (process.env[ENV_CACHE_DAEMONDIR]) {
|
||||
this.daemonDir = process.env[ENV_CACHE_DAEMONDIR];
|
||||
} else {
|
||||
this.daemonDir = this.idslib.getTemporaryName();
|
||||
mkdirSync(this.daemonDir);
|
||||
actionsCore.exportVariable(ENV_CACHE_DAEMONDIR, this.daemonDir);
|
||||
}
|
||||
|
||||
this.idslib.stapleFile(
|
||||
"daemon.log",
|
||||
path.join(this.daemonDir, "daemon.log"),
|
||||
);
|
||||
}
|
||||
|
||||
async setUpAutoCache(): Promise<void> {
|
||||
const tmpdir = process.env["RUNNER_TEMP"] || os.tmpdir();
|
||||
const requiredEnv = [
|
||||
"ACTIONS_CACHE_URL",
|
||||
"ACTIONS_RUNTIME_URL",
|
||||
|
@ -67,7 +87,8 @@ class MagicNixCacheAction {
|
|||
`GitHub Action Cache URL: ${process.env["ACTIONS_CACHE_URL"]}`,
|
||||
);
|
||||
|
||||
const daemonDir = await fs.mkdtemp(path.join(tmpdir, "magic-nix-cache-"));
|
||||
this.daemonStarted = true;
|
||||
actionsCore.exportVariable(ENV_CACHE_STARTED, STARTED_HINT);
|
||||
const sourceBinary = inputs.getStringOrNull("source-binary");
|
||||
const daemonBin =
|
||||
sourceBinary !== null ? sourceBinary : await this.fetchAutoCacher();
|
||||
|
@ -106,9 +127,9 @@ class MagicNixCacheAction {
|
|||
});
|
||||
|
||||
// Start tailing the daemon log.
|
||||
const outputPath = `${daemonDir}/daemon.log`;
|
||||
const outputPath = `${this.daemonDir}/daemon.log`;
|
||||
const output = openSync(outputPath, "a");
|
||||
const log = tailLog(daemonDir);
|
||||
const log = tailLog(this.daemonDir);
|
||||
const netrc = await netrcPath();
|
||||
const nixConfPath = `${process.env["HOME"]}/.config/nix/nix.conf`;
|
||||
|
||||
|
@ -163,7 +184,7 @@ class MagicNixCacheAction {
|
|||
// Start the server. Once it is ready, it will notify us via the notification server.
|
||||
const daemon = spawn(daemonBin, daemonCliFlags, opts);
|
||||
|
||||
const pidFile = path.join(daemonDir, "daemon.pid");
|
||||
const pidFile = path.join(this.daemonDir, "daemon.pid");
|
||||
await fs.writeFile(pidFile, `${daemon.pid}`);
|
||||
|
||||
actionsCore.info("Waiting for magic-nix-cache to start...");
|
||||
|
@ -192,7 +213,6 @@ class MagicNixCacheAction {
|
|||
daemon.unref();
|
||||
|
||||
actionsCore.info("Launched Magic Nix Cache");
|
||||
actionsCore.exportVariable(ENV_CACHE_DAEMONDIR, daemonDir);
|
||||
|
||||
log.unwatch();
|
||||
}
|
||||
|
@ -211,9 +231,8 @@ class MagicNixCacheAction {
|
|||
}
|
||||
|
||||
async notifyAutoCache(): Promise<void> {
|
||||
const daemonDir = process.env[ENV_CACHE_DAEMONDIR];
|
||||
|
||||
if (!daemonDir) {
|
||||
if (!this.daemonStarted) {
|
||||
actionsCore.debug("magic-nix-cache not started - Skipping");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -232,21 +251,19 @@ class MagicNixCacheAction {
|
|||
}
|
||||
|
||||
async tearDownAutoCache(): Promise<void> {
|
||||
const daemonDir = process.env[ENV_CACHE_DAEMONDIR];
|
||||
|
||||
if (!daemonDir) {
|
||||
if (!this.daemonStarted) {
|
||||
actionsCore.debug("magic-nix-cache not started - Skipping");
|
||||
return;
|
||||
}
|
||||
|
||||
const pidFile = path.join(daemonDir, "daemon.pid");
|
||||
const pidFile = path.join(this.daemonDir, "daemon.pid");
|
||||
const pid = parseInt(await fs.readFile(pidFile, { encoding: "ascii" }));
|
||||
actionsCore.debug(`found daemon pid: ${pid}`);
|
||||
if (!pid) {
|
||||
throw new Error("magic-nix-cache did not start successfully");
|
||||
}
|
||||
|
||||
const log = tailLog(daemonDir);
|
||||
const log = tailLog(this.daemonDir);
|
||||
|
||||
try {
|
||||
actionsCore.debug(`about to post to localhost`);
|
||||
|
@ -270,7 +287,7 @@ class MagicNixCacheAction {
|
|||
} finally {
|
||||
if (actionsCore.isDebug()) {
|
||||
actionsCore.info("Entire log:");
|
||||
const entireLog = readFileSync(path.join(daemonDir, "daemon.log"));
|
||||
const entireLog = readFileSync(path.join(this.daemonDir, "daemon.log"));
|
||||
actionsCore.info(entireLog.toString());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue