diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c605dfe..85a4e78 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: name: Build runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/magic-nix-cache-action@main @@ -31,6 +31,19 @@ jobs: - run: git status --porcelain=v1 - run: test $(git status --porcelain=v1 2>/dev/null | wc -l) -eq 0 + test-no-nix: + name: "Test: Nix not installed" + runs-on: ubuntu-22.04 + permissions: + id-token: "write" + contents: "read" + env: + ACTIONS_STEP_DEBUG: true + steps: + - uses: actions/checkout@v4 + - name: Cache the store + uses: ./ + run-x86_64-linux: name: Run x86_64 Linux runs-on: ubuntu-22.04 @@ -40,7 +53,7 @@ jobs: env: ACTIONS_STEP_DEBUG: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main with: @@ -62,7 +75,7 @@ jobs: env: ACTIONS_STEP_DEBUG: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main with: @@ -85,7 +98,7 @@ jobs: env: ACTIONS_STEP_DEBUG: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main with: diff --git a/.github/workflows/flakehub-cache.yml b/.github/workflows/flakehub-cache.yml index c7969de..e88ad9c 100644 --- a/.github/workflows/flakehub-cache.yml +++ b/.github/workflows/flakehub-cache.yml @@ -22,7 +22,7 @@ jobs: - nix-system: "x86_64-linux" runner: "ubuntu-22.04" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/magic-nix-cache-action@main with: diff --git a/README.md b/README.md index ac09c34..d3c5404 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ jobs: id-token: "write" contents: "read" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/magic-nix-cache-action@main - uses: DeterminateSystems/flake-checker-action@main diff --git a/dist/index.js b/dist/index.js index 606ac87..202dd0b 100644 --- a/dist/index.js +++ b/dist/index.js @@ -94412,9 +94412,10 @@ const got = source_create(defaults); -;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@3a315cdffd83d4b229d4fb16548d22a3756baf28_lprtsns3vmnabnzqpk64lag6gi/node_modules/detsys-ts/dist/correlation.js +;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@1b12595783709c71515245d26437934a9f336598_b6j756lg3cqeptkcpq5wzeu4sa/node_modules/detsys-ts/dist/correlation.js +const OPTIONAL_VARIABLES = ["INVOCATION_ID"]; function identify(projectName) { const ident = { correlation_source: "github-actions", @@ -94463,6 +94464,7 @@ function identify(projectName) { "GITHUB_RUN_ID", "GITHUB_RUN_NUMBER", "GITHUB_RUN_ATTEMPT", + "INVOCATION_ID", ]), groups: { ci: "github-actions", @@ -94481,23 +94483,34 @@ function identify(projectName) { function hashEnvironmentVariables(prefix, variables) { const hash = (0,external_node_crypto_namespaceObject.createHash)("sha256"); for (const varName of variables) { - const value = process.env[varName]; + let value = process.env[varName]; if (value === undefined) { - core.debug(`Environment variable not set: ${varName} -- can't generate the requested identity`); - return undefined; - } - else { - hash.update(value); - hash.update("\0"); + if (OPTIONAL_VARIABLES.includes(varName)) { + core.debug(`Optional environment variable not set: ${varName} -- substituting with the variable name`); + value = varName; + } + else { + core.debug(`Environment variable not set: ${varName} -- can't generate the requested identity`); + return undefined; + } } + hash.update(value); + hash.update("\0"); } return `${prefix}-${hash.digest("hex")}`; } -;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@3a315cdffd83d4b229d4fb16548d22a3756baf28_lprtsns3vmnabnzqpk64lag6gi/node_modules/detsys-ts/dist/package.json +;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@1b12595783709c71515245d26437934a9f336598_b6j756lg3cqeptkcpq5wzeu4sa/node_modules/detsys-ts/dist/package.json const package_namespaceObject = {"i8":"1.0.0"}; -;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@3a315cdffd83d4b229d4fb16548d22a3756baf28_lprtsns3vmnabnzqpk64lag6gi/node_modules/detsys-ts/dist/platform.js +;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@1b12595783709c71515245d26437934a9f336598_b6j756lg3cqeptkcpq5wzeu4sa/node_modules/detsys-ts/dist/platform.js +/** + * @packageDocumentation + * Helpers for determining system attributes of the current runner. + */ +/** + * Get the current architecture plus OS. Examples include `X64-Linux` and `ARM64-macOS`. + */ function getArchOs() { const envArch = process.env.RUNNER_ARCH; const envOs = process.env.RUNNER_OS; @@ -94509,6 +94522,9 @@ function getArchOs() { throw new Error("RUNNER_ARCH and/or RUNNER_OS is not defined"); } } +/** + * Get the current Nix system. Examples include `x86_64-linux` and `aarch64-darwin`. + */ function getNixPlatform(archOs) { const archOsMap = new Map([ ["X64-macOS", "x86_64-darwin"], @@ -94526,17 +94542,86 @@ function getNixPlatform(archOs) { } } -;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@3a315cdffd83d4b229d4fb16548d22a3756baf28_lprtsns3vmnabnzqpk64lag6gi/node_modules/detsys-ts/dist/sourcedef.js +;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@1b12595783709c71515245d26437934a9f336598_b6j756lg3cqeptkcpq5wzeu4sa/node_modules/detsys-ts/dist/inputs.js +/** + * @packageDocumentation + * Helpers for getting values from an Action's configuration. + */ + +/** + * Get a Boolean input from the Action's configuration by name. + */ +const getBool = (name) => { + return actionsCore.getBooleanInput(name); +}; +/** + * Get a multi-line string input from the Action's configuration by name or return `null` if not set. + */ +const getMultilineStringOrNull = (name) => { + const value = actionsCore.getMultilineInput(name); + if (value.length === 0) { + return null; + } + else { + return value; + } +}; +/** + * Get a number input from the Action's configuration by name or return `null` if not set. + */ +const getNumberOrNull = (name) => { + const value = actionsCore.getInput(name); + if (value === "") { + return null; + } + else { + return Number(value); + } +}; +/** + * Get a string input from the Action's configuration. + */ +const getString = (name) => { + return actionsCore.getInput(name); +}; +/** + * Get a string input from the Action's configuration by name or return `null` if not set. + */ +const getStringOrNull = (name) => { + const value = actionsCore.getInput(name); + if (value === "") { + return null; + } + else { + return value; + } +}; +/** + * Get a string input from the Action's configuration by name or return `undefined` if not set. + */ +const getStringOrUndefined = (name) => { + const value = core.getInput(name); + if (value === "") { + return undefined; + } + else { + return value; + } +}; + + +;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@1b12595783709c71515245d26437934a9f336598_b6j756lg3cqeptkcpq5wzeu4sa/node_modules/detsys-ts/dist/sourcedef.js + function constructSourceParameters(legacyPrefix) { const noisilyGetInput = (suffix) => { - const preferredInput = inputStringOrUndef(`source-${suffix}`); + const preferredInput = getStringOrUndefined(`source-${suffix}`); if (!legacyPrefix) { return preferredInput; } // Remaining is for handling cases where the legacy prefix // should be examined. - const legacyInput = inputStringOrUndef(`${legacyPrefix}-${suffix}`); + const legacyInput = getStringOrUndefined(`${legacyPrefix}-${suffix}`); if (preferredInput && legacyInput) { core.warning(`The supported option source-${suffix} and the legacy option ${legacyPrefix}-${suffix} are both set. Preferring source-${suffix}. Please stop setting ${legacyPrefix}-${suffix}.`); return preferredInput; @@ -94558,15 +94643,6 @@ function constructSourceParameters(legacyPrefix) { revision: noisilyGetInput("revision"), }; } -function inputStringOrUndef(name) { - const value = core.getInput(name); - if (value === "") { - return undefined; - } - else { - return value; - } -} // EXTERNAL MODULE: ./node_modules/.pnpm/@actions+cache@3.2.4/node_modules/@actions/cache/lib/cache.js var cache = __nccwpck_require__(6878); @@ -94586,7 +94662,11 @@ const validate = uuid_dist/* validate */.Gu; const stringify = uuid_dist/* stringify */.Pz; const parse = uuid_dist/* parse */.Qc; -;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@3a315cdffd83d4b229d4fb16548d22a3756baf28_lprtsns3vmnabnzqpk64lag6gi/node_modules/detsys-ts/dist/main.js +;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@1b12595783709c71515245d26437934a9f336598_b6j756lg3cqeptkcpq5wzeu4sa/node_modules/detsys-ts/dist/main.js +/** + * @packageDocumentation + * Determinate Systems' TypeScript library for creating GitHub Actions logic. + */ // eslint-disable-next-line import/extensions @@ -94695,6 +94775,10 @@ class IdsToolbox { async executeAsync() { try { process.env.DETSYS_CORRELATION = JSON.stringify(this.getCorrelationHashes()); + if (!(await this.preflightRequireNix())) { + this.recordEvent("preflight-require-nix-denied"); + return; + } if (this.executionPhase === "main" && this.hookMain) { await this.hookMain(); } @@ -94858,6 +94942,45 @@ class IdsToolbox { process.chdir(startCwd); } } + async preflightRequireNix() { + let nixLocation; + const pathParts = (process.env["PATH"] || "").split(":"); + for (const location of pathParts) { + const candidateNix = external_node_path_namespaceObject.join(location, "nix"); + try { + await promises_namespaceObject.access(candidateNix, promises_namespaceObject.constants.X_OK); + core.debug(`Found Nix at ${candidateNix}`); + nixLocation = candidateNix; + } + catch { + core.debug(`Nix not at ${candidateNix}`); + } + } + this.addFact("nix_location", nixLocation || ""); + if (this.actionOptions.requireNix === "ignore") { + return true; + } + const currentNotFoundState = core.getState("idstoolbox_nix_not_found"); + if (currentNotFoundState === "not-found") { + // It was previously not found, so don't run subsequent actions + return false; + } + if (nixLocation !== undefined) { + return true; + } + core.saveState("idstoolbox_nix_not_found", "not-found"); + switch (this.actionOptions.requireNix) { + case "fail": + core.setFailed("This action can only be used when Nix is installed." + + " Add `- uses: DeterminateSystems/nix-installer-action@main` earlier in your workflow."); + break; + case "warn": + core.warning("This action is in no-op mode because Nix is not installed." + + " Add `- uses: DeterminateSystems/nix-installer-action@main` earlier in your workflow."); + break; + } + return false; + } async submitEvents() { if (!this.actionOptions.diagnosticsUrl) { core.debug("Diagnostics are disabled. Not sending the following events:"); @@ -94892,6 +95015,7 @@ function makeOptionsConfident(actionOptions) { eventPrefix: actionOptions.eventPrefix || "action:", fetchStyle: actionOptions.fetchStyle, legacySourcePrefix: actionOptions.legacySourcePrefix, + requireNix: actionOptions.requireNix, diagnosticsUrl: determineDiagnosticsUrl(idsProjectName, actionOptions.diagnosticsUrl), }; core.debug("idslib options:"); @@ -94957,6 +95081,9 @@ function mungeDiagnosticEndpoint(inputUrl) { } return inputUrl; } +// Public exports from other files + + ;// CONCATENATED MODULE: ./dist/index.js @@ -95220,6 +95347,7 @@ const idslib = new IdsToolbox({ name: "magic-nix-cache", fetchStyle: "gh-env-style", idsProjectName: "magic-nix-cache-closure", + requireNix: "warn", }); idslib.onMain(async () => { await setUpAutoCache(idslib); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de94bcd..89a9ef1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,7 @@ dependencies: version: 2.0.1 detsys-ts: specifier: github:DeterminateSystems/detsys-ts - version: github.com/DeterminateSystems/detsys-ts/3a315cdffd83d4b229d4fb16548d22a3756baf28 + version: github.com/DeterminateSystems/detsys-ts/1b12595783709c71515245d26437934a9f336598 fetch-retry: specifier: ^5.0.6 version: 5.0.6 @@ -48,7 +48,7 @@ devDependencies: version: 9.0.8 "@typescript-eslint/eslint-plugin": specifier: ^7.6.0 - version: 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5) + version: 7.6.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.4.5) "@vercel/ncc": specifier: ^0.38.1 version: 0.38.1 @@ -57,13 +57,13 @@ devDependencies: version: 8.57.0 eslint-import-resolver-typescript: specifier: ^3.6.1 - version: 3.6.1(@typescript-eslint/parser@7.6.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + version: 3.6.1(@typescript-eslint/parser@7.7.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.6.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@7.7.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) @@ -951,6 +951,38 @@ packages: - supports-color dev: true + /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.4.5): + resolution: + { + integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==, + } + engines: { node: ^18.18.0 || >=20.0.0 } + peerDependencies: + "@typescript-eslint/parser": ^7.0.0 + eslint: ^8.56.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@eslint-community/regexpp": 4.10.0 + "@typescript-eslint/parser": 7.7.0(eslint@8.57.0)(typescript@5.4.5) + "@typescript-eslint/scope-manager": 7.6.0 + "@typescript-eslint/type-utils": 7.6.0(eslint@8.57.0)(typescript@5.4.5) + "@typescript-eslint/utils": 7.6.0(eslint@8.57.0)(typescript@5.4.5) + "@typescript-eslint/visitor-keys": 7.6.0 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5): resolution: { @@ -975,6 +1007,30 @@ packages: - supports-color dev: true + /@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.5): + resolution: + { + integrity: sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==, + } + engines: { node: ^18.18.0 || >=20.0.0 } + peerDependencies: + eslint: ^8.56.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/scope-manager": 7.7.0 + "@typescript-eslint/types": 7.7.0 + "@typescript-eslint/typescript-estree": 7.7.0(typescript@5.4.5) + "@typescript-eslint/visitor-keys": 7.7.0 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/scope-manager@7.6.0: resolution: { @@ -986,6 +1042,17 @@ packages: "@typescript-eslint/visitor-keys": 7.6.0 dev: true + /@typescript-eslint/scope-manager@7.7.0: + resolution: + { + integrity: sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==, + } + engines: { node: ^18.18.0 || >=20.0.0 } + dependencies: + "@typescript-eslint/types": 7.7.0 + "@typescript-eslint/visitor-keys": 7.7.0 + dev: true + /@typescript-eslint/type-utils@7.6.0(eslint@8.57.0)(typescript@5.4.5): resolution: { @@ -1017,6 +1084,14 @@ packages: engines: { node: ^18.18.0 || >=20.0.0 } dev: true + /@typescript-eslint/types@7.7.0: + resolution: + { + integrity: sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==, + } + engines: { node: ^18.18.0 || >=20.0.0 } + dev: true + /@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.5): resolution: { @@ -1042,6 +1117,31 @@ packages: - supports-color dev: true + /@typescript-eslint/typescript-estree@7.7.0(typescript@5.4.5): + resolution: + { + integrity: sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==, + } + engines: { node: ^18.18.0 || >=20.0.0 } + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/types": 7.7.0 + "@typescript-eslint/visitor-keys": 7.7.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/utils@7.6.0(eslint@8.57.0)(typescript@5.4.5): resolution: { @@ -1075,6 +1175,17 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript-eslint/visitor-keys@7.7.0: + resolution: + { + integrity: sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==, + } + engines: { node: ^18.18.0 || >=20.0.0 } + dependencies: + "@typescript-eslint/types": 7.7.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@ungap/structured-clone@1.2.0: resolution: { @@ -1888,7 +1999,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.6.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): resolution: { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==, @@ -1901,8 +2012,8 @@ packages: debug: 4.3.4 enhanced-resolve: 5.16.0 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.6.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.6.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.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.7.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.3 is-core-module: 2.13.1 @@ -1942,7 +2053,40 @@ packages: 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.6.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.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: + "@typescript-eslint/parser": "*" + eslint: "*" + eslint-import-resolver-node: "*" + eslint-import-resolver-typescript: "*" + eslint-import-resolver-webpack: "*" + peerDependenciesMeta: + "@typescript-eslint/parser": + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + "@typescript-eslint/parser": 7.7.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.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color dev: true @@ -2072,6 +2216,44 @@ packages: - supports-color dev: true + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + resolution: + { + integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==, + } + engines: { node: ">=4" } + peerDependencies: + "@typescript-eslint/parser": "*" + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + "@typescript-eslint/parser": + optional: true + dependencies: + "@typescript-eslint/parser": 7.7.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 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + 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.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 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): resolution: { @@ -4353,10 +4535,10 @@ packages: engines: { node: ">=10" } dev: true - github.com/DeterminateSystems/detsys-ts/3a315cdffd83d4b229d4fb16548d22a3756baf28: + github.com/DeterminateSystems/detsys-ts/1b12595783709c71515245d26437934a9f336598: resolution: { - tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/3a315cdffd83d4b229d4fb16548d22a3756baf28, + tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/1b12595783709c71515245d26437934a9f336598, } name: detsys-ts version: 1.0.0 diff --git a/src/index.ts b/src/index.ts index ac76998..169b441 100644 --- a/src/index.ts +++ b/src/index.ts @@ -305,6 +305,7 @@ const idslib = new IdsToolbox({ name: "magic-nix-cache", fetchStyle: "gh-env-style", idsProjectName: "magic-nix-cache-closure", + requireNix: "warn", }); idslib.onMain(async () => {