rm tsconfig package

This commit is contained in:
Max Peintner
2025-07-10 15:41:24 +02:00
parent a1ab65bd14
commit c8a52073c8
19 changed files with 293 additions and 336 deletions

View File

@@ -35,8 +35,6 @@ We think the easiest path of getting up and running, is the following:
- `login`: The login UI used by ZITADEL Cloud, powered by Next.js
- `@zitadel/client`: shared client utilities for node and browser environments
- `@zitadel/proto`: Protocol Buffers (proto) definitions used by ZITADEL projects
- `@zitadel/tsconfig`: shared `tsconfig.json`s used throughout the monorepo
- `@zitadel/eslint-config`: ESLint preset
Each package and app is 100% [TypeScript](https://www.typescriptlang.org/).

View File

@@ -1,15 +1,21 @@
module.exports = {
parser: "@babel/eslint-parser",
parser: "@typescript-eslint/parser",
extends: ["next", "prettier"],
plugins: ["@typescript-eslint"],
rules: {
"@next/next/no-html-link-for-pages": "off",
"@next/next/no-img-element": "off",
"react/no-unescaped-entities": "off"
"react/no-unescaped-entities": "off",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
"no-undef": "off"
},
parserOptions: {
requireConfigFile: false,
babelOptions: {
presets: ["next/babel"],
ecmaVersion: "latest",
sourceType: "module",
ecmaFeatures: {
jsx: true,
},
project: "./tsconfig.json",
},
};

View File

@@ -57,8 +57,9 @@
"@types/react-dom": "19.1.2",
"@types/tinycolor2": "1.4.3",
"@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^7.0.0",
"@vercel/git-hooks": "1.0.0",
"@zitadel/tsconfig": "workspace:*",
"autoprefixer": "10.4.21",
"eslint": "^8.57.0",
"eslint-config-next": "15.4.0-canary.86",

View File

@@ -46,6 +46,8 @@
"@types/react-dom": "19.1.2",
"@types/tinycolor2": "1.4.3",
"@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^7.0.0",
"autoprefixer": "10.4.21",
"eslint": "^8.57.0",
"eslint-config-next": "15.4.0-canary.86",

View File

@@ -1,6 +1,6 @@
# Standalone Build Scripts
This directory contains the minimal scripts needed for managing the ZITADEL Login UI standalone conversion.
This directory contains the simplified scripts needed for managing the ZITADEL Login UI standalone conversion.
## 📁 File Overview
@@ -8,13 +8,12 @@ This directory contains the minimal scripts needed for managing the ZITADEL Logi
- `package.json` - Main package file (monorepo mode with `workspace:*`)
- `package.standalone.json` - Pre-configured standalone version (uses `latest`)
- `*.standalone.*` - Configuration templates for standalone mode
- `scripts/` - Conversion scripts
- `tsconfig.standalone.json` - TypeScript configuration for standalone mode
- `scripts/prepare-standalone.js` - Conversion script
### Generated/Temporary Files
- `*.generated.*` - Temporary files (ignored by git)
- `package.monorepo.backup.json` - Backup when switching modes
- `package.monorepo.backup.json` - Backup when switching to standalone mode
## 🛠️ Scripts Overview
@@ -31,16 +30,16 @@ node scripts/prepare-standalone.js [--install]
**What it does:**
- Copies `package.standalone.json``package.json`
- Copies all `*.standalone.*` config files to their active versions
- Copies `tsconfig.standalone.json``tsconfig.json`
- Optionally runs `npm install`
## 🚀 **Simplified Approach**
This setup now uses a **much simpler approach**:
1. **Static Configuration**: `package.standalone.json` is pre-configured with `latest` versions
2. **No Version Fetching**: No network calls or complex version management
3. **Manual Maintenance**: Package versions are updated manually when needed
1. **Unified Configuration**: All ESLint, Prettier, and Tailwind configs work for both monorepo and standalone modes
2. **Static Configuration**: `package.standalone.json` is pre-configured with `latest` versions
3. **No Duplicate Configs**: No separate `*.standalone.*` config files needed
4. **Faster Setup**: Conversion is instant with just file copying
## 📋 **Usage for Customers**
@@ -50,7 +49,7 @@ This setup now uses a **much simpler approach**:
git clone <standalone-repo>
# 2. Prepare standalone mode
./prepare-standalone.sh --install
node scripts/prepare-standalone.js --install
# 3. Start developing
npm run dev
@@ -66,41 +65,18 @@ npm view @zitadel/proto version
# Then update package.standalone.json with latest versions
```
**What it does:**
## ✨ **Key Benefits**
- Converts `workspace:*` dependencies to published package versions
- Removes monorepo-specific devDependencies
- Copies standalone configuration files
- Updates package.json scripts for standalone use
### `build-standalone.js`
**Generates package.standalone.json with latest published package versions.**
```bash
node scripts/build-standalone.js
```
**What it does:**
- Fetches latest versions of `@zitadel/client` and `@zitadel/proto`
- Creates a standalone-ready package.json
- Safe to run in monorepo (doesn't modify current package.json)
### `config-manager.js`
**Utility for switching between monorepo and standalone configurations.**
```bash
# Show current mode
node scripts/config-manager.js status
# Switch to standalone mode
node scripts/config-manager.js switch standalone
- **Single Config Files**: ESLint, Prettier, and Tailwind configs work for both modes
- **No Duplication**: No need for separate `*.standalone.*` configuration files
- **Faster Conversion**: Only 2 files need to be copied (package.json and tsconfig.json)
- **Simpler Maintenance**: All configuration logic is in one place
# Switch back to monorepo mode
node scripts/config-manager.js switch monorepo
```
````
### `validate-standalone.js`
@@ -108,7 +84,7 @@ node scripts/config-manager.js switch monorepo
```bash
node scripts/validate-standalone.js
```
````
**Checks:**
@@ -122,126 +98,3 @@ node scripts/validate-standalone.js
### For Developers (Monorepo)
1. **Working in monorepo:**
```bash
# Normal development - uses workspace:* dependencies
pnpm dev
```
2. **Testing standalone version:**
```bash
# Generate standalone package.json (safe, doesn't modify current setup)
node scripts/build-standalone.js
# Switch to standalone mode for testing
node scripts/config-manager.js switch standalone
npm install
npm run dev
# Switch back to monorepo mode
node scripts/config-manager.js switch monorepo
```
### For Customers (Standalone)
1. **Initial setup:**
```bash
git clone <standalone-repo>
cd login
./prepare-standalone.sh --install
```
2. **Development:**
```bash
npm run dev
```
3. **Production:**
```bash
npm run build:standalone
npm run start
```
### For CI/CD (Package Publishing)
1. **After publishing new @zitadel packages:**
```bash
# Update standalone version with latest packages
node scripts/build-standalone.js
# Commit and push to standalone branch/repo
git add package.standalone.json
git commit -m "Update standalone package versions"
git push origin standalone
```
## Configuration Files
The scripts manage these configuration files:
- `package.standalone.json` - Standalone version of package.json
- `tsconfig.standalone.json` - TypeScript config for standalone
- `.eslintrc.standalone.cjs` - ESLint config for standalone
- `prettier.config.standalone.mjs` - Prettier config for standalone
- `tailwind.config.standalone.mjs` - Tailwind config for standalone
## File Structure
```
scripts/
├── prepare-standalone.js # Main preparation script
├── build-standalone.js # Package.json generator
├── config-manager.js # Configuration switcher
└── README.md # This file
# Configuration files
├── package.json # Current active package.json
├── package.standalone.json # Generated standalone version
├── tsconfig.json # Current active TypeScript config
├── tsconfig.standalone.json # Standalone TypeScript config
├── .eslintrc.cjs # Current active ESLint config
├── .eslintrc.standalone.cjs # Standalone ESLint config
└── ...
```
## Troubleshooting
### "Could not fetch latest version" warnings
This is normal when packages haven't been published yet or npm registry is slow. The scripts will fall back to existing versions.
### Configuration file not found
Some configuration files are optional. The scripts will warn but continue without them.
### Permission denied on scripts
Make sure scripts are executable:
```bash
chmod +x scripts/*.js
chmod +x prepare-standalone.sh
```
### Package version conflicts
If you encounter version conflicts, try:
```bash
# Clean install
rm -rf node_modules package-lock.json
npm install
```
## Integration with Monorepo
These scripts are designed to work seamlessly with the existing monorepo structure:
- **Development**: Use normal `pnpm` commands in monorepo
- **Testing**: Use `config-manager.js` to test standalone mode
- **Publishing**: Use `build-standalone.js` to generate updated standalone configs
- **Customer Distribution**: Use `prepare-standalone.sh` for easy setup

View File

@@ -56,7 +56,7 @@ export function ConsentScreen({
)}
{scopes?.map((s) => {
const translationKey = `device.scope.${s}`;
const description = t(translationKey, null);
const description = t(translationKey);
// Check if the key itself is returned and provide a fallback
const resolvedDescription =

View File

@@ -54,6 +54,10 @@ export default getRequestConfig(async () => {
return {
locale,
messages: deepmerge.all([fallbackMessages, localeMessages, customMessages]),
messages: deepmerge.all([
fallbackMessages,
localeMessages,
customMessages,
]) as Record<string, string>,
};
});

View File

@@ -1,4 +1,14 @@
module.exports = {
root: true,
extends: ["@zitadel/eslint-config"],
extends: ["eslint:recommended", "@typescript-eslint/recommended"],
parser: "@typescript-eslint/parser",
plugins: ["@typescript-eslint"],
env: {
node: true,
es2022: true,
},
parserOptions: {
ecmaVersion: 2022,
sourceType: "module",
},
};

View File

@@ -65,6 +65,8 @@
"devDependencies": {
"@bufbuild/protocompile": "^0.0.1",
"@bufbuild/buf": "^1.53.0",
"@zitadel/tsconfig": "workspace:*"
"@typescript-eslint/eslint-plugin": "^8.15.0",
"@typescript-eslint/parser": "^8.15.0",
"eslint": "^8.57.0"
}
}

View File

@@ -1,5 +1,23 @@
{
"extends": "@zitadel/tsconfig/tsup.json",
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"composite": false,
"declaration": true,
"declarationMap": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"inlineSources": false,
"isolatedModules": true,
"moduleResolution": "node16",
"noUnusedLocals": false,
"noUnusedParameters": false,
"preserveWatchOutput": true,
"skipLibCheck": true,
"strict": true,
"lib": ["es2023"],
"module": "node16",
"target": "es2022"
},
"include": ["./src/**/*"],
"exclude": ["dist", "build", "node_modules"]
}

View File

@@ -1,13 +0,0 @@
# @zitadel/tsconfig
## 0.1.1
### Patch Changes
- README updates
## 0.1.0
### Minor Changes
- f32ab7f: Initial release

View File

@@ -1,35 +0,0 @@
# ZITADEL TypeScript Config
This package provides the TypeScript configuration used by ZITADEL projects. It includes a set of rules and settings to ensure consistent TypeScript configuration across all ZITADEL codebases.
## Installation
To install the package, use npm or yarn:
```sh
npm install @zitadel/tsconfig
```
or
```sh
yarn add @zitadel/tsconfig
```
## Usage
To use the TypeScript configuration in your project, extend it in your `tsconfig.json` file:
```json
{
"extends": "@zitadel/tsconfig/tsup.json"
}
```
## Documentation
For detailed documentation and configuration options, please refer to the [TypeScript documentation](https://www.typescriptlang.org/docs/).
## Contributing
Contributions are welcome! Please read the contributing guidelines before getting started.

View File

@@ -1,20 +0,0 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Default",
"compilerOptions": {
"composite": false,
"declaration": true,
"declarationMap": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"inlineSources": false,
"isolatedModules": true,
"moduleResolution": "node16",
"noUnusedLocals": false,
"noUnusedParameters": false,
"preserveWatchOutput": true,
"skipLibCheck": true,
"strict": true
},
"exclude": ["node_modules"]
}

View File

@@ -1,32 +0,0 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Next.js",
"extends": "./base.json",
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"preserveSymlinks": true,
"declaration": false,
"declarationMap": false,
"baseUrl": ".",
"plugins": [
{
"name": "next"
}
]
},
"include": ["src", "next-env.d.ts"],
"exclude": ["node_modules"]
}

View File

@@ -1,10 +0,0 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Node 20",
"extends": "./base.json",
"compilerOptions": {
"lib": ["es2023"],
"module": "node16",
"target": "es2022"
}
}

View File

@@ -1,9 +0,0 @@
{
"name": "@zitadel/tsconfig",
"version": "0.1.1",
"publishConfig": {
"access": "public"
},
"type": "module",
"license": "MIT"
}

View File

@@ -1,11 +0,0 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "React Library",
"extends": "./base.json",
"compilerOptions": {
"jsx": "react-jsx",
"lib": ["dom", "ES2015"],
"module": "preserve",
"moduleResolution": "Bundler"
}
}

View File

@@ -1,5 +0,0 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "tsup",
"extends": "./node20.json"
}

244
login/pnpm-lock.yaml generated
View File

@@ -144,12 +144,15 @@ importers:
'@types/uuid':
specifier: ^10.0.0
version: 10.0.0
'@typescript-eslint/eslint-plugin':
specifier: ^7.0.0
version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/parser':
specifier: ^7.0.0
version: 7.18.0(eslint@8.57.1)(typescript@5.8.3)
'@vercel/git-hooks':
specifier: 1.0.0
version: 1.0.0
'@zitadel/tsconfig':
specifier: workspace:*
version: link:../../packages/zitadel-tsconfig
autoprefixer:
specifier: 10.4.21
version: 10.4.21(postcss@8.5.3)
@@ -277,9 +280,15 @@ importers:
'@bufbuild/protocompile':
specifier: ^0.0.1
version: 0.0.1(@bufbuild/buf@1.53.0)
'@zitadel/tsconfig':
specifier: workspace:*
version: link:../zitadel-tsconfig
'@typescript-eslint/eslint-plugin':
specifier: ^8.15.0
version: 8.15.0(@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/parser':
specifier: ^8.15.0
version: 8.36.0(eslint@8.57.1)(typescript@5.8.3)
eslint:
specifier: ^8.57.0
version: 8.57.1
packages/zitadel-proto:
dependencies:
@@ -291,8 +300,6 @@ importers:
specifier: ^1.53.0
version: 1.53.0
packages/zitadel-tsconfig: {}
packages:
'@adobe/css-tools@4.4.0':
@@ -1551,6 +1558,17 @@ packages:
'@types/yauzl@2.10.3':
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
'@typescript-eslint/eslint-plugin@7.18.0':
resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
'@typescript-eslint/parser': ^7.0.0
eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
'@typescript-eslint/eslint-plugin@8.15.0':
resolution: {integrity: sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1572,6 +1590,19 @@ packages:
typescript:
optional: true
'@typescript-eslint/parser@8.36.0':
resolution: {integrity: sha512-FuYgkHwZLuPbZjQHzJXrtXreJdFMKl16BFYyRrLxDhWr6Qr7Kbcu2s1Yhu8tsiMXw1S0W1pjfFfYEt+R604s+Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/project-service@8.36.0':
resolution: {integrity: sha512-JAhQFIABkWccQYeLMrHadu/fhpzmSQ1F1KXkpzqiVxA/iYI6UnRt2trqXHt1sYEcw1mxLnB9rKMsOxXPxowN/g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/scope-manager@7.18.0':
resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==}
engines: {node: ^18.18.0 || >=20.0.0}
@@ -1580,6 +1611,26 @@ packages:
resolution: {integrity: sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/scope-manager@8.36.0':
resolution: {integrity: sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/tsconfig-utils@8.36.0':
resolution: {integrity: sha512-Nhh3TIEgN18mNbdXpd5Q8mSCBnrZQeY9V7Ca3dqYvNDStNIGRmJA6dmrIPMJ0kow3C7gcQbpsG2rPzy1Ks/AnA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/type-utils@7.18.0':
resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
'@typescript-eslint/type-utils@8.15.0':
resolution: {integrity: sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1598,6 +1649,10 @@ packages:
resolution: {integrity: sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/types@8.36.0':
resolution: {integrity: sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/typescript-estree@7.18.0':
resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==}
engines: {node: ^18.18.0 || >=20.0.0}
@@ -1616,6 +1671,18 @@ packages:
typescript:
optional: true
'@typescript-eslint/typescript-estree@8.36.0':
resolution: {integrity: sha512-JaS8bDVrfVJX4av0jLpe4ye0BpAaUW7+tnS4Y4ETa3q7NoZgzYbN9zDQTJ8kPb5fQ4n0hliAt9tA4Pfs2zA2Hg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/utils@7.18.0':
resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
'@typescript-eslint/utils@8.15.0':
resolution: {integrity: sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1634,6 +1701,10 @@ packages:
resolution: {integrity: sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/visitor-keys@8.36.0':
resolution: {integrity: sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
@@ -2573,6 +2644,10 @@ packages:
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint-visitor-keys@4.2.1:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint@8.57.1:
resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -4631,6 +4706,12 @@ packages:
peerDependencies:
typescript: '>=4.2.0'
ts-api-utils@2.1.0:
resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
engines: {node: '>=18.12'}
peerDependencies:
typescript: '>=4.8.4'
ts-error@1.0.6:
resolution: {integrity: sha512-tLJxacIQUM82IR7JO1UUkKlYuUTmoY9HBJAmNWFzheSlDS5SPMcNIepejHJa4BpPQLAcbRhRf3GDJzyj6rbKvA==}
@@ -6286,10 +6367,46 @@ snapshots:
'@types/node': 22.14.1
optional: true
'@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)':
'@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 7.18.0
eslint: 8.57.1
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
ts-api-utils: 1.4.1(typescript@5.8.3)
optionalDependencies:
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.36.0(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 7.18.0
eslint: 8.57.1
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
ts-api-utils: 1.4.1(typescript@5.8.3)
optionalDependencies:
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.36.0(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/scope-manager': 8.15.0
'@typescript-eslint/type-utils': 8.15.0(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/utils': 8.15.0(eslint@8.57.1)(typescript@5.8.3)
@@ -6317,6 +6434,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.36.0
'@typescript-eslint/types': 8.36.0
'@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.36.0
debug: 4.4.0(supports-color@5.5.0)
eslint: 8.57.1
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/project-service@8.36.0(typescript@5.8.3)':
dependencies:
'@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3)
'@typescript-eslint/types': 8.36.0
debug: 4.4.0(supports-color@5.5.0)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/scope-manager@7.18.0':
dependencies:
'@typescript-eslint/types': 7.18.0
@@ -6327,6 +6465,27 @@ snapshots:
'@typescript-eslint/types': 8.15.0
'@typescript-eslint/visitor-keys': 8.15.0
'@typescript-eslint/scope-manager@8.36.0':
dependencies:
'@typescript-eslint/types': 8.36.0
'@typescript-eslint/visitor-keys': 8.36.0
'@typescript-eslint/tsconfig-utils@8.36.0(typescript@5.8.3)':
dependencies:
typescript: 5.8.3
'@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.8.3)':
dependencies:
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3)
'@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
debug: 4.4.0(supports-color@5.5.0)
eslint: 8.57.1
ts-api-utils: 1.4.1(typescript@5.8.3)
optionalDependencies:
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/type-utils@8.15.0(eslint@8.57.1)(typescript@5.8.3)':
dependencies:
'@typescript-eslint/typescript-estree': 8.15.0(typescript@5.8.3)
@@ -6343,6 +6502,8 @@ snapshots:
'@typescript-eslint/types@8.15.0': {}
'@typescript-eslint/types@8.36.0': {}
'@typescript-eslint/typescript-estree@7.18.0(typescript@5.8.3)':
dependencies:
'@typescript-eslint/types': 7.18.0
@@ -6373,6 +6534,33 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/typescript-estree@8.36.0(typescript@5.8.3)':
dependencies:
'@typescript-eslint/project-service': 8.36.0(typescript@5.8.3)
'@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3)
'@typescript-eslint/types': 8.36.0
'@typescript-eslint/visitor-keys': 8.36.0
debug: 4.4.0(supports-color@5.5.0)
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.7.1
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.8.3)':
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1)
'@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3)
eslint: 8.57.1
transitivePeerDependencies:
- supports-color
- typescript
'@typescript-eslint/utils@8.15.0(eslint@8.57.1)(typescript@5.8.3)':
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1)
@@ -6395,6 +6583,11 @@ snapshots:
'@typescript-eslint/types': 8.15.0
eslint-visitor-keys: 4.2.0
'@typescript-eslint/visitor-keys@8.36.0':
dependencies:
'@typescript-eslint/types': 8.36.0
eslint-visitor-keys: 4.2.1
'@ungap/structured-clone@1.2.0': {}
'@vercel/analytics@1.3.1(next@15.4.0-canary.86(@babel/core@7.26.10)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.87.0))(react@19.1.0)':
@@ -7439,12 +7632,12 @@ snapshots:
dependencies:
'@next/eslint-plugin-next': 15.4.0-canary.86
'@rushstack/eslint-patch': 1.10.4
'@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/parser': 8.36.0(eslint@8.57.1)(typescript@5.8.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1)
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1)
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.5(eslint@8.57.1)
eslint-plugin-react-hooks: 5.2.0(eslint@8.57.1)
@@ -7467,48 +7660,47 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1):
eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.0(supports-color@5.5.0)
enhanced-resolve: 5.17.1
eslint: 8.57.1
eslint-module-utils: 2.8.2(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1))(eslint@8.57.1)
eslint-module-utils: 2.8.2(@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1))(eslint@8.57.1)
fast-glob: 3.3.3
get-tsconfig: 4.8.0
is-bun-module: 1.1.0
is-glob: 4.0.3
optionalDependencies:
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
eslint-module-utils@2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1))(eslint@8.57.1):
eslint-module-utils@2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1):
dependencies:
debug: 3.2.7(supports-color@8.1.1)
optionalDependencies:
'@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1)
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.8.2(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1))(eslint@8.57.1):
eslint-module-utils@2.8.2(@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1))(eslint@8.57.1):
dependencies:
debug: 3.2.7(supports-color@8.1.1)
optionalDependencies:
'@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
'@typescript-eslint/parser': 8.36.0(eslint@8.57.1)(typescript@5.8.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1)
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.36.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1)
transitivePeerDependencies:
- supports-color
eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1):
eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -7519,7 +7711,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.1))(eslint@8.57.1)
eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -7598,6 +7790,8 @@ snapshots:
eslint-visitor-keys@4.2.0: {}
eslint-visitor-keys@4.2.1: {}
eslint@8.57.1:
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1)
@@ -9770,6 +9964,10 @@ snapshots:
dependencies:
typescript: 5.8.3
ts-api-utils@2.1.0(typescript@5.8.3):
dependencies:
typescript: 5.8.3
ts-error@1.0.6: {}
ts-interface-checker@0.1.13: {}