fix: test failed on ci

This commit is contained in:
lin onetwo 2025-06-12 16:58:44 +08:00
parent b41f6ddb1c
commit f3fb021647
8 changed files with 160 additions and 325 deletions

View file

@ -22,47 +22,7 @@ concurrency:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 'latest'
run_install: false
- name: Cache dependencies
uses: actions/cache@v3
with:
path: |
**/node_modules
~/.pnpm-store
~/.npm
key: test-${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
test-${{ runner.os }}-node-
- name: Install dependencies
run: pnpm install
- name: Run unit tests
run: pnpm run test:unit
- name: Build plugins
run: pnpm run build:plugin
- name: Package for testing
run: pnpm run package:dev
- name: Run e2e tests
run: pnpm run test:e2e
uses: ./.github/workflows/test.yml
build:
needs: test

63
.github/workflows/test.yml vendored Normal file
View file

@ -0,0 +1,63 @@
name: Test
on:
workflow_call:
push:
branches:
- master
- develop
paths-ignore:
- 'README.md'
- 'docs/**'
- '.vscode'
pull_request:
branches:
- master
paths-ignore:
- 'docs/**'
- 'README.md'
- '.vscode'
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 'latest'
run_install: false
- name: Cache dependencies
uses: actions/cache@v3
with:
path: |
**/node_modules
~/.pnpm-store
~/.npm
key: test-${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
test-${{ runner.os }}-node-
- name: Install dependencies
run: pnpm install
- name: Run linting
run: pnpm run lint
continue-on-error: true
- name: Run unit tests
run: pnpm run test:unit
- name: Build plugins
run: pnpm run build:plugin
- name: Package for testing
run: pnpm run package:dev
- name: Run e2e tests
run: pnpm run test:e2e

View file

@ -16,12 +16,5 @@ export default [
tsconfigRootDir: __dirname,
},
},
},
{
rules: {
// allow Defensive programming
"@typescript-eslint/no-unnecessary-condition": "warn",
"@typescript-eslint/require-await": "off"
}
}
];

View file

@ -1,8 +1,7 @@
import { After, Before, setWorldConstructor, Then, When } from '@cucumber/cucumber';
import fs from 'fs';
import path from 'path';
import { _electron as electron } from 'playwright';
import type { ElectronApplication, Page } from 'playwright';
import { getPackedAppPath } from '../supports/paths';
class ApplicationWorld {
app: ElectronApplication | undefined;
@ -29,16 +28,11 @@ After(async function(this: ApplicationWorld) {
});
When('I launch the TidGi application', async function(this: ApplicationWorld) {
// For E2E tests on dev mode, use the packaged test version with NODE_ENV environment variable baked in, otherwise this will bring up existing production tidgi app on user's computer.
const packedAppPath = path.join(process.cwd(), 'out', 'TidGi-win32-x64', 'tidgi.exe');
// For E2E tests on dev mode, use the packaged test version with NODE_ENV environment variable baked in
const packedAppPath = getPackedAppPath();
console.log('Launching packaged test app at:', packedAppPath);
// Check if the executable exists before trying to launch
if (!fs.existsSync(packedAppPath)) {
throw new Error(`TidGi executable not found at ${packedAppPath}. You should run \`pnpm run package:test\` before running the tests to ensure the app is built.`);
}
try {
this.app = await electron.launch({
executablePath: packedAppPath,
@ -51,7 +45,7 @@ When('I launch the TidGi application', async function(this: ApplicationWorld) {
});
this.mainWindow = await this.app.firstWindow();
} catch (error) {
throw new Error(`Failed to launch TidGi application: ${error as Error}. You should run \`pnpm run package:test\` before running the tests to ensure the app is built.`);
throw new Error(`Failed to launch TidGi application: ${error as Error}. You should run \`pnpm run package:dev\` before running the tests to ensure the app is built.`);
}
});

View file

@ -0,0 +1,45 @@
import fs from 'fs';
import path from 'path';
export function getPackedAppPath(): string {
const platform = process.platform;
const outputDirectory = path.join(process.cwd(), 'out');
// Define possible app paths based on platform
const possiblePaths: string[] = [];
switch (platform) {
case 'win32':
possiblePaths.push(
path.join(outputDirectory, 'TidGi-win32-x64', 'tidgi.exe'),
path.join(outputDirectory, 'TidGi-win32-arm64', 'tidgi.exe'),
path.join(outputDirectory, 'TidGi-win32-ia32', 'tidgi.exe'),
);
break;
case 'darwin':
possiblePaths.push(
path.join(outputDirectory, 'TidGi-darwin-x64', 'TidGi.app', 'Contents', 'MacOS', 'TidGi'),
path.join(outputDirectory, 'TidGi-darwin-arm64', 'TidGi.app', 'Contents', 'MacOS', 'TidGi'),
);
break;
case 'linux':
possiblePaths.push(
path.join(outputDirectory, 'TidGi-linux-x64', 'tidgi'),
path.join(outputDirectory, 'TidGi-linux-arm64', 'tidgi'),
);
break;
default:
throw new Error(`Unsupported platform: ${platform}`);
}
// Find the first existing executable
for (const appPath of possiblePaths) {
if (fs.existsSync(appPath)) {
return appPath;
}
}
throw new Error(
`TidGi executable not found. Checked paths:\n${possiblePaths.join('\n')}\n\nYou should run \`pnpm run package:dev\` before running the tests to ensure the app is built.`,
);
}

View file

@ -1,20 +1,21 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"lib": ["ES2020", "dom"],
"outDir": "./stepDefinitions/compiled",
"rootDir": "./stepDefinitions",
"strict": true,
"esModuleInterop": true,
"rootDir": ".",
"outDir": "../out/features",
"noEmit": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"declaration": false,
"sourceMap": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"moduleResolution": "node"
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"moduleResolution": "node",
"resolveJsonModule": true
},
"include": ["stepDefinitions/*.ts"],
"exclude": ["stepDefinitions/compiled"]
"include": [
"**/*.ts",
"**/*.js"
],
"exclude": [
"node_modules",
"**/*.d.ts"
]
}

View file

@ -170,7 +170,7 @@
"electron-playwright-helpers": "^1.7.1",
"esbuild": "^0.25.2",
"esbuild-loader": "^4.3.0",
"eslint-config-tidgi": "2.1.0",
"eslint-config-tidgi": "^2.2.0",
"fork-ts-checker-webpack-plugin": "9.1.0",
"identity-obj-proxy": "^3.0.0",
"jest": "^30.0.0",

281
pnpm-lock.yaml generated
View file

@ -411,8 +411,8 @@ importers:
specifier: ^4.3.0
version: 4.3.0(webpack@5.88.1)
eslint-config-tidgi:
specifier: 2.1.0
version: 2.1.0(jiti@2.4.2)(typescript@5.8.3)
specifier: ^2.2.0
version: 2.2.0(jiti@2.4.2)(typescript@5.8.3)
fork-ts-checker-webpack-plugin:
specifier: 9.1.0
version: 9.1.0(typescript@5.8.3)(webpack@5.88.1)
@ -758,10 +758,6 @@ packages:
resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.25.9':
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.27.1':
resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
engines: {node: '>=6.9.0'}
@ -1315,21 +1311,12 @@ packages:
engines: {node: '>=14.14'}
hasBin: true
'@emnapi/core@1.4.0':
resolution: {integrity: sha512-H+N/FqT07NmLmt6OFFtDfwe8PNygprzBikrEMyQfgqSmT0vzE515Pz7R8izwB9q/zsH/MA64AKoul3sA6/CzVg==}
'@emnapi/core@1.4.3':
resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==}
'@emnapi/runtime@1.4.0':
resolution: {integrity: sha512-64WYIf4UYcdLnbKn/umDlNjQDSS8AgZrI/R9+x5ilkUVFxXcA1Ebl+gQLc/6mERA4407Xof0R7wEyEuj091CVw==}
'@emnapi/runtime@1.4.3':
resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==}
'@emnapi/wasi-threads@1.0.1':
resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==}
'@emnapi/wasi-threads@1.0.2':
resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==}
@ -2077,9 +2064,6 @@ packages:
'@napi-rs/wasm-runtime@0.2.11':
resolution: {integrity: sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==}
'@napi-rs/wasm-runtime@0.2.8':
resolution: {integrity: sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg==}
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@ -2783,86 +2767,43 @@ packages:
'@ungap/structured-clone@1.3.0':
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
'@unrs/resolver-binding-darwin-arm64@1.3.3':
resolution: {integrity: sha512-EpRILdWr3/xDa/7MoyfO7JuBIJqpBMphtu4+80BK1bRfFcniVT74h3Z7q1+WOc92FuIAYatB1vn9TJR67sORGw==}
cpu: [arm64]
os: [darwin]
'@unrs/resolver-binding-darwin-arm64@1.7.13':
resolution: {integrity: sha512-LIKeCzNSkTWwGHjtiUIfvS96+7kpuyrKq2pzw/0XT2S8ykczj40Hh27oLTbXguCX8tGrCoaD2yXxzwqMMhAzhA==}
cpu: [arm64]
os: [darwin]
'@unrs/resolver-binding-darwin-x64@1.3.3':
resolution: {integrity: sha512-ntj/g7lPyqwinMJWZ+DKHBse8HhVxswGTmNgFKJtdgGub3M3zp5BSZ3bvMP+kBT6dnYJLSVlDqdwOq1P8i0+/g==}
cpu: [x64]
os: [darwin]
'@unrs/resolver-binding-darwin-x64@1.7.13':
resolution: {integrity: sha512-GB5G3qUNrdo2l6xaZehpz1ln4wCQ75tr51HZ8OQEcX6XkBIFVL9E4ikCZvCmRmUgKGR+zP5ogyFib7ZbIMWKWA==}
cpu: [x64]
os: [darwin]
'@unrs/resolver-binding-freebsd-x64@1.3.3':
resolution: {integrity: sha512-l6BT8f2CU821EW7U8hSUK8XPq4bmyTlt9Mn4ERrfjJNoCw0/JoHAh9amZZtV3cwC3bwwIat+GUnrcHTG9+qixw==}
cpu: [x64]
os: [freebsd]
'@unrs/resolver-binding-freebsd-x64@1.7.13':
resolution: {integrity: sha512-rb8gzoBgqVhDkQiKaq+MrFPhNK3x8XkSFhgU55LfgOa5skv7KIdM3dELKzQVNZNlY49DuZmm0FsEfHK5xPKKiA==}
cpu: [x64]
os: [freebsd]
'@unrs/resolver-binding-linux-arm-gnueabihf@1.3.3':
resolution: {integrity: sha512-8ScEc5a4y7oE2BonRvzJ+2GSkBaYWyh0/Ko4Q25e/ix6ANpJNhwEPZvCR6GVRmsQAYMIfQvYLdM6YEN+qRjnAQ==}
cpu: [arm]
os: [linux]
'@unrs/resolver-binding-linux-arm-gnueabihf@1.7.13':
resolution: {integrity: sha512-bqdzngbTGzhsqhTV3SWECyZUAyvtewKtrCW4E8QPcK6yHSaN0k1h9gKwNOBxFwIqkQRsAibpm18XDum8M5AiCw==}
cpu: [arm]
os: [linux]
'@unrs/resolver-binding-linux-arm-musleabihf@1.3.3':
resolution: {integrity: sha512-8qQ6l1VTzLNd3xb2IEXISOKwMGXDCzY/UNy/7SovFW2Sp0K3YbL7Ao7R18v6SQkLqQlhhqSBIFRk+u6+qu5R5A==}
cpu: [arm]
os: [linux]
'@unrs/resolver-binding-linux-arm-musleabihf@1.7.13':
resolution: {integrity: sha512-vkoL3DSS5tsUNLhNtBJWaqDJNNEQsMCr0o2N02sLCSpe5S8TQHz+klQT42Qgj4PqATMwnG3OF0QQ5BH0oAKIPg==}
cpu: [arm]
os: [linux]
'@unrs/resolver-binding-linux-arm64-gnu@1.3.3':
resolution: {integrity: sha512-v81R2wjqcWXJlQY23byqYHt9221h4anQ6wwN64oMD/WAE+FmxPHFZee5bhRkNVtzqO/q7wki33VFWlhiADwUeQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@unrs/resolver-binding-linux-arm64-gnu@1.7.13':
resolution: {integrity: sha512-uNpLKxlDF+NF6aUztbAVhhFSF65zf/6QEfk5NifUgYFbpBObzvMnl2ydEsXV96spwPcmeNTpG9byvq+Twwd3HQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@unrs/resolver-binding-linux-arm64-musl@1.3.3':
resolution: {integrity: sha512-cAOx/j0u5coMg4oct/BwMzvWJdVciVauUvsd+GQB/1FZYKQZmqPy0EjJzJGbVzFc6gbnfEcSqvQE6gvbGf2N8Q==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@unrs/resolver-binding-linux-arm64-musl@1.7.13':
resolution: {integrity: sha512-mEFL6q7vtxA6YJ9sLbxCnKOBynOvClVOcqwUErmaCxA94hgP11rlstouySxJCGeFAb8KfUX9mui82waYrqoBlQ==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@unrs/resolver-binding-linux-ppc64-gnu@1.3.3':
resolution: {integrity: sha512-mq2blqwErgDJD4gtFDlTX/HZ7lNP8YCHYFij2gkXPtMzrXxPW1hOtxL6xg4NWxvnj4bppppb0W3s/buvM55yfg==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@unrs/resolver-binding-linux-ppc64-gnu@1.7.13':
resolution: {integrity: sha512-MjJaNk8HK3rCOIPS6AQPJXlrDfG1LaePum+CZddHZygPqDNZyVrVdWTadT+U51vIx5QOdEE0oXcgTY+7VYsU1g==}
cpu: [ppc64]
@ -2881,77 +2822,39 @@ packages:
os: [linux]
libc: [musl]
'@unrs/resolver-binding-linux-s390x-gnu@1.3.3':
resolution: {integrity: sha512-u0VRzfFYysarYHnztj2k2xr+eu9rmgoTUUgCCIT37Nr+j0A05Xk2c3RY8Mh5+DhCl2aYibihnaAEJHeR0UOFIQ==}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@unrs/resolver-binding-linux-s390x-gnu@1.7.13':
resolution: {integrity: sha512-J0MVXXPvM2Bv+f+gzOZHLHEmXUJNKwJqkfMDTwE763w/tD+OA7UlTMLQihrcYRXwW5jZ8nbM2cEWTeFsTiH2JQ==}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@unrs/resolver-binding-linux-x64-gnu@1.3.3':
resolution: {integrity: sha512-OrVo5ZsG29kBF0Ug95a2KidS16PqAMmQNozM6InbquOfW/udouk063e25JVLqIBhHLB2WyBnixOQ19tmeC/hIg==}
cpu: [x64]
os: [linux]
libc: [glibc]
'@unrs/resolver-binding-linux-x64-gnu@1.7.13':
resolution: {integrity: sha512-Ii2WhtIpeWUe6XG/YhPUX3JNL3PiyXe56PJzqAYDUyB0gctkk/nngpuPnNKlLMcN9FID0T39mIJPhA6YpRcGDQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
'@unrs/resolver-binding-linux-x64-musl@1.3.3':
resolution: {integrity: sha512-PYnmrwZ4HMp9SkrOhqPghY/aoL+Rtd4CQbr93GlrRTjK6kDzfMfgz3UH3jt6elrQAfupa1qyr1uXzeVmoEAxUA==}
cpu: [x64]
os: [linux]
libc: [musl]
'@unrs/resolver-binding-linux-x64-musl@1.7.13':
resolution: {integrity: sha512-8F5E9EhtGYkfEM1OhyVgq76+SnMF5NfZS4v5Rq9JlfuqPnqXWgUjg903hxnG54PQr4I3jmG5bEeT77pGAA3Vvg==}
cpu: [x64]
os: [linux]
libc: [musl]
'@unrs/resolver-binding-wasm32-wasi@1.3.3':
resolution: {integrity: sha512-81AnQY6fShmktQw4hWDUIilsKSdvr/acdJ5azAreu2IWNlaJOKphJSsUVWE+yCk6kBMoQyG9ZHCb/krb5K0PEA==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
'@unrs/resolver-binding-wasm32-wasi@1.7.13':
resolution: {integrity: sha512-7RXGTyDtyR/5o1FlBcjEaQQmQ2rKvu5Jq0Uhvce3PsbreZ61M4LQ5Mey2OMomIq4opphAkfDdm/lkHhWJNKNrw==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
'@unrs/resolver-binding-win32-arm64-msvc@1.3.3':
resolution: {integrity: sha512-X/42BMNw7cW6xrB9syuP5RusRnWGoq+IqvJO8IDpp/BZg64J1uuIW6qA/1Cl13Y4LyLXbJVYbYNSKwR/FiHEng==}
cpu: [arm64]
os: [win32]
'@unrs/resolver-binding-win32-arm64-msvc@1.7.13':
resolution: {integrity: sha512-MomJVcaVZe3j+CvkcfIVEcQyOOzauKpJYGY8d6PoKXn1FalMVGHX9/c0kXCI0WCK+CRGMExAiQhD8jkhyUVKxg==}
cpu: [arm64]
os: [win32]
'@unrs/resolver-binding-win32-ia32-msvc@1.3.3':
resolution: {integrity: sha512-EGNnNGQxMU5aTN7js3ETYvuw882zcO+dsVjs+DwO2j/fRVKth87C8e2GzxW1L3+iWAXMyJhvFBKRavk9Og1Z6A==}
cpu: [ia32]
os: [win32]
'@unrs/resolver-binding-win32-ia32-msvc@1.7.13':
resolution: {integrity: sha512-pnHfzbFj6e4gUARI1Yvz0TUhmFZae248O7JOMCSmSBN3R35RJiKyHmsMuIiPrUYWDzm5jUMPTxSs+b3Ipawusw==}
cpu: [ia32]
os: [win32]
'@unrs/resolver-binding-win32-x64-msvc@1.3.3':
resolution: {integrity: sha512-GraLbYqOJcmW1qY3osB+2YIiD62nVf2/bVLHZmrb4t/YSUwE03l7TwcDJl08T/Tm3SVhepX8RQkpzWbag/Sb4w==}
cpu: [x64]
os: [win32]
'@unrs/resolver-binding-win32-x64-msvc@1.7.13':
resolution: {integrity: sha512-tI0+FTntE3BD0UxhTP12F/iTtkeMK+qh72/2aSxPZnTlOcMR9CTJid8CdppbSjj9wenq7PNcqScLtpPENH3Lvg==}
cpu: [x64]
@ -4391,8 +4294,8 @@ packages:
eslint-plugin-n: '^15.0.0 || ^16.0.0 '
eslint-plugin-promise: ^6.0.0
eslint-config-tidgi@2.1.0:
resolution: {integrity: sha512-d0RqbDFWS4Ftsfxfv0IJD2NWyrCBKfV5qpmCTpIea6D4pZ4nUHNeNTKu48IGP5S3x2qq+TbsLW5AmlODwjgjmw==}
eslint-config-tidgi@2.2.0:
resolution: {integrity: sha512-ibg5up8zk8vTtTg9wYfBaifasde89TivdXLmtiwO9B39gn+5mXDbARgCfmaNltPXbp3NO/cCrIvx5vb+R8q67w==}
peerDependencies:
typescript: ^5.3.3
@ -4954,10 +4857,6 @@ packages:
get-func-name@2.0.2:
resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
get-intrinsic@1.2.4:
resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
engines: {node: '>= 0.4'}
get-intrinsic@1.3.0:
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
@ -5071,9 +4970,6 @@ packages:
resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==}
engines: {node: '>=18'}
gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
gopd@1.2.0:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
@ -5117,18 +5013,10 @@ packages:
has-property-descriptors@1.0.2:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
has-proto@1.0.3:
resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
engines: {node: '>= 0.4'}
has-proto@1.2.0:
resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
engines: {node: '>= 0.4'}
has-symbols@1.0.3:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
engines: {node: '>= 0.4'}
has-symbols@1.1.0:
resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
engines: {node: '>= 0.4'}
@ -8277,9 +8165,6 @@ packages:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
engines: {node: '>= 0.8'}
unrs-resolver@1.3.3:
resolution: {integrity: sha512-PFLAGQzYlyjniXdbmQ3dnGMZJXX5yrl2YS4DLRfR3BhgUsE1zpRIrccp9XMOGRfIHpdFvCn/nr5N1KMVda4x3A==}
unrs-resolver@1.7.13:
resolution: {integrity: sha512-QUjCYKAgrdJpf3wA73zWjOrO7ra19lfnwQ8HRkNOLah5AVDqOS38UunnyhzsSL8AE+2/AGnAHxlr8cGshCP35A==}
@ -9088,8 +8973,6 @@ snapshots:
'@babel/helper-string-parser@7.27.1': {}
'@babel/helper-validator-identifier@7.25.9': {}
'@babel/helper-validator-identifier@7.27.1': {}
'@babel/helper-validator-option@7.27.1': {}
@ -9930,33 +9813,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@emnapi/core@1.4.0':
dependencies:
'@emnapi/wasi-threads': 1.0.1
tslib: 2.8.1
optional: true
'@emnapi/core@1.4.3':
dependencies:
'@emnapi/wasi-threads': 1.0.2
tslib: 2.8.1
optional: true
'@emnapi/runtime@1.4.0':
dependencies:
tslib: 2.8.1
optional: true
'@emnapi/runtime@1.4.3':
dependencies:
tslib: 2.8.1
optional: true
'@emnapi/wasi-threads@1.0.1':
dependencies:
tslib: 2.8.1
optional: true
'@emnapi/wasi-threads@1.0.2':
dependencies:
tslib: 2.8.1
@ -10160,7 +10027,7 @@ snapshots:
espree: 10.3.0
globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.0
import-fresh: 3.3.1
js-yaml: 4.1.0
minimatch: 3.1.2
strip-json-comments: 3.1.1
@ -10854,13 +10721,6 @@ snapshots:
'@tybys/wasm-util': 0.9.0
optional: true
'@napi-rs/wasm-runtime@0.2.8':
dependencies:
'@emnapi/core': 1.4.0
'@emnapi/runtime': 1.4.0
'@tybys/wasm-util': 0.9.0
optional: true
'@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
@ -11207,7 +11067,7 @@ snapshots:
'@types/eslint@8.40.2':
dependencies:
'@types/estree': 1.0.1
'@types/estree': 1.0.7
'@types/json-schema': 7.0.15
'@types/estree@1.0.1': {}
@ -11613,7 +11473,7 @@ snapshots:
'@typescript-eslint/types': 8.28.0
'@typescript-eslint/visitor-keys': 8.28.0
debug: 4.4.1
fast-glob: 3.3.2
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.7.2
@ -11627,7 +11487,7 @@ snapshots:
'@typescript-eslint/types': 8.29.0
'@typescript-eslint/visitor-keys': 8.29.0
debug: 4.4.1
fast-glob: 3.3.2
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.7.2
@ -11695,51 +11555,27 @@ snapshots:
'@ungap/structured-clone@1.3.0': {}
'@unrs/resolver-binding-darwin-arm64@1.3.3':
optional: true
'@unrs/resolver-binding-darwin-arm64@1.7.13':
optional: true
'@unrs/resolver-binding-darwin-x64@1.3.3':
optional: true
'@unrs/resolver-binding-darwin-x64@1.7.13':
optional: true
'@unrs/resolver-binding-freebsd-x64@1.3.3':
optional: true
'@unrs/resolver-binding-freebsd-x64@1.7.13':
optional: true
'@unrs/resolver-binding-linux-arm-gnueabihf@1.3.3':
optional: true
'@unrs/resolver-binding-linux-arm-gnueabihf@1.7.13':
optional: true
'@unrs/resolver-binding-linux-arm-musleabihf@1.3.3':
optional: true
'@unrs/resolver-binding-linux-arm-musleabihf@1.7.13':
optional: true
'@unrs/resolver-binding-linux-arm64-gnu@1.3.3':
optional: true
'@unrs/resolver-binding-linux-arm64-gnu@1.7.13':
optional: true
'@unrs/resolver-binding-linux-arm64-musl@1.3.3':
optional: true
'@unrs/resolver-binding-linux-arm64-musl@1.7.13':
optional: true
'@unrs/resolver-binding-linux-ppc64-gnu@1.3.3':
optional: true
'@unrs/resolver-binding-linux-ppc64-gnu@1.7.13':
optional: true
@ -11749,49 +11585,26 @@ snapshots:
'@unrs/resolver-binding-linux-riscv64-musl@1.7.13':
optional: true
'@unrs/resolver-binding-linux-s390x-gnu@1.3.3':
optional: true
'@unrs/resolver-binding-linux-s390x-gnu@1.7.13':
optional: true
'@unrs/resolver-binding-linux-x64-gnu@1.3.3':
optional: true
'@unrs/resolver-binding-linux-x64-gnu@1.7.13':
optional: true
'@unrs/resolver-binding-linux-x64-musl@1.3.3':
optional: true
'@unrs/resolver-binding-linux-x64-musl@1.7.13':
optional: true
'@unrs/resolver-binding-wasm32-wasi@1.3.3':
dependencies:
'@napi-rs/wasm-runtime': 0.2.8
optional: true
'@unrs/resolver-binding-wasm32-wasi@1.7.13':
dependencies:
'@napi-rs/wasm-runtime': 0.2.11
optional: true
'@unrs/resolver-binding-win32-arm64-msvc@1.3.3':
optional: true
'@unrs/resolver-binding-win32-arm64-msvc@1.7.13':
optional: true
'@unrs/resolver-binding-win32-ia32-msvc@1.3.3':
optional: true
'@unrs/resolver-binding-win32-ia32-msvc@1.7.13':
optional: true
'@unrs/resolver-binding-win32-x64-msvc@1.3.3':
optional: true
'@unrs/resolver-binding-win32-x64-msvc@1.7.13':
optional: true
@ -12427,7 +12240,7 @@ snapshots:
es-define-property: 1.0.0
es-errors: 1.3.0
function-bind: 1.1.2
get-intrinsic: 1.2.4
get-intrinsic: 1.3.0
set-function-length: 1.2.2
call-bind@1.0.8:
@ -12901,9 +12714,9 @@ snapshots:
define-data-property@1.1.4:
dependencies:
es-define-property: 1.0.0
es-define-property: 1.0.1
es-errors: 1.3.0
gopd: 1.0.1
gopd: 1.2.0
define-lazy-prop@2.0.0: {}
@ -13316,7 +13129,7 @@ snapshots:
es-define-property@1.0.0:
dependencies:
get-intrinsic: 1.2.4
get-intrinsic: 1.3.0
es-define-property@1.0.1: {}
@ -13442,7 +13255,7 @@ snapshots:
eslint-plugin-n: 17.17.0(eslint@9.23.0(jiti@2.4.2))
eslint-plugin-promise: 7.2.1(eslint@9.23.0(jiti@2.4.2))
eslint-config-tidgi@2.1.0(jiti@2.4.2)(typescript@5.8.3):
eslint-config-tidgi@2.2.0(jiti@2.4.2)(typescript@5.8.3):
dependencies:
'@eslint/js': 9.23.0
'@typescript-eslint/eslint-plugin': 8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.3)
@ -13500,8 +13313,8 @@ snapshots:
get-tsconfig: 4.10.0
is-bun-module: 2.0.0
stable-hash: 0.0.5
tinyglobby: 0.2.12
unrs-resolver: 1.3.3
tinyglobby: 0.2.14
unrs-resolver: 1.7.13
optionalDependencies:
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@4.3.1)(eslint@9.23.0(jiti@2.4.2))
transitivePeerDependencies:
@ -13616,7 +13429,7 @@ snapshots:
eslint-utils: 2.1.0
ignore: 5.3.2
minimatch: 3.1.2
resolve: 1.22.8
resolve: 1.22.10
semver: 6.3.1
eslint-plugin-promise@7.2.1(eslint@9.23.0(jiti@2.4.2)):
@ -13669,7 +13482,7 @@ snapshots:
eslint-plugin-unicorn@58.0.0(eslint@9.23.0(jiti@2.4.2)):
dependencies:
'@babel/helper-validator-identifier': 7.25.9
'@babel/helper-validator-identifier': 7.27.1
'@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2))
'@eslint/plugin-kit': 0.2.8
ci-info: 4.2.0
@ -14186,14 +13999,6 @@ snapshots:
get-func-name@2.0.2: {}
get-intrinsic@1.2.4:
dependencies:
es-errors: 1.3.0
function-bind: 1.1.2
has-proto: 1.0.3
has-symbols: 1.0.3
hasown: 2.0.2
get-intrinsic@1.3.0:
dependencies:
call-bind-apply-helpers: 1.0.2
@ -14338,7 +14143,7 @@ snapshots:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
fast-glob: 3.3.2
fast-glob: 3.3.3
ignore: 5.3.2
merge2: 1.4.1
slash: 3.0.0
@ -14352,10 +14157,6 @@ snapshots:
slash: 5.1.0
unicorn-magic: 0.1.0
gopd@1.0.1:
dependencies:
get-intrinsic: 1.2.4
gopd@1.2.0: {}
got@11.8.6:
@ -14406,21 +14207,17 @@ snapshots:
has-property-descriptors@1.0.2:
dependencies:
es-define-property: 1.0.0
has-proto@1.0.3: {}
es-define-property: 1.0.1
has-proto@1.2.0:
dependencies:
dunder-proto: 1.0.1
has-symbols@1.0.3: {}
has-symbols@1.1.0: {}
has-tostringtag@1.0.2:
dependencies:
has-symbols: 1.0.3
has-symbols: 1.1.0
hasown@2.0.2:
dependencies:
@ -14701,7 +14498,7 @@ snapshots:
is-arguments@1.1.1:
dependencies:
call-bind: 1.0.7
call-bind: 1.0.8
has-tostringtag: 1.0.2
is-array-buffer@3.0.5:
@ -14795,7 +14592,7 @@ snapshots:
is-nan@1.3.2:
dependencies:
call-bind: 1.0.7
call-bind: 1.0.8
define-properties: 1.2.1
is-number-object@1.1.1:
@ -14849,7 +14646,7 @@ snapshots:
is-typed-array@1.1.13:
dependencies:
which-typed-array: 1.1.15
which-typed-array: 1.1.19
is-typed-array@1.1.15:
dependencies:
@ -16082,16 +15879,16 @@ snapshots:
object-is@1.1.6:
dependencies:
call-bind: 1.0.7
call-bind: 1.0.8
define-properties: 1.2.1
object-keys@1.1.1: {}
object.assign@4.1.5:
dependencies:
call-bind: 1.0.7
call-bind: 1.0.8
define-properties: 1.2.1
has-symbols: 1.0.3
has-symbols: 1.1.0
object-keys: 1.1.1
object.assign@4.1.7:
@ -17005,8 +16802,8 @@ snapshots:
define-data-property: 1.1.4
es-errors: 1.3.0
function-bind: 1.1.2
get-intrinsic: 1.2.4
gopd: 1.0.1
get-intrinsic: 1.3.0
gopd: 1.2.0
has-property-descriptors: 1.0.2
set-function-name@2.0.2:
@ -17842,24 +17639,6 @@ snapshots:
unpipe@1.0.0: {}
unrs-resolver@1.3.3:
optionalDependencies:
'@unrs/resolver-binding-darwin-arm64': 1.3.3
'@unrs/resolver-binding-darwin-x64': 1.3.3
'@unrs/resolver-binding-freebsd-x64': 1.3.3
'@unrs/resolver-binding-linux-arm-gnueabihf': 1.3.3
'@unrs/resolver-binding-linux-arm-musleabihf': 1.3.3
'@unrs/resolver-binding-linux-arm64-gnu': 1.3.3
'@unrs/resolver-binding-linux-arm64-musl': 1.3.3
'@unrs/resolver-binding-linux-ppc64-gnu': 1.3.3
'@unrs/resolver-binding-linux-s390x-gnu': 1.3.3
'@unrs/resolver-binding-linux-x64-gnu': 1.3.3
'@unrs/resolver-binding-linux-x64-musl': 1.3.3
'@unrs/resolver-binding-wasm32-wasi': 1.3.3
'@unrs/resolver-binding-win32-arm64-msvc': 1.3.3
'@unrs/resolver-binding-win32-ia32-msvc': 1.3.3
'@unrs/resolver-binding-win32-x64-msvc': 1.3.3
unrs-resolver@1.7.13:
dependencies:
napi-postinstall: 0.2.4
@ -18222,9 +18001,9 @@ snapshots:
which-typed-array@1.1.15:
dependencies:
available-typed-arrays: 1.0.7
call-bind: 1.0.7
call-bind: 1.0.8
for-each: 0.3.3
gopd: 1.0.1
gopd: 1.2.0
has-tostringtag: 1.0.2
which-typed-array@1.1.19: