Update detsys-ts

This commit is contained in:
Luc Perkins 2024-05-22 13:19:09 -03:00
parent 75ffa7fc74
commit 0b690dedac
No known key found for this signature in database
GPG key ID: 16DB1108FB591835
4 changed files with 1060 additions and 629 deletions

1204
dist/index.js generated vendored

File diff suppressed because it is too large Load diff

View file

@ -33,9 +33,9 @@
}, },
"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/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",

View file

@ -16,7 +16,7 @@ dependencies:
version: 5.1.1 version: 5.1.1
detsys-ts: detsys-ts:
specifier: github:DeterminateSystems/detsys-ts specifier: github:DeterminateSystems/detsys-ts
version: github.com/DeterminateSystems/detsys-ts/2391ba1ef3d22027cd4d9ecce147007a88f63643 version: github.com/DeterminateSystems/detsys-ts/180884918b85ef67dad81f70b4130eca5268242e
string-argv: string-argv:
specifier: ^0.3.2 specifier: ^0.3.2
version: 0.3.2 version: 0.3.2
@ -26,14 +26,14 @@ 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/uuid": "@types/uuid":
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
@ -42,13 +42,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)
@ -76,7 +76,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:
@ -273,10 +273,10 @@ packages:
- encoding - encoding
dev: false dev: false
/@azure/storage-blob@12.17.0: /@azure/storage-blob@12.18.0:
resolution: resolution:
{ {
integrity: sha512-sM4vpsCpcCApagRW5UIjQNlNylo02my2opgp0Emi8x888hZUvJ3dN69Oq20cEGXkMUWnoCrBaB0zyS3yeB87sQ==, integrity: sha512-BzBZJobMoDyjJsPRMLNHvqHycTGrT8R/dtcTx9qUFcqwSRfGVK9A/cZ7Nx38UQydT9usZGbaDCN75QRNjezSAA==,
} }
engines: { node: ">=14.0.0" } engines: { node: ">=14.0.0" }
dependencies: dependencies:
@ -300,7 +300,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:
@ -393,7 +393,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:
@ -1076,10 +1076,10 @@ 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: resolution:
{ {
integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==, integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==,
} }
cpu: [arm] cpu: [arm]
os: [android] os: [android]
@ -1087,10 +1087,10 @@ packages:
dev: true dev: true
optional: true optional: true
/@rollup/rollup-android-arm64@4.17.2: /@rollup/rollup-android-arm64@4.18.0:
resolution: resolution:
{ {
integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==, integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==,
} }
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
@ -1098,10 +1098,10 @@ packages:
dev: true dev: true
optional: true optional: true
/@rollup/rollup-darwin-arm64@4.17.2: /@rollup/rollup-darwin-arm64@4.18.0:
resolution: resolution:
{ {
integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==, integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==,
} }
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
@ -1109,10 +1109,10 @@ packages:
dev: true dev: true
optional: true optional: true
/@rollup/rollup-darwin-x64@4.17.2: /@rollup/rollup-darwin-x64@4.18.0:
resolution: resolution:
{ {
integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==, integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==,
} }
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
@ -1120,10 +1120,10 @@ packages:
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: resolution:
{ {
integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==, integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==,
} }
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
@ -1131,10 +1131,10 @@ packages:
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: resolution:
{ {
integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==, integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==,
} }
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
@ -1142,10 +1142,10 @@ packages:
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: resolution:
{ {
integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==, integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==,
} }
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
@ -1153,10 +1153,10 @@ packages:
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: resolution:
{ {
integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==, integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==,
} }
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
@ -1164,10 +1164,10 @@ packages:
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: resolution:
{ {
integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==, integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==,
} }
cpu: [ppc64] cpu: [ppc64]
os: [linux] os: [linux]
@ -1175,10 +1175,10 @@ packages:
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: resolution:
{ {
integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==, integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==,
} }
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
@ -1186,10 +1186,10 @@ packages:
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: resolution:
{ {
integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==, integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==,
} }
cpu: [s390x] cpu: [s390x]
os: [linux] os: [linux]
@ -1197,10 +1197,10 @@ packages:
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: resolution:
{ {
integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==, integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==,
} }
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
@ -1208,10 +1208,10 @@ packages:
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: resolution:
{ {
integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==, integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==,
} }
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
@ -1219,10 +1219,10 @@ packages:
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: resolution:
{ {
integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==, integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==,
} }
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
@ -1230,10 +1230,10 @@ packages:
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: resolution:
{ {
integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==, integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==,
} }
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
@ -1241,10 +1241,10 @@ packages:
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: resolution:
{ {
integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==, integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==,
} }
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@ -1252,10 +1252,17 @@ packages:
dev: true dev: true
optional: true optional: true
/@sindresorhus/is@6.3.0: /@sec-ant/readable-stream@0.4.1:
resolution: resolution:
{ {
integrity: sha512-bOSPck7aIJjASXIg1qvXSIjXhVBpIEKdl2Wxg4pVqoTRPL8wWExKBrnGIh6CEnhkFQHfc36k7APhO3uXV4g5xg==, 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
@ -1307,13 +1314,6 @@ packages:
} }
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: resolution:
{ {
@ -1327,32 +1327,25 @@ packages:
integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==, 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: resolution:
{ {
integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==, 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/tunnel@0.0.3: /@types/tunnel@0.0.3:
resolution: resolution:
{ {
integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==, 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:
@ -1362,10 +1355,10 @@ packages:
} }
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: resolution:
{ {
integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==, 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:
@ -1377,27 +1370,25 @@ 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: resolution:
{ {
integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==, 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:
@ -1407,10 +1398,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
@ -1418,21 +1409,21 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/scope-manager@7.8.0: /@typescript-eslint/scope-manager@7.10.0:
resolution: resolution:
{ {
integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==, 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: resolution:
{ {
integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==, integrity: sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==,
} }
engines: { node: ^18.18.0 || >=20.0.0 } engines: { node: ^18.18.0 || >=20.0.0 }
peerDependencies: peerDependencies:
@ -1442,8 +1433,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)
@ -1452,18 +1443,18 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/types@7.8.0: /@typescript-eslint/types@7.10.0:
resolution: resolution:
{ {
integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==, 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: resolution:
{ {
integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==, integrity: sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==,
} }
engines: { node: ^18.18.0 || >=20.0.0 } engines: { node: ^18.18.0 || >=20.0.0 }
peerDependencies: peerDependencies:
@ -1472,8 +1463,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
@ -1485,36 +1476,33 @@ 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: resolution:
{ {
integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==, 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: resolution:
{ {
integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==, 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
@ -1825,14 +1813,14 @@ packages:
balanced-match: 1.0.2 balanced-match: 1.0.2
dev: true dev: true
/braces@3.0.2: /braces@3.0.3:
resolution: resolution:
{ {
integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, 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:
@ -1843,10 +1831,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.761 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):
@ -1878,15 +1866,15 @@ packages:
engines: { node: ">=14.16" } engines: { node: ">=14.16" }
dev: false dev: false
/cacheable-request@10.2.14: /cacheable-request@12.0.1:
resolution: resolution:
{ {
integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==, 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
@ -1916,10 +1904,10 @@ packages:
engines: { node: ">=6" } engines: { node: ">=6" }
dev: true dev: true
/caniuse-lite@1.0.30001617: /caniuse-lite@1.0.30001621:
resolution: resolution:
{ {
integrity: sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==, integrity: sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA==,
} }
dev: true dev: true
@ -1954,7 +1942,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
@ -2214,10 +2202,10 @@ packages:
} }
dev: true dev: true
/electron-to-chromium@1.4.761: /electron-to-chromium@1.4.777:
resolution: resolution:
{ {
integrity: sha512-PIbxpiJGx6Bb8dQaonNc6CGTRlVntdLg/2nMa1YhnrwYOORY9a3ZgGN0UQYE6lAcj/lkyduJN7BPt/JiY+jAQQ==, integrity: sha512-n02NCwLJ3wexLfK/yQeqfywCblZqLcXphzmid5e8yVPdtEcida7li0A5WQKghHNG0FeOMCzeFOzEbtAh5riXFw==,
} }
dev: true dev: true
@ -2468,7 +2456,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: resolution:
{ {
integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==, integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==,
@ -2481,8 +2469,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
@ -2494,7 +2482,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: resolution:
{ {
integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==, integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==,
@ -2518,11 +2506,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
@ -2578,8 +2566,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)
@ -2587,7 +2575,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)
@ -2614,7 +2602,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: resolution:
{ {
integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==, integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==,
@ -2627,7 +2615,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
@ -2636,7 +2624,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
@ -2896,7 +2884,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:
@ -2932,10 +2920,10 @@ 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: resolution:
{ {
integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==,
} }
engines: { node: ">=8" } engines: { node: ">=8" }
dependencies: dependencies:
@ -3089,6 +3077,7 @@ packages:
integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, 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: resolution:
@ -3098,6 +3087,17 @@ packages:
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: resolution:
{ {
@ -3139,19 +3139,19 @@ packages:
is-glob: 4.0.3 is-glob: 4.0.3
dev: true dev: true
/glob@10.3.14: /glob@10.3.16:
resolution: resolution:
{ {
integrity: sha512-4fkAqu93xe9Mk7le9v0y3VrPDqLKHarNi2s4Pv7f2yOvfhWfhc7hRPHC/JyqMqb8B/Dt/eGS4n7ykwf3fOsl8g==, 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:
@ -3221,17 +3221,17 @@ packages:
get-intrinsic: 1.2.4 get-intrinsic: 1.2.4
dev: true dev: true
/got@14.2.1: /got@14.3.0:
resolution: resolution:
{ {
integrity: sha512-KOaPMremmsvx6l9BLC04LYE6ZFW4x7e4HkTe3LwBmtuYYQwpeS4XKqzhubTIkaQ1Nr+eXxeori0zuwupXMovBQ==, 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
@ -3625,6 +3625,14 @@ 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: resolution:
{ {
@ -3710,10 +3718,10 @@ 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: resolution:
{ {
integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==, integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==,
} }
engines: { node: ">=14" } engines: { node: ">=14" }
dependencies: dependencies:
@ -3814,10 +3822,10 @@ 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: resolution:
{ {
integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==, integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==,
} }
dev: true dev: true
@ -3828,7 +3836,7 @@ packages:
} }
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:
@ -3955,14 +3963,14 @@ packages:
engines: { node: ">= 8" } engines: { node: ">= 8" }
dev: true dev: true
/micromatch@4.0.5: /micromatch@4.0.7:
resolution: resolution:
{ {
integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, 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
@ -4308,12 +4316,12 @@ packages:
} }
dev: true dev: true
/path-scurry@1.11.0: /path-scurry@1.11.1:
resolution: resolution:
{ {
integrity: sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==, 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
@ -4327,10 +4335,10 @@ packages:
engines: { node: ">=8" } engines: { node: ">=8" }
dev: true dev: true
/picocolors@1.0.0: /picocolors@1.0.1:
resolution: resolution:
{ {
integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==,
} }
dev: true dev: true
@ -4551,32 +4559,32 @@ packages:
glob: 7.2.3 glob: 7.2.3
dev: true dev: true
/rollup@4.17.2: /rollup@4.18.0:
resolution: resolution:
{ {
integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==, 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
@ -4859,7 +4867,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
@ -5064,7 +5072,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
@ -5200,10 +5208,10 @@ packages:
} }
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: resolution:
{ {
integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==, integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==,
} }
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -5211,7 +5219,7 @@ packages:
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:
@ -5421,10 +5429,10 @@ packages:
engines: { node: ">=10" } engines: { node: ">=10" }
dev: true dev: true
github.com/DeterminateSystems/detsys-ts/2391ba1ef3d22027cd4d9ecce147007a88f63643: github.com/DeterminateSystems/detsys-ts/180884918b85ef67dad81f70b4130eca5268242e:
resolution: resolution:
{ {
tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/2391ba1ef3d22027cd4d9ecce147007a88f63643, tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/180884918b85ef67dad81f70b4130eca5268242e,
} }
name: detsys-ts name: detsys-ts
version: 1.0.0 version: 1.0.0
@ -5432,7 +5440,7 @@ packages:
"@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

View file

@ -7,7 +7,7 @@ import fs from "node:fs";
import { userInfo } from "node:os"; import { userInfo } from "node:os";
import stringArgv from "string-argv"; import stringArgv from "string-argv";
import * as path from "path"; import * as path from "path";
import { IdsToolbox, inputs, platform } from "detsys-ts"; import { DetSysAction, inputs, platform } from "detsys-ts";
import { randomUUID } from "node:crypto"; import { randomUUID } from "node:crypto";
// Nix installation events // Nix installation events
@ -34,8 +34,7 @@ const FACT_IN_ACT = "in_act";
const FACT_IN_NAMESPACE_SO = "in_namespace_so"; const FACT_IN_NAMESPACE_SO = "in_namespace_so";
const FACT_NIX_INSTALLER_PLANNER = "nix_installer_planner"; const FACT_NIX_INSTALLER_PLANNER = "nix_installer_planner";
class NixInstallerAction { class NixInstallerAction extends DetSysAction {
idslib: IdsToolbox;
platform: string; platform: string;
nixPackageUrl: string | null; nixPackageUrl: string | null;
backtrace: string | null; backtrace: string | null;
@ -68,7 +67,7 @@ class NixInstallerAction {
trustRunnerUser: boolean | null; trustRunnerUser: boolean | null;
constructor() { constructor() {
this.idslib = new IdsToolbox({ super({
name: "nix-installer", name: "nix-installer",
fetchStyle: "nix-style", fetchStyle: "nix-style",
legacySourcePrefix: "nix-installer", legacySourcePrefix: "nix-installer",
@ -107,6 +106,16 @@ class NixInstallerAction {
this.trustRunnerUser = inputs.getBool("trust-runner-user"); this.trustRunnerUser = inputs.getBool("trust-runner-user");
} }
async main(): Promise<void> {
await this.detectAndForceDockerShim();
await this.install();
}
async post(): Promise<void> {
await this.cleanupDockerShim();
await this.reportOverall();
}
async detectAndForceDockerShim(): Promise<void> { async detectAndForceDockerShim(): Promise<void> {
const runnerOs = process.env["RUNNER_OS"]; const runnerOs = process.env["RUNNER_OS"];
@ -134,7 +143,7 @@ class NixInstallerAction {
throwIfNoEntry: false, throwIfNoEntry: false,
}); });
if (systemdCheck?.isDirectory()) { if (systemdCheck?.isDirectory()) {
this.idslib.addFact(FACT_HAS_SYSTEMD, true); this.addFact(FACT_HAS_SYSTEMD, true);
if (this.forceDockerShim) { if (this.forceDockerShim) {
actionsCore.warning( actionsCore.warning(
"Systemd is detected, but ignoring it since force-docker-shim is enabled.", "Systemd is detected, but ignoring it since force-docker-shim is enabled.",
@ -143,13 +152,13 @@ class NixInstallerAction {
return; return;
} }
} }
this.idslib.addFact(FACT_HAS_SYSTEMD, false); this.addFact(FACT_HAS_SYSTEMD, false);
actionsCore.debug( actionsCore.debug(
"Linux detected without systemd, testing for Docker with `docker info` as an alternative daemon supervisor.", "Linux detected without systemd, testing for Docker with `docker info` as an alternative daemon supervisor.",
); );
this.idslib.addFact(FACT_HAS_DOCKER, false); // Set to false here, and only in the success case do we set it to true this.addFact(FACT_HAS_DOCKER, false); // Set to false here, and only in the success case do we set it to true
let exitCode; let exitCode;
try { try {
exitCode = await actionsExec.exec("docker", ["info"], { exitCode = await actionsExec.exec("docker", ["info"], {
@ -183,7 +192,7 @@ class NixInstallerAction {
return; return;
} }
} }
this.idslib.addFact(FACT_HAS_DOCKER, true); this.addFact(FACT_HAS_DOCKER, true);
if ( if (
!this.forceDockerShim && !this.forceDockerShim &&
@ -320,7 +329,7 @@ class NixInstallerAction {
executionEnv.NIX_INSTALLER_NO_CONFIRM = "true"; executionEnv.NIX_INSTALLER_NO_CONFIRM = "true";
executionEnv.NIX_INSTALLER_DIAGNOSTIC_ATTRIBUTION = JSON.stringify( executionEnv.NIX_INSTALLER_DIAGNOSTIC_ATTRIBUTION = JSON.stringify(
this.idslib.getCorrelationHashes(), this.getCorrelationHashes(),
); );
if (this.backtrace !== null) { if (this.backtrace !== null) {
@ -368,7 +377,7 @@ class NixInstallerAction {
} }
executionEnv.NIX_INSTALLER_DIAGNOSTIC_ENDPOINT = executionEnv.NIX_INSTALLER_DIAGNOSTIC_ENDPOINT =
this.idslib.getDiagnosticsUrl()?.toString() ?? ""; this.getDiagnosticsUrl()?.toString() ?? "";
// TODO: Error if the user uses these on not-MacOS // TODO: Error if the user uses these on not-MacOS
if (this.macEncrypt !== null) { if (this.macEncrypt !== null) {
@ -460,7 +469,7 @@ class NixInstallerAction {
executionEnv.NIX_INSTALLER_EXTRA_CONF = extraConf; executionEnv.NIX_INSTALLER_EXTRA_CONF = extraConf;
if (process.env["ACT"] && !process.env["NOT_ACT"]) { if (process.env["ACT"] && !process.env["NOT_ACT"]) {
this.idslib.addFact(FACT_IN_ACT, true); this.addFact(FACT_IN_ACT, true);
actionsCore.info( actionsCore.info(
"Detected `$ACT` environment, assuming this is a https://github.com/nektos/act created container, set `NOT_ACT=true` to override this. This will change the setting of the `init` to be compatible with `act`", "Detected `$ACT` environment, assuming this is a https://github.com/nektos/act created container, set `NOT_ACT=true` to override this. This will change the setting of the `init` to be compatible with `act`",
); );
@ -468,7 +477,7 @@ class NixInstallerAction {
} }
if (process.env["NSC_VM_ID"] && !process.env["NOT_NAMESPACE"]) { if (process.env["NSC_VM_ID"] && !process.env["NOT_NAMESPACE"]) {
this.idslib.addFact(FACT_IN_NAMESPACE_SO, true); this.addFact(FACT_IN_NAMESPACE_SO, true);
actionsCore.info( actionsCore.info(
"Detected Namespace runner, assuming this is a https://namespace.so created container, set `NOT_NAMESPACE=true` to override this. This will change the setting of the `init` to be compatible with Namespace", "Detected Namespace runner, assuming this is a https://namespace.so created container, set `NOT_NAMESPACE=true` to override this. This will change the setting of the `init` to be compatible with Namespace",
); );
@ -486,10 +495,10 @@ class NixInstallerAction {
const args = ["install"]; const args = ["install"];
if (this.planner) { if (this.planner) {
this.idslib.addFact(FACT_NIX_INSTALLER_PLANNER, this.planner); this.addFact(FACT_NIX_INSTALLER_PLANNER, this.planner);
args.push(this.planner); args.push(this.planner);
} else { } else {
this.idslib.addFact(FACT_NIX_INSTALLER_PLANNER, getDefaultPlanner()); this.addFact(FACT_NIX_INSTALLER_PLANNER, getDefaultPlanner());
args.push(getDefaultPlanner()); args.push(getDefaultPlanner());
} }
@ -498,7 +507,7 @@ class NixInstallerAction {
args.concat(extraArgs); args.concat(extraArgs);
} }
this.idslib.recordEvent(EVENT_INSTALL_NIX_START); this.recordEvent(EVENT_INSTALL_NIX_START);
const exitCode = await actionsExec.exec(binaryPath, args, { const exitCode = await actionsExec.exec(binaryPath, args, {
env: { env: {
...executionEnv, ...executionEnv,
@ -507,13 +516,13 @@ class NixInstallerAction {
}); });
if (exitCode !== 0) { if (exitCode !== 0) {
this.idslib.recordEvent(EVENT_INSTALL_NIX_FAILURE, { this.recordEvent(EVENT_INSTALL_NIX_FAILURE, {
exitCode, exitCode,
}); });
throw new Error(`Non-zero exit code of \`${exitCode}\` detected`); throw new Error(`Non-zero exit code of \`${exitCode}\` detected`);
} }
this.idslib.recordEvent(EVENT_INSTALL_NIX_SUCCESS); this.recordEvent(EVENT_INSTALL_NIX_SUCCESS);
return exitCode; return exitCode;
} }
@ -613,7 +622,7 @@ class NixInstallerAction {
{ {
actionsCore.debug("Starting the Nix daemon through Docker..."); actionsCore.debug("Starting the Nix daemon through Docker...");
this.idslib.recordEvent(EVENT_START_DOCKER_SHIM); this.recordEvent(EVENT_START_DOCKER_SHIM);
const exitCode = await actionsExec.exec( const exitCode = await actionsExec.exec(
"docker", "docker",
[ [
@ -640,7 +649,7 @@ class NixInstallerAction {
"always", "always",
"--init", "--init",
"--name", "--name",
`determinate-nix-shim-${this.idslib.getUniqueId()}-${randomUUID()}`, `determinate-nix-shim-${this.getUniqueId()}-${randomUUID()}`,
"determinate-nix-shim:latest", "determinate-nix-shim:latest",
], ],
{ {
@ -703,7 +712,7 @@ class NixInstallerAction {
} }
if (cleaned) { if (cleaned) {
this.idslib.recordEvent(EVENT_CLEAN_UP_DOCKER_SHIM); this.recordEvent(EVENT_CLEAN_UP_DOCKER_SHIM);
} else { } else {
actionsCore.warning( actionsCore.warning(
"Giving up on cleaning up the nix daemon container", "Giving up on cleaning up the nix daemon container",
@ -732,7 +741,7 @@ class NixInstallerAction {
} }
async flakehubLogin(): Promise<string> { async flakehubLogin(): Promise<string> {
this.idslib.recordEvent(EVENT_LOGIN_TO_FLAKEHUB); this.recordEvent(EVENT_LOGIN_TO_FLAKEHUB);
const netrcPath = `${process.env["RUNNER_TEMP"]}/determinate-nix-installer-netrc`; const netrcPath = `${process.env["RUNNER_TEMP"]}/determinate-nix-installer-netrc`;
const jwt = await actionsCore.getIDToken("api.flakehub.com"); const jwt = await actionsCore.getIDToken("api.flakehub.com");
@ -759,7 +768,7 @@ class NixInstallerAction {
} }
async executeUninstall(): Promise<number> { async executeUninstall(): Promise<number> {
this.idslib.recordEvent(EVENT_UNINSTALL_NIX); this.recordEvent(EVENT_UNINSTALL_NIX);
const exitCode = await actionsExec.exec( const exitCode = await actionsExec.exec(
`/nix/nix-installer`, `/nix/nix-installer`,
["uninstall"], ["uninstall"],
@ -791,7 +800,7 @@ class NixInstallerAction {
} }
private async setupKvm(): Promise<boolean> { private async setupKvm(): Promise<boolean> {
this.idslib.recordEvent(EVENT_SETUP_KVM); this.recordEvent(EVENT_SETUP_KVM);
const currentUser = userInfo(); const currentUser = userInfo();
const isRoot = currentUser.uid === 0; const isRoot = currentUser.uid === 0;
const maybeSudo = isRoot ? "" : "sudo"; const maybeSudo = isRoot ? "" : "sudo";
@ -887,7 +896,7 @@ class NixInstallerAction {
private async fetchBinary(): Promise<string> { private async fetchBinary(): Promise<string> {
if (!this.localRoot) { if (!this.localRoot) {
return await this.idslib.fetchExecutable(); return await this.fetchExecutable();
} else { } else {
const localPath = join(this.localRoot, `nix-installer-${this.platform}`); const localPath = join(this.localRoot, `nix-installer-${this.platform}`);
actionsCore.info(`Using binary ${localPath}`); actionsCore.info(`Using binary ${localPath}`);
@ -897,7 +906,7 @@ class NixInstallerAction {
async reportOverall(): Promise<void> { async reportOverall(): Promise<void> {
try { try {
this.idslib.recordEvent(EVENT_CONCLUDE_WORKFLOW, { this.recordEvent(EVENT_CONCLUDE_WORKFLOW, {
conclusion: await this.getWorkflowConclusion(), conclusion: await this.getWorkflowConclusion(),
}); });
} catch (e) { } catch (e) {
@ -994,19 +1003,7 @@ function getDefaultPlanner(): string {
} }
function main(): void { function main(): void {
const installer = new NixInstallerAction(); new NixInstallerAction().execute();
installer.idslib.onMain(async () => {
await installer.detectAndForceDockerShim();
await installer.install();
});
installer.idslib.onPost(async () => {
await installer.cleanupDockerShim();
await installer.reportOverall();
});
installer.idslib.execute();
} }
main(); main();