From 25afd963cbf09159eed62deb247915ba7d787e83 Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 15:24:10 +0200 Subject: [PATCH 01/12] prettier 000 --- packages/eslint-config/package.json | 9 +- pnpm-lock.yaml | 169 +++++++++------------------- 2 files changed, 57 insertions(+), 121 deletions(-) diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 089b7928c..2267fbc10 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -28,7 +28,7 @@ "dependencies": { "@kitql/helpers": "workspace:*", "@theguild/eslint-config": "^0.11.1", - "@theguild/prettier-config": "2.0.2", + "@theguild/prettier-config": "2.0.7", "@typescript-eslint/eslint-plugin": "7.7.0", "@typescript-eslint/parser": "7.7.0", "@vue/compiler-sfc": "3.4.7", @@ -37,10 +37,9 @@ "eslint-config-prettier": "9.1.0", "eslint-plugin-svelte": "2.43.0", "eslint-plugin-unused-imports": "3.2.0", - "prettier": "3.2.4", - "prettier-plugin-sh": "0.14.0", - "prettier-plugin-svelte": "3.2.2", - "prettier-plugin-tailwindcss": "0.5.7", + "prettier": "3.3.2", + "prettier-plugin-svelte": "3.2.6", + "prettier-plugin-tailwindcss": "0.6.6", "svelte": "4.2.19", "typescript": "5.4.2" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e65ca407f..007cf3fbf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -109,7 +109,7 @@ importers: devDependencies: '@kitql/eslint-config': specifier: latest - version: 0.3.4(@babel/core@7.24.4)(@ianvs/prettier-plugin-sort-imports@4.3.1(prettier@3.3.3))(@types/node@20.16.1)(graphql@16.8.1) + version: 0.3.4(@babel/core@7.24.4)(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3))(@types/node@20.16.1)(graphql@16.8.1) '@playwright/test': specifier: ^1.46.1 version: 1.46.1 @@ -162,8 +162,8 @@ importers: specifier: ^0.11.1 version: 0.11.11(eslint@8.57.0)(typescript@5.4.2) '@theguild/prettier-config': - specifier: 2.0.2 - version: 2.0.2(@vue/compiler-sfc@3.4.7)(prettier@3.2.4) + specifier: 2.0.7 + version: 2.0.7(@vue/compiler-sfc@3.4.7)(prettier@3.3.2) '@typescript-eslint/eslint-plugin': specifier: 7.7.0 version: 7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2) @@ -189,17 +189,14 @@ importers: specifier: 3.2.0 version: 3.2.0(@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0) prettier: - specifier: 3.2.4 - version: 3.2.4 - prettier-plugin-sh: - specifier: 0.14.0 - version: 0.14.0(prettier@3.2.4) + specifier: 3.3.2 + version: 3.3.2 prettier-plugin-svelte: - specifier: 3.2.2 - version: 3.2.2(prettier@3.2.4)(svelte@4.2.19) + specifier: 3.2.6 + version: 3.2.6(prettier@3.3.2)(svelte@4.2.19) prettier-plugin-tailwindcss: - specifier: 0.5.7 - version: 0.5.7(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.2.4))(prettier-plugin-svelte@3.2.2(prettier@3.2.4)(svelte@4.2.19))(prettier@3.2.4) + specifier: 0.6.6 + version: 0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.2))(prettier-plugin-svelte@3.2.6(prettier@3.3.2)(svelte@4.2.19))(prettier@3.3.2) svelte: specifier: 4.2.19 version: 4.2.19 @@ -2227,6 +2224,11 @@ packages: peerDependencies: prettier: ^3 + '@theguild/prettier-config@2.0.7': + resolution: {integrity: sha512-FqpgGAaAFbYHFQmkWEZjIhqmk+Oow82/t+0k408qoBd9RsB4QTwSQSDDbNSgFa/K7c8Dcwau5z3XbHUR/ksKqw==} + peerDependencies: + prettier: ^3 + '@theguild/remark-mermaid@0.0.5': resolution: {integrity: sha512-e+ZIyJkEv9jabI4m7q29wZtZv+2iwPGsXJ2d46Zi7e+QcFudiyuqhLhHG/3gX3ZEB+hxTch+fpItyMS8jwbIcw==} peerDependencies: @@ -6488,57 +6490,11 @@ packages: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 - prettier-plugin-tailwindcss@0.5.7: - resolution: {integrity: sha512-4v6uESAgwCni6YF6DwJlRaDjg9Z+al5zM4JfngcazMy4WEf/XkPS5TEQjbD+DZ5iNuG6RrKQLa/HuX2SYzC3kQ==} - engines: {node: '>=14.21.3'} + prettier-plugin-svelte@3.2.6: + resolution: {integrity: sha512-Y1XWLw7vXUQQZmgv1JAEiLcErqUniAF2wO7QJsw8BVMvpLET2dI5WpEIEJx1r11iHVdSMzQxivyfrH9On9t2IQ==} peerDependencies: - '@ianvs/prettier-plugin-sort-imports': '*' - '@prettier/plugin-pug': '*' - '@shopify/prettier-plugin-liquid': '*' - '@shufo/prettier-plugin-blade': '*' - '@trivago/prettier-plugin-sort-imports': '*' - prettier: ^3.0 - prettier-plugin-astro: '*' - prettier-plugin-css-order: '*' - prettier-plugin-import-sort: '*' - prettier-plugin-jsdoc: '*' - prettier-plugin-marko: '*' - prettier-plugin-organize-attributes: '*' - prettier-plugin-organize-imports: '*' - prettier-plugin-style-order: '*' - prettier-plugin-svelte: '*' - prettier-plugin-twig-melody: '*' - peerDependenciesMeta: - '@ianvs/prettier-plugin-sort-imports': - optional: true - '@prettier/plugin-pug': - optional: true - '@shopify/prettier-plugin-liquid': - optional: true - '@shufo/prettier-plugin-blade': - optional: true - '@trivago/prettier-plugin-sort-imports': - optional: true - prettier-plugin-astro: - optional: true - prettier-plugin-css-order: - optional: true - prettier-plugin-import-sort: - optional: true - prettier-plugin-jsdoc: - optional: true - prettier-plugin-marko: - optional: true - prettier-plugin-organize-attributes: - optional: true - prettier-plugin-organize-imports: - optional: true - prettier-plugin-style-order: - optional: true - prettier-plugin-svelte: - optional: true - prettier-plugin-twig-melody: - optional: true + prettier: ^3.0.0 + svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 prettier-plugin-tailwindcss@0.6.6: resolution: {integrity: sha512-OPva5S7WAsPLEsOuOWXATi13QrCKACCiIonFgIR6V4lYv4QLp++UXVhZSzRbZxXGimkQtQT86CC6fQqTOybGng==} @@ -6605,8 +6561,8 @@ packages: engines: {node: '>=14'} hasBin: true - prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} hasBin: true @@ -9089,20 +9045,6 @@ snapshots: '@humanwhocodes/object-schema@2.0.2': {} - '@ianvs/prettier-plugin-sort-imports@4.1.1(@vue/compiler-sfc@3.4.7)(prettier@3.2.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/generator': 7.24.4 - '@babel/parser': 7.25.3 - '@babel/traverse': 7.24.1 - '@babel/types': 7.25.2 - prettier: 3.2.4 - semver: 7.6.2 - optionalDependencies: - '@vue/compiler-sfc': 3.4.7 - transitivePeerDependencies: - - supports-color - '@ianvs/prettier-plugin-sort-imports@4.1.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3)': dependencies: '@babel/core': 7.24.4 @@ -9117,22 +9059,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.2.4)': + '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.2)': dependencies: '@babel/core': 7.24.4 '@babel/generator': 7.24.4 '@babel/parser': 7.25.3 '@babel/traverse': 7.24.1 '@babel/types': 7.25.2 - prettier: 3.2.4 + prettier: 3.3.2 semver: 7.6.2 optionalDependencies: '@vue/compiler-sfc': 3.4.7 transitivePeerDependencies: - supports-color - optional: true - '@ianvs/prettier-plugin-sort-imports@4.3.1(prettier@3.3.3)': + '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3)': dependencies: '@babel/core': 7.24.4 '@babel/generator': 7.24.4 @@ -9141,6 +9082,8 @@ snapshots: '@babel/types': 7.25.2 prettier: 3.3.3 semver: 7.6.2 + optionalDependencies: + '@vue/compiler-sfc': 3.4.7 transitivePeerDependencies: - supports-color optional: true @@ -9201,7 +9144,7 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@kitql/eslint-config@0.3.4(@babel/core@7.24.4)(@ianvs/prettier-plugin-sort-imports@4.3.1(prettier@3.3.3))(@types/node@20.16.1)(graphql@16.8.1)': + '@kitql/eslint-config@0.3.4(@babel/core@7.24.4)(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3))(@types/node@20.16.1)(graphql@16.8.1)': dependencies: '@graphql-eslint/eslint-plugin': 3.20.1(@babel/core@7.24.4)(@types/node@20.16.1)(graphql@16.8.1) '@kitql/helpers': 0.8.9 @@ -9218,7 +9161,7 @@ snapshots: prettier: 3.3.3 prettier-plugin-sh: 0.14.0(prettier@3.3.3) prettier-plugin-svelte: 3.2.2(prettier@3.3.3)(svelte@4.2.0) - prettier-plugin-tailwindcss: 0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(prettier@3.3.3))(prettier-plugin-svelte@3.2.2(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3) + prettier-plugin-tailwindcss: 0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3))(prettier-plugin-svelte@3.2.2(prettier@3.3.3)(svelte@4.2.0))(prettier@3.3.3) svelte: 4.2.0 typescript: 5.5.4 transitivePeerDependencies: @@ -10087,16 +10030,6 @@ snapshots: - eslint-import-resolver-webpack - supports-color - '@theguild/prettier-config@2.0.2(@vue/compiler-sfc@3.4.7)(prettier@3.2.4)': - dependencies: - '@ianvs/prettier-plugin-sort-imports': 4.1.1(@vue/compiler-sfc@3.4.7)(prettier@3.2.4) - prettier: 3.2.4 - prettier-plugin-pkg: 0.18.0(prettier@3.2.4) - prettier-plugin-sh: 0.13.1(prettier@3.2.4) - transitivePeerDependencies: - - '@vue/compiler-sfc' - - supports-color - '@theguild/prettier-config@2.0.2(@vue/compiler-sfc@3.4.7)(prettier@3.3.3)': dependencies: '@ianvs/prettier-plugin-sort-imports': 4.1.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3) @@ -10107,6 +10040,16 @@ snapshots: - '@vue/compiler-sfc' - supports-color + '@theguild/prettier-config@2.0.7(@vue/compiler-sfc@3.4.7)(prettier@3.3.2)': + dependencies: + '@ianvs/prettier-plugin-sort-imports': 4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.2) + prettier: 3.3.2 + prettier-plugin-pkg: 0.18.0(prettier@3.3.2) + prettier-plugin-sh: 0.14.0(prettier@3.3.2) + transitivePeerDependencies: + - '@vue/compiler-sfc' + - supports-color + '@theguild/remark-mermaid@0.0.5(react@18.2.0)': dependencies: mermaid: 10.5.0 @@ -15652,30 +15595,24 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-pkg@0.18.0(prettier@3.2.4): + prettier-plugin-pkg@0.18.0(prettier@3.3.2): dependencies: - prettier: 3.2.4 + prettier: 3.3.2 prettier-plugin-pkg@0.18.0(prettier@3.3.3): dependencies: prettier: 3.3.3 - prettier-plugin-sh@0.13.1(prettier@3.2.4): - dependencies: - mvdan-sh: 0.10.1 - prettier: 3.2.4 - sh-syntax: 0.4.1 - prettier-plugin-sh@0.13.1(prettier@3.3.3): dependencies: mvdan-sh: 0.10.1 prettier: 3.3.3 sh-syntax: 0.4.1 - prettier-plugin-sh@0.14.0(prettier@3.2.4): + prettier-plugin-sh@0.14.0(prettier@3.3.2): dependencies: mvdan-sh: 0.10.1 - prettier: 3.2.4 + prettier: 3.3.2 sh-syntax: 0.4.1 prettier-plugin-sh@0.14.0(prettier@3.3.3): @@ -15689,35 +15626,35 @@ snapshots: prettier: 3.1.0 svelte: 4.2.19 - prettier-plugin-svelte@3.2.2(prettier@3.2.4)(svelte@4.2.19): - dependencies: - prettier: 3.2.4 - svelte: 4.2.19 - prettier-plugin-svelte@3.2.2(prettier@3.3.3)(svelte@4.2.0): dependencies: prettier: 3.3.3 svelte: 4.2.0 - prettier-plugin-tailwindcss@0.5.7(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.2.4))(prettier-plugin-svelte@3.2.2(prettier@3.2.4)(svelte@4.2.19))(prettier@3.2.4): + prettier-plugin-svelte@3.2.6(prettier@3.3.2)(svelte@4.2.19): + dependencies: + prettier: 3.3.2 + svelte: 4.2.19 + + prettier-plugin-tailwindcss@0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.2))(prettier-plugin-svelte@3.2.6(prettier@3.3.2)(svelte@4.2.19))(prettier@3.3.2): dependencies: - prettier: 3.2.4 + prettier: 3.3.2 optionalDependencies: - '@ianvs/prettier-plugin-sort-imports': 4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.2.4) - prettier-plugin-svelte: 3.2.2(prettier@3.2.4)(svelte@4.2.19) + '@ianvs/prettier-plugin-sort-imports': 4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.2) + prettier-plugin-svelte: 3.2.6(prettier@3.3.2)(svelte@4.2.19) - prettier-plugin-tailwindcss@0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(prettier@3.3.3))(prettier-plugin-svelte@3.2.2(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3): + prettier-plugin-tailwindcss@0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3))(prettier-plugin-svelte@3.2.2(prettier@3.3.3)(svelte@4.2.0))(prettier@3.3.3): dependencies: prettier: 3.3.3 optionalDependencies: - '@ianvs/prettier-plugin-sort-imports': 4.3.1(prettier@3.3.3) + '@ianvs/prettier-plugin-sort-imports': 4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3) prettier-plugin-svelte: 3.2.2(prettier@3.3.3)(svelte@4.2.0) prettier@2.8.8: {} prettier@3.1.0: {} - prettier@3.2.4: {} + prettier@3.3.2: {} prettier@3.3.3: {} From 0dd1383d818402971589817f91d595c4f51ff264 Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 15:58:15 +0200 Subject: [PATCH 02/12] running ok --- packages/eslint-config/.eslintrc.cjs | 1 - packages/eslint-config/cmd.js | 16 +- packages/eslint-config/eslint.config.mjs | 72 +++ packages/eslint-config/index.cjs | 52 -- packages/eslint-config/package.json | 102 ++- pnpm-lock.yaml | 771 ++++++++++++++--------- 6 files changed, 600 insertions(+), 414 deletions(-) delete mode 120000 packages/eslint-config/.eslintrc.cjs create mode 100644 packages/eslint-config/eslint.config.mjs delete mode 100644 packages/eslint-config/index.cjs diff --git a/packages/eslint-config/.eslintrc.cjs b/packages/eslint-config/.eslintrc.cjs deleted file mode 120000 index 7f0181d74..000000000 --- a/packages/eslint-config/.eslintrc.cjs +++ /dev/null @@ -1 +0,0 @@ -index.cjs \ No newline at end of file diff --git a/packages/eslint-config/cmd.js b/packages/eslint-config/cmd.js index 4b66f6214..8a270d06e 100755 --- a/packages/eslint-config/cmd.js +++ b/packages/eslint-config/cmd.js @@ -1,6 +1,6 @@ #!/usr/bin/env node -import { spawn, spawnSync } from 'child_process' -import fs from 'fs' +import { spawn, spawnSync } from 'node:child_process' +import fs from 'node:fs' import { Option, program } from 'commander' import { Log, red } from '@kitql/helpers' @@ -38,8 +38,8 @@ const findFileOrUp = (fileName) => { process.exit(1) } -let pathPrettierIgnore = findFileOrUp('.prettierignore') -let pathPrettierCjs = findFileOrUp('.prettierrc.cjs') +const pathPrettierIgnore = findFileOrUp('.prettierignore') +const pathPrettierCjs = findFileOrUp('.prettierrc.cjs') const format = options_cli.format ?? false const glob = options_cli.glob ?? '.' @@ -61,7 +61,7 @@ const cmdPrettier = `prettier` + ` --list-different` + // ignore? - ` --ignore-path ${pathPrettierIgnore}` + + ` --ignore-pattern ${pathPrettierIgnore}` + // config ` --config ${pathPrettierCjs}` + // format or not @@ -72,7 +72,7 @@ const cmdPrettier = if (verbose) { log.info(cmdPrettier) } -let result_prettier = spawn(cmdPrettier, { +const result_prettier = spawn(cmdPrettier, { shell: true, cwd: process.cwd(), stdio: 'pipe', @@ -108,7 +108,7 @@ function esLintRun(code) { preToUse + `eslint` + // ignore? - ` --ignore-path ${pathPrettierIgnore}` + + ` --ignore-pattern ${pathPrettierIgnore}` + // format or not `${format ? ' --fix' : ''}` + // exec @@ -118,7 +118,7 @@ function esLintRun(code) { log.info(cmdEsLint) } - let result_eslint = spawnSync(cmdEsLint, { + const result_eslint = spawnSync(cmdEsLint, { shell: true, cwd: process.cwd(), stdio: 'inherit', diff --git a/packages/eslint-config/eslint.config.mjs b/packages/eslint-config/eslint.config.mjs new file mode 100644 index 000000000..9ecdd3749 --- /dev/null +++ b/packages/eslint-config/eslint.config.mjs @@ -0,0 +1,72 @@ +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import { FlatCompat } from '@eslint/eslintrc' +import js from '@eslint/js' +import svelte from 'eslint-plugin-svelte' +import unusedImports from 'eslint-plugin-unused-imports' +import globals from 'globals' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}) + +export default [ + ...compat.extends('@theguild', 'eslint:recommended', 'prettier', 'plugin:svelte/recommended'), + { + plugins: { + 'unused-imports': unusedImports, + svelte, + }, + + languageOptions: { + globals: { + ...globals.browser, + ...globals.node, + }, + ecmaVersion: 2020, + sourceType: 'module', + }, + + rules: { + 'no-console': [ + 'error', + { + allow: ['info', 'warn', 'error', 'time', 'timeEnd', 'dir'], + }, + ], + 'no-unused-vars': [ + 'warn', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^(_|error|e)$', // Ignore caught errors with names starting with _ or "error" + }, + ], + 'no-empty': ['error', { allowEmptyCatch: true }], + 'unused-imports/no-unused-imports': 'error', + 'no-implicit-coercion': 'off', + // '@typescript-eslint/ban-ts-ignore': 'off', + // '@typescript-eslint/ban-ts-comment': 'off', + // '@typescript-eslint/no-explicit-any': 'off', + // '@typescript-eslint/no-non-null-assertion': 'off', + // '@typescript-eslint/no-unused-expressions': 'off', + }, + }, + // { + // files: ['**/*.svelte'], + + // languageOptions: { + // parser: parser, + // ecmaVersion: 5, + // sourceType: 'script', + + // parserOptions: { + // parser: '@typescript-eslint/parser', + // }, + // }, + // }, +] diff --git a/packages/eslint-config/index.cjs b/packages/eslint-config/index.cjs deleted file mode 100644 index 5394699b6..000000000 --- a/packages/eslint-config/index.cjs +++ /dev/null @@ -1,52 +0,0 @@ -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - extends: [ - // '@theguild', - // '@theguild/eslint-config/mdx', - '@theguild/eslint-config/json', - '@theguild/eslint-config/yml', - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'prettier', - 'plugin:svelte/recommended', - ], - plugins: ['unused-imports', 'svelte', '@typescript-eslint'], - rules: { - 'no-console': ['error', { allow: ['info', 'warn', 'error', 'time', 'timeEnd', 'dir'] }], - 'unused-imports/no-unused-imports': 'error', - '@typescript-eslint/no-unused-vars': [ - 'warn', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^_', - }, - ], - 'no-empty': ['error', { allowEmptyCatch: true }], - '@typescript-eslint/ban-ts-ignore': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-unused-expressions': 'off', - }, - overrides: [ - { - files: ['*.svelte'], - parser: 'svelte-eslint-parser', - parserOptions: { - parser: '@typescript-eslint/parser', - }, - }, - ], - ignorePatterns: ['*.md'], - parserOptions: { - sourceType: 'module', - ecmaVersion: 2020, - }, - env: { - browser: true, - es2017: true, - node: true, - }, -} diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 2267fbc10..c2164832b 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,57 +1,49 @@ { - "name": "@kitql/eslint-config", - "description": "opinionated linting and formatting for projects", - "keywords": [ - "cli", - "eslint", - "eslint-config" - ], - "version": "0.3.7", - "license": "MIT", - "type": "module", - "repository": { - "type": "git", - "url": "https://github.com/jycouet/kitql", - "directory": "packages/eslint-config", - "homepage": "https://github.com/jycouet/kitql/tree/main/packages/eslint-config" - }, - "bin": { - "kitql-lint": "./cmd.js" - }, - "main": "index.cjs", - "scripts": { - "lint": "node ./cmd.js --verbose -p none", - "format": "node ./cmd.js -f", - "lint:example": "kitql-lint", - "format:example": "kitql-lint --format" - }, - "dependencies": { - "@kitql/helpers": "workspace:*", - "@theguild/eslint-config": "^0.11.1", - "@theguild/prettier-config": "2.0.7", - "@typescript-eslint/eslint-plugin": "7.7.0", - "@typescript-eslint/parser": "7.7.0", - "@vue/compiler-sfc": "3.4.7", - "commander": "^12.0.0", - "eslint": "8.57.0", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-svelte": "2.43.0", - "eslint-plugin-unused-imports": "3.2.0", - "prettier": "3.3.2", - "prettier-plugin-svelte": "3.2.6", - "prettier-plugin-tailwindcss": "0.6.6", - "svelte": "4.2.19", - "typescript": "5.4.2" - }, - "sideEffects": false, - "publishConfig": { - "access": "public" - }, - "files": [ - "index.cjs", - "cmd.sh", - "cmd.js", - ".eslintrc.cjs", - ".prettierrc.cjs" - ] + "name": "@kitql/eslint-config", + "version": "0.3.7", + "type": "module", + "description": "opinionated linting and formatting for projects", + "repository": { + "type": "git", + "url": "https://github.com/jycouet/kitql", + "directory": "packages/eslint-config", + "homepage": "https://github.com/jycouet/kitql/tree/main/packages/eslint-config" + }, + "license": "MIT", + "bin": { + "kitql-lint": "./cmd.js" + }, + "main": "index.cjs", + "files": [ + ".eslintrc.cjs", + ".prettierrc.cjs", + "cmd.js", + "cmd.sh", + "index.cjs" + ], + "keywords": [ + "cli", + "eslint", + "eslint-config" + ], + "scripts": { + "format": "node ./cmd.js -f", + "format:example": "kitql-lint --format", + "lint": "node ./cmd.js --verbose -p none", + "lint:example": "kitql-lint" + }, + "dependencies": { + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.10.0", + "@kitql/helpers": "workspace:*", + "@theguild/eslint-config": "^0.12.1", + "@theguild/prettier-config": "2.0.7", + "commander": "^12.1.0", + "eslint": "9.10.0", + "globals": "^15.9.0" + }, + "publishConfig": { + "access": "public" + }, + "sideEffects": false } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 007cf3fbf..a9964b73a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -155,54 +155,30 @@ importers: packages/eslint-config: dependencies: + '@eslint/eslintrc': + specifier: ^3.1.0 + version: 3.1.0 + '@eslint/js': + specifier: ^9.10.0 + version: 9.10.0 '@kitql/helpers': specifier: workspace:* version: link:../helpers/dist '@theguild/eslint-config': - specifier: ^0.11.1 - version: 0.11.11(eslint@8.57.0)(typescript@5.4.2) + specifier: ^0.12.1 + version: 0.12.1(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) '@theguild/prettier-config': specifier: 2.0.7 - version: 2.0.7(@vue/compiler-sfc@3.4.7)(prettier@3.3.2) - '@typescript-eslint/eslint-plugin': - specifier: 7.7.0 - version: 7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/parser': - specifier: 7.7.0 - version: 7.7.0(eslint@8.57.0)(typescript@5.4.2) - '@vue/compiler-sfc': - specifier: 3.4.7 - version: 3.4.7 + version: 2.0.7(@vue/compiler-sfc@3.4.7)(prettier@3.3.3) commander: - specifier: ^12.0.0 + specifier: ^12.1.0 version: 12.1.0 eslint: - specifier: 8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: 9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-svelte: - specifier: 2.43.0 - version: 2.43.0(eslint@8.57.0)(svelte@4.2.19) - eslint-plugin-unused-imports: - specifier: 3.2.0 - version: 3.2.0(@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0) - prettier: - specifier: 3.3.2 - version: 3.3.2 - prettier-plugin-svelte: - specifier: 3.2.6 - version: 3.2.6(prettier@3.3.2)(svelte@4.2.19) - prettier-plugin-tailwindcss: - specifier: 0.6.6 - version: 0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.2))(prettier-plugin-svelte@3.2.6(prettier@3.3.2)(svelte@4.2.19))(prettier@3.3.2) - svelte: - specifier: 4.2.19 - version: 4.2.19 - typescript: - specifier: 5.4.2 - version: 5.4.2 + specifier: 9.10.0 + version: 9.10.0(jiti@1.21.0) + globals: + specifier: ^15.9.0 + version: 15.9.0 packages/handles: dependencies: @@ -1166,14 +1142,38 @@ packages: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint-community/regexpp@4.11.0': + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.18.0': + resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@8.57.0': resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/js@9.10.0': + resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.1.0': + resolution: {integrity: sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@fastify/busboy@2.1.0': resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} engines: {node: '>=14'} @@ -1298,6 +1298,10 @@ packages: '@humanwhocodes/object-schema@2.0.2': resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} + '@ianvs/prettier-plugin-sort-imports@4.1.1': resolution: {integrity: sha512-kJhXq63ngpTQ2dxgf5GasbPJWsJA3LgoOdd7WGhpUSzLgLgI4IsIzYkbJf9kmpOHe7Vdm/o3PcRA3jmizXUuAQ==} peerDependencies: @@ -2207,16 +2211,10 @@ packages: react: ^18.2.0 react-dom: ^18.2.0 - '@theguild/eslint-config@0.11.11': - resolution: {integrity: sha512-CeuFWimLkPO0rlWR0j+81ovWJlOWYYC+301zkEgqJWXMbfYR+IYeEf9fqBPawX0bX+JAmeC8nm48ZylbY6+O5A==} - peerDependencies: - eslint: ^8 - typescript: ^5 - - '@theguild/eslint-config@0.12.0': - resolution: {integrity: sha512-a9xlmrgK6aInWG3yvQuRtJlpg3hMwt631aZwjDoYTsf4p9RLUQDlrxTh0+g2Gv/MIS+iFMZ9SuNAydQB9QlKoQ==} + '@theguild/eslint-config@0.12.1': + resolution: {integrity: sha512-H/w0tiZ38Fc0OWRIDzrirp4dyP39kFXHNOj+eIs5AwCJ8gw//Sftk4Zf0HQQw+sdY/kkU54nl6tI/REswE7DZg==} peerDependencies: - eslint: ^8 + eslint: ^8 || ^9 typescript: ^5 '@theguild/prettier-config@2.0.2': @@ -2380,17 +2378,6 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@7.7.0': - resolution: {integrity: sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==} - 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/parser@7.18.0': resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2411,16 +2398,6 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.7.0': - resolution: {integrity: sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/scope-manager@7.18.0': resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2429,10 +2406,6 @@ packages: resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/scope-manager@7.7.0': - resolution: {integrity: sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==} - engines: {node: ^18.18.0 || >=20.0.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} @@ -2453,16 +2426,6 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@7.7.0': - resolution: {integrity: sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/types@7.18.0': resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2471,10 +2434,6 @@ packages: resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@7.7.0': - resolution: {integrity: sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/typescript-estree@7.18.0': resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2493,15 +2452,6 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.7.0': - resolution: {integrity: sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/utils@7.18.0': resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2514,12 +2464,6 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@7.7.0': - resolution: {integrity: sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - '@typescript-eslint/visitor-keys@7.18.0': resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2528,10 +2472,6 @@ packages: resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/visitor-keys@7.7.0': - resolution: {integrity: sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript/vfs@1.5.0': resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} @@ -2684,6 +2624,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + engines: {node: '>=0.4.0'} + hasBin: true + ajv-errors@1.0.1: resolution: {integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==} peerDependencies: @@ -4001,15 +3946,33 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.0.2: + resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true + eslint@9.10.0: + resolution: {integrity: sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + esm-env@1.0.0: resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} @@ -4017,6 +3980,10 @@ packages: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} engines: {node: '>=6'} + espree@10.1.0: + resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4171,6 +4138,10 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + file-loader@4.3.0: resolution: {integrity: sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==} engines: {node: '>= 8.9.0'} @@ -4215,6 +4186,10 @@ packages: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true @@ -4222,6 +4197,9 @@ packages: flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flexsearch@0.7.43: resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} @@ -4406,6 +4384,10 @@ packages: resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + globals@15.9.0: resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==} engines: {node: '>=18'} @@ -5026,6 +5008,9 @@ packages: engines: {node: '>=6'} hasBin: true + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} @@ -5072,6 +5057,9 @@ packages: resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==} hasBin: true + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + khroma@2.0.0: resolution: {integrity: sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==} @@ -6490,12 +6478,6 @@ packages: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 - prettier-plugin-svelte@3.2.6: - resolution: {integrity: sha512-Y1XWLw7vXUQQZmgv1JAEiLcErqUniAF2wO7QJsw8BVMvpLET2dI5WpEIEJx1r11iHVdSMzQxivyfrH9On9t2IQ==} - peerDependencies: - prettier: ^3.0.0 - svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 - prettier-plugin-tailwindcss@0.6.6: resolution: {integrity: sha512-OPva5S7WAsPLEsOuOWXATi13QrCKACCiIonFgIR6V4lYv4QLp++UXVhZSzRbZxXGimkQtQT86CC6fQqTOybGng==} engines: {node: '>=14.21.3'} @@ -6561,11 +6543,6 @@ packages: engines: {node: '>=14'} hasBin: true - prettier@3.3.2: - resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} - engines: {node: '>=14'} - hasBin: true - prettier@3.3.3: resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} @@ -7673,11 +7650,6 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript@5.4.2: - resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} - engines: {node: '>=14.17'} - hasBin: true - typescript@5.5.4: resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} @@ -8798,8 +8770,23 @@ snapshots: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.4.0(eslint@9.10.0(jiti@1.21.0))': + dependencies: + eslint: 9.10.0(jiti@1.21.0) + eslint-visitor-keys: 3.4.3 + '@eslint-community/regexpp@4.10.0': {} + '@eslint-community/regexpp@4.11.0': {} + + '@eslint/config-array@0.18.0': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.6 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 @@ -8814,8 +8801,30 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/eslintrc@3.1.0': + dependencies: + ajv: 6.12.6 + debug: 4.3.6 + espree: 10.1.0 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + '@eslint/js@8.57.0': {} + '@eslint/js@9.10.0': {} + + '@eslint/object-schema@2.1.4': {} + + '@eslint/plugin-kit@0.1.0': + dependencies: + levn: 0.4.1 + '@fastify/busboy@2.1.0': {} '@giscus/react@2.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': @@ -9045,6 +9054,8 @@ snapshots: '@humanwhocodes/object-schema@2.0.2': {} + '@humanwhocodes/retry@0.3.0': {} + '@ianvs/prettier-plugin-sort-imports@4.1.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3)': dependencies: '@babel/core': 7.24.4 @@ -9059,20 +9070,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.2)': - dependencies: - '@babel/core': 7.24.4 - '@babel/generator': 7.24.4 - '@babel/parser': 7.25.3 - '@babel/traverse': 7.24.1 - '@babel/types': 7.25.2 - prettier: 3.3.2 - semver: 7.6.2 - optionalDependencies: - '@vue/compiler-sfc': 3.4.7 - transitivePeerDependencies: - - supports-color - '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3)': dependencies: '@babel/core': 7.24.4 @@ -9086,7 +9083,6 @@ snapshots: '@vue/compiler-sfc': 3.4.7 transitivePeerDependencies: - supports-color - optional: true '@isaacs/cliui@8.0.2': dependencies: @@ -9148,7 +9144,7 @@ snapshots: dependencies: '@graphql-eslint/eslint-plugin': 3.20.1(@babel/core@7.24.4)(@types/node@20.16.1)(graphql@16.8.1) '@kitql/helpers': 0.8.9 - '@theguild/eslint-config': 0.12.0(eslint@8.57.0)(typescript@5.5.4) + '@theguild/eslint-config': 0.12.1(eslint@8.57.0)(typescript@5.5.4) '@theguild/prettier-config': 2.0.2(@vue/compiler-sfc@3.4.7)(prettier@3.3.3) '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4) @@ -9161,7 +9157,7 @@ snapshots: prettier: 3.3.3 prettier-plugin-sh: 0.14.0(prettier@3.3.3) prettier-plugin-svelte: 3.2.2(prettier@3.3.3)(svelte@4.2.0) - prettier-plugin-tailwindcss: 0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3))(prettier-plugin-svelte@3.2.2(prettier@3.3.3)(svelte@4.2.0))(prettier@3.3.3) + prettier-plugin-tailwindcss: 0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3))(prettier-plugin-svelte@3.2.2(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3) svelte: 4.2.0 typescript: 5.5.4 transitivePeerDependencies: @@ -9978,15 +9974,15 @@ snapshots: - utf-8-validate - webpack - '@theguild/eslint-config@0.11.11(eslint@8.57.0)(typescript@5.4.2)': + '@theguild/eslint-config@0.12.1(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-jsonc: 2.16.0(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-mdx: 3.1.5(eslint@8.57.0) @@ -9997,32 +9993,32 @@ snapshots: eslint-plugin-sonarjs: 1.0.4(eslint@8.57.0) eslint-plugin-unicorn: 55.0.0(eslint@8.57.0) eslint-plugin-yml: 1.14.0(eslint@8.57.0) - typescript: 5.4.2 + typescript: 5.5.4 transitivePeerDependencies: - bluebird - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - '@theguild/eslint-config@0.12.0(eslint@8.57.0)(typescript@5.5.4)': + '@theguild/eslint-config@0.12.1(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': dependencies: '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-jsonc: 2.16.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-mdx: 3.1.5(eslint@8.57.0) - eslint-plugin-n: 17.10.2(eslint@8.57.0) - eslint-plugin-promise: 7.1.0(eslint@8.57.0) - eslint-plugin-react: 7.33.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) - eslint-plugin-sonarjs: 1.0.4(eslint@8.57.0) - eslint-plugin-unicorn: 55.0.0(eslint@8.57.0) - eslint-plugin-yml: 1.14.0(eslint@8.57.0) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/parser': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + eslint: 9.10.0(jiti@1.21.0) + eslint-config-prettier: 9.1.0(eslint@9.10.0(jiti@1.21.0)) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-jsonc: 2.16.0(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-jsx-a11y: 6.8.0(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-mdx: 3.1.5(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-n: 17.10.2(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-promise: 7.1.0(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-react: 7.33.2(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-react-hooks: 4.6.0(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-sonarjs: 1.0.4(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-unicorn: 55.0.0(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-yml: 1.14.0(eslint@9.10.0(jiti@1.21.0)) typescript: 5.5.4 transitivePeerDependencies: - bluebird @@ -10040,12 +10036,12 @@ snapshots: - '@vue/compiler-sfc' - supports-color - '@theguild/prettier-config@2.0.7(@vue/compiler-sfc@3.4.7)(prettier@3.3.2)': + '@theguild/prettier-config@2.0.7(@vue/compiler-sfc@3.4.7)(prettier@3.3.3)': dependencies: - '@ianvs/prettier-plugin-sort-imports': 4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.2) - prettier: 3.3.2 - prettier-plugin-pkg: 0.18.0(prettier@3.3.2) - prettier-plugin-sh: 0.14.0(prettier@3.3.2) + '@ianvs/prettier-plugin-sort-imports': 4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3) + prettier: 3.3.3 + prettier-plugin-pkg: 0.18.0(prettier@3.3.3) + prettier-plugin-sh: 0.14.0(prettier@3.3.3) transitivePeerDependencies: - '@vue/compiler-sfc' - supports-color @@ -10205,6 +10201,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/type-utils': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/utils': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 7.18.0 + eslint: 9.10.0(jiti@1.21.0) + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.10.0 @@ -10225,34 +10239,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/scope-manager': 7.7.0 - '@typescript-eslint/type-utils': 7.7.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/utils': 7.7.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.7.0 + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.3.6 eslint: 8.57.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.4.2) optionalDependencies: - typescript: 5.4.2 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.3.6 - eslint: 8.57.0 + eslint: 9.10.0(jiti@1.21.0) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -10271,19 +10278,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2)': - dependencies: - '@typescript-eslint/scope-manager': 7.7.0 - '@typescript-eslint/types': 7.7.0 - '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.7.0 - debug: 4.3.6 - eslint: 8.57.0 - optionalDependencies: - typescript: 5.4.2 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/scope-manager@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 @@ -10294,11 +10288,6 @@ snapshots: '@typescript-eslint/types': 7.2.0 '@typescript-eslint/visitor-keys': 7.2.0 - '@typescript-eslint/scope-manager@7.7.0': - dependencies: - '@typescript-eslint/types': 7.7.0 - '@typescript-eslint/visitor-keys': 7.7.0 - '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) @@ -10311,27 +10300,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/type-utils@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': dependencies: - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4) - '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.5.4) - debug: 4.3.4 - eslint: 8.57.0 - ts-api-utils: 1.0.3(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) + '@typescript-eslint/utils': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + debug: 4.3.6 + eslint: 9.10.0(jiti@1.21.0) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@7.7.0(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.2) - '@typescript-eslint/utils': 7.7.0(eslint@8.57.0)(typescript@5.4.2) - debug: 4.3.6 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4) + '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.5.4) + debug: 4.3.4 eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.4.2) + ts-api-utils: 1.0.3(typescript@5.5.4) optionalDependencies: - typescript: 5.4.2 + typescript: 5.5.4 transitivePeerDependencies: - supports-color @@ -10339,8 +10328,6 @@ snapshots: '@typescript-eslint/types@7.2.0': {} - '@typescript-eslint/types@7.7.0': {} - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 7.18.0 @@ -10371,28 +10358,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.7.0(typescript@5.4.2)': + '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 7.7.0 - '@typescript-eslint/visitor-keys': 7.7.0 - debug: 4.3.6 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.4.2) - optionalDependencies: - typescript: 5.4.2 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) + eslint: 8.57.0 transitivePeerDependencies: - supports-color + - typescript - '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/utils@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - eslint: 8.57.0 + eslint: 9.10.0(jiti@1.21.0) transitivePeerDependencies: - supports-color - typescript @@ -10411,20 +10394,6 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@7.7.0(eslint@8.57.0)(typescript@5.4.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.7.0 - '@typescript-eslint/types': 7.7.0 - '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.2) - eslint: 8.57.0 - semver: 7.6.2 - transitivePeerDependencies: - - supports-color - - typescript - '@typescript-eslint/visitor-keys@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 @@ -10435,11 +10404,6 @@ snapshots: '@typescript-eslint/types': 7.2.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.7.0': - dependencies: - '@typescript-eslint/types': 7.7.0 - eslint-visitor-keys: 3.4.3 - '@typescript/vfs@1.5.0': dependencies: debug: 4.3.6 @@ -10665,6 +10629,10 @@ snapshots: dependencies: acorn: 8.11.3 + acorn-jsx@5.3.2(acorn@8.12.1): + dependencies: + acorn: 8.12.1 + acorn-walk@8.3.1: {} acorn@6.4.2: {} @@ -10673,6 +10641,8 @@ snapshots: acorn@8.11.3: {} + acorn@8.12.1: {} + ajv-errors@1.0.1(ajv@6.12.6): dependencies: ajv: 6.12.6 @@ -12074,15 +12044,28 @@ snapshots: dependencies: eslint: 8.57.0 + eslint-compat-utils@0.1.2(eslint@9.10.0(jiti@1.21.0)): + dependencies: + eslint: 9.10.0(jiti@1.21.0) + eslint-compat-utils@0.5.1(eslint@8.57.0): dependencies: eslint: 8.57.0 semver: 7.6.2 + eslint-compat-utils@0.5.1(eslint@9.10.0(jiti@1.21.0)): + dependencies: + eslint: 9.10.0(jiti@1.21.0) + semver: 7.6.2 + eslint-config-prettier@9.1.0(eslint@8.57.0): dependencies: eslint: 8.57.0 + eslint-config-prettier@9.1.0(eslint@9.10.0(jiti@1.21.0)): + dependencies: + eslint: 9.10.0(jiti@1.21.0) + eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 @@ -12108,13 +12091,13 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)): dependencies: debug: 4.3.6 enhanced-resolve: 5.17.1 - eslint: 8.57.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint: 9.10.0(jiti@1.21.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)))(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.10.0(jiti@1.21.0)) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -12146,6 +12129,27 @@ snapshots: - bluebird - supports-color + eslint-mdx@3.1.5(eslint@9.10.0(jiti@1.21.0)): + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint: 9.10.0(jiti@1.21.0) + espree: 9.6.1 + estree-util-visit: 2.0.0 + remark-mdx: 3.0.1 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + synckit: 0.9.1 + tslib: 2.7.0 + unified: 11.0.4 + unified-engine: 11.2.1 + unist-util-visit: 5.0.0 + uvu: 0.5.6 + vfile: 6.0.1 + transitivePeerDependencies: + - bluebird + - supports-color + eslint-module-utils@2.8.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 @@ -12157,14 +12161,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.8.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)))(eslint@9.10.0(jiti@1.21.0)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.2) - eslint: 8.57.0 + '@typescript-eslint/parser': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + eslint: 9.10.0(jiti@1.21.0) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)) transitivePeerDependencies: - supports-color @@ -12175,6 +12179,13 @@ snapshots: eslint: 8.57.0 eslint-compat-utils: 0.1.2(eslint@8.57.0) + eslint-plugin-es-x@7.5.0(eslint@9.10.0(jiti@1.21.0)): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) + '@eslint-community/regexpp': 4.10.0 + eslint: 9.10.0(jiti@1.21.0) + eslint-compat-utils: 0.1.2(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): dependencies: array-includes: 3.1.7 @@ -12202,7 +12213,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.10.0(jiti@1.21.0)): dependencies: array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 @@ -12210,9 +12221,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 9.10.0(jiti@1.21.0) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)))(eslint@9.10.0(jiti@1.21.0)) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -12223,7 +12234,7 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -12240,6 +12251,17 @@ snapshots: natural-compare: 1.4.0 synckit: 0.6.2 + eslint-plugin-jsonc@2.16.0(eslint@9.10.0(jiti@1.21.0)): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) + eslint: 9.10.0(jiti@1.21.0) + eslint-compat-utils: 0.5.1(eslint@9.10.0(jiti@1.21.0)) + espree: 9.6.1 + graphemer: 1.4.0 + jsonc-eslint-parser: 2.4.0 + natural-compare: 1.4.0 + synckit: 0.6.2 + eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): dependencies: '@babel/runtime': 7.24.4 @@ -12260,6 +12282,26 @@ snapshots: object.entries: 1.1.7 object.fromentries: 2.0.7 + eslint-plugin-jsx-a11y@6.8.0(eslint@9.10.0(jiti@1.21.0)): + dependencies: + '@babel/runtime': 7.24.4 + aria-query: 5.3.0 + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.7.0 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.15 + eslint: 9.10.0(jiti@1.21.0) + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + eslint-plugin-markdown@3.0.1(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -12267,6 +12309,13 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-plugin-markdown@3.0.1(eslint@9.10.0(jiti@1.21.0)): + dependencies: + eslint: 9.10.0(jiti@1.21.0) + mdast-util-from-markdown: 0.8.5 + transitivePeerDependencies: + - supports-color + eslint-plugin-mdx@3.1.5(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -12282,6 +12331,21 @@ snapshots: - bluebird - supports-color + eslint-plugin-mdx@3.1.5(eslint@9.10.0(jiti@1.21.0)): + dependencies: + eslint: 9.10.0(jiti@1.21.0) + eslint-mdx: 3.1.5(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-markdown: 3.0.1(eslint@9.10.0(jiti@1.21.0)) + remark-mdx: 3.0.1 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + tslib: 2.7.0 + unified: 11.0.4 + vfile: 6.0.1 + transitivePeerDependencies: + - bluebird + - supports-color + eslint-plugin-n@17.10.2(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -12294,14 +12358,34 @@ snapshots: minimatch: 9.0.5 semver: 7.6.2 + eslint-plugin-n@17.10.2(eslint@9.10.0(jiti@1.21.0)): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) + enhanced-resolve: 5.17.1 + eslint: 9.10.0(jiti@1.21.0) + eslint-plugin-es-x: 7.5.0(eslint@9.10.0(jiti@1.21.0)) + get-tsconfig: 4.7.2 + globals: 15.9.0 + ignore: 5.3.1 + minimatch: 9.0.5 + semver: 7.6.2 + eslint-plugin-promise@7.1.0(eslint@8.57.0): dependencies: eslint: 8.57.0 + eslint-plugin-promise@7.1.0(eslint@9.10.0(jiti@1.21.0)): + dependencies: + eslint: 9.10.0(jiti@1.21.0) + eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): dependencies: eslint: 8.57.0 + eslint-plugin-react-hooks@4.6.0(eslint@9.10.0(jiti@1.21.0)): + dependencies: + eslint: 9.10.0(jiti@1.21.0) + eslint-plugin-react@7.33.2(eslint@8.57.0): dependencies: array-includes: 3.1.7 @@ -12322,10 +12406,34 @@ snapshots: semver: 6.3.1 string.prototype.matchall: 4.0.10 + eslint-plugin-react@7.33.2(eslint@9.10.0(jiti@1.21.0)): + dependencies: + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.2 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.15 + eslint: 9.10.0(jiti@1.21.0) + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.hasown: 1.1.3 + object.values: 1.1.7 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.10 + eslint-plugin-sonarjs@1.0.4(eslint@8.57.0): dependencies: eslint: 8.57.0 + eslint-plugin-sonarjs@1.0.4(eslint@9.10.0(jiti@1.21.0)): + dependencies: + eslint: 9.10.0(jiti@1.21.0) + eslint-plugin-svelte@2.43.0(eslint@8.57.0)(svelte@4.2.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -12384,19 +12492,32 @@ snapshots: semver: 7.6.2 strip-indent: 3.0.0 - eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0): + eslint-plugin-unicorn@55.0.0(eslint@9.10.0(jiti@1.21.0)): dependencies: - eslint: 8.57.0 - eslint-rule-composer: 0.3.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) + '@babel/helper-validator-identifier': 7.24.7 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) + ci-info: 4.0.0 + clean-regexp: 1.0.0 + core-js-compat: 3.38.1 + eslint: 9.10.0(jiti@1.21.0) + esquery: 1.5.0 + globals: 15.9.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.6.2 + strip-indent: 3.0.0 - eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0): + eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0): dependencies: eslint: 8.57.0 eslint-rule-composer: 0.3.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) eslint-plugin-yml@1.14.0(eslint@8.57.0): dependencies: @@ -12409,6 +12530,17 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-plugin-yml@1.14.0(eslint@9.10.0(jiti@1.21.0)): + dependencies: + debug: 4.3.6 + eslint: 9.10.0(jiti@1.21.0) + eslint-compat-utils: 0.5.1(eslint@9.10.0(jiti@1.21.0)) + lodash: 4.17.21 + natural-compare: 1.4.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - supports-color + eslint-rule-composer@0.3.0: {} eslint-scope@4.0.3: @@ -12421,8 +12553,15 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-scope@8.0.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + eslint-visitor-keys@3.4.3: {} + eslint-visitor-keys@4.0.0: {} + eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -12466,10 +12605,57 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@9.10.0(jiti@1.21.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) + '@eslint-community/regexpp': 4.11.0 + '@eslint/config-array': 0.18.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.10.0 + '@eslint/plugin-kit': 0.1.0 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.6 + escape-string-regexp: 4.0.0 + eslint-scope: 8.0.2 + eslint-visitor-keys: 4.0.0 + espree: 10.1.0 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + optionalDependencies: + jiti: 1.21.0 + transitivePeerDependencies: + - supports-color + esm-env@1.0.0: {} esm@3.2.25: {} + espree@10.1.0: + dependencies: + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 4.0.0 + espree@9.6.1: dependencies: acorn: 8.10.0 @@ -12662,6 +12848,10 @@ snapshots: dependencies: flat-cache: 3.0.4 + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + file-loader@4.3.0(webpack@4.47.0): dependencies: loader-utils: 1.4.2 @@ -12716,10 +12906,17 @@ snapshots: flatted: 3.2.7 rimraf: 3.0.2 + flat-cache@4.0.1: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + flat@5.0.2: {} flatted@3.2.7: {} + flatted@3.3.1: {} + flexsearch@0.7.43: {} flush-write-stream@1.1.1: @@ -12919,6 +13116,8 @@ snapshots: dependencies: type-fest: 0.20.2 + globals@14.0.0: {} + globals@15.9.0: {} globalthis@1.0.3: @@ -13584,6 +13783,8 @@ snapshots: jsesc@3.0.2: {} + json-buffer@3.0.1: {} + json-parse-better-errors@1.0.2: {} json-parse-even-better-errors@2.3.1: {} @@ -13630,6 +13831,10 @@ snapshots: dependencies: commander: 8.3.0 + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + khroma@2.0.0: {} kind-of@3.2.2: @@ -15595,10 +15800,6 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-pkg@0.18.0(prettier@3.3.2): - dependencies: - prettier: 3.3.2 - prettier-plugin-pkg@0.18.0(prettier@3.3.3): dependencies: prettier: 3.3.3 @@ -15609,12 +15810,6 @@ snapshots: prettier: 3.3.3 sh-syntax: 0.4.1 - prettier-plugin-sh@0.14.0(prettier@3.3.2): - dependencies: - mvdan-sh: 0.10.1 - prettier: 3.3.2 - sh-syntax: 0.4.1 - prettier-plugin-sh@0.14.0(prettier@3.3.3): dependencies: mvdan-sh: 0.10.1 @@ -15631,19 +15826,7 @@ snapshots: prettier: 3.3.3 svelte: 4.2.0 - prettier-plugin-svelte@3.2.6(prettier@3.3.2)(svelte@4.2.19): - dependencies: - prettier: 3.3.2 - svelte: 4.2.19 - - prettier-plugin-tailwindcss@0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.2))(prettier-plugin-svelte@3.2.6(prettier@3.3.2)(svelte@4.2.19))(prettier@3.3.2): - dependencies: - prettier: 3.3.2 - optionalDependencies: - '@ianvs/prettier-plugin-sort-imports': 4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.2) - prettier-plugin-svelte: 3.2.6(prettier@3.3.2)(svelte@4.2.19) - - prettier-plugin-tailwindcss@0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3))(prettier-plugin-svelte@3.2.2(prettier@3.3.3)(svelte@4.2.0))(prettier@3.3.3): + prettier-plugin-tailwindcss@0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3))(prettier-plugin-svelte@3.2.2(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3): dependencies: prettier: 3.3.3 optionalDependencies: @@ -15654,8 +15837,6 @@ snapshots: prettier@3.1.0: {} - prettier@3.3.2: {} - prettier@3.3.3: {} pretty-format@29.7.0: @@ -16812,7 +16993,7 @@ snapshots: terser@4.8.1: dependencies: - acorn: 8.11.3 + acorn: 8.12.1 commander: 2.20.3 source-map: 0.6.1 source-map-support: 0.5.21 @@ -16917,10 +17098,6 @@ snapshots: dependencies: typescript: 5.5.4 - ts-api-utils@1.3.0(typescript@5.4.2): - dependencies: - typescript: 5.4.2 - ts-api-utils@1.3.0(typescript@5.5.4): dependencies: typescript: 5.5.4 @@ -17001,8 +17178,6 @@ snapshots: typedarray@0.0.6: {} - typescript@5.4.2: {} - typescript@5.5.4: {} unbox-primitive@1.0.2: From eea294e3bbda32e248a7ca8f5a12f36e08715a2c Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 16:51:32 +0200 Subject: [PATCH 03/12] look okayish --- package.json | 1 + packages/eslint-config/.prettierrc.cjs | 2 +- packages/eslint-config/cmd.js | 3 +- packages/eslint-config/eslint.config.js | 54 +++++ packages/eslint-config/eslint.config.mjs | 72 ------- packages/eslint-config/package.json | 18 +- packages/handles/eslint.config.mjs | 3 + packages/handles/package.json | 74 +++---- pnpm-lock.yaml | 245 +++++++++++++++++++++-- 9 files changed, 342 insertions(+), 130 deletions(-) create mode 100644 packages/eslint-config/eslint.config.js delete mode 100644 packages/eslint-config/eslint.config.mjs create mode 100644 packages/handles/eslint.config.mjs diff --git a/package.json b/package.json index 6bc57a944..e843ae0fd 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "@vitest/coverage-v8": "2.0.5", "esbuild": "0.23.1", "nx": "19.6.1", + "prettier": "3.3.3", "rimraf": "5.0.0" } } diff --git a/packages/eslint-config/.prettierrc.cjs b/packages/eslint-config/.prettierrc.cjs index 8e45965e3..f2df140aa 100644 --- a/packages/eslint-config/.prettierrc.cjs +++ b/packages/eslint-config/.prettierrc.cjs @@ -27,5 +27,5 @@ module.exports = { '', '^[./]', // inside ], - importOrderSeparation: true, + // importOrderSeparation: true, } diff --git a/packages/eslint-config/cmd.js b/packages/eslint-config/cmd.js index 8a270d06e..d5cefc4f5 100755 --- a/packages/eslint-config/cmd.js +++ b/packages/eslint-config/cmd.js @@ -61,7 +61,7 @@ const cmdPrettier = `prettier` + ` --list-different` + // ignore? - ` --ignore-pattern ${pathPrettierIgnore}` + + ` --ignore-path ${pathPrettierIgnore}` + // config ` --config ${pathPrettierCjs}` + // format or not @@ -166,5 +166,6 @@ result_prettier.on('close', (data) => { if (verbose) { log.info(`close`, data) } + esLintRun(data) }) diff --git a/packages/eslint-config/eslint.config.js b/packages/eslint-config/eslint.config.js new file mode 100644 index 000000000..1d3502993 --- /dev/null +++ b/packages/eslint-config/eslint.config.js @@ -0,0 +1,54 @@ +import js from '@eslint/js' +import svelte from 'eslint-plugin-svelte' +import globals from 'globals' +import ts from 'typescript-eslint' + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + js.configs.recommended, + ...ts.configs.recommended, + ...svelte.configs['flat/recommended'], + { + languageOptions: { + globals: { + ...globals.browser, + ...globals.node, + }, + }, + }, + { + files: ['**/*.svelte'], + languageOptions: { + parserOptions: { + parser: ts.parser, + }, + }, + }, + { + ignores: ['build/', '.svelte-kit/', 'dist/'], + }, + { + rules: { + 'no-console': [ + 'error', + { + allow: ['info', 'warn', 'error', 'time', 'timeEnd', 'dir'], + }, + ], + '@typescript-eslint/no-unused-vars': [ + 'warn', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^(_|error|e)$', // Ignore caught errors with names starting with _ or "error" + }, + ], + '@typescript-eslint/no-require-imports': 'off', + '@typescript-eslint/ban-ts-ignore': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-unused-expressions': 'off', + }, + }, +] diff --git a/packages/eslint-config/eslint.config.mjs b/packages/eslint-config/eslint.config.mjs deleted file mode 100644 index 9ecdd3749..000000000 --- a/packages/eslint-config/eslint.config.mjs +++ /dev/null @@ -1,72 +0,0 @@ -import path from 'node:path' -import { fileURLToPath } from 'node:url' -import { FlatCompat } from '@eslint/eslintrc' -import js from '@eslint/js' -import svelte from 'eslint-plugin-svelte' -import unusedImports from 'eslint-plugin-unused-imports' -import globals from 'globals' - -const __filename = fileURLToPath(import.meta.url) -const __dirname = path.dirname(__filename) -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, - allConfig: js.configs.all, -}) - -export default [ - ...compat.extends('@theguild', 'eslint:recommended', 'prettier', 'plugin:svelte/recommended'), - { - plugins: { - 'unused-imports': unusedImports, - svelte, - }, - - languageOptions: { - globals: { - ...globals.browser, - ...globals.node, - }, - ecmaVersion: 2020, - sourceType: 'module', - }, - - rules: { - 'no-console': [ - 'error', - { - allow: ['info', 'warn', 'error', 'time', 'timeEnd', 'dir'], - }, - ], - 'no-unused-vars': [ - 'warn', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^(_|error|e)$', // Ignore caught errors with names starting with _ or "error" - }, - ], - 'no-empty': ['error', { allowEmptyCatch: true }], - 'unused-imports/no-unused-imports': 'error', - 'no-implicit-coercion': 'off', - // '@typescript-eslint/ban-ts-ignore': 'off', - // '@typescript-eslint/ban-ts-comment': 'off', - // '@typescript-eslint/no-explicit-any': 'off', - // '@typescript-eslint/no-non-null-assertion': 'off', - // '@typescript-eslint/no-unused-expressions': 'off', - }, - }, - // { - // files: ['**/*.svelte'], - - // languageOptions: { - // parser: parser, - // ecmaVersion: 5, - // sourceType: 'script', - - // parserOptions: { - // parser: '@typescript-eslint/parser', - // }, - // }, - // }, -] diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index c2164832b..333a70871 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -13,13 +13,12 @@ "bin": { "kitql-lint": "./cmd.js" }, - "main": "index.cjs", + "main": "eslint.config.js", "files": [ - ".eslintrc.cjs", ".prettierrc.cjs", "cmd.js", "cmd.sh", - "index.cjs" + "eslint.config.js" ], "keywords": [ "cli", @@ -33,14 +32,19 @@ "lint:example": "kitql-lint" }, "dependencies": { - "@eslint/eslintrc": "^3.1.0", "@eslint/js": "^9.10.0", "@kitql/helpers": "workspace:*", - "@theguild/eslint-config": "^0.12.1", + "@theguild/eslint-config": "0.12.1", "@theguild/prettier-config": "2.0.7", - "commander": "^12.1.0", + "@types/eslint": "9.6.1", + "commander": "12.1.0", "eslint": "9.10.0", - "globals": "^15.9.0" + "eslint-plugin-svelte": "2.43.0", + "globals": "15.9.0", + "prettier": "3.3.3", + "prettier-plugin-svelte": "3.2.6", + "prettier-plugin-tailwindcss": "0.6.6", + "typescript-eslint": "8.5.0" }, "publishConfig": { "access": "public" diff --git a/packages/handles/eslint.config.mjs b/packages/handles/eslint.config.mjs new file mode 100644 index 000000000..3202d4295 --- /dev/null +++ b/packages/handles/eslint.config.mjs @@ -0,0 +1,3 @@ +import kitql from '@kitql/eslint-config' + +export default [...kitql] diff --git a/packages/handles/package.json b/packages/handles/package.json index 68417e488..4f4b16e71 100644 --- a/packages/handles/package.json +++ b/packages/handles/package.json @@ -1,37 +1,58 @@ { "name": "@kitql/handles", - "description": "Some useful handles for SvelteKit", - "keywords": [ - "svelte", - "sveltekit" - ], "version": "0.2.0", - "license": "MIT", "type": "module", + "description": "Some useful handles for SvelteKit", "repository": { "type": "git", "url": "https://github.com/jycouet/kitql", "directory": "packages/handles", "homepage": "https://github.com/jycouet/kitql/tree/main/packages/handles" }, + "license": "MIT", + "engines": { + "node": "^16.14 || >=18" + }, + "exports": { + ".": { + "types": "./esm/index.d.ts", + "require": "./cjs/index.js", + "svelte": "./esm/index.js", + "default": "./esm/index.js" + } + }, + "types": "./esm/index.d.ts", + "files": [ + "dist", + "!dist/**/*.spec.*", + "!dist/**/*.test.*" + ], + "keywords": [ + "svelte", + "sveltekit" + ], "scripts": { - "prepare": "svelte-kit sync", - "dev": "vite dev", "build": "vite build && svelte-package && node ../../scripts/package.js", - "preview": "vite preview", - "package": "npm run build && publint", "check": "svelte-check", "check:watch": "svelte-check", + "dev": "vite dev", + "format": "kitql-lint --format", + "lint": "kitql-lint", + "package": "npm run build && publint", + "prepare": "svelte-kit sync", + "preview": "vite preview", "test": "vitest", - "test:e2e": "playwright test", "test:ci": "npm run test:e2e && npm run test", - "lint": "kitql-lint", - "format": "kitql-lint --format" + "test:e2e": "playwright test" }, "peerDependencies": { "@sveltejs/kit": "^2.4.0", "svelte": "^3.54.0 || ^4.0.0 || ^5.0.0" }, + "dependencies": { + "esm-env": "^1.0.0", + "vary": "^1.1.2" + }, "devDependencies": { "@kitql/eslint-config": "workspace:*", "@kitql/helpers": "workspace:*", @@ -49,31 +70,10 @@ "vite": "^5.4.0", "vitest": "2.0.5" }, - "dependencies": { - "esm-env": "^1.0.0", - "vary": "^1.1.2" - }, - "sideEffects": false, "publishConfig": { "directory": "dist", "access": "public" }, - "files": [ - "dist", - "!dist/**/*.test.*", - "!dist/**/*.spec.*" - ], - "svelte": "./esm/index.js", - "types": "./esm/index.d.ts", - "exports": { - ".": { - "types": "./esm/index.d.ts", - "require": "./cjs/index.js", - "svelte": "./esm/index.js", - "default": "./esm/index.js" - } - }, - "engines": { - "node": "^16.14 || >=18" - } -} \ No newline at end of file + "sideEffects": false, + "svelte": "./esm/index.js" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9964b73a..e942a8a7c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,6 +23,9 @@ importers: nx: specifier: 19.6.1 version: 19.6.1 + prettier: + specifier: 3.3.3 + version: 3.3.3 rimraf: specifier: 5.0.0 version: 5.0.0 @@ -155,9 +158,6 @@ importers: packages/eslint-config: dependencies: - '@eslint/eslintrc': - specifier: ^3.1.0 - version: 3.1.0 '@eslint/js': specifier: ^9.10.0 version: 9.10.0 @@ -165,20 +165,38 @@ importers: specifier: workspace:* version: link:../helpers/dist '@theguild/eslint-config': - specifier: ^0.12.1 + specifier: 0.12.1 version: 0.12.1(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) '@theguild/prettier-config': specifier: 2.0.7 version: 2.0.7(@vue/compiler-sfc@3.4.7)(prettier@3.3.3) + '@types/eslint': + specifier: 9.6.1 + version: 9.6.1 commander: - specifier: ^12.1.0 + specifier: 12.1.0 version: 12.1.0 eslint: specifier: 9.10.0 version: 9.10.0(jiti@1.21.0) + eslint-plugin-svelte: + specifier: 2.43.0 + version: 2.43.0(eslint@9.10.0(jiti@1.21.0))(svelte@4.2.19) globals: - specifier: ^15.9.0 + specifier: 15.9.0 version: 15.9.0 + prettier: + specifier: 3.3.3 + version: 3.3.3 + prettier-plugin-svelte: + specifier: 3.2.6 + version: 3.2.6(prettier@3.3.3)(svelte@4.2.19) + prettier-plugin-tailwindcss: + specifier: 0.6.6 + version: 0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3))(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3) + typescript-eslint: + specifier: 8.5.0 + version: 8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) packages/handles: dependencies: @@ -2272,6 +2290,9 @@ packages: '@types/debug@4.1.7': resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + '@types/estree-jsx@1.0.0': resolution: {integrity: sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==} @@ -2378,6 +2399,17 @@ packages: typescript: optional: true + '@typescript-eslint/eslint-plugin@8.5.0': + resolution: {integrity: sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/parser@7.18.0': resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2398,6 +2430,16 @@ packages: typescript: optional: true + '@typescript-eslint/parser@8.5.0': + resolution: {integrity: sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/scope-manager@7.18.0': resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2406,6 +2448,10 @@ packages: resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@8.5.0': + resolution: {integrity: sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.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} @@ -2426,6 +2472,15 @@ packages: typescript: optional: true + '@typescript-eslint/type-utils@8.5.0': + resolution: {integrity: sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/types@7.18.0': resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2434,6 +2489,10 @@ packages: resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@8.5.0': + resolution: {integrity: sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==} + 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} @@ -2452,6 +2511,15 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.5.0': + resolution: {integrity: sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/utils@7.18.0': resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2464,6 +2532,12 @@ packages: peerDependencies: eslint: ^8.56.0 + '@typescript-eslint/utils@8.5.0': + resolution: {integrity: sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/visitor-keys@7.18.0': resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2472,6 +2546,10 @@ packages: resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@8.5.0': + resolution: {integrity: sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript/vfs@1.5.0': resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} @@ -6478,6 +6556,12 @@ packages: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 + prettier-plugin-svelte@3.2.6: + resolution: {integrity: sha512-Y1XWLw7vXUQQZmgv1JAEiLcErqUniAF2wO7QJsw8BVMvpLET2dI5WpEIEJx1r11iHVdSMzQxivyfrH9On9t2IQ==} + peerDependencies: + prettier: ^3.0.0 + svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 + prettier-plugin-tailwindcss@0.6.6: resolution: {integrity: sha512-OPva5S7WAsPLEsOuOWXATi13QrCKACCiIonFgIR6V4lYv4QLp++UXVhZSzRbZxXGimkQtQT86CC6fQqTOybGng==} engines: {node: '>=14.21.3'} @@ -7650,6 +7734,15 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typescript-eslint@8.5.0: + resolution: {integrity: sha512-uD+XxEoSIvqtm4KE97etm32Tn5MfaZWgWfMMREStLxR6JzvHkc2Tkj7zhTEK5XmtpTmKHNnG8Sot6qDfhHtR1Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + typescript@5.5.4: resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} @@ -10008,7 +10101,7 @@ snapshots: eslint: 9.10.0(jiti@1.21.0) eslint-config-prettier: 9.1.0(eslint@9.10.0(jiti@1.21.0)) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0)) eslint-plugin-jsonc: 2.16.0(eslint@9.10.0(jiti@1.21.0)) eslint-plugin-jsx-a11y: 6.8.0(eslint@9.10.0(jiti@1.21.0)) eslint-plugin-mdx: 3.1.5(eslint@9.10.0(jiti@1.21.0)) @@ -10104,6 +10197,11 @@ snapshots: dependencies: '@types/ms': 0.7.31 + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + '@types/estree-jsx@1.0.0': dependencies: '@types/estree': 1.0.5 @@ -10239,6 +10337,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': + dependencies: + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.5.0 + '@typescript-eslint/type-utils': 8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/utils': 8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.5.0 + eslint: 9.10.0(jiti@1.21.0) + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 @@ -10278,6 +10394,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': + dependencies: + '@typescript-eslint/scope-manager': 8.5.0 + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.5.0 + debug: 4.3.6 + eslint: 9.10.0(jiti@1.21.0) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 @@ -10288,6 +10417,11 @@ snapshots: '@typescript-eslint/types': 7.2.0 '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/scope-manager@8.5.0': + dependencies: + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/visitor-keys': 8.5.0 + '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) @@ -10324,10 +10458,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': + dependencies: + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + debug: 4.3.6 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - eslint + - supports-color + '@typescript-eslint/types@7.18.0': {} '@typescript-eslint/types@7.2.0': {} + '@typescript-eslint/types@8.5.0': {} + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 7.18.0 @@ -10358,6 +10506,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.5.0(typescript@5.5.4)': + dependencies: + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/visitor-keys': 8.5.0 + debug: 4.3.6 + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -10394,6 +10557,17 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) + '@typescript-eslint/scope-manager': 8.5.0 + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.5.4) + eslint: 9.10.0(jiti@1.21.0) + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/visitor-keys@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 @@ -10404,6 +10578,11 @@ snapshots: '@typescript-eslint/types': 7.2.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.5.0': + dependencies: + '@typescript-eslint/types': 8.5.0 + eslint-visitor-keys: 3.4.3 + '@typescript/vfs@1.5.0': dependencies: debug: 4.3.6 @@ -11246,7 +11425,7 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 '@types/estree': 1.0.5 - acorn: 8.11.3 + acorn: 8.12.1 estree-walker: 3.0.3 periscopic: 3.1.0 @@ -12097,7 +12276,7 @@ snapshots: enhanced-resolve: 5.17.1 eslint: 9.10.0(jiti@1.21.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)))(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.10.0(jiti@1.21.0)) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0)) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -12213,7 +12392,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.10.0(jiti@1.21.0)): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0)): dependencies: array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 @@ -12234,7 +12413,7 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/parser': 8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -12472,6 +12651,25 @@ snapshots: transitivePeerDependencies: - ts-node + eslint-plugin-svelte@2.43.0(eslint@9.10.0(jiti@1.21.0))(svelte@4.2.19): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) + '@jridgewell/sourcemap-codec': 1.5.0 + eslint: 9.10.0(jiti@1.21.0) + eslint-compat-utils: 0.5.1(eslint@9.10.0(jiti@1.21.0)) + esutils: 2.0.3 + known-css-properties: 0.34.0 + postcss: 8.4.41 + postcss-load-config: 3.1.4(postcss@8.4.41) + postcss-safe-parser: 6.0.0(postcss@8.4.41) + postcss-selector-parser: 6.1.2 + semver: 7.6.2 + svelte-eslint-parser: 0.41.0(svelte@4.2.19) + optionalDependencies: + svelte: 4.2.19 + transitivePeerDependencies: + - ts-node + eslint-plugin-unicorn@55.0.0(eslint@8.57.0): dependencies: '@babel/helper-validator-identifier': 7.24.7 @@ -15826,6 +16024,11 @@ snapshots: prettier: 3.3.3 svelte: 4.2.0 + prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19): + dependencies: + prettier: 3.3.3 + svelte: 4.2.19 + prettier-plugin-tailwindcss@0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3))(prettier-plugin-svelte@3.2.2(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3): dependencies: prettier: 3.3.3 @@ -15833,6 +16036,13 @@ snapshots: '@ianvs/prettier-plugin-sort-imports': 4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3) prettier-plugin-svelte: 3.2.2(prettier@3.3.3)(svelte@4.2.0) + prettier-plugin-tailwindcss@0.6.6(@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3))(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3): + dependencies: + prettier: 3.3.3 + optionalDependencies: + '@ianvs/prettier-plugin-sort-imports': 4.3.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3) + prettier-plugin-svelte: 3.2.6(prettier@3.3.3)(svelte@4.2.19) + prettier@2.8.8: {} prettier@3.1.0: {} @@ -16880,7 +17090,7 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@types/estree': 1.0.5 - acorn: 8.11.3 + acorn: 8.12.1 aria-query: 5.3.0 axobject-query: 4.1.0 code-red: 1.0.4 @@ -17178,6 +17388,17 @@ snapshots: typedarray@0.0.6: {} + typescript-eslint@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4): + dependencies: + '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/parser': 8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/utils': 8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - eslint + - supports-color + typescript@5.5.4: {} unbox-primitive@1.0.2: From 6757521fb79ffac6db88e32c7e3445451035f4d1 Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 16:52:47 +0200 Subject: [PATCH 04/12] helper ok --- packages/handles/.eslintrc.cjs | 3 --- packages/helpers/.eslintrc.cjs | 3 --- packages/helpers/eslint.config.mjs | 3 +++ 3 files changed, 3 insertions(+), 6 deletions(-) delete mode 100644 packages/handles/.eslintrc.cjs delete mode 100644 packages/helpers/.eslintrc.cjs create mode 100644 packages/helpers/eslint.config.mjs diff --git a/packages/handles/.eslintrc.cjs b/packages/handles/.eslintrc.cjs deleted file mode 100644 index 04f571e2d..000000000 --- a/packages/handles/.eslintrc.cjs +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: ['@kitql'], -} diff --git a/packages/helpers/.eslintrc.cjs b/packages/helpers/.eslintrc.cjs deleted file mode 100644 index 04f571e2d..000000000 --- a/packages/helpers/.eslintrc.cjs +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: ['@kitql'], -} diff --git a/packages/helpers/eslint.config.mjs b/packages/helpers/eslint.config.mjs new file mode 100644 index 000000000..3202d4295 --- /dev/null +++ b/packages/helpers/eslint.config.mjs @@ -0,0 +1,3 @@ +import kitql from '@kitql/eslint-config' + +export default [...kitql] From 04b7f307ea685bf1fdfa955b5138e40edf41cd26 Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 16:53:33 +0200 Subject: [PATCH 05/12] internals --- packages/internals/.eslintrc.cjs | 3 --- packages/internals/eslint.config.mjs | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 packages/internals/.eslintrc.cjs create mode 100644 packages/internals/eslint.config.mjs diff --git a/packages/internals/.eslintrc.cjs b/packages/internals/.eslintrc.cjs deleted file mode 100644 index 04f571e2d..000000000 --- a/packages/internals/.eslintrc.cjs +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: ['@kitql'], -} diff --git a/packages/internals/eslint.config.mjs b/packages/internals/eslint.config.mjs new file mode 100644 index 000000000..3202d4295 --- /dev/null +++ b/packages/internals/eslint.config.mjs @@ -0,0 +1,3 @@ +import kitql from '@kitql/eslint-config' + +export default [...kitql] From b0db76f77f327fc7eae84a64910f1541b58ec51c Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 17:00:31 +0200 Subject: [PATCH 06/12] okay --- packages/create-kitql/.eslintrc.cjs | 3 --- .../eslint.config.mjs => create-kitql/eslint.config.js} | 0 packages/eslint-config/eslint.config.js | 2 +- .../{helpers/eslint.config.mjs => handles/eslint.config.js} | 0 .../{internals/eslint.config.mjs => helpers/eslint.config.js} | 0 packages/internals/eslint.config.js | 3 +++ packages/vite-plugin-kit-routes/.eslintrc.cjs | 3 --- packages/vite-plugin-kit-routes/eslint.config.js | 3 +++ packages/vite-plugin-stripper/.eslintrc.cjs | 3 --- packages/vite-plugin-stripper/eslint.config.js | 3 +++ packages/vite-plugin-watch-and-run/.eslintrc.cjs | 3 --- packages/vite-plugin-watch-and-run/eslint.config.js | 3 +++ 12 files changed, 13 insertions(+), 13 deletions(-) delete mode 100644 packages/create-kitql/.eslintrc.cjs rename packages/{handles/eslint.config.mjs => create-kitql/eslint.config.js} (100%) rename packages/{helpers/eslint.config.mjs => handles/eslint.config.js} (100%) rename packages/{internals/eslint.config.mjs => helpers/eslint.config.js} (100%) create mode 100644 packages/internals/eslint.config.js delete mode 100644 packages/vite-plugin-kit-routes/.eslintrc.cjs create mode 100644 packages/vite-plugin-kit-routes/eslint.config.js delete mode 100644 packages/vite-plugin-stripper/.eslintrc.cjs create mode 100644 packages/vite-plugin-stripper/eslint.config.js delete mode 100644 packages/vite-plugin-watch-and-run/.eslintrc.cjs create mode 100644 packages/vite-plugin-watch-and-run/eslint.config.js diff --git a/packages/create-kitql/.eslintrc.cjs b/packages/create-kitql/.eslintrc.cjs deleted file mode 100644 index 04f571e2d..000000000 --- a/packages/create-kitql/.eslintrc.cjs +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: ['@kitql'], -} diff --git a/packages/handles/eslint.config.mjs b/packages/create-kitql/eslint.config.js similarity index 100% rename from packages/handles/eslint.config.mjs rename to packages/create-kitql/eslint.config.js diff --git a/packages/eslint-config/eslint.config.js b/packages/eslint-config/eslint.config.js index 1d3502993..e024ffba2 100644 --- a/packages/eslint-config/eslint.config.js +++ b/packages/eslint-config/eslint.config.js @@ -40,7 +40,7 @@ export default [ { argsIgnorePattern: '^_', varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^(_|error|e)$', // Ignore caught errors with names starting with _ or "error" + caughtErrorsIgnorePattern: '^(_.*|e|error)$', }, ], '@typescript-eslint/no-require-imports': 'off', diff --git a/packages/helpers/eslint.config.mjs b/packages/handles/eslint.config.js similarity index 100% rename from packages/helpers/eslint.config.mjs rename to packages/handles/eslint.config.js diff --git a/packages/internals/eslint.config.mjs b/packages/helpers/eslint.config.js similarity index 100% rename from packages/internals/eslint.config.mjs rename to packages/helpers/eslint.config.js diff --git a/packages/internals/eslint.config.js b/packages/internals/eslint.config.js new file mode 100644 index 000000000..3202d4295 --- /dev/null +++ b/packages/internals/eslint.config.js @@ -0,0 +1,3 @@ +import kitql from '@kitql/eslint-config' + +export default [...kitql] diff --git a/packages/vite-plugin-kit-routes/.eslintrc.cjs b/packages/vite-plugin-kit-routes/.eslintrc.cjs deleted file mode 100644 index 04f571e2d..000000000 --- a/packages/vite-plugin-kit-routes/.eslintrc.cjs +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: ['@kitql'], -} diff --git a/packages/vite-plugin-kit-routes/eslint.config.js b/packages/vite-plugin-kit-routes/eslint.config.js new file mode 100644 index 000000000..3202d4295 --- /dev/null +++ b/packages/vite-plugin-kit-routes/eslint.config.js @@ -0,0 +1,3 @@ +import kitql from '@kitql/eslint-config' + +export default [...kitql] diff --git a/packages/vite-plugin-stripper/.eslintrc.cjs b/packages/vite-plugin-stripper/.eslintrc.cjs deleted file mode 100644 index 04f571e2d..000000000 --- a/packages/vite-plugin-stripper/.eslintrc.cjs +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: ['@kitql'], -} diff --git a/packages/vite-plugin-stripper/eslint.config.js b/packages/vite-plugin-stripper/eslint.config.js new file mode 100644 index 000000000..3202d4295 --- /dev/null +++ b/packages/vite-plugin-stripper/eslint.config.js @@ -0,0 +1,3 @@ +import kitql from '@kitql/eslint-config' + +export default [...kitql] diff --git a/packages/vite-plugin-watch-and-run/.eslintrc.cjs b/packages/vite-plugin-watch-and-run/.eslintrc.cjs deleted file mode 100644 index 04f571e2d..000000000 --- a/packages/vite-plugin-watch-and-run/.eslintrc.cjs +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: ['@kitql'], -} diff --git a/packages/vite-plugin-watch-and-run/eslint.config.js b/packages/vite-plugin-watch-and-run/eslint.config.js new file mode 100644 index 000000000..3202d4295 --- /dev/null +++ b/packages/vite-plugin-watch-and-run/eslint.config.js @@ -0,0 +1,3 @@ +import kitql from '@kitql/eslint-config' + +export default [...kitql] From d56cfeb25c6a6555f533a0b71f85762d28ecc78c Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 17:12:42 +0200 Subject: [PATCH 07/12] cleanup --- packages/eslint-config/eslint.config.js | 7 +++++++ packages/vite-plugin-kit-routes/src/app.d.ts | 1 - .../src/test/ROUTES_format-object-path.ts | 2 +- .../src/test/ROUTES_format-object-path_shortened.ts | 2 +- .../src/test/ROUTES_format-object-symbol.ts | 2 +- .../src/test/ROUTES_format-object-symbol_shortened.ts | 2 +- .../src/test/ROUTES_format-variables.ts | 2 +- .../src/test/ROUTES_format-variables_shortened.ts | 2 +- 8 files changed, 13 insertions(+), 7 deletions(-) diff --git a/packages/eslint-config/eslint.config.js b/packages/eslint-config/eslint.config.js index e024ffba2..e7d33e36b 100644 --- a/packages/eslint-config/eslint.config.js +++ b/packages/eslint-config/eslint.config.js @@ -49,6 +49,13 @@ export default [ '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/no-unused-expressions': 'off', + '@typescript-eslint/no-empty-object-type': 'off', + + 'no-undef': 'off', + 'svelte/no-at-html-tags': 'off', + 'no-inner-declarations': 'off', + 'svelte/no-inner-declarations': 'off', + '@typescript-eslint/no-unused-vars': 'off', }, }, ] diff --git a/packages/vite-plugin-kit-routes/src/app.d.ts b/packages/vite-plugin-kit-routes/src/app.d.ts index 348b680a0..cc1d824af 100644 --- a/packages/vite-plugin-kit-routes/src/app.d.ts +++ b/packages/vite-plugin-kit-routes/src/app.d.ts @@ -2,7 +2,6 @@ // for information about these interfaces declare global { namespace App { - // eslint-disable-next-line interface goto {} // interface Error {} // interface Locals {} diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts index b42cb3b09..9c7335f22 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ + /** * This file was generated by 'vite-plugin-kit-routes' * diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts index ae7d0a3bf..5e2dccead 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ + /** * This file was generated by 'vite-plugin-kit-routes' * diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts index 1adb3a174..05d15d865 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ + /** * This file was generated by 'vite-plugin-kit-routes' * diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts index e90f1c823..e6e9e94d0 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ + /** * This file was generated by 'vite-plugin-kit-routes' * diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts index ca7c1c33f..a0524cef9 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ + /** * This file was generated by 'vite-plugin-kit-routes' * diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts index 8ed0c34d1..cd098b6af 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ + /** * This file was generated by 'vite-plugin-kit-routes' * From 6f0f76f3aa43f6cd8a26dcff2fd31beb72b3d392 Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 17:33:07 +0200 Subject: [PATCH 08/12] fix defaults --- packages/eslint-config/eslint.config.js | 1 - packages/eslint-config/package.json | 4 +++- .../vite-plugin-kit-routes/eslint.config.js | 10 +++++++- .../src/pages/docs/tools/08_eslint-config.mdx | 24 +++++++++---------- 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/packages/eslint-config/eslint.config.js b/packages/eslint-config/eslint.config.js index e7d33e36b..78355bc94 100644 --- a/packages/eslint-config/eslint.config.js +++ b/packages/eslint-config/eslint.config.js @@ -55,7 +55,6 @@ export default [ 'svelte/no-at-html-tags': 'off', 'no-inner-declarations': 'off', 'svelte/no-inner-declarations': 'off', - '@typescript-eslint/no-unused-vars': 'off', }, }, ] diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 333a70871..58ff618ff 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -31,10 +31,12 @@ "lint": "node ./cmd.js --verbose -p none", "lint:example": "kitql-lint" }, + "peerDependencies": { + "prettier": "^3.3.3" + }, "dependencies": { "@eslint/js": "^9.10.0", "@kitql/helpers": "workspace:*", - "@theguild/eslint-config": "0.12.1", "@theguild/prettier-config": "2.0.7", "@types/eslint": "9.6.1", "commander": "12.1.0", diff --git a/packages/vite-plugin-kit-routes/eslint.config.js b/packages/vite-plugin-kit-routes/eslint.config.js index 3202d4295..39f578797 100644 --- a/packages/vite-plugin-kit-routes/eslint.config.js +++ b/packages/vite-plugin-kit-routes/eslint.config.js @@ -1,3 +1,11 @@ import kitql from '@kitql/eslint-config' -export default [...kitql] +/** @type { import("eslint").Linter.FlatConfig } */ +export default [ + ...kitql, + { + rules: { + '@typescript-eslint/no-unsafe-function-type': off, + }, + }, +] diff --git a/website/src/pages/docs/tools/08_eslint-config.mdx b/website/src/pages/docs/tools/08_eslint-config.mdx index 5606b5dac..78f429721 100644 --- a/website/src/pages/docs/tools/08_eslint-config.mdx +++ b/website/src/pages/docs/tools/08_eslint-config.mdx @@ -20,23 +20,23 @@ npm i -D @kitql/eslint-config ### eslint config -`.eslintrc.js` +```js filename="eslint.config.js" +import kitql from '@kitql/eslint-config' -```js /** @type { import("eslint").Linter.FlatConfig } */ -module.exports = { - extends: ['@kitql'], - rules: { - // You can add rules here +export default [ + ...kitql, + { + rules: { + // Some custom things? + } } -} +] ``` ### prettier config -`.prettierrc.cjs` - -```js +```js filename=".prettierrc.cjs" const config = require('@kitql/eslint-config/.prettierrc.cjs') module.exports = { @@ -47,9 +47,7 @@ module.exports = { ### ignore things with -`.prettierignore` - -```bash +```bash filename=".prettierignore" .DS_Store node_modules /build From 07e47fa8dade7b06836de1b74ab70c0f6ea8873d Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 17:33:55 +0200 Subject: [PATCH 09/12] changeset --- .changeset/thick-ducks-grin.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/thick-ducks-grin.md diff --git a/.changeset/thick-ducks-grin.md b/.changeset/thick-ducks-grin.md new file mode 100644 index 000000000..69918aff0 --- /dev/null +++ b/.changeset/thick-ducks-grin.md @@ -0,0 +1,5 @@ +--- +'@kitql/eslint-config': minor +--- + +Bump to eslint 9 and prettier 3 From 7e6b7de6a18588e472a6ee24c999071757a6af5c Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 17:35:48 +0200 Subject: [PATCH 10/12] rmv theguild eslint for now --- .changeset/pre.json | 19 +++ pnpm-lock.yaml | 320 ++------------------------------------------ 2 files changed, 28 insertions(+), 311 deletions(-) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..b10c6f70a --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,19 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@kitql-old/all-in": "0.9.6", + "create-kitql": "0.1.7", + "create-kitql-kit-routes": "0.0.1", + "create-kitql-sveltekit-remult": "0.0.1", + "@kitql/eslint-config": "0.3.7", + "@kitql/handles": "0.2.0", + "@kitql/helpers": "0.8.10", + "@kitql/internals": "0.9.9", + "vite-plugin-kit-routes": "0.6.10", + "vite-plugin-stripper": "0.5.4", + "vite-plugin-watch-and-run": "1.7.1", + "website": "1.1.2" + }, + "changesets": [] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e942a8a7c..8b2bcdf17 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -164,9 +164,6 @@ importers: '@kitql/helpers': specifier: workspace:* version: link:../helpers/dist - '@theguild/eslint-config': - specifier: 0.12.1 - version: 0.12.1(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) '@theguild/prettier-config': specifier: 2.0.7 version: 2.0.7(@vue/compiler-sfc@3.4.7)(prettier@3.3.3) @@ -10074,8 +10071,8 @@ snapshots: '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-jsonc: 2.16.0(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-mdx: 3.1.5(eslint@8.57.0) @@ -10093,32 +10090,6 @@ snapshots: - eslint-import-resolver-webpack - supports-color - '@theguild/eslint-config@0.12.1(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': - dependencies: - '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) - '@typescript-eslint/parser': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) - eslint: 9.10.0(jiti@1.21.0) - eslint-config-prettier: 9.1.0(eslint@9.10.0(jiti@1.21.0)) - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-jsonc: 2.16.0(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-jsx-a11y: 6.8.0(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-mdx: 3.1.5(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-n: 17.10.2(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-promise: 7.1.0(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-react: 7.33.2(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-react-hooks: 4.6.0(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-sonarjs: 1.0.4(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-unicorn: 55.0.0(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-yml: 1.14.0(eslint@9.10.0(jiti@1.21.0)) - typescript: 5.5.4 - transitivePeerDependencies: - - bluebird - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - supports-color - '@theguild/prettier-config@2.0.2(@vue/compiler-sfc@3.4.7)(prettier@3.3.3)': dependencies: '@ianvs/prettier-plugin-sort-imports': 4.1.1(@vue/compiler-sfc@3.4.7)(prettier@3.3.3) @@ -10299,24 +10270,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) - '@typescript-eslint/utils': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 9.10.0(jiti@1.21.0) - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.10.0 @@ -10368,19 +10321,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': - dependencies: - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.6 - eslint: 9.10.0(jiti@1.21.0) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 7.2.0 @@ -10434,18 +10374,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': - dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - '@typescript-eslint/utils': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) - debug: 4.3.6 - eslint: 9.10.0(jiti@1.21.0) - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4) @@ -10532,17 +10460,6 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - eslint: 9.10.0(jiti@1.21.0) - transitivePeerDependencies: - - supports-color - - typescript - '@typescript-eslint/utils@7.2.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -12223,10 +12140,6 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-compat-utils@0.1.2(eslint@9.10.0(jiti@1.21.0)): - dependencies: - eslint: 9.10.0(jiti@1.21.0) - eslint-compat-utils@0.5.1(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -12241,10 +12154,6 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-config-prettier@9.1.0(eslint@9.10.0(jiti@1.21.0)): - dependencies: - eslint: 9.10.0(jiti@1.21.0) - eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 @@ -12253,30 +12162,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 4.3.6 enhanced-resolve: 5.17.1 eslint: 8.57.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - fast-glob: 3.3.2 - get-tsconfig: 4.7.2 - is-core-module: 2.13.1 - is-glob: 4.0.3 - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - supports-color - - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)): - dependencies: - debug: 4.3.6 - enhanced-resolve: 5.17.1 - eslint: 9.10.0(jiti@1.21.0) - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)))(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0)) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -12308,46 +12200,14 @@ snapshots: - bluebird - supports-color - eslint-mdx@3.1.5(eslint@9.10.0(jiti@1.21.0)): - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint: 9.10.0(jiti@1.21.0) - espree: 9.6.1 - estree-util-visit: 2.0.0 - remark-mdx: 3.0.1 - remark-parse: 11.0.0 - remark-stringify: 11.0.0 - synckit: 0.9.1 - tslib: 2.7.0 - unified: 11.0.4 - unified-engine: 11.2.1 - unist-util-visit: 5.0.0 - uvu: 0.5.6 - vfile: 6.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - - eslint-module-utils@2.8.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.8.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0) - transitivePeerDependencies: - - supports-color - - eslint-module-utils@2.8.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)))(eslint@9.10.0(jiti@1.21.0)): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) - eslint: 9.10.0(jiti@1.21.0) - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -12358,14 +12218,7 @@ snapshots: eslint: 8.57.0 eslint-compat-utils: 0.1.2(eslint@8.57.0) - eslint-plugin-es-x@7.5.0(eslint@9.10.0(jiti@1.21.0)): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) - '@eslint-community/regexpp': 4.10.0 - eslint: 9.10.0(jiti@1.21.0) - eslint-compat-utils: 0.1.2(eslint@9.10.0(jiti@1.21.0)) - - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 @@ -12375,7 +12228,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -12392,33 +12245,6 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.0)): - dependencies: - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 9.10.0(jiti@1.21.0) - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0(jiti@1.21.0)))(eslint@9.10.0(jiti@1.21.0)) - hasown: 2.0.2 - is-core-module: 2.13.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 - semver: 6.3.1 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 8.5.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.4) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - eslint-plugin-jsonc@2.16.0(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -12430,17 +12256,6 @@ snapshots: natural-compare: 1.4.0 synckit: 0.6.2 - eslint-plugin-jsonc@2.16.0(eslint@9.10.0(jiti@1.21.0)): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) - eslint: 9.10.0(jiti@1.21.0) - eslint-compat-utils: 0.5.1(eslint@9.10.0(jiti@1.21.0)) - espree: 9.6.1 - graphemer: 1.4.0 - jsonc-eslint-parser: 2.4.0 - natural-compare: 1.4.0 - synckit: 0.6.2 - eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): dependencies: '@babel/runtime': 7.24.4 @@ -12461,26 +12276,6 @@ snapshots: object.entries: 1.1.7 object.fromentries: 2.0.7 - eslint-plugin-jsx-a11y@6.8.0(eslint@9.10.0(jiti@1.21.0)): - dependencies: - '@babel/runtime': 7.24.4 - aria-query: 5.3.0 - array-includes: 3.1.7 - array.prototype.flatmap: 1.3.2 - ast-types-flow: 0.0.8 - axe-core: 4.7.0 - axobject-query: 3.2.1 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.15 - eslint: 9.10.0(jiti@1.21.0) - hasown: 2.0.2 - jsx-ast-utils: 3.3.5 - language-tags: 1.0.9 - minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 - eslint-plugin-markdown@3.0.1(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -12488,13 +12283,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-markdown@3.0.1(eslint@9.10.0(jiti@1.21.0)): - dependencies: - eslint: 9.10.0(jiti@1.21.0) - mdast-util-from-markdown: 0.8.5 - transitivePeerDependencies: - - supports-color - eslint-plugin-mdx@3.1.5(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -12510,21 +12298,6 @@ snapshots: - bluebird - supports-color - eslint-plugin-mdx@3.1.5(eslint@9.10.0(jiti@1.21.0)): - dependencies: - eslint: 9.10.0(jiti@1.21.0) - eslint-mdx: 3.1.5(eslint@9.10.0(jiti@1.21.0)) - eslint-plugin-markdown: 3.0.1(eslint@9.10.0(jiti@1.21.0)) - remark-mdx: 3.0.1 - remark-parse: 11.0.0 - remark-stringify: 11.0.0 - tslib: 2.7.0 - unified: 11.0.4 - vfile: 6.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - eslint-plugin-n@17.10.2(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -12537,34 +12310,14 @@ snapshots: minimatch: 9.0.5 semver: 7.6.2 - eslint-plugin-n@17.10.2(eslint@9.10.0(jiti@1.21.0)): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) - enhanced-resolve: 5.17.1 - eslint: 9.10.0(jiti@1.21.0) - eslint-plugin-es-x: 7.5.0(eslint@9.10.0(jiti@1.21.0)) - get-tsconfig: 4.7.2 - globals: 15.9.0 - ignore: 5.3.1 - minimatch: 9.0.5 - semver: 7.6.2 - eslint-plugin-promise@7.1.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - eslint-plugin-promise@7.1.0(eslint@9.10.0(jiti@1.21.0)): - dependencies: - eslint: 9.10.0(jiti@1.21.0) - eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - eslint-plugin-react-hooks@4.6.0(eslint@9.10.0(jiti@1.21.0)): - dependencies: - eslint: 9.10.0(jiti@1.21.0) - eslint-plugin-react@7.33.2(eslint@8.57.0): dependencies: array-includes: 3.1.7 @@ -12585,34 +12338,10 @@ snapshots: semver: 6.3.1 string.prototype.matchall: 4.0.10 - eslint-plugin-react@7.33.2(eslint@9.10.0(jiti@1.21.0)): - dependencies: - array-includes: 3.1.7 - array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.2 - doctrine: 2.1.0 - es-iterator-helpers: 1.0.15 - eslint: 9.10.0(jiti@1.21.0) - estraverse: 5.3.0 - jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 - object.hasown: 1.1.3 - object.values: 1.1.7 - prop-types: 15.8.1 - resolve: 2.0.0-next.5 - semver: 6.3.1 - string.prototype.matchall: 4.0.10 - eslint-plugin-sonarjs@1.0.4(eslint@8.57.0): dependencies: eslint: 8.57.0 - eslint-plugin-sonarjs@1.0.4(eslint@9.10.0(jiti@1.21.0)): - dependencies: - eslint: 9.10.0(jiti@1.21.0) - eslint-plugin-svelte@2.43.0(eslint@8.57.0)(svelte@4.2.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -12690,26 +12419,6 @@ snapshots: semver: 7.6.2 strip-indent: 3.0.0 - eslint-plugin-unicorn@55.0.0(eslint@9.10.0(jiti@1.21.0)): - dependencies: - '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) - ci-info: 4.0.0 - clean-regexp: 1.0.0 - core-js-compat: 3.38.1 - eslint: 9.10.0(jiti@1.21.0) - esquery: 1.5.0 - globals: 15.9.0 - indent-string: 4.0.0 - is-builtin-module: 3.2.1 - jsesc: 3.0.2 - pluralize: 8.0.0 - read-pkg-up: 7.0.1 - regexp-tree: 0.1.27 - regjsparser: 0.10.0 - semver: 7.6.2 - strip-indent: 3.0.0 - eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -12728,17 +12437,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.14.0(eslint@9.10.0(jiti@1.21.0)): - dependencies: - debug: 4.3.6 - eslint: 9.10.0(jiti@1.21.0) - eslint-compat-utils: 0.5.1(eslint@9.10.0(jiti@1.21.0)) - lodash: 4.17.21 - natural-compare: 1.4.0 - yaml-eslint-parser: 1.2.2 - transitivePeerDependencies: - - supports-color - eslint-rule-composer@0.3.0: {} eslint-scope@4.0.3: From e28a8b33fbe573ef6065e0b753c5ca6504bc816c Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 19:07:17 +0200 Subject: [PATCH 11/12] lint --- .../vite-plugin-kit-routes/eslint.config.js | 2 +- .../vite-plugin-kit-routes/src/lib/ROUTES.ts | 306 ++++++------------ .../src/test/ROUTES_format-object-path.ts | 2 +- .../ROUTES_format-object-path_shortened.ts | 2 +- .../src/test/ROUTES_format-object-symbol.ts | 2 +- .../ROUTES_format-object-symbol_shortened.ts | 2 +- .../src/test/ROUTES_format-variables.ts | 2 +- .../test/ROUTES_format-variables_shortened.ts | 2 +- 8 files changed, 102 insertions(+), 218 deletions(-) diff --git a/packages/vite-plugin-kit-routes/eslint.config.js b/packages/vite-plugin-kit-routes/eslint.config.js index 39f578797..159b42fe3 100644 --- a/packages/vite-plugin-kit-routes/eslint.config.js +++ b/packages/vite-plugin-kit-routes/eslint.config.js @@ -5,7 +5,7 @@ export default [ ...kitql, { rules: { - '@typescript-eslint/no-unsafe-function-type': off, + '@typescript-eslint/no-unsafe-function-type': 'off', }, }, ] diff --git a/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts b/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts index c80b703e4..cd692e1d1 100644 --- a/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts +++ b/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts @@ -9,175 +9,123 @@ * PAGES */ const PAGES = { - '/': `/`, - '/subGroup': `/subGroup`, - '/subGroup/user': `/subGroup/user`, - '/subGroup2': (params: { first: string | number }) => { + "/": `/`, + "/subGroup": `/subGroup`, + "/subGroup/user": `/subGroup/user`, + "/subGroup2": (params: { first: (string | number) }) => { return `/subGroup2${appendSp({ first: params.first })}` }, - '/contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/contract` + "/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/contract` }, - '/contract/[id]': (params: { - id: string | number - lang?: 'fr' | 'en' | 'hu' | 'at' | string - }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/contract/${params.id}` + "/contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` }, - '/gp/one': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/gp/one` + "/gp/one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` }, - '/gp/two': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/gp/two` + "/gp/two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` }, - '/main': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/main` + "/main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/main` }, - '/match/[id=ab]': (params: { - id: Parameters[0] - lang?: 'fr' | 'en' | 'hu' | 'at' | string - }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/match/${params.id}` + "/match/[id=ab]": (params: { id: (Parameters[0]), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` }, - '/match/[id=int]': (params: { id: number; lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/match/${params.id}` + "/match/[id=int]": (params: { id: (number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` }, - '/site': ( - params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string; limit?: number }, - sp?: Record, - ) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site${appendSp({ - ...sp, - limit: params?.limit, - })}` + "/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { + return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` }, - '/site/[id]': (params?: { - lang?: 'fr' | 'hu' | undefined - id?: string - limit?: number - demo?: string - }) => { + "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? 'fr' - params.id = params.id ?? 'Vienna' - return `${params?.lang ? `/${params?.lang}` : ''}/site/${params.id}${appendSp({ - limit: params.limit, - demo: params.demo, - })}` + params.lang = params.lang ?? "fr"; + params.id = params.id ?? "Vienna"; + return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` }, - '/site_contract/[siteId]-[contractId]': (params: { - siteId: string | number - contractId: string | number - lang?: 'fr' | 'en' | 'hu' | 'at' | string - limit?: number - }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site_contract/${params.siteId}-${ - params.contractId - }${appendSp({ limit: params.limit })}` + "/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` }, - '/a/[...rest]/z': (params: { rest: (string | number)[] }) => { + "/a/[...rest]/z": (params: { rest: (string | number)[] }) => { return `/a/${params.rest?.join('/')}/z` }, - '/lay/normal': `/lay/normal`, - '/lay/root-layout': `/lay/root-layout`, - '/lay/skip': `/lay/skip`, - '/sp': (sp?: Record) => { + "/lay/normal": `/lay/normal`, + "/lay/root-layout": `/lay/root-layout`, + "/lay/skip": `/lay/skip`, + "/sp": (sp?: Record) => { return `/sp${appendSp(sp)}` }, - '/spArray': (params: { ids: number[] }) => { + "/spArray": (params: { ids: (number[]) }) => { return `/spArray${appendSp({ ids: params.ids })}` }, - '/spArrayComma': (params: { ids: number[] }) => { + "/spArrayComma": (params: { ids: (number[]) }) => { return `/spArrayComma${appendSp({ ids: String(params.ids) })}` - }, + } } /** * SERVERS */ const SERVERS = { - 'GET /server_func_get': `/server_func_get`, - 'GET /server_func_get_and_': `/server_func_get_and_`, - 'POST /server_func_post': `/server_func_post`, - 'GET /contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/contract` + "GET /server_func_get": `/server_func_get`, + "GET /server_func_get_and_": `/server_func_get_and_`, + "POST /server_func_post": `/server_func_post`, + "GET /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/contract` }, - 'POST /contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/contract` + "POST /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/contract` }, - 'GET /site': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site` + "GET /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/site` }, - 'GET /api/graphql': `/api/graphql`, - 'POST /api/graphql': `/api/graphql`, - 'GET /data/errors/[locale].json': (params: { locale: string | number }) => { + "GET /api/graphql": `/api/graphql`, + "POST /api/graphql": `/api/graphql`, + "GET /data/errors/[locale].json": (params: { locale: (string | number) }) => { return `/data/errors/${params.locale}.json` - }, + } } /** * ACTIONS */ const ACTIONS = { - 'default /contract/[id]': (params: { - id: string | number - lang?: 'fr' | 'en' | 'hu' | 'at' | string - limit?: number - }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/contract/${params.id}${appendSp({ - limit: params.limit, - })}` - }, - 'create /site': (params?: { - lang?: 'fr' | 'en' | 'hu' | 'at' | string - redirectTo?: 'list' | 'new' | 'detail' - }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site?/create${appendSp( - { redirectTo: params?.redirectTo }, - '&', - )}` + "default /contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}${appendSp({ limit: params.limit })}` }, - 'update /site/[id]': (params: { - id: string | number - lang?: 'fr' | 'en' | 'hu' | 'at' | string - }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site/${params.id}?/update` + "create /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), redirectTo?: ("list" | "new" | "detail") }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/site?/create${appendSp({ redirectTo: params?.redirectTo }, '&')}` }, - 'delete /site/[id]': (params: { - id: string | number - lang?: 'fr' | 'en' | 'hu' | 'at' | string - }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site/${params.id}?/delete` + "update /site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` }, - 'noSatisfies /site_contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site_contract?/noSatisfies` + "delete /site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` }, - 'send /site_contract/[siteId]-[contractId]': (params: { - siteId: string | number - contractId: string | number - lang?: 'fr' | 'en' | 'hu' | 'at' | string - extra?: 'A' | 'B' - }) => { - params.extra = params.extra ?? 'A' - return `${params?.lang ? `/${params?.lang}` : ''}/site_contract/${params.siteId}-${ - params.contractId - }?/send${appendSp({ extra: params.extra }, '&')}` + "noSatisfies /site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { + return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` }, + "send /site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { + params.extra = params.extra ?? "A"; + return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + } } /** * LINKS */ const LINKS = { - twitter: `https://twitter.com/jycouet`, - twitter_post: (params: { name: string | number; id: string | number }) => { + "twitter": `https://twitter.com/jycouet`, + "twitter_post": (params: { name: (string | number), id: (string | number) }) => { return `https://twitter.com/${params.name}/status/${params.id}` }, - gravatar: (params: { str: string; s?: number; d?: 'retro' | 'identicon' }) => { - params.s = params.s ?? 75 - params.d = params.d ?? 'identicon' + "gravatar": (params: { str: (string), s?: (number), d?: ("retro" | "identicon") }) => { + params.s = params.s ?? 75; + params.d = params.d ?? "identicon"; return `https://www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}` - }, + } } type ParamValue = string | number | undefined @@ -185,10 +133,7 @@ type ParamValue = string | number | undefined /** * Append search params to a string */ -export const appendSp = ( - sp?: Record, - prefix: '?' | '&' = '?', -) => { +export const appendSp = (sp?: Record, prefix: '?' | '&' = '?') => { if (sp === undefined) return '' const params = new URLSearchParams() @@ -217,12 +162,12 @@ export const appendSp = ( /** * get the current search params - * + * * Could be use like this: * ``` * route("/cities", { page: 2 }, { ...currentSP() }) * ``` - */ + */ export const currentSp = () => { const params = new URLSearchParams(window.location.search) const record: Record = {} @@ -240,28 +185,23 @@ type FunctionParams = T extends (...args: infer P) => any ? P : never const AllObjs = { ...PAGES, ...ACTIONS, ...SERVERS, ...LINKS } type AllTypes = typeof AllObjs -export type Routes = keyof AllTypes extends `${string}/${infer Route}` - ? `/${Route}` - : keyof AllTypes +export type Routes = keyof AllTypes extends `${string}/${infer Route}` ? `/${Route}` : keyof AllTypes export const routes = [ - ...new Set(Object.keys(AllObjs).map((route) => /^\/.*|[^ ]?\/.*$/.exec(route)?.[0] ?? route)), + ...new Set(Object.keys(AllObjs).map((route) => /^\/.*|[^ ]?\/.*$/.exec(route)?.[0] ?? route)), ] as Routes[] /** - * To be used like this: + * To be used like this: * ```ts * import { route } from '$lib/ROUTES' - * + * * route('site_id', { id: 1 }) * ``` */ -export function route>( - key: T, - ...params: FunctionParams -): string +export function route>(key: T, ...params: FunctionParams): string export function route>(key: T): string export function route(key: T, ...params: any[]): string { - if ((AllObjs[key] as any) instanceof Function) { + if (AllObjs[key] as any instanceof Function) { const element = (AllObjs as any)[key] as (...args: any[]) => string return element(...params) } else { @@ -270,80 +210,24 @@ export function route(key: T, ...params: any[]): strin } /** - * Add this type as a generic of the vite plugin `kitRoutes`. - * - * Full example: - * ```ts - * import type { KIT_ROUTES } from '$lib/ROUTES' - * import { kitRoutes } from 'vite-plugin-kit-routes' - * - * kitRoutes({ - * PAGES: { - * // here, key of object will be typed! - * } - * }) - * ``` - */ +* Add this type as a generic of the vite plugin `kitRoutes`. +* +* Full example: +* ```ts +* import type { KIT_ROUTES } from '$lib/ROUTES' +* import { kitRoutes } from 'vite-plugin-kit-routes' +* +* kitRoutes({ +* PAGES: { +* // here, key of object will be typed! +* } +* }) +* ``` +*/ export type KIT_ROUTES = { - PAGES: { - '/': never - '/subGroup': never - '/subGroup/user': never - '/subGroup2': never - '/contract': 'lang' - '/contract/[id]': 'id' | 'lang' - '/gp/one': 'lang' - '/gp/two': 'lang' - '/main': 'lang' - '/match/[id=ab]': 'id' | 'lang' - '/match/[id=int]': 'id' | 'lang' - '/site': 'lang' - '/site/[id]': 'lang' | 'id' - '/site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' - '/a/[...rest]/z': 'rest' - '/lay/normal': never - '/lay/root-layout': never - '/lay/skip': never - '/sp': never - '/spArray': never - '/spArrayComma': never - } - SERVERS: { - 'GET /server_func_get': never - 'GET /server_func_get_and_': never - 'POST /server_func_post': never - 'GET /contract': 'lang' - 'POST /contract': 'lang' - 'GET /site': 'lang' - 'GET /api/graphql': never - 'POST /api/graphql': never - 'GET /data/errors/[locale].json': 'locale' - } - ACTIONS: { - 'default /contract/[id]': 'id' | 'lang' - 'create /site': 'lang' - 'update /site/[id]': 'id' | 'lang' - 'delete /site/[id]': 'id' | 'lang' - 'noSatisfies /site_contract': 'lang' - 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' - } - LINKS: { twitter: never; twitter_post: 'name' | 'id'; gravatar: 'str' } - Params: { - first: never - lang: never - id: never - limit: never - demo: never - siteId: never - contractId: never - rest: never - ids: never - locale: never - redirectTo: never - extra: never - name: never - str: never - s: never - d: never - } + PAGES: { '/': never, '/subGroup': never, '/subGroup/user': never, '/subGroup2': never, '/contract': 'lang', '/contract/[id]': 'id' | 'lang', '/gp/one': 'lang', '/gp/two': 'lang', '/main': 'lang', '/match/[id=ab]': 'id' | 'lang', '/match/[id=int]': 'id' | 'lang', '/site': 'lang', '/site/[id]': 'lang' | 'id', '/site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang', '/a/[...rest]/z': 'rest', '/lay/normal': never, '/lay/root-layout': never, '/lay/skip': never, '/sp': never, '/spArray': never, '/spArrayComma': never } + SERVERS: { 'GET /server_func_get': never, 'GET /server_func_get_and_': never, 'POST /server_func_post': never, 'GET /contract': 'lang', 'POST /contract': 'lang', 'GET /site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } + ACTIONS: { 'default /contract/[id]': 'id' | 'lang', 'create /site': 'lang', 'update /site/[id]': 'id' | 'lang', 'delete /site/[id]': 'id' | 'lang', 'noSatisfies /site_contract': 'lang', 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } + LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } + Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, ids: never, locale: never, redirectTo: never, extra: never, name: never, str: never, s: never, d: never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts index 9c7335f22..b42cb3b09 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts @@ -1,4 +1,4 @@ - +/* eslint-disable */ /** * This file was generated by 'vite-plugin-kit-routes' * diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts index 5e2dccead..ae7d0a3bf 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts @@ -1,4 +1,4 @@ - +/* eslint-disable */ /** * This file was generated by 'vite-plugin-kit-routes' * diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts index 05d15d865..1adb3a174 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts @@ -1,4 +1,4 @@ - +/* eslint-disable */ /** * This file was generated by 'vite-plugin-kit-routes' * diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts index e6e9e94d0..e90f1c823 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts @@ -1,4 +1,4 @@ - +/* eslint-disable */ /** * This file was generated by 'vite-plugin-kit-routes' * diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts index a0524cef9..ca7c1c33f 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts @@ -1,4 +1,4 @@ - +/* eslint-disable */ /** * This file was generated by 'vite-plugin-kit-routes' * diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts index cd098b6af..8ed0c34d1 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts @@ -1,4 +1,4 @@ - +/* eslint-disable */ /** * This file was generated by 'vite-plugin-kit-routes' * From cae8892a36b8b2d0554aed9974a21412fc675de0 Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Sep 2024 19:07:34 +0200 Subject: [PATCH 12/12] format --- .../vite-plugin-kit-routes/src/lib/ROUTES.ts | 291 ++++++++++++------ 1 file changed, 196 insertions(+), 95 deletions(-) diff --git a/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts b/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts index cd692e1d1..905e3d5e0 100644 --- a/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts +++ b/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts @@ -9,123 +9,160 @@ * PAGES */ const PAGES = { - "/": `/`, - "/subGroup": `/subGroup`, - "/subGroup/user": `/subGroup/user`, - "/subGroup2": (params: { first: (string | number) }) => { + '/': `/`, + '/subGroup': `/subGroup`, + '/subGroup/user': `/subGroup/user`, + '/subGroup2': (params: { first: string | number }) => { return `/subGroup2${appendSp({ first: params.first })}` }, - "/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + '/contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/contract` }, - "/contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + '/contract/[id]': (params: { + id: string | number + lang?: 'fr' | 'en' | 'hu' | 'at' | string + }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/contract/${params.id}` }, - "/gp/one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + '/gp/one': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/gp/one` }, - "/gp/two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + '/gp/two': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/gp/two` }, - "/main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + '/main': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/main` }, - "/match/[id=ab]": (params: { id: (Parameters[0]), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + '/match/[id=ab]': (params: { + id: Parameters[0] + lang?: 'fr' | 'en' | 'hu' | 'at' | string + }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/match/${params.id}` }, - "/match/[id=int]": (params: { id: (number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + '/match/[id=int]': (params: { id: number; lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/match/${params.id}` }, - "/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + '/site': ( + params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string; limit?: number }, + sp?: Record, + ) => { + return `${params?.lang ? `/${params?.lang}` : ''}/site${appendSp({ ...sp, limit: params?.limit })}` }, - "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + '/site/[id]': (params?: { + lang?: 'fr' | 'hu' | undefined + id?: string + limit?: number + demo?: string + }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params.lang = params.lang ?? 'fr' + params.id = params.id ?? 'Vienna' + return `${params?.lang ? `/${params?.lang}` : ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` }, - "/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + '/site_contract/[siteId]-[contractId]': (params: { + siteId: string | number + contractId: string | number + lang?: 'fr' | 'en' | 'hu' | 'at' | string + limit?: number + }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` }, - "/a/[...rest]/z": (params: { rest: (string | number)[] }) => { + '/a/[...rest]/z': (params: { rest: (string | number)[] }) => { return `/a/${params.rest?.join('/')}/z` }, - "/lay/normal": `/lay/normal`, - "/lay/root-layout": `/lay/root-layout`, - "/lay/skip": `/lay/skip`, - "/sp": (sp?: Record) => { + '/lay/normal': `/lay/normal`, + '/lay/root-layout': `/lay/root-layout`, + '/lay/skip': `/lay/skip`, + '/sp': (sp?: Record) => { return `/sp${appendSp(sp)}` }, - "/spArray": (params: { ids: (number[]) }) => { + '/spArray': (params: { ids: number[] }) => { return `/spArray${appendSp({ ids: params.ids })}` }, - "/spArrayComma": (params: { ids: (number[]) }) => { + '/spArrayComma': (params: { ids: number[] }) => { return `/spArrayComma${appendSp({ ids: String(params.ids) })}` - } + }, } /** * SERVERS */ const SERVERS = { - "GET /server_func_get": `/server_func_get`, - "GET /server_func_get_and_": `/server_func_get_and_`, - "POST /server_func_post": `/server_func_post`, - "GET /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + 'GET /server_func_get': `/server_func_get`, + 'GET /server_func_get_and_': `/server_func_get_and_`, + 'POST /server_func_post': `/server_func_post`, + 'GET /contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/contract` }, - "POST /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + 'POST /contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/contract` }, - "GET /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + 'GET /site': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/site` }, - "GET /api/graphql": `/api/graphql`, - "POST /api/graphql": `/api/graphql`, - "GET /data/errors/[locale].json": (params: { locale: (string | number) }) => { + 'GET /api/graphql': `/api/graphql`, + 'POST /api/graphql': `/api/graphql`, + 'GET /data/errors/[locale].json': (params: { locale: string | number }) => { return `/data/errors/${params.locale}.json` - } + }, } /** * ACTIONS */ const ACTIONS = { - "default /contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}${appendSp({ limit: params.limit })}` + 'default /contract/[id]': (params: { + id: string | number + lang?: 'fr' | 'en' | 'hu' | 'at' | string + limit?: number + }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/contract/${params.id}${appendSp({ limit: params.limit })}` }, - "create /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), redirectTo?: ("list" | "new" | "detail") }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create${appendSp({ redirectTo: params?.redirectTo }, '&')}` + 'create /site': (params?: { + lang?: 'fr' | 'en' | 'hu' | 'at' | string + redirectTo?: 'list' | 'new' | 'detail' + }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/site?/create${appendSp({ redirectTo: params?.redirectTo }, '&')}` }, - "update /site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + 'update /site/[id]': (params: { + id: string | number + lang?: 'fr' | 'en' | 'hu' | 'at' | string + }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/site/${params.id}?/update` }, - "delete /site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + 'delete /site/[id]': (params: { + id: string | number + lang?: 'fr' | 'en' | 'hu' | 'at' | string + }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/site/${params.id}?/delete` }, - "noSatisfies /site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + 'noSatisfies /site_contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { + return `${params?.lang ? `/${params?.lang}` : ''}/site_contract?/noSatisfies` + }, + 'send /site_contract/[siteId]-[contractId]': (params: { + siteId: string | number + contractId: string | number + lang?: 'fr' | 'en' | 'hu' | 'at' | string + extra?: 'A' | 'B' + }) => { + params.extra = params.extra ?? 'A' + return `${params?.lang ? `/${params?.lang}` : ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` }, - "send /site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` - } } /** * LINKS */ const LINKS = { - "twitter": `https://twitter.com/jycouet`, - "twitter_post": (params: { name: (string | number), id: (string | number) }) => { + twitter: `https://twitter.com/jycouet`, + twitter_post: (params: { name: string | number; id: string | number }) => { return `https://twitter.com/${params.name}/status/${params.id}` }, - "gravatar": (params: { str: (string), s?: (number), d?: ("retro" | "identicon") }) => { - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; + gravatar: (params: { str: string; s?: number; d?: 'retro' | 'identicon' }) => { + params.s = params.s ?? 75 + params.d = params.d ?? 'identicon' return `https://www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}` - } + }, } type ParamValue = string | number | undefined @@ -133,7 +170,10 @@ type ParamValue = string | number | undefined /** * Append search params to a string */ -export const appendSp = (sp?: Record, prefix: '?' | '&' = '?') => { +export const appendSp = ( + sp?: Record, + prefix: '?' | '&' = '?', +) => { if (sp === undefined) return '' const params = new URLSearchParams() @@ -162,12 +202,12 @@ export const appendSp = (sp?: Record, prefix: /** * get the current search params - * + * * Could be use like this: * ``` * route("/cities", { page: 2 }, { ...currentSP() }) * ``` - */ + */ export const currentSp = () => { const params = new URLSearchParams(window.location.search) const record: Record = {} @@ -185,23 +225,28 @@ type FunctionParams = T extends (...args: infer P) => any ? P : never const AllObjs = { ...PAGES, ...ACTIONS, ...SERVERS, ...LINKS } type AllTypes = typeof AllObjs -export type Routes = keyof AllTypes extends `${string}/${infer Route}` ? `/${Route}` : keyof AllTypes +export type Routes = keyof AllTypes extends `${string}/${infer Route}` + ? `/${Route}` + : keyof AllTypes export const routes = [ - ...new Set(Object.keys(AllObjs).map((route) => /^\/.*|[^ ]?\/.*$/.exec(route)?.[0] ?? route)), + ...new Set(Object.keys(AllObjs).map((route) => /^\/.*|[^ ]?\/.*$/.exec(route)?.[0] ?? route)), ] as Routes[] /** - * To be used like this: + * To be used like this: * ```ts * import { route } from '$lib/ROUTES' - * + * * route('site_id', { id: 1 }) * ``` */ -export function route>(key: T, ...params: FunctionParams): string +export function route>( + key: T, + ...params: FunctionParams +): string export function route>(key: T): string export function route(key: T, ...params: any[]): string { - if (AllObjs[key] as any instanceof Function) { + if ((AllObjs[key] as any) instanceof Function) { const element = (AllObjs as any)[key] as (...args: any[]) => string return element(...params) } else { @@ -210,24 +255,80 @@ export function route(key: T, ...params: any[]): strin } /** -* Add this type as a generic of the vite plugin `kitRoutes`. -* -* Full example: -* ```ts -* import type { KIT_ROUTES } from '$lib/ROUTES' -* import { kitRoutes } from 'vite-plugin-kit-routes' -* -* kitRoutes({ -* PAGES: { -* // here, key of object will be typed! -* } -* }) -* ``` -*/ + * Add this type as a generic of the vite plugin `kitRoutes`. + * + * Full example: + * ```ts + * import type { KIT_ROUTES } from '$lib/ROUTES' + * import { kitRoutes } from 'vite-plugin-kit-routes' + * + * kitRoutes({ + * PAGES: { + * // here, key of object will be typed! + * } + * }) + * ``` + */ export type KIT_ROUTES = { - PAGES: { '/': never, '/subGroup': never, '/subGroup/user': never, '/subGroup2': never, '/contract': 'lang', '/contract/[id]': 'id' | 'lang', '/gp/one': 'lang', '/gp/two': 'lang', '/main': 'lang', '/match/[id=ab]': 'id' | 'lang', '/match/[id=int]': 'id' | 'lang', '/site': 'lang', '/site/[id]': 'lang' | 'id', '/site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang', '/a/[...rest]/z': 'rest', '/lay/normal': never, '/lay/root-layout': never, '/lay/skip': never, '/sp': never, '/spArray': never, '/spArrayComma': never } - SERVERS: { 'GET /server_func_get': never, 'GET /server_func_get_and_': never, 'POST /server_func_post': never, 'GET /contract': 'lang', 'POST /contract': 'lang', 'GET /site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } - ACTIONS: { 'default /contract/[id]': 'id' | 'lang', 'create /site': 'lang', 'update /site/[id]': 'id' | 'lang', 'delete /site/[id]': 'id' | 'lang', 'noSatisfies /site_contract': 'lang', 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } - LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, ids: never, locale: never, redirectTo: never, extra: never, name: never, str: never, s: never, d: never } + PAGES: { + '/': never + '/subGroup': never + '/subGroup/user': never + '/subGroup2': never + '/contract': 'lang' + '/contract/[id]': 'id' | 'lang' + '/gp/one': 'lang' + '/gp/two': 'lang' + '/main': 'lang' + '/match/[id=ab]': 'id' | 'lang' + '/match/[id=int]': 'id' | 'lang' + '/site': 'lang' + '/site/[id]': 'lang' | 'id' + '/site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' + '/a/[...rest]/z': 'rest' + '/lay/normal': never + '/lay/root-layout': never + '/lay/skip': never + '/sp': never + '/spArray': never + '/spArrayComma': never + } + SERVERS: { + 'GET /server_func_get': never + 'GET /server_func_get_and_': never + 'POST /server_func_post': never + 'GET /contract': 'lang' + 'POST /contract': 'lang' + 'GET /site': 'lang' + 'GET /api/graphql': never + 'POST /api/graphql': never + 'GET /data/errors/[locale].json': 'locale' + } + ACTIONS: { + 'default /contract/[id]': 'id' | 'lang' + 'create /site': 'lang' + 'update /site/[id]': 'id' | 'lang' + 'delete /site/[id]': 'id' | 'lang' + 'noSatisfies /site_contract': 'lang' + 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' + } + LINKS: { twitter: never; twitter_post: 'name' | 'id'; gravatar: 'str' } + Params: { + first: never + lang: never + id: never + limit: never + demo: never + siteId: never + contractId: never + rest: never + ids: never + locale: never + redirectTo: never + extra: never + name: never + str: never + s: never + d: never + } }