diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 1e7c39f..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - extends: [ - '@antfu', - ], - rules: { - 'no-console': 0, - 'curly': ['error', 'all'], - 'max-statements-per-line': ['error', { max: 2 }], - 'semi': 'off', - '@typescript-eslint/semi': ['error', 'always'], - 'vue/no-reserved-component-names': 0, - 'antfu/no-cjs-exports': 0, - 'antfu/no-ts-export-equal': 0, - }, -}; diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index 5b089d0..5ae8ef6 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -23,4 +23,3 @@ jobs: - run: npm publish --access=public env: NODE_AUTH_TOKEN: ${{secrets.npm_token}} - diff --git a/.versionrc.json b/.versionrc.json index 0441d6a..3c35830 100644 --- a/.versionrc.json +++ b/.versionrc.json @@ -1,15 +1,15 @@ { "types": [ - {"type": "build", "section": "Features"}, - {"type": "chore", "section": "Features"}, - {"type": "ci", "section": "Features"}, - {"type": "docs", "section": "Docs"}, - {"type": "feat", "section": "Features"}, - {"type": "fix", "section": "Bug Fixes"}, - {"type": "perf", "section": "Features"}, - {"type": "refactor", "section": "Features"}, - {"type": "revert", "section": "Revert"}, - {"type": "style", "section": "Style"}, - {"type": "test", "section": "Test"} + { "type": "build", "section": "Features" }, + { "type": "chore", "section": "Features" }, + { "type": "ci", "section": "Features" }, + { "type": "docs", "section": "Docs" }, + { "type": "feat", "section": "Features" }, + { "type": "fix", "section": "Bug Fixes" }, + { "type": "perf", "section": "Features" }, + { "type": "refactor", "section": "Features" }, + { "type": "revert", "section": "Revert" }, + { "type": "style", "section": "Style" }, + { "type": "test", "section": "Test" } ] -} \ No newline at end of file +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5d00160 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,42 @@ +{ + "editor.inlineSuggest.showToolbar": "onHover", + // Enable the ESlint flat config support + "eslint.experimental.useFlatConfig": true, + + // Disable the default formatter, use eslint instead + "prettier.enable": false, + "editor.formatOnSave": false, + + // Auto fix + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" + }, + + // Silent the stylistic rules in you IDE, but still auto fix them + "eslint.rules.customizations": [ + { "rule": "style/*", "severity": "error" }, + { "rule": "*-indent", "severity": "error" }, + { "rule": "*-spacing", "severity": "error" }, + { "rule": "*-spaces", "severity": "error" }, + { "rule": "*-order", "severity": "error" }, + { "rule": "*-dangle", "severity": "error" }, + { "rule": "*-newline", "severity": "error" }, + { "rule": "*quotes", "severity": "error" }, + { "rule": "*semi", "severity": "error" } + ], + + // Enable eslint for all supported languages + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue", + "html", + "markdown", + "json", + "jsonc", + "yaml" + ] +} diff --git a/dev/components-demos.ts b/dev/components-demos.ts index 58ffcec..a587457 100644 --- a/dev/components-demos.ts +++ b/dev/components-demos.ts @@ -1,5 +1,5 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ -// @ts-expect-error +// eslint-disable-next-line ts/ban-ts-comment +// @ts-nocheck const modules = import.meta.glob('../docs/_demos/*/*.vue', { eager: true, import: 'default' }); const Cases = Object.keys(modules).reduce((pre: any, cur) => { diff --git a/docs/.vitepress/nav.ts b/docs/.vitepress/nav.ts index 18d67ff..96bfe19 100644 --- a/docs/.vitepress/nav.ts +++ b/docs/.vitepress/nav.ts @@ -68,15 +68,18 @@ export function getNav(lang = '') { text: t('guide'), link: `${lang}/guide/base/getting-started`, activeMatch: `^${lang}/guide`, - }, { + }, + { text: t('compoents'), link: `${lang}/compoents/button`, activeMatch: `^${lang}/compoents`, - }, { + }, + { text: t('playground'), link: `${lang}/play`, activeMatch: `^${lang}/play`, - }, { + }, + { text: t('changelog'), link: `${lang}/CHANGELOG`, activeMatch: `^${lang}/CHANGELOG`, diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index cb3a123..f64d146 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -1,16 +1,12 @@ import DefaultTheme from 'vitepress/theme'; import './index.css'; -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-expect-error import VUI from '@/index'; export default { ...DefaultTheme, async enhanceApp({ app }) { app.use(VUI); - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error if (!import.meta.env.SSR) { const ReplWrapper = (await import('../plugins/repl-wrapper.vue')).default; app.component('ReplWrapper', ReplWrapper); diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..29eb1f7 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,21 @@ +import antfu from '@antfu/eslint-config'; + +export default await antfu({ + rules: { + 'no-console': 'off', + 'curly': ['error', 'multi-line'], + 'max-statements-per-line': 'off', + 'brace-style': 'off', + 'vue/multi-word-component-names': 'off', + 'vue/no-v-text-v-html-on-component': 'off', + 'vue/no-reserved-component-names': 'off', + 'node/prefer-global/process': 'off', + 'import/no-duplicates': 'off', + 'unused-imports/no-unused-vars': 'off', + 'style/brace-style': ['error', '1tbs'], + 'style/semi': 'off', + 'ts/consistent-type-imports': ['off'], + 'ts/semi': ['error', 'always'], + }, + ignores: ['./dist', './es'], +}); diff --git a/package.json b/package.json index 512026f..71fced6 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,19 @@ { "name": "@ckpack/v-ui", + "type": "module", "version": "1.12.1", + "packageManager": "pnpm@7.17.1", "description": "Quickly create a component library for Vue 3", + "author": "ckvv", + "license": "ISC", + "homepage": "https://ckpack.github.io/v-ui", + "repository": "https://github.com/ckpack/v-ui", + "keywords": [ + "vue", + "v-ui", + "vue-ui" + ], "sideEffects": false, - "type": "module", - "main": "es/index.js", - "module": "es/index.js", - "types": "es/index.d.ts", - "packageManager": "pnpm@7.17.1", "exports": { ".": { "import": "./es/index.js", @@ -19,24 +25,21 @@ "./src": "./src/index.ts", "./src/*": "./src/*" }, - "repository": "https://github.com/ckpack/v-ui", - "homepage": "https://ckpack.github.io/v-ui", - "author": "ckvv", - "license": "ISC", - "keywords": [ - "vue", - "v-ui", - "vue-ui" - ], + "main": "es/index.js", + "module": "es/index.js", + "types": "es/index.d.ts", "files": [ - "src/*", - "es/*", + "components.d.ts", "dist/*", - "components.d.ts" + "es/*", + "src/*" ], + "engines": { + "node": ">=16" + }, "scripts": { "preinstall": "npx simple-git-hooks", - "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts,.md --fix --ignore-path .gitignore", + "lint": "eslint . --fix", "release": "standard-version", "dev": "vite -c ./dev/vite.config.ts", "dev:build": "vite build -c ./dev/vite.config.ts", @@ -50,35 +53,32 @@ "gen": "tsx ./scripts/gen.ts", "postgen": "tsx ./scripts/gen-compoents.ts" }, + "peerDependencies": { + "vue": "^3.3.x" + }, "dependencies": { "@ant-design/colors": "^7.0.0", "@emotion/css": "^11.11.2", "async-validator": "^4.2.5" }, "devDependencies": { - "@vue/repl": "^2.8.1", - "eslint": "^8.54.0", - "@antfu/eslint-config": "0.40.2", - "tsx": "^4.6.0", + "@antfu/eslint-config": "2.1.1", "@types/node": "^20.x", - "typescript": "5.3.2", - "vite": "^5.0.3", "@vitejs/plugin-vue": "^4.5.0", - "vite-plugin-dts": "3.6.3", + "@vue/repl": "^2.8.1", "@vue/tsconfig": "^0.4.0", + "eslint": "^8.54.0", "fast-glob": "^3.3.2", - "simple-git-hooks": "^2.9.0", "lint-staged": "^15.1.0", + "simple-git-hooks": "^2.9.0", "standard-version": "^9.5.0", + "tsx": "^4.6.0", + "typescript": "5.3.2", + "vite": "^5.0.3", + "vite-plugin-dts": "3.6.3", "vitepress": "1.0.0-rc.31", "vue": "^3.3.9" }, - "peerDependencies": { - "vue": "^3.3.x" - }, - "engines": { - "node": ">=16" - }, "simple-git-hooks": { "pre-commit": "npx lint-staged", "commit-msg": "npx tsx scripts/verify-commit.ts" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5141460..4b169e9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,8 +17,8 @@ dependencies: devDependencies: '@antfu/eslint-config': - specifier: 0.40.2 - version: 0.40.2(eslint@8.54.0)(typescript@5.3.2) + specifier: 2.1.1 + version: 2.1.1(eslint@8.54.0)(typescript@5.3.2) '@types/node': specifier: ^20.x version: 20.10.0 @@ -212,100 +212,79 @@ packages: '@ctrl/tinycolor': 3.4.1 dev: false - /@antfu/eslint-config-basic@0.40.2(@typescript-eslint/eslint-plugin@6.2.1)(@typescript-eslint/parser@6.2.1)(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-2zAgwjsOFQ1b7MJmnzQAeyyqqqQjy7/b2ZG1oqWlLTxVda4B/msOyrMdO7nYSmqZFK+cdOi5rGT2pBFeX8EBkA==} + /@antfu/eslint-config@2.1.1(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-NoFgALYf36YbOnefhVdODIFz484eVbTtYkZHP8F/ppYkq2QzN5/5PCZKtcmJs+QDQSedXWuboQKN0us1Pm0Dmg==} + hasBin: true peerDependencies: - eslint: '>=7.4.0' + '@unocss/eslint-plugin': '>=0.50.0' + eslint: '>=8.40.0' + eslint-plugin-react: ^7.33.2 + eslint-plugin-react-hooks: ^4.6.0 + eslint-plugin-react-refresh: ^0.4.4 + peerDependenciesMeta: + '@unocss/eslint-plugin': + optional: true + eslint-plugin-react: + optional: true + eslint-plugin-react-hooks: + optional: true + eslint-plugin-react-refresh: + optional: true dependencies: + '@antfu/eslint-define-config': 1.23.0-2 + '@antfu/install-pkg': 0.2.0 + '@eslint-types/jsdoc': 46.8.2-1 + '@eslint-types/typescript-eslint': 6.12.0 + '@eslint-types/unicorn': 49.0.0 + '@stylistic/eslint-plugin': 1.4.1(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/eslint-plugin': 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.2) eslint: 8.54.0 - eslint-plugin-antfu: 0.40.2(eslint@8.54.0)(typescript@5.3.2) + eslint-config-flat-gitignore: 0.1.1 + eslint-plugin-antfu: 1.0.11(eslint@8.54.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.54.0) - eslint-plugin-html: 7.1.0 - eslint-plugin-import: /eslint-plugin-i@2.28.0-2(@typescript-eslint/parser@6.2.1)(eslint@8.54.0) - eslint-plugin-jsonc: 2.9.0(eslint@8.54.0) + eslint-plugin-i: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.54.0) + eslint-plugin-jsdoc: 46.9.0(eslint@8.54.0) + eslint-plugin-jsonc: 2.10.0(eslint@8.54.0) eslint-plugin-markdown: 3.0.1(eslint@8.54.0) - eslint-plugin-n: 16.0.1(eslint@8.54.0) + eslint-plugin-n: 16.3.1(eslint@8.54.0) eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-promise: 6.1.1(eslint@8.54.0) - eslint-plugin-unicorn: 48.0.1(eslint@8.54.0) - eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.2.1)(eslint@8.54.0) - eslint-plugin-yml: 1.8.0(eslint@8.54.0) - jsonc-eslint-parser: 2.3.0 + eslint-plugin-perfectionist: 2.5.0(eslint@8.54.0)(typescript@5.3.2)(vue-eslint-parser@9.3.2) + eslint-plugin-unicorn: 49.0.0(eslint@8.54.0) + eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.13.1)(eslint@8.54.0) + eslint-plugin-vitest: 0.3.10(@typescript-eslint/eslint-plugin@6.13.1)(eslint@8.54.0)(typescript@5.3.2) + eslint-plugin-vue: 9.18.1(eslint@8.54.0) + eslint-plugin-yml: 1.10.0(eslint@8.54.0) + globals: 13.23.0 + jsonc-eslint-parser: 2.4.0 + local-pkg: 0.5.0 + parse-gitignore: 2.0.0 + picocolors: 1.0.0 + prompts: 2.4.2 + vue-eslint-parser: 9.3.2(eslint@8.54.0) yaml-eslint-parser: 1.2.2 + yargs: 17.7.2 transitivePeerDependencies: - - '@typescript-eslint/eslint-plugin' - - '@typescript-eslint/parser' + - astro-eslint-parser - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color + - svelte + - svelte-eslint-parser - typescript + - vitest dev: true - /@antfu/eslint-config-ts@0.40.2(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-ztClDCL4ooV6e7VA5tJQGXEqVn3wSB+3PdKJCMTAY+N4YhySurMEF4CSqDqQyvRzt3vAxKKYzrF+JCkUOqR/eA==} - peerDependencies: - eslint: '>=7.4.0' - typescript: '>=3.9' - dependencies: - '@antfu/eslint-config-basic': 0.40.2(@typescript-eslint/eslint-plugin@6.2.1)(@typescript-eslint/parser@6.2.1)(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/eslint-plugin': 6.2.1(@typescript-eslint/parser@6.2.1)(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/parser': 6.2.1(eslint@8.54.0)(typescript@5.3.2) - eslint: 8.54.0 - eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@6.2.1)(eslint@8.54.0)(typescript@5.3.2) - typescript: 5.3.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - supports-color - dev: true - - /@antfu/eslint-config-vue@0.40.2(@typescript-eslint/eslint-plugin@6.2.1)(@typescript-eslint/parser@6.2.1)(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-cmUQNzCGPoZ5EzWHQwWcBKtWVQnlLcvWx4L+oiWTatG0vB7niyqufKQSR/MlQIBYCWN5a8pVpUJQ4xwJTKbcHQ==} - peerDependencies: - eslint: '>=7.4.0' - dependencies: - '@antfu/eslint-config-basic': 0.40.2(@typescript-eslint/eslint-plugin@6.2.1)(@typescript-eslint/parser@6.2.1)(eslint@8.54.0)(typescript@5.3.2) - '@antfu/eslint-config-ts': 0.40.2(eslint@8.54.0)(typescript@5.3.2) - eslint: 8.54.0 - eslint-plugin-vue: 9.16.1(eslint@8.54.0) - local-pkg: 0.4.3 - transitivePeerDependencies: - - '@typescript-eslint/eslint-plugin' - - '@typescript-eslint/parser' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - supports-color - - typescript + /@antfu/eslint-define-config@1.23.0-2: + resolution: {integrity: sha512-LvxY21+ZhpuBf/aHeBUtGQhSEfad4PkNKXKvDOSvukaM3XVTfBhwmHX2EKwAsdq5DlfjbT3qqYyMiueBIO5iDQ==} + engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>= 8.6.0'} dev: true - /@antfu/eslint-config@0.40.2(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-65KUiPpjHdj2zZq7lh2CSQ7CK4Ow9q/upBydoCaXbkLeg2ojyYiry4IKSkTgHxUaPCHqOq9niegwnup0MEnwHA==} - peerDependencies: - eslint: '>=7.4.0' + /@antfu/install-pkg@0.2.0: + resolution: {integrity: sha512-gwTQbVnVcdhLXru+ejx2hZoiVcOHBJtjWXxzQmwSt5NePDr2mlVmdxuV1BapjN1JNb5OmA0j860bsQN3iHXr8Q==} dependencies: - '@antfu/eslint-config-vue': 0.40.2(@typescript-eslint/eslint-plugin@6.2.1)(@typescript-eslint/parser@6.2.1)(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/eslint-plugin': 6.2.1(@typescript-eslint/parser@6.2.1)(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/parser': 6.2.1(eslint@8.54.0)(typescript@5.3.2) - eslint: 8.54.0 - eslint-plugin-eslint-comments: 3.2.0(eslint@8.54.0) - eslint-plugin-html: 7.1.0 - eslint-plugin-import: /eslint-plugin-i@2.28.0-2(@typescript-eslint/parser@6.2.1)(eslint@8.54.0) - eslint-plugin-jsonc: 2.9.0(eslint@8.54.0) - eslint-plugin-n: 16.0.1(eslint@8.54.0) - eslint-plugin-promise: 6.1.1(eslint@8.54.0) - eslint-plugin-unicorn: 48.0.1(eslint@8.54.0) - eslint-plugin-vue: 9.16.1(eslint@8.54.0) - eslint-plugin-yml: 1.8.0(eslint@8.54.0) - jsonc-eslint-parser: 2.3.0 - yaml-eslint-parser: 1.2.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - supports-color - - typescript + execa: 8.0.1 + find-up: 7.0.0 dev: true /@babel/code-frame@7.18.6: @@ -325,6 +304,11 @@ packages: resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==} engines: {node: '>=6.9.0'} + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.22.5: resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} @@ -478,6 +462,15 @@ packages: resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} dev: false + /@es-joy/jsdoccomment@0.41.0: + resolution: {integrity: sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==} + engines: {node: '>=16'} + dependencies: + comment-parser: 1.4.1 + esquery: 1.5.0 + jsdoc-type-pratt-parser: 4.0.0 + dev: true + /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -889,6 +882,18 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true + /@eslint-types/jsdoc@46.8.2-1: + resolution: {integrity: sha512-FwD7V0xX0jyaqj8Ul5ZY+TAAPohDfVqtbuXJNHb+OIv1aTIqZi5+Zn3F2UwQ5O3BnQd2mTduyK0+HjGx3/AMFg==} + dev: true + + /@eslint-types/typescript-eslint@6.12.0: + resolution: {integrity: sha512-N8cbOYjyFl2BFgDhDgHhTGpgiMkFg0CoITG5hdBm9ZGmcEgUvFBnHvHG7qJl3qVEmFnoKUdfSAcr7MRb2/Jxvw==} + dev: true + + /@eslint-types/unicorn@49.0.0: + resolution: {integrity: sha512-NfXSZIsPFRD2fwTDZQj8SaXqS/rXjB5foxMraLovyrYGXiQK2y0780drDKYYSVbqvco29QIYoZNmnKTUkzZMvQ==} + dev: true + /@eslint/eslintrc@2.1.3: resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1156,6 +1161,61 @@ packages: string-argv: 0.3.2 dev: true + /@stylistic/eslint-plugin-js@1.4.1(eslint@8.54.0): + resolution: {integrity: sha512-WXHPEVw5PB7OML7cLwHJDEcCyLiP7vzKeBbSwmpHLK0oh0JYkoJfTg2hEdFuQT5rQxFy3KzCy9R1mZ0wgLjKrA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + acorn: 8.11.2 + escape-string-regexp: 4.0.0 + eslint: 8.54.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + graphemer: 1.4.0 + dev: true + + /@stylistic/eslint-plugin-jsx@1.4.1(eslint@8.54.0): + resolution: {integrity: sha512-INBYpZmXrkeqnjCrUuTKMa7BeXiCR5VNvq71033hbPqXnG9oQDxX5mqE9Duj9qlISEOsxzhSr+UXGmq3mVYG9Q==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 1.4.1(eslint@8.54.0) + eslint: 8.54.0 + estraverse: 5.3.0 + dev: true + + /@stylistic/eslint-plugin-ts@1.4.1(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-zuqnxhWoqPhZcxOb7AiYZz1RF/fUCsbJ7xq60IdRWnEY6MPybqYVJAb+SYilJ3PYxqmz8zdZeYkSeVy6f1fNnA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 1.4.1(eslint@8.54.0) + '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2) + eslint: 8.54.0 + graphemer: 1.4.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@stylistic/eslint-plugin@1.4.1(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-CDwQCxglLTkUjpIJT4ltlpC8sKkPvTA7DjFcWiuZtBr0Vc6owGuYgJso4X1TDiD2JkjD3idbXCoGK0AfzNrgww==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 1.4.1(eslint@8.54.0) + '@stylistic/eslint-plugin-jsx': 1.4.1(eslint@8.54.0) + '@stylistic/eslint-plugin-ts': 1.4.1(eslint@8.54.0)(typescript@5.3.2) + eslint: 8.54.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@types/argparse@1.0.38: resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} dev: true @@ -1188,7 +1248,7 @@ packages: /@types/mdast@3.0.10: resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 3.0.2 dev: true /@types/mdast@4.0.3: @@ -1235,8 +1295,8 @@ packages: resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} dev: true - /@typescript-eslint/eslint-plugin@6.2.1(@typescript-eslint/parser@6.2.1)(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-iZVM/ALid9kO0+I81pnp1xmYiFyqibAHzrqX4q5YvvVEyJqY+e6rfTXSCsc2jUxGNqJqTfFSSij/NFkZBiBzLw==} + /@typescript-eslint/eslint-plugin@6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-5bQDGkXaxD46bPvQt08BUz9YSaO4S0fB1LB5JHQuXTfkGPI3+UUeS387C/e9jRie5GqT8u5kFTrMvAjtX4O5kA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -1247,17 +1307,16 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 6.2.1(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/scope-manager': 6.2.1 - '@typescript-eslint/type-utils': 6.2.1(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/utils': 6.2.1(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/visitor-keys': 6.2.1 + '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/scope-manager': 6.13.1 + '@typescript-eslint/type-utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/visitor-keys': 6.13.1 debug: 4.3.4 eslint: 8.54.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 - natural-compare-lite: 1.4.0 semver: 7.5.4 ts-api-utils: 1.0.1(typescript@5.3.2) typescript: 5.3.2 @@ -1265,8 +1324,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.2.1(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-Ld+uL1kYFU8e6btqBFpsHkwQ35rw30IWpdQxgOqOh4NfxSDH6uCkah1ks8R/RgQqI5hHPXMaLy9fbFseIe+dIg==} + /@typescript-eslint/parser@6.13.1(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-fs2XOhWCzRhqMmQf0eicLa/CWSaYss2feXsy7xBD/pLyWke/jCIVc2s1ikEAtSW7ina1HNhv7kONoEfVNEcdDQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1275,10 +1334,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.2.1 - '@typescript-eslint/types': 6.2.1 - '@typescript-eslint/typescript-estree': 6.2.1(typescript@5.3.2) - '@typescript-eslint/visitor-keys': 6.2.1 + '@typescript-eslint/scope-manager': 6.13.1 + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.2) + '@typescript-eslint/visitor-keys': 6.13.1 debug: 4.3.4 eslint: 8.54.0 typescript: 5.3.2 @@ -1286,24 +1345,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@5.59.7: - resolution: {integrity: sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.59.7 - '@typescript-eslint/visitor-keys': 5.59.7 - dev: true - - /@typescript-eslint/scope-manager@6.2.1: - resolution: {integrity: sha512-UCqBF9WFqv64xNsIEPfBtenbfodPXsJ3nPAr55mGPkQIkiQvgoWNo+astj9ZUfJfVKiYgAZDMnM6dIpsxUMp3Q==} + /@typescript-eslint/scope-manager@6.13.1: + resolution: {integrity: sha512-BW0kJ7ceiKi56GbT2KKzZzN+nDxzQK2DS6x0PiSMPjciPgd/JRQGMibyaN2cPt2cAvuoH0oNvn2fwonHI+4QUQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.2.1 - '@typescript-eslint/visitor-keys': 6.2.1 + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/visitor-keys': 6.13.1 dev: true - /@typescript-eslint/type-utils@6.2.1(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-fTfCgomBMIgu2Dh2Or3gMYgoNAnQm3RLtRp+jP7A8fY+LJ2+9PNpi5p6QB5C4RSP+U3cjI0vDlI3mspAkpPVbQ==} + /@typescript-eslint/type-utils@6.13.1(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-A2qPlgpxx2v//3meMqQyB1qqTg1h1dJvzca7TugM3Yc2USDY+fsRBiojAEo92HO7f5hW5mjAUF6qobOPzlBCBQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1312,8 +1363,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.2.1(typescript@5.3.2) - '@typescript-eslint/utils': 6.2.1(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.2) + '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2) debug: 4.3.4 eslint: 8.54.0 ts-api-utils: 1.0.1(typescript@5.3.2) @@ -1322,39 +1373,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@5.59.7: - resolution: {integrity: sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@typescript-eslint/types@6.2.1: - resolution: {integrity: sha512-528bGcoelrpw+sETlyM91k51Arl2ajbNT9L4JwoXE2dvRe1yd8Q64E4OL7vHYw31mlnVsf+BeeLyAZUEQtqahQ==} + /@typescript-eslint/types@6.13.1: + resolution: {integrity: sha512-gjeEskSmiEKKFIbnhDXUyiqVma1gRCQNbVZ1C8q7Zjcxh3WZMbzWVfGE9rHfWd1msQtPS0BVD9Jz9jded44eKg==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@5.59.7(typescript@5.3.2): - resolution: {integrity: sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.59.7 - '@typescript-eslint/visitor-keys': 5.59.7 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - tsutils: 3.21.0(typescript@5.3.2) - typescript: 5.3.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/typescript-estree@6.2.1(typescript@5.3.2): - resolution: {integrity: sha512-G+UJeQx9AKBHRQBpmvr8T/3K5bJa485eu+4tQBxFq0KoT22+jJyzo1B50JDT9QdC1DEmWQfdKsa8ybiNWYsi0Q==} + /@typescript-eslint/typescript-estree@6.13.1(typescript@5.3.2): + resolution: {integrity: sha512-sBLQsvOC0Q7LGcUHO5qpG1HxRgePbT6wwqOiGLpR8uOJvPJbfs0mW3jPA3ujsDvfiVwVlWUDESNXv44KtINkUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1362,8 +1387,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.2.1 - '@typescript-eslint/visitor-keys': 6.2.1 + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/visitor-keys': 6.13.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1374,28 +1399,8 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.59.7(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.59.7 - '@typescript-eslint/types': 5.59.7 - '@typescript-eslint/typescript-estree': 5.59.7(typescript@5.3.2) - eslint: 8.54.0 - eslint-scope: 5.1.1 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/utils@6.2.1(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-eBIXQeupYmxVB6S7x+B9SdBeB6qIdXKjgQBge2J+Ouv8h9Cxm5dHf/gfAZA6dkMaag+03HdbVInuXMmqFB/lKQ==} + /@typescript-eslint/utils@6.13.1(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-ouPn/zVoan92JgAegesTXDB/oUp6BP1v8WpfYcqh649ejNc9Qv+B4FF2Ff626kO1xg0wWwwG48lAJ4JuesgdOw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1403,9 +1408,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.2.1 - '@typescript-eslint/types': 6.2.1 - '@typescript-eslint/typescript-estree': 6.2.1(typescript@5.3.2) + '@typescript-eslint/scope-manager': 6.13.1 + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.2) eslint: 8.54.0 semver: 7.5.4 transitivePeerDependencies: @@ -1413,19 +1418,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@5.59.7: - resolution: {integrity: sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.59.7 - eslint-visitor-keys: 3.4.3 - dev: true - - /@typescript-eslint/visitor-keys@6.2.1: - resolution: {integrity: sha512-iTN6w3k2JEZ7cyVdZJTVJx2Lv7t6zFA8DCrJEHD2mwfc16AEvvBWVhbFh34XyG2NORCd0viIgQY1+u7kPI0WpA==} + /@typescript-eslint/visitor-keys@6.13.1: + resolution: {integrity: sha512-NDhQUy2tg6XGNBGDRm1XybOHSia8mcXmlbKWoQP+nm1BIIMxa55shyJfZkHpEBN62KNPLrocSM2PdPcaLgDKMQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.2.1 + '@typescript-eslint/types': 6.13.1 eslint-visitor-keys: 3.4.3 dev: true @@ -1676,6 +1673,12 @@ packages: hasBin: true dev: true + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} dev: true @@ -1743,6 +1746,11 @@ packages: engines: {node: '>=12'} dev: true + /are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + dev: true + /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: @@ -1920,6 +1928,15 @@ packages: wrap-ansi: 7.0.0 dev: true + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -1963,6 +1980,11 @@ packages: dev: true optional: true + /comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + dev: true + /compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} dependencies: @@ -2290,33 +2312,6 @@ packages: esutils: 2.0.3 dev: true - /dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.3.1 - dev: true - - /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: true - - /domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.3.0 - dev: true - - /domutils@3.0.1: - resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - dev: true - /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -2344,11 +2339,6 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true - /entities@4.3.1: - resolution: {integrity: sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==} - engines: {node: '>=0.12'} - dev: true - /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -2432,8 +2422,23 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-import-resolver-node@0.3.7: - resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + /eslint-compat-utils@0.1.2(eslint@8.54.0): + resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + eslint: 8.54.0 + dev: true + + /eslint-config-flat-gitignore@0.1.1: + resolution: {integrity: sha512-ysq0QpN63+uaxE67U0g0HeCweIpv8Ztp7yvm0nYiM2TBalRIG6KQLO5J6lAz2gkA8KVis/QsJppe+BR5VigtWQ==} + dependencies: + parse-gitignore: 2.0.0 + dev: true + + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 is-core-module: 2.13.0 @@ -2442,7 +2447,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-node@0.3.7)(eslint@8.54.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2463,22 +2468,20 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.2.1(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.2) debug: 3.2.7 eslint: 8.54.0 - eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-antfu@0.40.2(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-KB75cqamJ5/0OMlicC4HZUSnIBQb/TxFAPPEaubtT8sbI9614USTZNSfTjODjCk/+h21R9lFxpJvVzOlxyfDRQ==} + /eslint-plugin-antfu@1.0.11(eslint@8.54.0): + resolution: {integrity: sha512-m+RWX/D+Ep9xU7VTDYKG4UmDUV9bOa5/SU/fUwWcRyYGbEy3lgxlnhuxv+Zw5Ca/RlcabCFt+vxh62wo1RI/6w==} + peerDependencies: + eslint: '*' dependencies: - '@typescript-eslint/utils': 6.2.1(eslint@8.54.0)(typescript@5.3.2) - transitivePeerDependencies: - - eslint - - supports-color - - typescript + eslint: 8.54.0 dev: true /eslint-plugin-es-x@7.2.0(eslint@8.54.0): @@ -2503,14 +2506,8 @@ packages: ignore: 5.2.4 dev: true - /eslint-plugin-html@7.1.0: - resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} - dependencies: - htmlparser2: 8.0.1 - dev: true - - /eslint-plugin-i@2.28.0-2(@typescript-eslint/parser@6.2.1)(eslint@8.54.0): - resolution: {integrity: sha512-z48kG4qmE4TmiLcxbmvxMT5ycwvPkXaWW0XpU1L768uZaTbiDbxsHMEdV24JHlOR1xDsPpKW39BfP/pRdYIwFA==} + /eslint-plugin-i@2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.54.0): + resolution: {integrity: sha512-slGeTS3GQzx9267wLJnNYNO8X9EHGsc75AKIAFvnvMYEcTJKotPKL1Ru5PIGVHIVet+2DsugePWp8Oxpx8G22w==} engines: {node: '>=12'} peerDependencies: eslint: ^7.2.0 || ^8 @@ -2518,8 +2515,8 @@ packages: debug: 3.2.7 doctrine: 2.1.0 eslint: 8.54.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-node@0.3.7)(eslint@8.54.0) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 @@ -2532,36 +2529,36 @@ packages: - supports-color dev: true - /eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@6.2.1)(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /eslint-plugin-jsdoc@46.9.0(eslint@8.54.0): + resolution: {integrity: sha512-UQuEtbqLNkPf5Nr/6PPRCtr9xypXY+g8y/Q7gPa0YK7eDhh0y2lWprXRnaYbW7ACgIUvpDKy9X2bZqxtGzBG9Q==} + engines: {node: '>=16'} peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 eslint: ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.2.1(@typescript-eslint/parser@6.2.1)(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/utils': 5.59.7(eslint@8.54.0)(typescript@5.3.2) + '@es-joy/jsdoccomment': 0.41.0 + are-docs-informative: 0.0.2 + comment-parser: 1.4.1 + debug: 4.3.4 + escape-string-regexp: 4.0.0 eslint: 8.54.0 + esquery: 1.5.0 + is-builtin-module: 3.2.1 + semver: 7.5.4 + spdx-expression-parse: 3.0.1 transitivePeerDependencies: - supports-color - - typescript dev: true - /eslint-plugin-jsonc@2.9.0(eslint@8.54.0): - resolution: {integrity: sha512-RK+LeONVukbLwT2+t7/OY54NJRccTXh/QbnXzPuTLpFMVZhPuq1C9E07+qWenGx7rrQl0kAalAWl7EmB+RjpGA==} + /eslint-plugin-jsonc@2.10.0(eslint@8.54.0): + resolution: {integrity: sha512-9d//o6Jyh4s1RxC9fNSt1+MMaFN2ruFdXPG9XZcb/mR2KkfjADYiNL/hbU6W0Cyxfg3tS/XSFuhl5LgtMD8hmw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) eslint: 8.54.0 - jsonc-eslint-parser: 2.3.0 + eslint-compat-utils: 0.1.2(eslint@8.54.0) + jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 dev: true @@ -2577,8 +2574,8 @@ packages: - supports-color dev: true - /eslint-plugin-n@16.0.1(eslint@8.54.0): - resolution: {integrity: sha512-CDmHegJN0OF3L5cz5tATH84RPQm9kG+Yx39wIqIwPR2C0uhBGMWfbbOtetR83PQjjidA5aXMu+LEFw1jaSwvTA==} + /eslint-plugin-n@16.3.1(eslint@8.54.0): + resolution: {integrity: sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==} engines: {node: '>=16.0.0'} peerDependencies: eslint: '>=7.0.0' @@ -2587,7 +2584,9 @@ packages: builtins: 5.0.1 eslint: 8.54.0 eslint-plugin-es-x: 7.2.0(eslint@8.54.0) + get-tsconfig: 4.7.2 ignore: 5.2.4 + is-builtin-module: 3.2.1 is-core-module: 2.13.0 minimatch: 3.1.2 resolve: 1.22.4 @@ -2599,22 +2598,41 @@ packages: engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-promise@6.1.1(eslint@8.54.0): - resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /eslint-plugin-perfectionist@2.5.0(eslint@8.54.0)(typescript@5.3.2)(vue-eslint-parser@9.3.2): + resolution: {integrity: sha512-F6XXcq4mKKUe/SREoMGQqzgw6cgCgf3pFzkFfQVIGtqD1yXVpQjnhTepzhBeZfxZwgMzR9HO4yH4CUhIQ2WBcQ==} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + astro-eslint-parser: ^0.16.0 + eslint: '>=8.0.0' + svelte: '>=3.0.0' + svelte-eslint-parser: ^0.33.0 + vue-eslint-parser: '>=9.0.0' + peerDependenciesMeta: + astro-eslint-parser: + optional: true + svelte: + optional: true + svelte-eslint-parser: + optional: true + vue-eslint-parser: + optional: true dependencies: + '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2) eslint: 8.54.0 + minimatch: 9.0.3 + natural-compare-lite: 1.4.0 + vue-eslint-parser: 9.3.2(eslint@8.54.0) + transitivePeerDependencies: + - supports-color + - typescript dev: true - /eslint-plugin-unicorn@48.0.1(eslint@8.54.0): - resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + /eslint-plugin-unicorn@49.0.0(eslint@8.54.0): + resolution: {integrity: sha512-0fHEa/8Pih5cmzFW5L7xMEfUTvI9WKeQtjmKpTUmY+BiFCDxkxrTdnURJOHKykhtwIeyYsxnecbGvDCml++z4Q==} engines: {node: '>=16'} peerDependencies: - eslint: '>=8.44.0' + eslint: '>=8.52.0' dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) ci-info: 3.8.0 clean-regexp: 1.0.0 @@ -2623,7 +2641,6 @@ packages: indent-string: 4.0.0 is-builtin-module: 3.2.1 jsesc: 3.0.2 - lodash: 4.17.21 pluralize: 8.0.0 read-pkg-up: 7.0.1 regexp-tree: 0.1.27 @@ -2632,7 +2649,7 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.2.1)(eslint@8.54.0): + /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.13.1)(eslint@8.54.0): resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2642,13 +2659,34 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.2.1(@typescript-eslint/parser@6.2.1)(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/eslint-plugin': 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.2) eslint: 8.54.0 eslint-rule-composer: 0.3.0 dev: true - /eslint-plugin-vue@9.16.1(eslint@8.54.0): - resolution: {integrity: sha512-2FtnTqazA6aYONfDuOZTk0QzwhAwi7Z4+uJ7+GHeGxcKapjqWlDsRWDenvyG/utyOfAS5bVRmAG3cEWiYEz2bA==} + /eslint-plugin-vitest@0.3.10(@typescript-eslint/eslint-plugin@6.13.1)(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-08lj4rdhZHYyHk+Py2nJ7SlE6arP8GNfGXl9jVqhe9s5JoZIGiBpIkLGX+VNBiB6vXTn56H6Ant7Koc6XzRjtQ==} + engines: {node: 14.x || >= 16} + peerDependencies: + '@typescript-eslint/eslint-plugin': '*' + eslint: '>=8.0.0' + vitest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + vitest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2) + eslint: 8.54.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-vue@9.18.1(eslint@8.54.0): + resolution: {integrity: sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 @@ -2659,20 +2697,21 @@ packages: nth-check: 2.1.1 postcss-selector-parser: 6.0.13 semver: 7.5.4 - vue-eslint-parser: 9.3.1(eslint@8.54.0) + vue-eslint-parser: 9.3.2(eslint@8.54.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-yml@1.8.0(eslint@8.54.0): - resolution: {integrity: sha512-fgBiJvXD0P2IN7SARDJ2J7mx8t0bLdG6Zcig4ufOqW5hOvSiFxeUyc2g5I1uIm8AExbo26NNYCcTGZT0MXTsyg==} + /eslint-plugin-yml@1.10.0(eslint@8.54.0): + resolution: {integrity: sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 eslint: 8.54.0 + eslint-compat-utils: 0.1.2(eslint@8.54.0) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.2 @@ -2685,14 +2724,6 @@ packages: engines: {node: '>=4.0.0'} dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2776,11 +2807,6 @@ packages: estraverse: 5.3.0 dev: true - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -2898,6 +2924,15 @@ packages: path-exists: 4.0.0 dev: true + /find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 + dev: true + /flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -3034,6 +3069,13 @@ packages: type-fest: 0.20.2 dev: true + /globals@13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -3189,15 +3231,6 @@ packages: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} dev: true - /htmlparser2@8.0.1: - resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.0.1 - entities: 4.3.1 - dev: true - /human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -3355,6 +3388,11 @@ packages: argparse: 2.0.1 dev: true + /jsdoc-type-pratt-parser@4.0.0: + resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + engines: {node: '>=12.0.0'} + dev: true + /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -3385,8 +3423,8 @@ packages: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} dev: true - /jsonc-eslint-parser@2.3.0: - resolution: {integrity: sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==} + /jsonc-eslint-parser@2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.10.0 @@ -3395,6 +3433,10 @@ packages: semver: 7.5.4 dev: true + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: @@ -3411,6 +3453,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + /kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} dev: true @@ -3472,9 +3519,12 @@ packages: strip-bom: 3.0.0 dev: true - /local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} + dependencies: + mlly: 1.4.2 + pkg-types: 1.0.3 dev: true /locate-path@2.0.0: @@ -3507,6 +3557,13 @@ packages: p-locate: 5.0.0 dev: true + /locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-locate: 6.0.0 + dev: true + /lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: true @@ -3710,6 +3767,15 @@ packages: resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} dev: true + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + dependencies: + acorn: 8.10.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.2 + dev: true + /modify-values@1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} engines: {node: '>=0.10.0'} @@ -3831,6 +3897,13 @@ packages: yocto-queue: 0.1.0 dev: true + /p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-locate@2.0.0: resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} engines: {node: '>=4'} @@ -3859,6 +3932,13 @@ packages: p-limit: 3.1.0 dev: true + /p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-limit: 4.0.0 + dev: true + /p-try@1.0.0: resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} engines: {node: '>=4'} @@ -3886,6 +3966,11 @@ packages: is-hexadecimal: 1.0.4 dev: true + /parse-gitignore@2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} + dev: true + /parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} @@ -3923,6 +4008,11 @@ packages: engines: {node: '>=8'} dev: true + /path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -3952,6 +4042,10 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + /pathe@1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: true + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true @@ -3977,6 +4071,14 @@ packages: engines: {node: '>=4'} dev: true + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.2 + pathe: 1.1.1 + dev: true + /pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} @@ -4012,6 +4114,14 @@ packages: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + /property-information@6.4.0: resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} dev: true @@ -4272,6 +4382,10 @@ packages: requiresBuild: true dev: true + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -4525,20 +4639,6 @@ packages: typescript: 5.3.2 dev: true - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - - /tsutils@3.21.0(typescript@5.3.2): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 5.3.2 - dev: true - /tsx@4.6.0: resolution: {integrity: sha512-HLHaDQ78mly4Pd5co6tWQOiNVYoYYAPUcwSSZK4bcs3zSEsg+/67LS/ReHook0E7DKPfe1J5jc0ocIhUrnaR4w==} engines: {node: '>=18.0.0'} @@ -4598,6 +4698,10 @@ packages: hasBin: true dev: true + /ufo@1.3.2: + resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + dev: true + /uglify-js@3.14.5: resolution: {integrity: sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==} engines: {node: '>=0.8.0'} @@ -4610,6 +4714,11 @@ packages: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true + /unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + dev: true + /unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} dependencies: @@ -4828,8 +4937,8 @@ packages: vue: 3.3.9(typescript@5.3.2) dev: true - /vue-eslint-parser@9.3.1(eslint@8.54.0): - resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==} + /vue-eslint-parser@9.3.2(eslint@8.54.0): + resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' @@ -4944,7 +5053,7 @@ packages: dependencies: eslint-visitor-keys: 3.4.3 lodash: 4.17.21 - yaml: 2.3.1 + yaml: 2.3.4 dev: true /yaml@1.10.2: @@ -4952,11 +5061,6 @@ packages: engines: {node: '>= 6'} dev: false - /yaml@2.3.1: - resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} - engines: {node: '>= 14'} - dev: true - /yaml@2.3.4: resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} @@ -4967,6 +5071,11 @@ packages: engines: {node: '>=10'} dev: true + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + /yargs@16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} @@ -4980,11 +5089,29 @@ packages: yargs-parser: 20.2.9 dev: true + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + /z-schema@5.0.3: resolution: {integrity: sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw==} engines: {node: '>=8.0.0'} diff --git a/scripts/gen.ts b/scripts/gen.ts index e69ed80..c20dc37 100644 --- a/scripts/gen.ts +++ b/scripts/gen.ts @@ -51,14 +51,16 @@ const ${componentVName}Class = IV && computed(() => { \n`); +\n`, +); fs.writeFileSync( `${basePath}/src/components/${componentName}/index.ts`, `import ${formatComponentName} from './${componentName}.vue'; import { withInstallComponent } from '@/utils'; -export default withInstallComponent(${formatComponentName});\n`); +export default withInstallComponent(${formatComponentName});\n`, +); fs.writeFileSync( `${basePath}/src/themes/components/${componentName}.ts`, @@ -80,7 +82,8 @@ export const ${componentVName}Theme = () => { }; }; -export const ${componentVName}InjectionKey: InjectionKey> = Symbol('${componentVName}InjectionKey');\n`); +export const ${componentVName}InjectionKey: InjectionKey> = Symbol('${componentVName}InjectionKey');\n`, +); console.log(`You may need to modify the following files: src/components.ts diff --git a/src/components/form/form-item.vue b/src/components/form/form-item.vue index dabb052..469c106 100644 --- a/src/components/form/form-item.vue +++ b/src/components/form/form-item.vue @@ -54,7 +54,9 @@ const itemRules = computed(() => { function getFilteredRules(trigger?: trigger) { const rules = itemRules.value; return rules.filter((rule) => { - if (!rule.trigger || !trigger) { return true; } + if (!rule.trigger || !trigger) { + return true; + } if (Array.isArray(rule.trigger)) { return rule.trigger.includes(trigger); } @@ -68,7 +70,9 @@ const validationErrors = ref(); const validate: Validate = async (trigger, options = {}) => { const { name } = props; - if (!name) { return undefined; } + if (!name) { + return undefined; + } const value = (formContext?.model || {})[name]; @@ -77,8 +81,7 @@ const validate: Validate = async (trigger, options = {}) => { try { await validator.validate({ [name]: value }, options); validationErrors.value = undefined; - } - catch ({ errors, fields }: any) { + } catch ({ errors, fields }: any) { validationErrors.value = errors as ValidateError[]; } diff --git a/src/components/form/form.vue b/src/components/form/form.vue index a0c9fb4..0bd6f52 100644 --- a/src/components/form/form.vue +++ b/src/components/form/form.vue @@ -45,7 +45,9 @@ const clearValidate: FormContext['clearValidate'] = () => { } }; -const addField: FormContext['addField'] = (field) => { fields.value.push(field); }; +const addField: FormContext['addField'] = (field) => { + fields.value.push(field); +}; const removeField: FormContext['removeField'] = (field) => { if (field.name) { fields.value.splice(fields.value.indexOf(field), 1); diff --git a/src/constants/theme.ts b/src/constants/theme.ts index 11d1c02..9226650 100644 --- a/src/constants/theme.ts +++ b/src/constants/theme.ts @@ -1,6 +1,2 @@ -export const componentThemes = ['default', - 'primary', - 'success', - 'error', - 'warning'] as const; +export const componentThemes = ['default', 'primary', 'success', 'error', 'warning'] as const; export type ComponentTheme = typeof componentThemes[number]; diff --git a/src/create.ts b/src/create.ts index 0ee125c..d32b110 100644 --- a/src/create.ts +++ b/src/create.ts @@ -3,7 +3,7 @@ import { deepMerge } from '@/utils'; import { useProvideConfig, useThemes } from '@/hooks'; import type { DeepPartialConfig } from '@/defaultConfig'; -function create({ components, themes }: { components?: any[] | Record; themes?: Record }) { +function create({ components, themes }: { components?: any[] | Record, themes?: Record }) { return (app: App, config: DeepPartialConfig) => { const _config = unref(useProvideConfig(deepMerge({ themes }, config), app, true)); useThemes(_config.themes, app); diff --git a/src/hooks/useCssVars.ts b/src/hooks/useCssVars.ts index 7d16cd5..c651600 100644 --- a/src/hooks/useCssVars.ts +++ b/src/hooks/useCssVars.ts @@ -2,8 +2,9 @@ import { getCurrentInstance, useCssVars as vueUseCssVars } from 'vue'; import { injectGlobal } from '@emotion/css'; export function useCssVars(getter: (ctx?: any) => Record) { - if (getCurrentInstance()) { vueUseCssVars(getter); } - else { + if (getCurrentInstance()) { + vueUseCssVars(getter); + } else { const vars = getter(); injectGlobal({ ':root': Object.keys(vars).reduce((pre, cur) => { diff --git a/src/themes/components/button.ts b/src/themes/components/button.ts index d314a97..6f31b6a 100644 --- a/src/themes/components/button.ts +++ b/src/themes/components/button.ts @@ -5,7 +5,7 @@ import { useNamespace } from '@/hooks'; export function buttonTheme() { const ns = useNamespace('button'); - const getButtonStyle = ({ bgColor, bdColor, textColor }: { bgColor: string; bdColor: string; textColor: string }) => { + const getButtonStyle = ({ bgColor, bdColor, textColor }: { bgColor: string, bdColor: string, textColor: string }) => { return { [ns.v('bg-color')]: ns.vb('color', bgColor), [ns.v('bg-color', 'hover')]: ns.vb('color', bgColor, 'hover'), diff --git a/src/utils/base.ts b/src/utils/base.ts index 287469b..1ec315c 100644 --- a/src/utils/base.ts +++ b/src/utils/base.ts @@ -32,8 +32,7 @@ export function flattenObj(ob: Record = {}) { for (const j in temp) { result[camelCaseToDashes(`${i}${j && `-${j}`}`)] = temp[j]; } - } - else { + } else { result[camelCaseToDashes(i)] = ob[i]; } } @@ -45,13 +44,14 @@ export function deepMerge(target: any = {}, source: any): t { source = unref(source); target = !Array.isArray(target) ? { ...target } : [...target]; - if (!source) { return target; } + if (!source) { + return target; + } ([...Object.getOwnPropertySymbols(source), ...Object.getOwnPropertyNames(source)]).forEach((x: any) => { if (source[x] !== undefined) { if (['object'].includes(typeOf(source[x]))) { target[x] = deepMerge(target[x], source[x]); - } - else { + } else { target[x] = source[x]; } } @@ -60,6 +60,8 @@ export function deepMerge(target: any = {}, source: any): t { } export function toArray(v?: T | T[]) { - if (Array.isArray(v)) { return v; } + if (Array.isArray(v)) { + return v; + } return v ? [v] : []; } diff --git a/src/utils/colors.ts b/src/utils/colors.ts index 10d8bad..8310621 100644 --- a/src/utils/colors.ts +++ b/src/utils/colors.ts @@ -6,10 +6,18 @@ export function generateColors(colors: any) { const color: string[] = Array.isArray(colors[key]) ? colors[key] : generate(colors[key]); color.reduce((pre, cur, index) => { // pre[`${key}-${index}`] = cur; - if (index === 5) { pre[`${key}`] = cur; } - if (index === 4) { pre[`${key}-hover`] = cur; } - if (index === 6) { pre[`${key}-active`] = cur; } - if (index === 3) { pre[`${key}-disabled`] = cur; } + if (index === 5) { + pre[`${key}`] = cur; + } + if (index === 4) { + pre[`${key}-hover`] = cur; + } + if (index === 6) { + pre[`${key}-active`] = cur; + } + if (index === 3) { + pre[`${key}-disabled`] = cur; + } return pre; }, res); } diff --git a/tsconfig.json b/tsconfig.json index a6a74f6..7f26053 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,16 +2,16 @@ "extends": "@vue/tsconfig/tsconfig.json", "compilerOptions": { "ignoreDeprecations": "5.0", + "baseUrl": "./", "module": "ESNext", "moduleResolution": "bundler", - "declaration": true, "paths": { "@/*": [ "./src/*" ] }, - "baseUrl": "./" + "declaration": true }, "include": ["src/**/*", "scripts/**/*", "dev/**/*", "docs/**/*", "components.d.ts"], "exclude": ["node_modules"] -} \ No newline at end of file +}