mirror of
https://github.com/DeterminateSystems/magic-nix-cache-action.git
synced 2024-12-25 17:08:32 +01:00
Merge pull request #62 from DeterminateSystems/post-fail-only-in-strict-mode
Prevent the Action from failing with strict mode disabled
This commit is contained in:
commit
78a586ce0e
6 changed files with 275 additions and 223 deletions
|
@ -8,4 +8,3 @@ end_of_line = lf
|
|||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
|
|
68
dist/index.js
generated
vendored
68
dist/index.js
generated
vendored
|
@ -94091,7 +94091,7 @@ const external_node_child_process_namespaceObject = __WEBPACK_EXTERNAL_createReq
|
|||
const external_node_stream_promises_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:stream/promises");
|
||||
;// 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@fe64ba33b4bdeec0991bb65ae00420bf68b9954c_ler7zqcm5mrt635umsvjcuxcmy/node_modules/detsys-ts/dist/index.js
|
||||
;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@138ea0123a2a3c61fad2c998729b661405132119_63ifpzamfkw2vbemnszqtdfmnu/node_modules/detsys-ts/dist/index.js
|
||||
var __defProp = Object.defineProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
|
@ -94794,7 +94794,7 @@ var DetSysAction = class {
|
|||
this.nixStoreTrust = "unknown";
|
||||
this.strictMode = getBool("_internal-strict-mode");
|
||||
this.features = {};
|
||||
this.featureEventMetadata = /* @__PURE__ */ new Map();
|
||||
this.featureEventMetadata = {};
|
||||
this.events = [];
|
||||
this.client = got_dist_source.extend({
|
||||
retry: {
|
||||
|
@ -95001,7 +95001,7 @@ var DetSysAction = class {
|
|||
}
|
||||
this.features = checkin.options;
|
||||
for (const [key, feature] of Object.entries(this.features)) {
|
||||
this.featureEventMetadata.set(key, feature.variant);
|
||||
this.featureEventMetadata[key] = feature.variant;
|
||||
}
|
||||
const impactSymbol = /* @__PURE__ */ new Map([
|
||||
["none", "\u26AA"],
|
||||
|
@ -95463,15 +95463,15 @@ async function flakeHubLogin(netrc) {
|
|||
|
||||
|
||||
|
||||
|
||||
var ENV_DAEMON_DIR = "MAGIC_NIX_CACHE_DAEMONDIR";
|
||||
var FACT_ENV_VARS_PRESENT = "required_env_vars_present";
|
||||
var FACT_DIFF_STORE_ENABLED = "diff_store";
|
||||
var FACT_NOOP_MODE = "noop_mode";
|
||||
var FACT_ALREADY_RUNNING = "noop_mode";
|
||||
var STATE_DAEMONDIR = "MAGIC_NIX_CACHE_DAEMONDIR";
|
||||
var STATE_ERROR_IN_MAIN = "ERROR_IN_MAIN";
|
||||
var STATE_STARTED = "MAGIC_NIX_CACHE_STARTED";
|
||||
var STARTED_HINT = "true";
|
||||
var TEXT_NOOP = "Magic Nix Cache is already running, this workflow job is in noop mode. Is the Magic Nix Cache in the workflow twice?";
|
||||
var TEXT_ALREADY_RUNNING = "Magic Nix Cache is already running, this workflow job is in noop mode. Is the Magic Nix Cache in the workflow twice?";
|
||||
var TEXT_TRUST_UNTRUSTED = "The Nix daemon does not consider the user running this workflow to be trusted. Magic Nix Cache is disabled.";
|
||||
var TEXT_TRUST_UNKNOWN = "The Nix daemon may not consider the user running this workflow to be trusted. Magic Nix Cache may not start correctly.";
|
||||
var MagicNixCacheAction = class extends DetSysAction {
|
||||
|
@ -95510,17 +95510,17 @@ var MagicNixCacheAction = class extends DetSysAction {
|
|||
core.saveState(STATE_DAEMONDIR, this.daemonDir);
|
||||
}
|
||||
if (process.env[ENV_DAEMON_DIR] === void 0) {
|
||||
this.noopMode = false;
|
||||
this.alreadyRunning = false;
|
||||
core.exportVariable(ENV_DAEMON_DIR, this.daemonDir);
|
||||
} else {
|
||||
this.noopMode = process.env[ENV_DAEMON_DIR] !== this.daemonDir;
|
||||
this.alreadyRunning = process.env[ENV_DAEMON_DIR] !== this.daemonDir;
|
||||
}
|
||||
this.addFact(FACT_NOOP_MODE, this.noopMode);
|
||||
this.addFact(FACT_ALREADY_RUNNING, this.alreadyRunning);
|
||||
this.stapleFile("daemon.log", external_node_path_namespaceObject.join(this.daemonDir, "daemon.log"));
|
||||
}
|
||||
async main() {
|
||||
if (this.noopMode) {
|
||||
core.warning(TEXT_NOOP);
|
||||
if (this.alreadyRunning) {
|
||||
core.warning(TEXT_ALREADY_RUNNING);
|
||||
return;
|
||||
}
|
||||
if (this.nixStoreTrust === "untrusted") {
|
||||
|
@ -95533,8 +95533,14 @@ var MagicNixCacheAction = class extends DetSysAction {
|
|||
await this.notifyAutoCache();
|
||||
}
|
||||
async post() {
|
||||
if (this.noopMode) {
|
||||
core.debug(TEXT_NOOP);
|
||||
if (!this.strictMode && this.errorInMain) {
|
||||
core.warning(
|
||||
`skipping post phase due to error in main phase: ${this.errorInMain}`
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (this.alreadyRunning) {
|
||||
core.debug(TEXT_ALREADY_RUNNING);
|
||||
return;
|
||||
}
|
||||
if (this.nixStoreTrust === "untrusted") {
|
||||
|
@ -95650,12 +95656,11 @@ var MagicNixCacheAction = class extends DetSysAction {
|
|||
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) => {
|
||||
await new Promise((resolve) => {
|
||||
notifyPromise.then((_value) => {
|
||||
resolve();
|
||||
}).catch((err) => {
|
||||
const msg = `error in notifyPromise: ${err}`;
|
||||
reject(new Error(msg));
|
||||
}).catch((e) => {
|
||||
this.exitMain(`Error in notifyPromise: ${stringifyError(e)}`);
|
||||
});
|
||||
daemon.on("exit", async (code, signal) => {
|
||||
let msg;
|
||||
|
@ -95666,7 +95671,7 @@ var MagicNixCacheAction = class extends DetSysAction {
|
|||
} else {
|
||||
msg = "Daemon unexpectedly exited";
|
||||
}
|
||||
reject(new Error(msg));
|
||||
this.exitMain(msg);
|
||||
});
|
||||
});
|
||||
daemon.unref();
|
||||
|
@ -95693,10 +95698,7 @@ var MagicNixCacheAction = class extends DetSysAction {
|
|||
}
|
||||
core.debug(`back from post: ${res.body}`);
|
||||
} catch (e) {
|
||||
core.info(`Error marking the workflow as started:`);
|
||||
core.info((0,external_node_util_.inspect)(e));
|
||||
core.info(`Magic Nix Cache may not be running for this workflow.`);
|
||||
this.failOnError(`Magic Nix Cache failed to start: ${(0,external_node_util_.inspect)(e)}`);
|
||||
this.exitMain(`Error starting the Magic Nix Cache: ${stringifyError(e)}`);
|
||||
}
|
||||
}
|
||||
async tearDownAutoCache() {
|
||||
|
@ -95728,12 +95730,14 @@ var MagicNixCacheAction = class extends DetSysAction {
|
|||
core.debug(`unwatching the daemon log`);
|
||||
log.unwatch();
|
||||
}
|
||||
core.debug(`killing`);
|
||||
core.debug(`killing daemon process ${pid}`);
|
||||
try {
|
||||
process.kill(pid, "SIGTERM");
|
||||
} catch (e) {
|
||||
if (typeof e === "object" && e && "code" in e && e.code !== "ESRCH") {
|
||||
throw e;
|
||||
if (this.strictMode) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
if (core.isDebug()) {
|
||||
|
@ -95743,6 +95747,22 @@ var MagicNixCacheAction = class extends DetSysAction {
|
|||
}
|
||||
}
|
||||
}
|
||||
// Exit the workflow during the main phase. If strict mode is set, fail; if not, save the error
|
||||
// message to the workflow's state and exit successfully.
|
||||
exitMain(msg) {
|
||||
if (this.strictMode) {
|
||||
core.setFailed(msg);
|
||||
} else {
|
||||
core.saveState(STATE_ERROR_IN_MAIN, msg);
|
||||
process.exit(0);
|
||||
}
|
||||
}
|
||||
// If the main phase threw an error (not in strict mode), this will be a non-empty
|
||||
// string available in the post phase.
|
||||
get errorInMain() {
|
||||
const state = core.getState(STATE_ERROR_IN_MAIN);
|
||||
return state !== "" ? state : void 0;
|
||||
}
|
||||
};
|
||||
function main() {
|
||||
new MagicNixCacheAction().execute();
|
||||
|
|
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,18 +33,18 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
|
||||
"@types/node": "^20.12.13",
|
||||
"@types/node": "^20.14.0",
|
||||
"@types/tail": "^2.2.3",
|
||||
"@types/uuid": "^9.0.8",
|
||||
"@typescript-eslint/eslint-plugin": "^7.11.0",
|
||||
"@typescript-eslint/eslint-plugin": "^7.12.0",
|
||||
"@vercel/ncc": "^0.38.1",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
"eslint-plugin-github": "^4.10.2",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"eslint-plugin-prettier": "^5.1.3",
|
||||
"prettier": "^3.2.5",
|
||||
"tsup": "^8.0.2",
|
||||
"prettier": "^3.3.0",
|
||||
"tsup": "^8.1.0",
|
||||
"typescript": "^5.4.5"
|
||||
}
|
||||
}
|
||||
|
|
336
pnpm-lock.yaml
336
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/fe64ba33b4bdeec0991bb65ae00420bf68b9954c
|
||||
version: github.com/DeterminateSystems/detsys-ts/138ea0123a2a3c61fad2c998729b661405132119
|
||||
got:
|
||||
specifier: ^14.3.0
|
||||
version: 14.3.0
|
||||
|
@ -24,10 +24,10 @@ dependencies:
|
|||
devDependencies:
|
||||
'@trivago/prettier-plugin-sort-imports':
|
||||
specifier: ^4.3.0
|
||||
version: 4.3.0(prettier@3.2.5)
|
||||
version: 4.3.0(prettier@3.3.0)
|
||||
'@types/node':
|
||||
specifier: ^20.12.13
|
||||
version: 20.12.13
|
||||
specifier: ^20.14.0
|
||||
version: 20.14.0
|
||||
'@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.11.0
|
||||
version: 7.11.0(@typescript-eslint/parser@7.11.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||
specifier: ^7.12.0
|
||||
version: 7.12.0(@typescript-eslint/parser@7.12.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@vercel/ncc':
|
||||
specifier: ^0.38.1
|
||||
version: 0.38.1
|
||||
|
@ -45,22 +45,22 @@ devDependencies:
|
|||
version: 8.57.0
|
||||
eslint-import-resolver-typescript:
|
||||
specifier: ^3.6.1
|
||||
version: 3.6.1(@typescript-eslint/parser@7.11.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
version: 3.6.1(@typescript-eslint/parser@7.12.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.11.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
version: 2.29.1(@typescript-eslint/parser@7.12.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)
|
||||
version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.0)
|
||||
prettier:
|
||||
specifier: ^3.2.5
|
||||
version: 3.2.5
|
||||
specifier: ^3.3.0
|
||||
version: 3.3.0
|
||||
tsup:
|
||||
specifier: ^8.0.2
|
||||
version: 8.0.2(typescript@5.4.5)
|
||||
specifier: ^8.1.0
|
||||
version: 8.1.0(typescript@5.4.5)
|
||||
typescript:
|
||||
specifier: ^5.4.5
|
||||
version: 5.4.5
|
||||
|
@ -364,8 +364,8 @@ packages:
|
|||
to-fast-properties: 2.0.0
|
||||
dev: true
|
||||
|
||||
/@esbuild/aix-ppc64@0.19.12:
|
||||
resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
|
||||
/@esbuild/aix-ppc64@0.21.4:
|
||||
resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
|
@ -373,8 +373,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-arm64@0.19.12:
|
||||
resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
|
||||
/@esbuild/android-arm64@0.21.4:
|
||||
resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
@ -382,8 +382,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-arm@0.19.12:
|
||||
resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
|
||||
/@esbuild/android-arm@0.21.4:
|
||||
resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
@ -391,8 +391,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-x64@0.19.12:
|
||||
resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
|
||||
/@esbuild/android-x64@0.21.4:
|
||||
resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
|
@ -400,8 +400,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/darwin-arm64@0.19.12:
|
||||
resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
|
||||
/@esbuild/darwin-arm64@0.21.4:
|
||||
resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
@ -409,8 +409,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/darwin-x64@0.19.12:
|
||||
resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
|
||||
/@esbuild/darwin-x64@0.21.4:
|
||||
resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
@ -418,8 +418,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/freebsd-arm64@0.19.12:
|
||||
resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
|
||||
/@esbuild/freebsd-arm64@0.21.4:
|
||||
resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
@ -427,8 +427,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/freebsd-x64@0.19.12:
|
||||
resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
|
||||
/@esbuild/freebsd-x64@0.21.4:
|
||||
resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
@ -436,8 +436,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-arm64@0.19.12:
|
||||
resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
|
||||
/@esbuild/linux-arm64@0.21.4:
|
||||
resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
@ -445,8 +445,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-arm@0.19.12:
|
||||
resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
|
||||
/@esbuild/linux-arm@0.21.4:
|
||||
resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
@ -454,8 +454,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-ia32@0.19.12:
|
||||
resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
|
||||
/@esbuild/linux-ia32@0.21.4:
|
||||
resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
|
@ -463,8 +463,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-loong64@0.19.12:
|
||||
resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
|
||||
/@esbuild/linux-loong64@0.21.4:
|
||||
resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
@ -472,8 +472,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-mips64el@0.19.12:
|
||||
resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
|
||||
/@esbuild/linux-mips64el@0.21.4:
|
||||
resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
|
@ -481,8 +481,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-ppc64@0.19.12:
|
||||
resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
|
||||
/@esbuild/linux-ppc64@0.21.4:
|
||||
resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
@ -490,8 +490,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-riscv64@0.19.12:
|
||||
resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
|
||||
/@esbuild/linux-riscv64@0.21.4:
|
||||
resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
@ -499,8 +499,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-s390x@0.19.12:
|
||||
resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
|
||||
/@esbuild/linux-s390x@0.21.4:
|
||||
resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
@ -508,8 +508,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-x64@0.19.12:
|
||||
resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
|
||||
/@esbuild/linux-x64@0.21.4:
|
||||
resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
@ -517,8 +517,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/netbsd-x64@0.19.12:
|
||||
resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
|
||||
/@esbuild/netbsd-x64@0.21.4:
|
||||
resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
|
@ -526,8 +526,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/openbsd-x64@0.19.12:
|
||||
resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
|
||||
/@esbuild/openbsd-x64@0.21.4:
|
||||
resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
@ -535,8 +535,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/sunos-x64@0.19.12:
|
||||
resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
|
||||
/@esbuild/sunos-x64@0.21.4:
|
||||
resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
|
@ -544,8 +544,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-arm64@0.19.12:
|
||||
resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
|
||||
/@esbuild/win32-arm64@0.21.4:
|
||||
resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
@ -553,8 +553,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-ia32@0.19.12:
|
||||
resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
|
||||
/@esbuild/win32-ia32@0.21.4:
|
||||
resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
@ -562,8 +562,8 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-x64@0.19.12:
|
||||
resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
|
||||
/@esbuild/win32-x64@0.21.4:
|
||||
resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
@ -581,8 +581,8 @@ packages:
|
|||
eslint-visitor-keys: 3.4.3
|
||||
dev: true
|
||||
|
||||
/@eslint-community/regexpp@4.10.0:
|
||||
resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
|
||||
/@eslint-community/regexpp@4.10.1:
|
||||
resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==}
|
||||
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
|
@ -861,7 +861,7 @@ packages:
|
|||
defer-to-connect: 2.0.1
|
||||
dev: false
|
||||
|
||||
/@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.2.5):
|
||||
/@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.3.0):
|
||||
resolution: {integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==}
|
||||
peerDependencies:
|
||||
'@vue/compiler-sfc': 3.x
|
||||
|
@ -876,7 +876,7 @@ packages:
|
|||
'@babel/types': 7.17.0
|
||||
javascript-natural-sort: 0.7.1
|
||||
lodash: 4.17.21
|
||||
prettier: 3.2.5
|
||||
prettier: 3.3.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
@ -896,12 +896,12 @@ packages:
|
|||
/@types/node-fetch@2.6.11:
|
||||
resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==}
|
||||
dependencies:
|
||||
'@types/node': 20.12.13
|
||||
'@types/node': 20.14.0
|
||||
form-data: 4.0.0
|
||||
dev: false
|
||||
|
||||
/@types/node@20.12.13:
|
||||
resolution: {integrity: sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==}
|
||||
/@types/node@20.14.0:
|
||||
resolution: {integrity: sha512-5cHBxFGJx6L4s56Bubp4fglrEpmyJypsqI6RgzMfBHWUJQGWAAi8cWcgetEbZXHYXo9C2Fa4EEds/uSyS4cxmA==}
|
||||
dependencies:
|
||||
undici-types: 5.26.5
|
||||
|
||||
|
@ -912,15 +912,15 @@ packages:
|
|||
/@types/tunnel@0.0.3:
|
||||
resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==}
|
||||
dependencies:
|
||||
'@types/node': 20.12.13
|
||||
'@types/node': 20.14.0
|
||||
dev: false
|
||||
|
||||
/@types/uuid@9.0.8:
|
||||
resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.11.0)(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-P+qEahbgeHW4JQ/87FuItjBj8O3MYv5gELDzr8QaQ7fsll1gSMTYb6j87MYyxwf3DtD7uGFB9ShwgmCJB5KmaQ==}
|
||||
/@typescript-eslint/eslint-plugin@7.12.0(@typescript-eslint/parser@7.12.0)(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': ^7.0.0
|
||||
|
@ -930,12 +930,12 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.10.0
|
||||
'@typescript-eslint/parser': 7.11.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.11.0
|
||||
'@typescript-eslint/type-utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.11.0
|
||||
'@eslint-community/regexpp': 4.10.1
|
||||
'@typescript-eslint/parser': 7.12.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.12.0
|
||||
'@typescript-eslint/type-utils': 7.12.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.12.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.12.0
|
||||
eslint: 8.57.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.3.1
|
||||
|
@ -946,8 +946,8 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-yimw99teuaXVWsBcPO1Ais02kwJ1jmNA1KxE7ng0aT7ndr1pT1wqj0OJnsYVGKKlc4QJai86l/025L6z8CljOg==}
|
||||
/@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
|
@ -956,10 +956,10 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 7.11.0
|
||||
'@typescript-eslint/types': 7.11.0
|
||||
'@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.11.0
|
||||
'@typescript-eslint/scope-manager': 7.12.0
|
||||
'@typescript-eslint/types': 7.12.0
|
||||
'@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.12.0
|
||||
debug: 4.3.5
|
||||
eslint: 8.57.0
|
||||
typescript: 5.4.5
|
||||
|
@ -967,16 +967,16 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/scope-manager@7.11.0:
|
||||
resolution: {integrity: sha512-27tGdVEiutD4POirLZX4YzT180vevUURJl4wJGmm6TrQoiYwuxTIY98PBp6L2oN+JQxzE0URvYlzJaBHIekXAw==}
|
||||
/@typescript-eslint/scope-manager@7.12.0:
|
||||
resolution: {integrity: sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.11.0
|
||||
'@typescript-eslint/visitor-keys': 7.11.0
|
||||
'@typescript-eslint/types': 7.12.0
|
||||
'@typescript-eslint/visitor-keys': 7.12.0
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/type-utils@7.11.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-WmppUEgYy+y1NTseNMJ6mCFxt03/7jTOy08bcg7bxJJdsM4nuhnchyBbE8vryveaJUf62noH7LodPSo5Z0WUCg==}
|
||||
/@typescript-eslint/type-utils@7.12.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
|
@ -985,8 +985,8 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.12.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
debug: 4.3.5
|
||||
eslint: 8.57.0
|
||||
ts-api-utils: 1.3.0(typescript@5.4.5)
|
||||
|
@ -995,13 +995,13 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/types@7.11.0:
|
||||
resolution: {integrity: sha512-MPEsDRZTyCiXkD4vd3zywDCifi7tatc4K37KqTprCvaXptP7Xlpdw0NR2hRJTetG5TxbWDB79Ys4kLmHliEo/w==}
|
||||
/@typescript-eslint/types@7.12.0:
|
||||
resolution: {integrity: sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/typescript-estree@7.11.0(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-cxkhZ2C/iyi3/6U9EPc5y+a6csqHItndvN/CzbNXTNrsC3/ASoYQZEt9uMaEp+xFNjasqQyszp5TumAVKKvJeQ==}
|
||||
/@typescript-eslint/typescript-estree@7.12.0(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
|
@ -1009,8 +1009,8 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.11.0
|
||||
'@typescript-eslint/visitor-keys': 7.11.0
|
||||
'@typescript-eslint/types': 7.12.0
|
||||
'@typescript-eslint/visitor-keys': 7.12.0
|
||||
debug: 4.3.5
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
|
@ -1022,27 +1022,27 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/utils@7.11.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-xlAWwPleNRHwF37AhrZurOxA1wyXowW4PqVXZVUNCLjB48CqdPJoJWkrpH2nij9Q3Lb7rtWindtoXwxjxlKKCA==}
|
||||
/@typescript-eslint/utils@7.12.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||
'@typescript-eslint/scope-manager': 7.11.0
|
||||
'@typescript-eslint/types': 7.11.0
|
||||
'@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.12.0
|
||||
'@typescript-eslint/types': 7.12.0
|
||||
'@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5)
|
||||
eslint: 8.57.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/visitor-keys@7.11.0:
|
||||
resolution: {integrity: sha512-7syYk4MzjxTEk0g/w3iqtgxnFQspDJfn6QKD36xMuuhTzjcxY7F8EmBLnALjVyaOF1/bVocu3bS/2/F7rXrveQ==}
|
||||
/@typescript-eslint/visitor-keys@7.12.0:
|
||||
resolution: {integrity: sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.11.0
|
||||
'@typescript-eslint/types': 7.12.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
dev: true
|
||||
|
||||
|
@ -1265,19 +1265,19 @@ packages:
|
|||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001625
|
||||
electron-to-chromium: 1.4.787
|
||||
caniuse-lite: 1.0.30001627
|
||||
electron-to-chromium: 1.4.788
|
||||
node-releases: 2.0.14
|
||||
update-browserslist-db: 1.0.16(browserslist@4.23.0)
|
||||
dev: true
|
||||
|
||||
/bundle-require@4.1.0(esbuild@0.19.12):
|
||||
resolution: {integrity: sha512-FeArRFM+ziGkRViKRnSTbHZc35dgmR9yNog05Kn0+ItI59pOAISGvnnIwW1WgFZQW59IxD9QpJnUPkdIPfZuXg==}
|
||||
/bundle-require@4.2.1(esbuild@0.21.4):
|
||||
resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
peerDependencies:
|
||||
esbuild: '>=0.17'
|
||||
dependencies:
|
||||
esbuild: 0.19.12
|
||||
esbuild: 0.21.4
|
||||
load-tsconfig: 0.2.5
|
||||
dev: true
|
||||
|
||||
|
@ -1320,8 +1320,8 @@ packages:
|
|||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/caniuse-lite@1.0.30001625:
|
||||
resolution: {integrity: sha512-4KE9N2gcRH+HQhpeiRZXd+1niLB/XNLAhSy4z7fI8EzcbcPoAqjNInxVHTiTwWfTIV4w096XG8OtCOCQQKPv3w==}
|
||||
/caniuse-lite@1.0.30001627:
|
||||
resolution: {integrity: sha512-4zgNiB8nTyV/tHhwZrFs88ryjls/lHiqFhrxCW4qSTeuRByBVnPYpDInchOIySWknznucaf31Z4KYqjfbrecVw==}
|
||||
dev: true
|
||||
|
||||
/chalk@2.4.2:
|
||||
|
@ -1524,8 +1524,8 @@ packages:
|
|||
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
||||
dev: true
|
||||
|
||||
/electron-to-chromium@1.4.787:
|
||||
resolution: {integrity: sha512-d0EFmtLPjctczO3LogReyM2pbBiiZbnsKnGF+cdZhsYzHm/A0GV7W94kqzLD8SN4O3f3iHlgLUChqghgyznvCQ==}
|
||||
/electron-to-chromium@1.4.788:
|
||||
resolution: {integrity: sha512-ubp5+Ev/VV8KuRoWnfP2QF2Bg+O2ZFdb49DiiNbz2VmgkIqrnyYaqIOqj8A6K/3p1xV0QcU5hBQ1+BmB6ot1OA==}
|
||||
dev: true
|
||||
|
||||
/emoji-regex@8.0.0:
|
||||
|
@ -1659,35 +1659,35 @@ packages:
|
|||
is-symbol: 1.0.4
|
||||
dev: true
|
||||
|
||||
/esbuild@0.19.12:
|
||||
resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
|
||||
/esbuild@0.21.4:
|
||||
resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
optionalDependencies:
|
||||
'@esbuild/aix-ppc64': 0.19.12
|
||||
'@esbuild/android-arm': 0.19.12
|
||||
'@esbuild/android-arm64': 0.19.12
|
||||
'@esbuild/android-x64': 0.19.12
|
||||
'@esbuild/darwin-arm64': 0.19.12
|
||||
'@esbuild/darwin-x64': 0.19.12
|
||||
'@esbuild/freebsd-arm64': 0.19.12
|
||||
'@esbuild/freebsd-x64': 0.19.12
|
||||
'@esbuild/linux-arm': 0.19.12
|
||||
'@esbuild/linux-arm64': 0.19.12
|
||||
'@esbuild/linux-ia32': 0.19.12
|
||||
'@esbuild/linux-loong64': 0.19.12
|
||||
'@esbuild/linux-mips64el': 0.19.12
|
||||
'@esbuild/linux-ppc64': 0.19.12
|
||||
'@esbuild/linux-riscv64': 0.19.12
|
||||
'@esbuild/linux-s390x': 0.19.12
|
||||
'@esbuild/linux-x64': 0.19.12
|
||||
'@esbuild/netbsd-x64': 0.19.12
|
||||
'@esbuild/openbsd-x64': 0.19.12
|
||||
'@esbuild/sunos-x64': 0.19.12
|
||||
'@esbuild/win32-arm64': 0.19.12
|
||||
'@esbuild/win32-ia32': 0.19.12
|
||||
'@esbuild/win32-x64': 0.19.12
|
||||
'@esbuild/aix-ppc64': 0.21.4
|
||||
'@esbuild/android-arm': 0.21.4
|
||||
'@esbuild/android-arm64': 0.21.4
|
||||
'@esbuild/android-x64': 0.21.4
|
||||
'@esbuild/darwin-arm64': 0.21.4
|
||||
'@esbuild/darwin-x64': 0.21.4
|
||||
'@esbuild/freebsd-arm64': 0.21.4
|
||||
'@esbuild/freebsd-x64': 0.21.4
|
||||
'@esbuild/linux-arm': 0.21.4
|
||||
'@esbuild/linux-arm64': 0.21.4
|
||||
'@esbuild/linux-ia32': 0.21.4
|
||||
'@esbuild/linux-loong64': 0.21.4
|
||||
'@esbuild/linux-mips64el': 0.21.4
|
||||
'@esbuild/linux-ppc64': 0.21.4
|
||||
'@esbuild/linux-riscv64': 0.21.4
|
||||
'@esbuild/linux-s390x': 0.21.4
|
||||
'@esbuild/linux-x64': 0.21.4
|
||||
'@esbuild/netbsd-x64': 0.21.4
|
||||
'@esbuild/openbsd-x64': 0.21.4
|
||||
'@esbuild/sunos-x64': 0.21.4
|
||||
'@esbuild/win32-arm64': 0.21.4
|
||||
'@esbuild/win32-ia32': 0.21.4
|
||||
'@esbuild/win32-x64': 0.21.4
|
||||
dev: true
|
||||
|
||||
/escalade@3.1.2:
|
||||
|
@ -1724,7 +1724,7 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.11.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
|
||||
/eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.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:
|
||||
|
@ -1734,8 +1734,8 @@ packages:
|
|||
debug: 4.3.5
|
||||
enhanced-resolve: 5.16.1
|
||||
eslint: 8.57.0
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.11.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.11.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.12.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.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
fast-glob: 3.3.2
|
||||
get-tsconfig: 4.7.5
|
||||
is-core-module: 2.13.1
|
||||
|
@ -1747,7 +1747,7 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-module-utils@2.8.1(@typescript-eslint/parser@7.11.0)(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.12.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:
|
||||
|
@ -1768,11 +1768,11 @@ packages:
|
|||
eslint-import-resolver-webpack:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 7.11.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.12.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.11.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.12.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
@ -1816,8 +1816,8 @@ packages:
|
|||
eslint: ^8.0.1
|
||||
dependencies:
|
||||
'@github/browserslist-config': 1.0.0
|
||||
'@typescript-eslint/eslint-plugin': 7.11.0(@typescript-eslint/parser@7.11.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.11.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/eslint-plugin': 7.12.0(@typescript-eslint/parser@7.12.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.12.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)
|
||||
|
@ -1825,13 +1825,13 @@ 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.11.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.12.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)
|
||||
eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.0)
|
||||
eslint-rule-documentation: 1.0.23
|
||||
jsx-ast-utils: 3.3.5
|
||||
prettier: 3.2.5
|
||||
prettier: 3.3.0
|
||||
svg-element-attributes: 1.3.1
|
||||
transitivePeerDependencies:
|
||||
- '@types/eslint'
|
||||
|
@ -1849,7 +1849,7 @@ packages:
|
|||
eslint: 8.57.0
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.11.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
|
@ -1859,7 +1859,7 @@ packages:
|
|||
'@typescript-eslint/parser':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 7.11.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.12.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
|
||||
|
@ -1868,7 +1868,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.11.0)(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.12.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
|
||||
|
@ -1914,7 +1914,7 @@ packages:
|
|||
engines: {node: '>=5.0.0'}
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5):
|
||||
/eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.0):
|
||||
resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
|
@ -1930,7 +1930,7 @@ packages:
|
|||
dependencies:
|
||||
eslint: 8.57.0
|
||||
eslint-config-prettier: 9.1.0(eslint@8.57.0)
|
||||
prettier: 3.2.5
|
||||
prettier: 3.3.0
|
||||
prettier-linter-helpers: 1.0.0
|
||||
synckit: 0.8.8
|
||||
dev: true
|
||||
|
@ -1959,7 +1959,7 @@ packages:
|
|||
hasBin: true
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||
'@eslint-community/regexpp': 4.10.0
|
||||
'@eslint-community/regexpp': 4.10.1
|
||||
'@eslint/eslintrc': 2.1.4
|
||||
'@eslint/js': 8.57.0
|
||||
'@humanwhocodes/config-array': 0.11.14
|
||||
|
@ -2257,7 +2257,7 @@ packages:
|
|||
hasBin: true
|
||||
dependencies:
|
||||
foreground-child: 3.1.1
|
||||
jackspeak: 3.1.2
|
||||
jackspeak: 3.2.3
|
||||
minimatch: 9.0.4
|
||||
minipass: 7.1.2
|
||||
path-scurry: 1.11.1
|
||||
|
@ -2644,8 +2644,8 @@ packages:
|
|||
set-function-name: 2.0.2
|
||||
dev: true
|
||||
|
||||
/jackspeak@3.1.2:
|
||||
resolution: {integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==}
|
||||
/jackspeak@3.2.3:
|
||||
resolution: {integrity: sha512-htOzIMPbpLid/Gq9/zaz9SfExABxqRe1sSCdxntlO/aMD6u0issZQiY25n2GKQUtJ02j7z5sfptlAOMpWWOmvw==}
|
||||
engines: {node: '>=14'}
|
||||
dependencies:
|
||||
'@isaacs/cliui': 8.0.2
|
||||
|
@ -3084,7 +3084,7 @@ packages:
|
|||
optional: true
|
||||
dependencies:
|
||||
lilconfig: 3.1.1
|
||||
yaml: 2.4.2
|
||||
yaml: 2.4.3
|
||||
dev: true
|
||||
|
||||
/prelude-ls@1.2.1:
|
||||
|
@ -3099,8 +3099,8 @@ packages:
|
|||
fast-diff: 1.3.0
|
||||
dev: true
|
||||
|
||||
/prettier@3.2.5:
|
||||
resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
|
||||
/prettier@3.3.0:
|
||||
resolution: {integrity: sha512-J9odKxERhCQ10OC2yb93583f6UnYutOeiV5i0zEDS7UGTdUt0u+y8erxl3lBKvwo/JHyyoEdXjwp4dke9oyZ/g==}
|
||||
engines: {node: '>=14'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
@ -3542,8 +3542,8 @@ packages:
|
|||
/tslib@2.6.2:
|
||||
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
|
||||
|
||||
/tsup@8.0.2(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==}
|
||||
/tsup@8.1.0(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-UFdfCAXukax+U6KzeTNO2kAARHcWxmKsnvSPXUcfA1D+kU05XDccCrkffCQpFaWDsZfV0jMyTsxU39VfCp6EOg==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
|
@ -3561,11 +3561,11 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
bundle-require: 4.1.0(esbuild@0.19.12)
|
||||
bundle-require: 4.2.1(esbuild@0.21.4)
|
||||
cac: 6.7.14
|
||||
chokidar: 3.6.0
|
||||
debug: 4.3.5
|
||||
esbuild: 0.19.12
|
||||
esbuild: 0.21.4
|
||||
execa: 5.1.1
|
||||
globby: 11.1.0
|
||||
joycon: 3.1.1
|
||||
|
@ -3815,8 +3815,8 @@ packages:
|
|||
engines: {node: '>=4.0'}
|
||||
dev: false
|
||||
|
||||
/yaml@2.4.2:
|
||||
resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==}
|
||||
/yaml@2.4.3:
|
||||
resolution: {integrity: sha512-sntgmxj8o7DE7g/Qi60cqpLBA3HG3STcDA0kO+WfB05jEKhZMbY7umNm2rBpQvsmZ16/lPXCJGW2672dgOUkrg==}
|
||||
engines: {node: '>= 14'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
@ -3826,8 +3826,8 @@ packages:
|
|||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
github.com/DeterminateSystems/detsys-ts/fe64ba33b4bdeec0991bb65ae00420bf68b9954c:
|
||||
resolution: {tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/fe64ba33b4bdeec0991bb65ae00420bf68b9954c}
|
||||
github.com/DeterminateSystems/detsys-ts/138ea0123a2a3c61fad2c998729b661405132119:
|
||||
resolution: {tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/138ea0123a2a3c61fad2c998729b661405132119}
|
||||
name: detsys-ts
|
||||
version: 1.0.0
|
||||
dependencies:
|
||||
|
|
83
src/index.ts
83
src/index.ts
|
@ -1,13 +1,12 @@
|
|||
import { netrcPath, tailLog } from "./helpers.js";
|
||||
import * as actionsCore from "@actions/core";
|
||||
import { DetSysAction, inputs } from "detsys-ts";
|
||||
import { DetSysAction, inputs, stringifyError } from "detsys-ts";
|
||||
import got, { Got, Response } from "got";
|
||||
import * as http from "http";
|
||||
import { SpawnOptions, spawn } from "node:child_process";
|
||||
import { mkdirSync, openSync, readFileSync } from "node:fs";
|
||||
import * as fs from "node:fs/promises";
|
||||
import * as path from "node:path";
|
||||
import { inspect } from "node:util";
|
||||
|
||||
// The ENV_DAEMON_DIR is intended to determine if we "own" the daemon or not,
|
||||
// in the case that a user has put the magic nix cache into their workflow
|
||||
|
@ -16,13 +15,14 @@ const ENV_DAEMON_DIR = "MAGIC_NIX_CACHE_DAEMONDIR";
|
|||
|
||||
const FACT_ENV_VARS_PRESENT = "required_env_vars_present";
|
||||
const FACT_DIFF_STORE_ENABLED = "diff_store";
|
||||
const FACT_NOOP_MODE = "noop_mode";
|
||||
const FACT_ALREADY_RUNNING = "noop_mode";
|
||||
|
||||
const STATE_DAEMONDIR = "MAGIC_NIX_CACHE_DAEMONDIR";
|
||||
const STATE_ERROR_IN_MAIN = "ERROR_IN_MAIN";
|
||||
const STATE_STARTED = "MAGIC_NIX_CACHE_STARTED";
|
||||
const STARTED_HINT = "true";
|
||||
|
||||
const TEXT_NOOP =
|
||||
const TEXT_ALREADY_RUNNING =
|
||||
"Magic Nix Cache is already running, this workflow job is in noop mode. Is the Magic Nix Cache in the workflow twice?";
|
||||
const TEXT_TRUST_UNTRUSTED =
|
||||
"The Nix daemon does not consider the user running this workflow to be trusted. Magic Nix Cache is disabled.";
|
||||
|
@ -33,10 +33,13 @@ class MagicNixCacheAction extends DetSysAction {
|
|||
private hostAndPort: string;
|
||||
private diffStore: boolean;
|
||||
private httpClient: Got;
|
||||
private noopMode: boolean;
|
||||
private daemonDir: string;
|
||||
private daemonStarted: boolean;
|
||||
|
||||
// This is set to `true` if the MNC is already running, in which case the
|
||||
// workflow will use the existing process rather than starting a new one.
|
||||
private alreadyRunning: boolean;
|
||||
|
||||
constructor() {
|
||||
super({
|
||||
name: "magic-nix-cache",
|
||||
|
@ -78,19 +81,19 @@ class MagicNixCacheAction extends DetSysAction {
|
|||
}
|
||||
|
||||
if (process.env[ENV_DAEMON_DIR] === undefined) {
|
||||
this.noopMode = false;
|
||||
this.alreadyRunning = false;
|
||||
actionsCore.exportVariable(ENV_DAEMON_DIR, this.daemonDir);
|
||||
} else {
|
||||
this.noopMode = process.env[ENV_DAEMON_DIR] !== this.daemonDir;
|
||||
this.alreadyRunning = process.env[ENV_DAEMON_DIR] !== this.daemonDir;
|
||||
}
|
||||
this.addFact(FACT_NOOP_MODE, this.noopMode);
|
||||
this.addFact(FACT_ALREADY_RUNNING, this.alreadyRunning);
|
||||
|
||||
this.stapleFile("daemon.log", path.join(this.daemonDir, "daemon.log"));
|
||||
}
|
||||
|
||||
async main(): Promise<void> {
|
||||
if (this.noopMode) {
|
||||
actionsCore.warning(TEXT_NOOP);
|
||||
if (this.alreadyRunning) {
|
||||
actionsCore.warning(TEXT_ALREADY_RUNNING);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -106,8 +109,17 @@ class MagicNixCacheAction extends DetSysAction {
|
|||
}
|
||||
|
||||
async post(): Promise<void> {
|
||||
if (this.noopMode) {
|
||||
actionsCore.debug(TEXT_NOOP);
|
||||
// If strict mode is off and there was an error in main, such as the daemon not starting,
|
||||
// then the post phase is skipped with a warning.
|
||||
if (!this.strictMode && this.errorInMain) {
|
||||
actionsCore.warning(
|
||||
`skipping post phase due to error in main phase: ${this.errorInMain}`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.alreadyRunning) {
|
||||
actionsCore.debug(TEXT_ALREADY_RUNNING);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -252,17 +264,17 @@ class MagicNixCacheAction extends DetSysAction {
|
|||
|
||||
actionsCore.info("Waiting for magic-nix-cache to start...");
|
||||
|
||||
await new Promise<void>((resolve, reject) => {
|
||||
await new Promise<void>((resolve) => {
|
||||
notifyPromise
|
||||
// eslint-disable-next-line github/no-then
|
||||
.then((_value) => {
|
||||
resolve();
|
||||
})
|
||||
// eslint-disable-next-line github/no-then
|
||||
.catch((err) => {
|
||||
const msg = `error in notifyPromise: ${err}`;
|
||||
reject(new Error(msg));
|
||||
.catch((e: unknown) => {
|
||||
this.exitMain(`Error in notifyPromise: ${stringifyError(e)}`);
|
||||
});
|
||||
|
||||
daemon.on("exit", async (code, signal) => {
|
||||
let msg: string;
|
||||
if (signal) {
|
||||
|
@ -272,7 +284,8 @@ class MagicNixCacheAction extends DetSysAction {
|
|||
} else {
|
||||
msg = "Daemon unexpectedly exited";
|
||||
}
|
||||
reject(new Error(msg));
|
||||
|
||||
this.exitMain(msg);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -306,11 +319,8 @@ class MagicNixCacheAction extends DetSysAction {
|
|||
}
|
||||
|
||||
actionsCore.debug(`back from post: ${res.body}`);
|
||||
} catch (e) {
|
||||
actionsCore.info(`Error marking the workflow as started:`);
|
||||
actionsCore.info(inspect(e));
|
||||
actionsCore.info(`Magic Nix Cache may not be running for this workflow.`);
|
||||
this.failOnError(`Magic Nix Cache failed to start: ${inspect(e)}`);
|
||||
} catch (e: unknown) {
|
||||
this.exitMain(`Error starting the Magic Nix Cache: ${stringifyError(e)}`);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -349,12 +359,17 @@ class MagicNixCacheAction extends DetSysAction {
|
|||
log.unwatch();
|
||||
}
|
||||
|
||||
actionsCore.debug(`killing`);
|
||||
actionsCore.debug(`killing daemon process ${pid}`);
|
||||
|
||||
try {
|
||||
process.kill(pid, "SIGTERM");
|
||||
} catch (e) {
|
||||
} catch (e: unknown) {
|
||||
if (typeof e === "object" && e && "code" in e && e.code !== "ESRCH") {
|
||||
throw e;
|
||||
// Throw an error only in strict mode, otherwise ignore because
|
||||
// we're in the post phase and shutting down after this anyway
|
||||
if (this.strictMode) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
if (actionsCore.isDebug()) {
|
||||
|
@ -364,6 +379,24 @@ class MagicNixCacheAction extends DetSysAction {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Exit the workflow during the main phase. If strict mode is set, fail; if not, save the error
|
||||
// message to the workflow's state and exit successfully.
|
||||
private exitMain(msg: string): void {
|
||||
if (this.strictMode) {
|
||||
actionsCore.setFailed(msg);
|
||||
} else {
|
||||
actionsCore.saveState(STATE_ERROR_IN_MAIN, msg);
|
||||
process.exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// If the main phase threw an error (not in strict mode), this will be a non-empty
|
||||
// string available in the post phase.
|
||||
private get errorInMain(): string | undefined {
|
||||
const state = actionsCore.getState(STATE_ERROR_IN_MAIN);
|
||||
return state !== "" ? state : undefined;
|
||||
}
|
||||
}
|
||||
|
||||
function main(): void {
|
||||
|
|
Loading…
Reference in a new issue