mirror of
https://github.com/DeterminateSystems/magic-nix-cache-action.git
synced 2024-12-23 13:32:03 +01:00
Merge pull request #53 from DeterminateSystems/test-fail-mode
Add strict mode
This commit is contained in:
commit
60225884ca
7 changed files with 1167 additions and 807 deletions
73
.github/workflows/ci.yml
vendored
73
.github/workflows/ci.yml
vendored
|
@ -32,6 +32,7 @@ jobs:
|
||||||
- run: git diff --exit-code
|
- run: git diff --exit-code
|
||||||
|
|
||||||
test-no-nix:
|
test-no-nix:
|
||||||
|
needs: build
|
||||||
name: "Test: Nix not installed"
|
name: "Test: Nix not installed"
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
permissions:
|
permissions:
|
||||||
|
@ -43,9 +44,12 @@ jobs:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Cache the store
|
- name: Cache the store
|
||||||
uses: ./
|
uses: ./
|
||||||
|
with:
|
||||||
|
_internal-strict-mode: true
|
||||||
|
|
||||||
run-x86_64-linux-untrusted:
|
run-x86_64-linux-untrusted:
|
||||||
name: Run x86_64 Linux, Untrusted
|
needs: build
|
||||||
|
name: Run x86_64-linux, Untrusted
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
permissions:
|
permissions:
|
||||||
id-token: "write"
|
id-token: "write"
|
||||||
|
@ -63,21 +67,35 @@ jobs:
|
||||||
trusted-users = root
|
trusted-users = root
|
||||||
- name: Cache the store
|
- name: Cache the store
|
||||||
uses: ./
|
uses: ./
|
||||||
|
with:
|
||||||
|
_internal-strict-mode: true
|
||||||
- name: Check the cache isn't enabled
|
- name: Check the cache isn't enabled
|
||||||
run: |
|
run: |
|
||||||
[ $(nix config show substituters) == "https://cache.nixos.org/" ]
|
[ $(nix config show substituters) == "https://cache.nixos.org/" ]
|
||||||
|
|
||||||
run-x86_64-linux:
|
run-systems:
|
||||||
name: Run x86_64 Linux
|
needs: build
|
||||||
runs-on: ubuntu-22.04
|
name: "Run ${{ matrix.systems.nix-system }}"
|
||||||
|
runs-on: "${{ matrix.systems.runner }}"
|
||||||
permissions:
|
permissions:
|
||||||
id-token: "write"
|
id-token: "write"
|
||||||
contents: "read"
|
contents: "read"
|
||||||
env:
|
env:
|
||||||
ACTIONS_STEP_DEBUG: true
|
ACTIONS_STEP_DEBUG: true
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
systems:
|
||||||
|
- nix-system: "aarch64-darwin"
|
||||||
|
runner: "macos-latest-xlarge"
|
||||||
|
- nix-system: "x86_64-darwin"
|
||||||
|
runner: "macos-12"
|
||||||
|
- nix-system: "aarch64-linux"
|
||||||
|
runner: "namespace-profile-default-arm64"
|
||||||
|
- nix-system: "x86_64-linux"
|
||||||
|
runner: "ubuntu-22.04"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Install Nix
|
- name: Install Nix on ${{ matrix.systems.nix-system }} system
|
||||||
uses: DeterminateSystems/nix-installer-action@main
|
uses: DeterminateSystems/nix-installer-action@main
|
||||||
with:
|
with:
|
||||||
flakehub: true
|
flakehub: true
|
||||||
|
@ -85,51 +103,8 @@ jobs:
|
||||||
narinfo-cache-negative-ttl = 0
|
narinfo-cache-negative-ttl = 0
|
||||||
- name: Cache the store
|
- name: Cache the store
|
||||||
uses: ./
|
uses: ./
|
||||||
- name: Check the cache for liveness
|
|
||||||
run: |
|
|
||||||
.github/workflows/cache-test.sh
|
|
||||||
|
|
||||||
run-x86_64-darwin:
|
|
||||||
name: Run x86_64 Darwin
|
|
||||||
runs-on: macos-12
|
|
||||||
permissions:
|
|
||||||
id-token: "write"
|
|
||||||
contents: "read"
|
|
||||||
env:
|
|
||||||
ACTIONS_STEP_DEBUG: true
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Install Nix
|
|
||||||
uses: DeterminateSystems/nix-installer-action@main
|
|
||||||
with:
|
with:
|
||||||
flakehub: true
|
_internal-strict-mode: true
|
||||||
extra-conf: |
|
|
||||||
narinfo-cache-negative-ttl = 0
|
|
||||||
- name: Cache the store
|
|
||||||
uses: ./
|
|
||||||
- name: Check the cache for liveness
|
|
||||||
run: |
|
|
||||||
.github/workflows/cache-test.sh
|
|
||||||
|
|
||||||
run-aarch64-darwin:
|
|
||||||
name: Run aarch64 Darwin
|
|
||||||
concurrency: build-ARM64-macOS
|
|
||||||
runs-on: macos-latest-xlarge
|
|
||||||
permissions:
|
|
||||||
id-token: "write"
|
|
||||||
contents: "read"
|
|
||||||
env:
|
|
||||||
ACTIONS_STEP_DEBUG: true
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Install Nix
|
|
||||||
uses: DeterminateSystems/nix-installer-action@main
|
|
||||||
with:
|
|
||||||
flakehub: true
|
|
||||||
extra-conf: |
|
|
||||||
narinfo-cache-negative-ttl = 0
|
|
||||||
- name: Cache the store
|
|
||||||
uses: ./
|
|
||||||
- name: Check the cache for liveness
|
- name: Check the cache for liveness
|
||||||
run: |
|
run: |
|
||||||
.github/workflows/cache-test.sh
|
.github/workflows/cache-test.sh
|
||||||
|
|
|
@ -56,6 +56,9 @@ inputs:
|
||||||
source-url:
|
source-url:
|
||||||
description: A URL pointing to a `magic-nix-cache` binary. Overrides all other `source-*` options.
|
description: A URL pointing to a `magic-nix-cache` binary. Overrides all other `source-*` options.
|
||||||
required: false
|
required: false
|
||||||
|
_internal-strict-mode:
|
||||||
|
description: Whether to fail when any errors are thrown. Used only to test the Action; do not set this in your own workflows.
|
||||||
|
default: false
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: "node20"
|
using: "node20"
|
||||||
|
|
1355
dist/index.js
generated
vendored
1355
dist/index.js
generated
vendored
File diff suppressed because it is too large
Load diff
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
|
@ -28,15 +28,15 @@
|
||||||
"@actions/core": "^1.10.1",
|
"@actions/core": "^1.10.1",
|
||||||
"@actions/exec": "^1.1.1",
|
"@actions/exec": "^1.1.1",
|
||||||
"detsys-ts": "github:DeterminateSystems/detsys-ts",
|
"detsys-ts": "github:DeterminateSystems/detsys-ts",
|
||||||
"got": "^14.2.1",
|
"got": "^14.3.0",
|
||||||
"tail": "^2.2.6"
|
"tail": "^2.2.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
|
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
|
||||||
"@types/node": "^20.12.11",
|
"@types/node": "^20.12.12",
|
||||||
"@types/tail": "^2.2.3",
|
"@types/tail": "^2.2.3",
|
||||||
"@types/uuid": "^9.0.8",
|
"@types/uuid": "^9.0.8",
|
||||||
"@typescript-eslint/eslint-plugin": "^7.8.0",
|
"@typescript-eslint/eslint-plugin": "^7.10.0",
|
||||||
"@vercel/ncc": "^0.38.1",
|
"@vercel/ncc": "^0.38.1",
|
||||||
"eslint": "^8.57.0",
|
"eslint": "^8.57.0",
|
||||||
"eslint-import-resolver-typescript": "^3.6.1",
|
"eslint-import-resolver-typescript": "^3.6.1",
|
||||||
|
|
361
pnpm-lock.yaml
361
pnpm-lock.yaml
|
@ -13,10 +13,10 @@ dependencies:
|
||||||
version: 1.1.1
|
version: 1.1.1
|
||||||
detsys-ts:
|
detsys-ts:
|
||||||
specifier: github:DeterminateSystems/detsys-ts
|
specifier: github:DeterminateSystems/detsys-ts
|
||||||
version: github.com/DeterminateSystems/detsys-ts/93a5166cd57eefcd448ea79923c11eb4b56d4563
|
version: github.com/DeterminateSystems/detsys-ts/a089656286a58dc6767247181b5280826f20473a
|
||||||
got:
|
got:
|
||||||
specifier: ^14.2.1
|
specifier: ^14.3.0
|
||||||
version: 14.2.1
|
version: 14.3.0
|
||||||
tail:
|
tail:
|
||||||
specifier: ^2.2.6
|
specifier: ^2.2.6
|
||||||
version: 2.2.6
|
version: 2.2.6
|
||||||
|
@ -26,8 +26,8 @@ devDependencies:
|
||||||
specifier: ^4.3.0
|
specifier: ^4.3.0
|
||||||
version: 4.3.0(prettier@3.2.5)
|
version: 4.3.0(prettier@3.2.5)
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^20.12.11
|
specifier: ^20.12.12
|
||||||
version: 20.12.11
|
version: 20.12.12
|
||||||
'@types/tail':
|
'@types/tail':
|
||||||
specifier: ^2.2.3
|
specifier: ^2.2.3
|
||||||
version: 2.2.3
|
version: 2.2.3
|
||||||
|
@ -35,8 +35,8 @@ devDependencies:
|
||||||
specifier: ^9.0.8
|
specifier: ^9.0.8
|
||||||
version: 9.0.8
|
version: 9.0.8
|
||||||
'@typescript-eslint/eslint-plugin':
|
'@typescript-eslint/eslint-plugin':
|
||||||
specifier: ^7.8.0
|
specifier: ^7.10.0
|
||||||
version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5)
|
version: 7.10.0(@typescript-eslint/parser@7.10.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||||
'@vercel/ncc':
|
'@vercel/ncc':
|
||||||
specifier: ^0.38.1
|
specifier: ^0.38.1
|
||||||
version: 0.38.1
|
version: 0.38.1
|
||||||
|
@ -45,13 +45,13 @@ devDependencies:
|
||||||
version: 8.57.0
|
version: 8.57.0
|
||||||
eslint-import-resolver-typescript:
|
eslint-import-resolver-typescript:
|
||||||
specifier: ^3.6.1
|
specifier: ^3.6.1
|
||||||
version: 3.6.1(@typescript-eslint/parser@7.8.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
version: 3.6.1(@typescript-eslint/parser@7.10.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||||
eslint-plugin-github:
|
eslint-plugin-github:
|
||||||
specifier: ^4.10.2
|
specifier: ^4.10.2
|
||||||
version: 4.10.2(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.4.5)
|
version: 4.10.2(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.4.5)
|
||||||
eslint-plugin-import:
|
eslint-plugin-import:
|
||||||
specifier: ^2.29.1
|
specifier: ^2.29.1
|
||||||
version: 2.29.1(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
version: 2.29.1(@typescript-eslint/parser@7.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||||
eslint-plugin-prettier:
|
eslint-plugin-prettier:
|
||||||
specifier: ^5.1.3
|
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.2.5)
|
||||||
|
@ -77,7 +77,7 @@ packages:
|
||||||
'@actions/io': 1.1.3
|
'@actions/io': 1.1.3
|
||||||
'@azure/abort-controller': 1.1.0
|
'@azure/abort-controller': 1.1.0
|
||||||
'@azure/ms-rest-js': 2.7.0
|
'@azure/ms-rest-js': 2.7.0
|
||||||
'@azure/storage-blob': 12.17.0
|
'@azure/storage-blob': 12.18.0
|
||||||
semver: 6.3.1
|
semver: 6.3.1
|
||||||
uuid: 3.4.0
|
uuid: 3.4.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
@ -215,8 +215,8 @@ packages:
|
||||||
- encoding
|
- encoding
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@azure/storage-blob@12.17.0:
|
/@azure/storage-blob@12.18.0:
|
||||||
resolution: {integrity: sha512-sM4vpsCpcCApagRW5UIjQNlNylo02my2opgp0Emi8x888hZUvJ3dN69Oq20cEGXkMUWnoCrBaB0zyS3yeB87sQ==}
|
resolution: {integrity: sha512-BzBZJobMoDyjJsPRMLNHvqHycTGrT8R/dtcTx9qUFcqwSRfGVK9A/cZ7Nx38UQydT9usZGbaDCN75QRNjezSAA==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@azure/abort-controller': 1.1.0
|
'@azure/abort-controller': 1.1.0
|
||||||
|
@ -236,7 +236,7 @@ packages:
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/highlight': 7.24.5
|
'@babel/highlight': 7.24.5
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@babel/generator@7.17.7:
|
/@babel/generator@7.17.7:
|
||||||
|
@ -302,7 +302,7 @@ packages:
|
||||||
'@babel/helper-validator-identifier': 7.24.5
|
'@babel/helper-validator-identifier': 7.24.5
|
||||||
chalk: 2.4.2
|
chalk: 2.4.2
|
||||||
js-tokens: 4.0.0
|
js-tokens: 4.0.0
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@babel/parser@7.24.5:
|
/@babel/parser@7.24.5:
|
||||||
|
@ -717,136 +717,140 @@ packages:
|
||||||
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@rollup/rollup-android-arm-eabi@4.17.2:
|
/@rollup/rollup-android-arm-eabi@4.18.0:
|
||||||
resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
|
resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [android]
|
os: [android]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-android-arm64@4.17.2:
|
/@rollup/rollup-android-arm64@4.18.0:
|
||||||
resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
|
resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [android]
|
os: [android]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-darwin-arm64@4.17.2:
|
/@rollup/rollup-darwin-arm64@4.18.0:
|
||||||
resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
|
resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-darwin-x64@4.17.2:
|
/@rollup/rollup-darwin-x64@4.18.0:
|
||||||
resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
|
resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-linux-arm-gnueabihf@4.17.2:
|
/@rollup/rollup-linux-arm-gnueabihf@4.18.0:
|
||||||
resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
|
resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-linux-arm-musleabihf@4.17.2:
|
/@rollup/rollup-linux-arm-musleabihf@4.18.0:
|
||||||
resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
|
resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-linux-arm64-gnu@4.17.2:
|
/@rollup/rollup-linux-arm64-gnu@4.18.0:
|
||||||
resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
|
resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-linux-arm64-musl@4.17.2:
|
/@rollup/rollup-linux-arm64-musl@4.18.0:
|
||||||
resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
|
resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-linux-powerpc64le-gnu@4.17.2:
|
/@rollup/rollup-linux-powerpc64le-gnu@4.18.0:
|
||||||
resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
|
resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-linux-riscv64-gnu@4.17.2:
|
/@rollup/rollup-linux-riscv64-gnu@4.18.0:
|
||||||
resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
|
resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-linux-s390x-gnu@4.17.2:
|
/@rollup/rollup-linux-s390x-gnu@4.18.0:
|
||||||
resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
|
resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-linux-x64-gnu@4.17.2:
|
/@rollup/rollup-linux-x64-gnu@4.18.0:
|
||||||
resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
|
resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-linux-x64-musl@4.17.2:
|
/@rollup/rollup-linux-x64-musl@4.18.0:
|
||||||
resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
|
resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-win32-arm64-msvc@4.17.2:
|
/@rollup/rollup-win32-arm64-msvc@4.18.0:
|
||||||
resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
|
resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-win32-ia32-msvc@4.17.2:
|
/@rollup/rollup-win32-ia32-msvc@4.18.0:
|
||||||
resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
|
resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@rollup/rollup-win32-x64-msvc@4.17.2:
|
/@rollup/rollup-win32-x64-msvc@4.18.0:
|
||||||
resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
|
resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@sindresorhus/is@6.3.0:
|
/@sec-ant/readable-stream@0.4.1:
|
||||||
resolution: {integrity: sha512-bOSPck7aIJjASXIg1qvXSIjXhVBpIEKdl2Wxg4pVqoTRPL8wWExKBrnGIh6CEnhkFQHfc36k7APhO3uXV4g5xg==}
|
resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@sindresorhus/is@6.3.1:
|
||||||
|
resolution: {integrity: sha512-FX4MfcifwJyFOI2lPoX7PQxCqx8BG1HCho7WdiXwpEQx1Ycij0JxkfYtGK7yqNScrZGSlt6RE6sw8QYoH7eKnQ==}
|
||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
@ -885,10 +889,6 @@ packages:
|
||||||
resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
|
resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@types/json-schema@7.0.15:
|
|
||||||
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@types/json5@0.0.29:
|
/@types/json5@0.0.29:
|
||||||
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
|
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -896,19 +896,15 @@ packages:
|
||||||
/@types/node-fetch@2.6.11:
|
/@types/node-fetch@2.6.11:
|
||||||
resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==}
|
resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 20.12.11
|
'@types/node': 20.12.12
|
||||||
form-data: 4.0.0
|
form-data: 4.0.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@types/node@20.12.11:
|
/@types/node@20.12.12:
|
||||||
resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==}
|
resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 5.26.5
|
undici-types: 5.26.5
|
||||||
|
|
||||||
/@types/semver@7.5.8:
|
|
||||||
resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@types/tail@2.2.3:
|
/@types/tail@2.2.3:
|
||||||
resolution: {integrity: sha512-Hnf352egOlDR4nVTaGX0t/kmTNXHMdovF2C7PVDFtHTHJPFmIspOI1b86vEOxU7SfCq/dADS7ptbqgG/WGGxnA==}
|
resolution: {integrity: sha512-Hnf352egOlDR4nVTaGX0t/kmTNXHMdovF2C7PVDFtHTHJPFmIspOI1b86vEOxU7SfCq/dADS7ptbqgG/WGGxnA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -916,15 +912,15 @@ packages:
|
||||||
/@types/tunnel@0.0.3:
|
/@types/tunnel@0.0.3:
|
||||||
resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==}
|
resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 20.12.11
|
'@types/node': 20.12.12
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@types/uuid@9.0.8:
|
/@types/uuid@9.0.8:
|
||||||
resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
|
resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5):
|
/@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0)(eslint@8.57.0)(typescript@5.4.5):
|
||||||
resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==}
|
resolution: {integrity: sha512-PzCr+a/KAef5ZawX7nbyNwBDtM1HdLIT53aSA2DDlxmxMngZ43O8SIePOeX8H5S+FHXeI6t97mTt/dDdzY4Fyw==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@typescript-eslint/parser': ^7.0.0
|
'@typescript-eslint/parser': ^7.0.0
|
||||||
|
@ -935,25 +931,23 @@ packages:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.10.0
|
'@eslint-community/regexpp': 4.10.0
|
||||||
'@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
'@typescript-eslint/parser': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||||
'@typescript-eslint/scope-manager': 7.8.0
|
'@typescript-eslint/scope-manager': 7.10.0
|
||||||
'@typescript-eslint/type-utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
'@typescript-eslint/type-utils': 7.10.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/utils': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||||
'@typescript-eslint/visitor-keys': 7.8.0
|
'@typescript-eslint/visitor-keys': 7.10.0
|
||||||
debug: 4.3.4
|
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
graphemer: 1.4.0
|
graphemer: 1.4.0
|
||||||
ignore: 5.3.1
|
ignore: 5.3.1
|
||||||
natural-compare: 1.4.0
|
natural-compare: 1.4.0
|
||||||
semver: 7.6.2
|
|
||||||
ts-api-utils: 1.3.0(typescript@5.4.5)
|
ts-api-utils: 1.3.0(typescript@5.4.5)
|
||||||
typescript: 5.4.5
|
typescript: 5.4.5
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5):
|
/@typescript-eslint/parser@7.10.0(eslint@8.57.0)(typescript@5.4.5):
|
||||||
resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==}
|
resolution: {integrity: sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.56.0
|
eslint: ^8.56.0
|
||||||
|
@ -962,10 +956,10 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 7.8.0
|
'@typescript-eslint/scope-manager': 7.10.0
|
||||||
'@typescript-eslint/types': 7.8.0
|
'@typescript-eslint/types': 7.10.0
|
||||||
'@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
|
'@typescript-eslint/typescript-estree': 7.10.0(typescript@5.4.5)
|
||||||
'@typescript-eslint/visitor-keys': 7.8.0
|
'@typescript-eslint/visitor-keys': 7.10.0
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
typescript: 5.4.5
|
typescript: 5.4.5
|
||||||
|
@ -973,16 +967,16 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/scope-manager@7.8.0:
|
/@typescript-eslint/scope-manager@7.10.0:
|
||||||
resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==}
|
resolution: {integrity: sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 7.8.0
|
'@typescript-eslint/types': 7.10.0
|
||||||
'@typescript-eslint/visitor-keys': 7.8.0
|
'@typescript-eslint/visitor-keys': 7.10.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/type-utils@7.8.0(eslint@8.57.0)(typescript@5.4.5):
|
/@typescript-eslint/type-utils@7.10.0(eslint@8.57.0)(typescript@5.4.5):
|
||||||
resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==}
|
resolution: {integrity: sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.56.0
|
eslint: ^8.56.0
|
||||||
|
@ -991,8 +985,8 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
|
'@typescript-eslint/typescript-estree': 7.10.0(typescript@5.4.5)
|
||||||
'@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
'@typescript-eslint/utils': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
ts-api-utils: 1.3.0(typescript@5.4.5)
|
ts-api-utils: 1.3.0(typescript@5.4.5)
|
||||||
|
@ -1001,13 +995,13 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/types@7.8.0:
|
/@typescript-eslint/types@7.10.0:
|
||||||
resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==}
|
resolution: {integrity: sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5):
|
/@typescript-eslint/typescript-estree@7.10.0(typescript@5.4.5):
|
||||||
resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==}
|
resolution: {integrity: sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '*'
|
typescript: '*'
|
||||||
|
@ -1015,8 +1009,8 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 7.8.0
|
'@typescript-eslint/types': 7.10.0
|
||||||
'@typescript-eslint/visitor-keys': 7.8.0
|
'@typescript-eslint/visitor-keys': 7.10.0
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
|
@ -1028,30 +1022,27 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/utils@7.8.0(eslint@8.57.0)(typescript@5.4.5):
|
/@typescript-eslint/utils@7.10.0(eslint@8.57.0)(typescript@5.4.5):
|
||||||
resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==}
|
resolution: {integrity: sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.56.0
|
eslint: ^8.56.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||||
'@types/json-schema': 7.0.15
|
'@typescript-eslint/scope-manager': 7.10.0
|
||||||
'@types/semver': 7.5.8
|
'@typescript-eslint/types': 7.10.0
|
||||||
'@typescript-eslint/scope-manager': 7.8.0
|
'@typescript-eslint/typescript-estree': 7.10.0(typescript@5.4.5)
|
||||||
'@typescript-eslint/types': 7.8.0
|
|
||||||
'@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
|
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
semver: 7.6.2
|
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/visitor-keys@7.8.0:
|
/@typescript-eslint/visitor-keys@7.10.0:
|
||||||
resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==}
|
resolution: {integrity: sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 7.8.0
|
'@typescript-eslint/types': 7.10.0
|
||||||
eslint-visitor-keys: 3.4.3
|
eslint-visitor-keys: 3.4.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -1262,11 +1253,11 @@ packages:
|
||||||
balanced-match: 1.0.2
|
balanced-match: 1.0.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/braces@3.0.2:
|
/braces@3.0.3:
|
||||||
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dependencies:
|
dependencies:
|
||||||
fill-range: 7.0.1
|
fill-range: 7.1.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/browserslist@4.23.0:
|
/browserslist@4.23.0:
|
||||||
|
@ -1274,10 +1265,10 @@ packages:
|
||||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
caniuse-lite: 1.0.30001617
|
caniuse-lite: 1.0.30001621
|
||||||
electron-to-chromium: 1.4.763
|
electron-to-chromium: 1.4.777
|
||||||
node-releases: 2.0.14
|
node-releases: 2.0.14
|
||||||
update-browserslist-db: 1.0.15(browserslist@4.23.0)
|
update-browserslist-db: 1.0.16(browserslist@4.23.0)
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/bundle-require@4.1.0(esbuild@0.19.12):
|
/bundle-require@4.1.0(esbuild@0.19.12):
|
||||||
|
@ -1300,12 +1291,12 @@ packages:
|
||||||
engines: {node: '>=14.16'}
|
engines: {node: '>=14.16'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/cacheable-request@10.2.14:
|
/cacheable-request@12.0.1:
|
||||||
resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
|
resolution: {integrity: sha512-Yo9wGIQUaAfIbk+qY0X4cDQgCosecfBe3V9NSyeY4qPC2SAkbCS4Xj79VP8WOzitpJUZKc/wsRCYF5ariDIwkg==}
|
||||||
engines: {node: '>=14.16'}
|
engines: {node: '>=18'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/http-cache-semantics': 4.0.4
|
'@types/http-cache-semantics': 4.0.4
|
||||||
get-stream: 6.0.1
|
get-stream: 9.0.1
|
||||||
http-cache-semantics: 4.1.1
|
http-cache-semantics: 4.1.1
|
||||||
keyv: 4.5.4
|
keyv: 4.5.4
|
||||||
mimic-response: 4.0.0
|
mimic-response: 4.0.0
|
||||||
|
@ -1329,8 +1320,8 @@ packages:
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/caniuse-lite@1.0.30001617:
|
/caniuse-lite@1.0.30001621:
|
||||||
resolution: {integrity: sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==}
|
resolution: {integrity: sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/chalk@2.4.2:
|
/chalk@2.4.2:
|
||||||
|
@ -1355,7 +1346,7 @@ packages:
|
||||||
engines: {node: '>= 8.10.0'}
|
engines: {node: '>= 8.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
anymatch: 3.1.3
|
anymatch: 3.1.3
|
||||||
braces: 3.0.2
|
braces: 3.0.3
|
||||||
glob-parent: 5.1.2
|
glob-parent: 5.1.2
|
||||||
is-binary-path: 2.1.0
|
is-binary-path: 2.1.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
|
@ -1533,8 +1524,8 @@ packages:
|
||||||
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/electron-to-chromium@1.4.763:
|
/electron-to-chromium@1.4.777:
|
||||||
resolution: {integrity: sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==}
|
resolution: {integrity: sha512-n02NCwLJ3wexLfK/yQeqfywCblZqLcXphzmid5e8yVPdtEcida7li0A5WQKghHNG0FeOMCzeFOzEbtAh5riXFw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/emoji-regex@8.0.0:
|
/emoji-regex@8.0.0:
|
||||||
|
@ -1733,7 +1724,7 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.8.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
|
/eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.10.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
|
||||||
resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
|
resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^14.18.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -1743,8 +1734,8 @@ packages:
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
enhanced-resolve: 5.16.1
|
enhanced-resolve: 5.16.1
|
||||||
eslint: 8.57.0
|
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-module-utils: 2.8.1(@typescript-eslint/parser@7.10.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)
|
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||||
fast-glob: 3.3.2
|
fast-glob: 3.3.2
|
||||||
get-tsconfig: 4.7.5
|
get-tsconfig: 4.7.5
|
||||||
is-core-module: 2.13.1
|
is-core-module: 2.13.1
|
||||||
|
@ -1756,7 +1747,7 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/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-module-utils@2.8.1(@typescript-eslint/parser@7.10.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==}
|
resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -1777,11 +1768,11 @@ packages:
|
||||||
eslint-import-resolver-webpack:
|
eslint-import-resolver-webpack:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
'@typescript-eslint/parser': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.8.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.10.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -1825,8 +1816,8 @@ packages:
|
||||||
eslint: ^8.0.1
|
eslint: ^8.0.1
|
||||||
dependencies:
|
dependencies:
|
||||||
'@github/browserslist-config': 1.0.0
|
'@github/browserslist-config': 1.0.0
|
||||||
'@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5)
|
'@typescript-eslint/eslint-plugin': 7.10.0(@typescript-eslint/parser@7.10.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||||
'@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
'@typescript-eslint/parser': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||||
aria-query: 5.3.0
|
aria-query: 5.3.0
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
eslint-config-prettier: 9.1.0(eslint@8.57.0)
|
eslint-config-prettier: 9.1.0(eslint@8.57.0)
|
||||||
|
@ -1834,7 +1825,7 @@ packages:
|
||||||
eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0)
|
eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0)
|
||||||
eslint-plugin-filenames: 1.3.2(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-i18n-text: 1.0.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-import: 2.29.1(@typescript-eslint/parser@7.10.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-jsx-a11y: 6.8.0(eslint@8.57.0)
|
||||||
eslint-plugin-no-only-tests: 3.1.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.2.5)
|
||||||
|
@ -1858,7 +1849,7 @@ packages:
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/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-import@2.29.1(@typescript-eslint/parser@7.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||||
resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
|
resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -1868,7 +1859,7 @@ packages:
|
||||||
'@typescript-eslint/parser':
|
'@typescript-eslint/parser':
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
'@typescript-eslint/parser': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||||
array-includes: 3.1.8
|
array-includes: 3.1.8
|
||||||
array.prototype.findlastindex: 1.2.5
|
array.prototype.findlastindex: 1.2.5
|
||||||
array.prototype.flat: 1.3.2
|
array.prototype.flat: 1.3.2
|
||||||
|
@ -1877,7 +1868,7 @@ packages:
|
||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
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-module-utils: 2.8.1(@typescript-eslint/parser@7.10.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
is-core-module: 2.13.1
|
is-core-module: 2.13.1
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
|
@ -2083,7 +2074,7 @@ packages:
|
||||||
'@nodelib/fs.walk': 1.2.8
|
'@nodelib/fs.walk': 1.2.8
|
||||||
glob-parent: 5.1.2
|
glob-parent: 5.1.2
|
||||||
merge2: 1.4.1
|
merge2: 1.4.1
|
||||||
micromatch: 4.0.5
|
micromatch: 4.0.7
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/fast-json-stable-stringify@2.1.0:
|
/fast-json-stable-stringify@2.1.0:
|
||||||
|
@ -2107,8 +2098,8 @@ packages:
|
||||||
flat-cache: 3.2.0
|
flat-cache: 3.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/fill-range@7.0.1:
|
/fill-range@7.1.1:
|
||||||
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
|
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dependencies:
|
dependencies:
|
||||||
to-regex-range: 5.0.1
|
to-regex-range: 5.0.1
|
||||||
|
@ -2216,12 +2207,21 @@ packages:
|
||||||
/get-stream@6.0.1:
|
/get-stream@6.0.1:
|
||||||
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
|
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/get-stream@8.0.1:
|
/get-stream@8.0.1:
|
||||||
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
|
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
|
||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/get-stream@9.0.1:
|
||||||
|
resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
dependencies:
|
||||||
|
'@sec-ant/readable-stream': 0.4.1
|
||||||
|
is-stream: 4.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/get-symbol-description@1.0.2:
|
/get-symbol-description@1.0.2:
|
||||||
resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
|
resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
@ -2251,16 +2251,16 @@ packages:
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/glob@10.3.14:
|
/glob@10.3.16:
|
||||||
resolution: {integrity: sha512-4fkAqu93xe9Mk7le9v0y3VrPDqLKHarNi2s4Pv7f2yOvfhWfhc7hRPHC/JyqMqb8B/Dt/eGS4n7ykwf3fOsl8g==}
|
resolution: {integrity: sha512-JDKXl1DiuuHJ6fVS2FXjownaavciiHNUU4mOvV/B793RLh05vZL1rcPnCSaOgv1hDT6RDlY7AB7ZUvFYAtPgAw==}
|
||||||
engines: {node: '>=16 || 14 >=14.17'}
|
engines: {node: '>=16 || 14 >=14.18'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
foreground-child: 3.1.1
|
foreground-child: 3.1.1
|
||||||
jackspeak: 2.3.6
|
jackspeak: 3.1.2
|
||||||
minimatch: 9.0.4
|
minimatch: 9.0.4
|
||||||
minipass: 7.1.1
|
minipass: 7.1.1
|
||||||
path-scurry: 1.11.0
|
path-scurry: 1.11.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/glob@7.2.3:
|
/glob@7.2.3:
|
||||||
|
@ -2312,14 +2312,14 @@ packages:
|
||||||
get-intrinsic: 1.2.4
|
get-intrinsic: 1.2.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/got@14.2.1:
|
/got@14.3.0:
|
||||||
resolution: {integrity: sha512-KOaPMremmsvx6l9BLC04LYE6ZFW4x7e4HkTe3LwBmtuYYQwpeS4XKqzhubTIkaQ1Nr+eXxeori0zuwupXMovBQ==}
|
resolution: {integrity: sha512-vZkrXdq5BtPWTXqvjXSpl6zky3zpHaOVfSug/RfFHu3YrtSsvYzopVMDqrh2do77WnGoCSSRCHW25zXOSAQ9zw==}
|
||||||
engines: {node: '>=20'}
|
engines: {node: '>=20'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sindresorhus/is': 6.3.0
|
'@sindresorhus/is': 6.3.1
|
||||||
'@szmarczak/http-timer': 5.0.1
|
'@szmarczak/http-timer': 5.0.1
|
||||||
cacheable-lookup: 7.0.0
|
cacheable-lookup: 7.0.0
|
||||||
cacheable-request: 10.2.14
|
cacheable-request: 12.0.1
|
||||||
decompress-response: 6.0.0
|
decompress-response: 6.0.0
|
||||||
form-data-encoder: 4.0.2
|
form-data-encoder: 4.0.2
|
||||||
get-stream: 8.0.1
|
get-stream: 8.0.1
|
||||||
|
@ -2579,6 +2579,11 @@ packages:
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/is-stream@4.0.1:
|
||||||
|
resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/is-string@1.0.7:
|
/is-string@1.0.7:
|
||||||
resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
|
resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
@ -2637,8 +2642,8 @@ packages:
|
||||||
set-function-name: 2.0.2
|
set-function-name: 2.0.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/jackspeak@2.3.6:
|
/jackspeak@3.1.2:
|
||||||
resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
|
resolution: {integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@isaacs/cliui': 8.0.2
|
'@isaacs/cliui': 8.0.2
|
||||||
|
@ -2705,15 +2710,15 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
json-buffer: 3.0.1
|
json-buffer: 3.0.1
|
||||||
|
|
||||||
/language-subtag-registry@0.3.22:
|
/language-subtag-registry@0.3.23:
|
||||||
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
|
resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/language-tags@1.0.9:
|
/language-tags@1.0.9:
|
||||||
resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
|
resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
|
||||||
engines: {node: '>=0.10'}
|
engines: {node: '>=0.10'}
|
||||||
dependencies:
|
dependencies:
|
||||||
language-subtag-registry: 0.3.22
|
language-subtag-registry: 0.3.23
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/levn@0.4.1:
|
/levn@0.4.1:
|
||||||
|
@ -2792,11 +2797,11 @@ packages:
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/micromatch@4.0.5:
|
/micromatch@4.0.7:
|
||||||
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
|
resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
|
||||||
engines: {node: '>=8.6'}
|
engines: {node: '>=8.6'}
|
||||||
dependencies:
|
dependencies:
|
||||||
braces: 3.0.2
|
braces: 3.0.3
|
||||||
picomatch: 2.3.1
|
picomatch: 2.3.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -3032,9 +3037,9 @@ packages:
|
||||||
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/path-scurry@1.11.0:
|
/path-scurry@1.11.1:
|
||||||
resolution: {integrity: sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==}
|
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
|
||||||
engines: {node: '>=16 || 14 >=14.17'}
|
engines: {node: '>=16 || 14 >=14.18'}
|
||||||
dependencies:
|
dependencies:
|
||||||
lru-cache: 10.2.2
|
lru-cache: 10.2.2
|
||||||
minipass: 7.1.1
|
minipass: 7.1.1
|
||||||
|
@ -3045,8 +3050,8 @@ packages:
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/picocolors@1.0.0:
|
/picocolors@1.0.1:
|
||||||
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/picomatch@2.3.1:
|
/picomatch@2.3.1:
|
||||||
|
@ -3197,29 +3202,29 @@ packages:
|
||||||
glob: 7.2.3
|
glob: 7.2.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/rollup@4.17.2:
|
/rollup@4.18.0:
|
||||||
resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
|
resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==}
|
||||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/estree': 1.0.5
|
'@types/estree': 1.0.5
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@rollup/rollup-android-arm-eabi': 4.17.2
|
'@rollup/rollup-android-arm-eabi': 4.18.0
|
||||||
'@rollup/rollup-android-arm64': 4.17.2
|
'@rollup/rollup-android-arm64': 4.18.0
|
||||||
'@rollup/rollup-darwin-arm64': 4.17.2
|
'@rollup/rollup-darwin-arm64': 4.18.0
|
||||||
'@rollup/rollup-darwin-x64': 4.17.2
|
'@rollup/rollup-darwin-x64': 4.18.0
|
||||||
'@rollup/rollup-linux-arm-gnueabihf': 4.17.2
|
'@rollup/rollup-linux-arm-gnueabihf': 4.18.0
|
||||||
'@rollup/rollup-linux-arm-musleabihf': 4.17.2
|
'@rollup/rollup-linux-arm-musleabihf': 4.18.0
|
||||||
'@rollup/rollup-linux-arm64-gnu': 4.17.2
|
'@rollup/rollup-linux-arm64-gnu': 4.18.0
|
||||||
'@rollup/rollup-linux-arm64-musl': 4.17.2
|
'@rollup/rollup-linux-arm64-musl': 4.18.0
|
||||||
'@rollup/rollup-linux-powerpc64le-gnu': 4.17.2
|
'@rollup/rollup-linux-powerpc64le-gnu': 4.18.0
|
||||||
'@rollup/rollup-linux-riscv64-gnu': 4.17.2
|
'@rollup/rollup-linux-riscv64-gnu': 4.18.0
|
||||||
'@rollup/rollup-linux-s390x-gnu': 4.17.2
|
'@rollup/rollup-linux-s390x-gnu': 4.18.0
|
||||||
'@rollup/rollup-linux-x64-gnu': 4.17.2
|
'@rollup/rollup-linux-x64-gnu': 4.18.0
|
||||||
'@rollup/rollup-linux-x64-musl': 4.17.2
|
'@rollup/rollup-linux-x64-musl': 4.18.0
|
||||||
'@rollup/rollup-win32-arm64-msvc': 4.17.2
|
'@rollup/rollup-win32-arm64-msvc': 4.18.0
|
||||||
'@rollup/rollup-win32-ia32-msvc': 4.17.2
|
'@rollup/rollup-win32-ia32-msvc': 4.18.0
|
||||||
'@rollup/rollup-win32-x64-msvc': 4.17.2
|
'@rollup/rollup-win32-x64-msvc': 4.18.0
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -3413,7 +3418,7 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/gen-mapping': 0.3.5
|
'@jridgewell/gen-mapping': 0.3.5
|
||||||
commander: 4.1.1
|
commander: 4.1.1
|
||||||
glob: 10.3.14
|
glob: 10.3.16
|
||||||
lines-and-columns: 1.2.4
|
lines-and-columns: 1.2.4
|
||||||
mz: 2.7.0
|
mz: 2.7.0
|
||||||
pirates: 4.0.6
|
pirates: 4.0.6
|
||||||
|
@ -3563,7 +3568,7 @@ packages:
|
||||||
joycon: 3.1.1
|
joycon: 3.1.1
|
||||||
postcss-load-config: 4.0.2
|
postcss-load-config: 4.0.2
|
||||||
resolve-from: 5.0.0
|
resolve-from: 5.0.0
|
||||||
rollup: 4.17.2
|
rollup: 4.18.0
|
||||||
source-map: 0.8.0-beta.0
|
source-map: 0.8.0-beta.0
|
||||||
sucrase: 3.35.0
|
sucrase: 3.35.0
|
||||||
tree-kill: 1.2.2
|
tree-kill: 1.2.2
|
||||||
|
@ -3659,15 +3664,15 @@ packages:
|
||||||
'@fastify/busboy': 2.1.1
|
'@fastify/busboy': 2.1.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/update-browserslist-db@1.0.15(browserslist@4.23.0):
|
/update-browserslist-db@1.0.16(browserslist@4.23.0):
|
||||||
resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==}
|
resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
browserslist: '>= 4.21.0'
|
browserslist: '>= 4.21.0'
|
||||||
dependencies:
|
dependencies:
|
||||||
browserslist: 4.23.0
|
browserslist: 4.23.0
|
||||||
escalade: 3.1.2
|
escalade: 3.1.2
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/uri-js@4.4.1:
|
/uri-js@4.4.1:
|
||||||
|
@ -3818,15 +3823,15 @@ packages:
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
github.com/DeterminateSystems/detsys-ts/93a5166cd57eefcd448ea79923c11eb4b56d4563:
|
github.com/DeterminateSystems/detsys-ts/a089656286a58dc6767247181b5280826f20473a:
|
||||||
resolution: {tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/93a5166cd57eefcd448ea79923c11eb4b56d4563}
|
resolution: {tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/a089656286a58dc6767247181b5280826f20473a}
|
||||||
name: detsys-ts
|
name: detsys-ts
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@actions/cache': 3.2.4
|
'@actions/cache': 3.2.4
|
||||||
'@actions/core': 1.10.1
|
'@actions/core': 1.10.1
|
||||||
'@actions/exec': 1.1.1
|
'@actions/exec': 1.1.1
|
||||||
got: 14.2.1
|
got: 14.3.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- encoding
|
- encoding
|
||||||
dev: false
|
dev: false
|
||||||
|
|
174
src/index.ts
174
src/index.ts
|
@ -1,14 +1,13 @@
|
||||||
import { netrcPath, tailLog } from "./helpers.js";
|
import { netrcPath, tailLog } from "./helpers.js";
|
||||||
import * as actionsCore from "@actions/core";
|
import * as actionsCore from "@actions/core";
|
||||||
import { IdsToolbox, inputs } from "detsys-ts";
|
import { DetSysAction, inputs } from "detsys-ts";
|
||||||
import got, { Got } from "got";
|
import got, { Got, Response } from "got";
|
||||||
import * as http from "http";
|
import * as http from "http";
|
||||||
import { SpawnOptions, exec, spawn } from "node:child_process";
|
import { SpawnOptions, spawn } from "node:child_process";
|
||||||
import { mkdirSync, openSync, readFileSync } from "node:fs";
|
import { mkdirSync, openSync, readFileSync } from "node:fs";
|
||||||
import * as fs from "node:fs/promises";
|
import * as fs from "node:fs/promises";
|
||||||
import * as os from "node:os";
|
|
||||||
import * as path from "node:path";
|
import * as path from "node:path";
|
||||||
import { inspect, promisify } from "node:util";
|
import { inspect } from "node:util";
|
||||||
|
|
||||||
// The ENV_DAEMON_DIR is intended to determine if we "own" the daemon or not,
|
// 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
|
// in the case that a user has put the magic nix cache into their workflow
|
||||||
|
@ -26,23 +25,25 @@ const TEXT_TRUST_UNTRUSTED =
|
||||||
const TEXT_TRUST_UNKNOWN =
|
const TEXT_TRUST_UNKNOWN =
|
||||||
"The Nix daemon may not consider the user running this workflow to be trusted. Magic Nix Cache may not start correctly.";
|
"The Nix daemon may not consider the user running this workflow to be trusted. Magic Nix Cache may not start correctly.";
|
||||||
|
|
||||||
class MagicNixCacheAction {
|
class MagicNixCacheAction extends DetSysAction {
|
||||||
idslib: IdsToolbox;
|
private hostAndPort: string;
|
||||||
private client: Got;
|
private httpClient: Got;
|
||||||
|
|
||||||
noopMode: boolean;
|
noopMode: boolean;
|
||||||
private daemonDir: string;
|
private daemonDir: string;
|
||||||
private daemonStarted: boolean;
|
private daemonStarted: boolean;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.idslib = new IdsToolbox({
|
super({
|
||||||
name: "magic-nix-cache",
|
name: "magic-nix-cache",
|
||||||
fetchStyle: "gh-env-style",
|
fetchStyle: "gh-env-style",
|
||||||
idsProjectName: "magic-nix-cache-closure",
|
idsProjectName: "magic-nix-cache-closure",
|
||||||
requireNix: "warn",
|
requireNix: "warn",
|
||||||
});
|
});
|
||||||
|
|
||||||
this.client = got.extend({
|
this.hostAndPort = inputs.getString("listen");
|
||||||
|
|
||||||
|
this.httpClient = got.extend({
|
||||||
retry: {
|
retry: {
|
||||||
limit: 1,
|
limit: 1,
|
||||||
methods: ["POST", "GET", "PUT", "HEAD", "DELETE", "OPTIONS", "TRACE"],
|
methods: ["POST", "GET", "PUT", "HEAD", "DELETE", "OPTIONS", "TRACE"],
|
||||||
|
@ -63,7 +64,7 @@ class MagicNixCacheAction {
|
||||||
if (actionsCore.getState(STATE_DAEMONDIR) !== "") {
|
if (actionsCore.getState(STATE_DAEMONDIR) !== "") {
|
||||||
this.daemonDir = actionsCore.getState(STATE_DAEMONDIR);
|
this.daemonDir = actionsCore.getState(STATE_DAEMONDIR);
|
||||||
} else {
|
} else {
|
||||||
this.daemonDir = this.idslib.getTemporaryName();
|
this.daemonDir = this.getTemporaryName();
|
||||||
mkdirSync(this.daemonDir);
|
mkdirSync(this.daemonDir);
|
||||||
actionsCore.saveState(STATE_DAEMONDIR, this.daemonDir);
|
actionsCore.saveState(STATE_DAEMONDIR, this.daemonDir);
|
||||||
}
|
}
|
||||||
|
@ -74,12 +75,42 @@ class MagicNixCacheAction {
|
||||||
} else {
|
} else {
|
||||||
this.noopMode = process.env[ENV_DAEMON_DIR] !== this.daemonDir;
|
this.noopMode = process.env[ENV_DAEMON_DIR] !== this.daemonDir;
|
||||||
}
|
}
|
||||||
this.idslib.addFact("noop_mode", this.noopMode);
|
this.addFact("noop_mode", this.noopMode);
|
||||||
|
|
||||||
this.idslib.stapleFile(
|
this.stapleFile("daemon.log", path.join(this.daemonDir, "daemon.log"));
|
||||||
"daemon.log",
|
}
|
||||||
path.join(this.daemonDir, "daemon.log"),
|
|
||||||
);
|
async main(): Promise<void> {
|
||||||
|
if (this.noopMode) {
|
||||||
|
actionsCore.warning(TEXT_NOOP);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.nixStoreTrust === "untrusted") {
|
||||||
|
actionsCore.warning(TEXT_TRUST_UNTRUSTED);
|
||||||
|
return;
|
||||||
|
} else if (this.nixStoreTrust === "unknown") {
|
||||||
|
actionsCore.info(TEXT_TRUST_UNKNOWN);
|
||||||
|
}
|
||||||
|
|
||||||
|
await this.setUpAutoCache();
|
||||||
|
await this.notifyAutoCache();
|
||||||
|
}
|
||||||
|
|
||||||
|
async post(): Promise<void> {
|
||||||
|
if (this.noopMode) {
|
||||||
|
actionsCore.debug(TEXT_NOOP);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.nixStoreTrust === "untrusted") {
|
||||||
|
actionsCore.debug(TEXT_TRUST_UNTRUSTED);
|
||||||
|
return;
|
||||||
|
} else if (this.nixStoreTrust === "unknown") {
|
||||||
|
actionsCore.debug(TEXT_TRUST_UNKNOWN);
|
||||||
|
}
|
||||||
|
|
||||||
|
await this.tearDownAutoCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
async setUpAutoCache(): Promise<void> {
|
async setUpAutoCache(): Promise<void> {
|
||||||
|
@ -99,7 +130,7 @@ class MagicNixCacheAction {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.idslib.addFact("authenticated_env", !anyMissing);
|
this.addFact("authenticated_env", !anyMissing);
|
||||||
if (anyMissing) {
|
if (anyMissing) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -113,9 +144,7 @@ class MagicNixCacheAction {
|
||||||
`GitHub Action Cache URL: ${process.env["ACTIONS_CACHE_URL"]}`,
|
`GitHub Action Cache URL: ${process.env["ACTIONS_CACHE_URL"]}`,
|
||||||
);
|
);
|
||||||
|
|
||||||
const sourceBinary = inputs.getStringOrNull("source-binary");
|
const daemonBin = await this.unpackClosure("magic-nix-cache");
|
||||||
const daemonBin =
|
|
||||||
sourceBinary !== null ? sourceBinary : await this.fetchAutoCacher();
|
|
||||||
|
|
||||||
let runEnv;
|
let runEnv;
|
||||||
if (actionsCore.isDebug()) {
|
if (actionsCore.isDebug()) {
|
||||||
|
@ -156,8 +185,6 @@ class MagicNixCacheAction {
|
||||||
const log = tailLog(this.daemonDir);
|
const log = tailLog(this.daemonDir);
|
||||||
const netrc = await netrcPath();
|
const netrc = await netrcPath();
|
||||||
const nixConfPath = `${process.env["HOME"]}/.config/nix/nix.conf`;
|
const nixConfPath = `${process.env["HOME"]}/.config/nix/nix.conf`;
|
||||||
|
|
||||||
const hostAndPort = inputs.getString("listen");
|
|
||||||
const upstreamCache = inputs.getString("upstream-cache");
|
const upstreamCache = inputs.getString("upstream-cache");
|
||||||
const diagnosticEndpoint = inputs.getString("diagnostic-endpoint");
|
const diagnosticEndpoint = inputs.getString("diagnostic-endpoint");
|
||||||
const useFlakeHub = inputs.getBool("use-flakehub");
|
const useFlakeHub = inputs.getBool("use-flakehub");
|
||||||
|
@ -171,7 +198,7 @@ class MagicNixCacheAction {
|
||||||
"--startup-notification-url",
|
"--startup-notification-url",
|
||||||
`http://127.0.0.1:${notifyPort}`,
|
`http://127.0.0.1:${notifyPort}`,
|
||||||
"--listen",
|
"--listen",
|
||||||
hostAndPort,
|
this.hostAndPort,
|
||||||
"--upstream",
|
"--upstream",
|
||||||
upstreamCache,
|
upstreamCache,
|
||||||
"--diagnostic-endpoint",
|
"--diagnostic-endpoint",
|
||||||
|
@ -226,16 +253,19 @@ class MagicNixCacheAction {
|
||||||
})
|
})
|
||||||
// eslint-disable-next-line github/no-then
|
// eslint-disable-next-line github/no-then
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
reject(new Error(`error in notifyPromise: ${err}`));
|
const msg = `error in notifyPromise: ${err}`;
|
||||||
|
reject(new Error(msg));
|
||||||
});
|
});
|
||||||
daemon.on("exit", async (code, signal) => {
|
daemon.on("exit", async (code, signal) => {
|
||||||
|
let msg: string;
|
||||||
if (signal) {
|
if (signal) {
|
||||||
reject(new Error(`Daemon was killed by signal ${signal}`));
|
msg = `Daemon was killed by signal ${signal}`;
|
||||||
} else if (code) {
|
} else if (code) {
|
||||||
reject(new Error(`Daemon exited with code ${code}`));
|
msg = `Daemon exited with code ${code}`;
|
||||||
} else {
|
} else {
|
||||||
reject(new Error(`Daemon unexpectedly exited`));
|
msg = "Daemon unexpectedly exited";
|
||||||
}
|
}
|
||||||
|
reject(new Error(msg));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -246,20 +276,7 @@ class MagicNixCacheAction {
|
||||||
log.unwatch();
|
log.unwatch();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async fetchAutoCacher(): Promise<string> {
|
private async notifyAutoCache(): Promise<void> {
|
||||||
const closurePath = await this.idslib.fetch();
|
|
||||||
this.idslib.recordEvent("load_closure");
|
|
||||||
const { stdout } = await promisify(exec)(
|
|
||||||
`cat "${closurePath}" | xz -d | nix-store --import`,
|
|
||||||
);
|
|
||||||
|
|
||||||
const paths = stdout.split(os.EOL);
|
|
||||||
// Since the export is in reverse topologically sorted order, magic-nix-cache is always the penultimate entry in the list (the empty string left by split being the last).
|
|
||||||
const lastPath = paths.at(-2);
|
|
||||||
return `${lastPath}/bin/magic-nix-cache`;
|
|
||||||
}
|
|
||||||
|
|
||||||
async notifyAutoCache(): Promise<void> {
|
|
||||||
if (!this.daemonStarted) {
|
if (!this.daemonStarted) {
|
||||||
actionsCore.debug("magic-nix-cache not started - Skipping");
|
actionsCore.debug("magic-nix-cache not started - Skipping");
|
||||||
return;
|
return;
|
||||||
|
@ -267,15 +284,26 @@ class MagicNixCacheAction {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
actionsCore.debug(`Indicating workflow start`);
|
actionsCore.debug(`Indicating workflow start`);
|
||||||
const hostAndPort = inputs.getString("listen");
|
const res: Response<string> = await this.httpClient.post(
|
||||||
const res: Response = await this.client
|
`http://${this.hostAndPort}/api/workflow-start`,
|
||||||
.post(`http://${hostAndPort}/api/workflow-start`)
|
);
|
||||||
.json();
|
|
||||||
actionsCore.debug(`back from post: ${res}`);
|
actionsCore.debug(
|
||||||
|
`Response from POST to /api/workflow-start: (status: ${res.statusCode}, body: ${res.body})`,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (res.statusCode !== 200) {
|
||||||
|
throw new Error(
|
||||||
|
`Failed to trigger workflow start hook; expected status 200 but got (status: ${res.statusCode}, body: ${res.body})`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
actionsCore.debug(`back from post: ${res.body}`);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
actionsCore.info(`Error marking the workflow as started:`);
|
actionsCore.info(`Error marking the workflow as started:`);
|
||||||
actionsCore.info(inspect(e));
|
actionsCore.info(inspect(e));
|
||||||
actionsCore.info(`Magic Nix Cache may not be running for this workflow.`);
|
actionsCore.info(`Magic Nix Cache may not be running for this workflow.`);
|
||||||
|
this.failOnError(`Magic Nix Cache failed to start: ${inspect(e)}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -296,11 +324,19 @@ class MagicNixCacheAction {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
actionsCore.debug(`about to post to localhost`);
|
actionsCore.debug(`about to post to localhost`);
|
||||||
const hostAndPort = inputs.getString("listen");
|
const res: Response<string> = await this.httpClient.post(
|
||||||
const res: Response = await this.client
|
`http://${this.hostAndPort}/api/workflow-finish`,
|
||||||
.post(`http://${hostAndPort}/api/workflow-finish`)
|
);
|
||||||
.json();
|
|
||||||
actionsCore.debug(`back from post: ${res}`);
|
actionsCore.debug(
|
||||||
|
`Response from POST to /api/workflow-finish: (status: ${res.statusCode}, body: ${res.body})`,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (res.statusCode !== 200) {
|
||||||
|
throw new Error(
|
||||||
|
`Failed to trigger workflow finish hook; expected status 200 but got (status: ${res.statusCode}, body: ${res.body})`,
|
||||||
|
);
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
actionsCore.debug(`unwatching the daemon log`);
|
actionsCore.debug(`unwatching the daemon log`);
|
||||||
log.unwatch();
|
log.unwatch();
|
||||||
|
@ -324,41 +360,7 @@ class MagicNixCacheAction {
|
||||||
}
|
}
|
||||||
|
|
||||||
function main(): void {
|
function main(): void {
|
||||||
const cacheAction = new MagicNixCacheAction();
|
new MagicNixCacheAction().execute();
|
||||||
|
|
||||||
cacheAction.idslib.onMain(async () => {
|
|
||||||
if (cacheAction.noopMode) {
|
|
||||||
actionsCore.warning(TEXT_NOOP);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cacheAction.idslib.nixStoreTrust === "untrusted") {
|
|
||||||
actionsCore.warning(TEXT_TRUST_UNTRUSTED);
|
|
||||||
return;
|
|
||||||
} else if (cacheAction.idslib.nixStoreTrust === "unknown") {
|
|
||||||
actionsCore.info(TEXT_TRUST_UNKNOWN);
|
|
||||||
}
|
|
||||||
|
|
||||||
await cacheAction.setUpAutoCache();
|
|
||||||
await cacheAction.notifyAutoCache();
|
|
||||||
});
|
|
||||||
cacheAction.idslib.onPost(async () => {
|
|
||||||
if (cacheAction.noopMode) {
|
|
||||||
actionsCore.debug(TEXT_NOOP);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cacheAction.idslib.nixStoreTrust === "untrusted") {
|
|
||||||
actionsCore.debug(TEXT_TRUST_UNTRUSTED);
|
|
||||||
return;
|
|
||||||
} else if (cacheAction.idslib.nixStoreTrust === "unknown") {
|
|
||||||
actionsCore.debug(TEXT_TRUST_UNKNOWN);
|
|
||||||
}
|
|
||||||
|
|
||||||
await cacheAction.tearDownAutoCache();
|
|
||||||
});
|
|
||||||
|
|
||||||
cacheAction.idslib.execute();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
|
Loading…
Reference in a new issue