diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index d48c585..0000000 --- a/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -dist -node_modules -.github diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 449cba7..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "@alvarosabu/eslint-config-vue", - "rules": { - "@typescript-eslint/no-use-before-define": "off" - } -} diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index ec4bb38..3ba13e0 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1 +1 @@ -blank_issues_enabled: false \ No newline at end of file +blank_issues_enabled: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index ce5b9ff..0b854cd 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -1,6 +1,6 @@ -name: "New feature proposal \U0001FA90" +name: New feature proposal 🪐 description: Propose a new feature to be added to TresJS -labels: ["enhancement"] +labels: [enhancement] body: - type: markdown attributes: @@ -10,7 +10,7 @@ body: id: feature-description attributes: label: Description - description: "Clear and concise description of the problem. Please make the reason and usecases as detailed as possible. If you intend to submit a PR for this issue, tell us in the description. Thanks!" + description: 'Clear and concise description of the problem. Please make the reason and usecases as detailed as possible. If you intend to submit a PR for this issue, tell us in the description. Thanks!' placeholder: As a developer using TresJS I want [goal / wish] so that [benefit]. validations: required: true @@ -18,7 +18,7 @@ body: id: suggested-solution attributes: label: Suggested solution - description: "In module [xy] we could provide following implementation..." + description: 'In module [xy] we could provide following implementation...' validations: required: true - type: textarea diff --git a/.github/workflows/actions/pnpm/action.yml b/.github/workflows/actions/pnpm/action.yml index 3cb61fb..5c600fc 100644 --- a/.github/workflows/actions/pnpm/action.yml +++ b/.github/workflows/actions/pnpm/action.yml @@ -1,18 +1,18 @@ # From https://github.com/remirror/template/blob/4f8c5f5629a081217672a8cce1df085510f43913/.github/actions/pnpm/action.yml -name: 'pnpm installation' -description: 'Install and audit dependencies for pnpm' +name: pnpm installation +description: Install and audit dependencies for pnpm inputs: cache: # id of input - description: 'The location of the pnpm cache' + description: The location of the pnpm cache required: true - default: '.pnpm-store' + default: .pnpm-store version: # id of input - description: 'The version to use' + description: The version to use required: false default: 6.10.0 runs: - using: 'composite' + using: composite steps: - name: install pnpm run: npm install pnpm@${{ inputs.version }} -g diff --git a/.github/workflows/lint-pr.yml b/.github/workflows/lint-pr.yml index 9050f17..4298282 100644 --- a/.github/workflows/lint-pr.yml +++ b/.github/workflows/lint-pr.yml @@ -1,4 +1,4 @@ -name: 'Lint PR' +name: Lint PR on: pull_request_target: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9a98105..d02ec33 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -23,7 +23,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - cache: "pnpm" + cache: pnpm - name: Install dependencies run: pnpm install - name: Run Lint diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 4aa8921..de4213b 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -28,16 +28,16 @@ Project maintainers are responsible for clarifying the standards of acceptable b Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. -## Scope +## Scope This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the project or its community in public spaces. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. -## Enforcement +## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team by DM at [TresJS Discord](https://discord.gg/UCr96AQmWn). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project’s leadership. -## Attribution +## Attribution This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4812465..d28766a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -72,6 +72,6 @@ Before opening a pull request, make sure to run `pnpm lint` to make sure the cod - Create a `fix/{issue-number}-fix-test-in-core` branch for this bug fix. - If you are resolving a special issue, add `(fix #xxx[,#xxx])` (#xxx is the issue id) in your PR title for a better release log, e.g. `update entities encoding/decoding (fix #3899)`. -## Keep core small +## Keep core small The core package should be as small as possible, it should only contain the core functionality of the library. If you are adding a new feature, please consider adding it as a plugin instead, for example, if you want to add support for [Effect Composer](https://threejs.org/examples/?q=compo#webgl_postprocessing_effectcomposer) you should create a new package called `@tresjs/postprocessing` and add it as a plugin. If it's a smaller scope you can always add it to `cientos` package. diff --git a/README.md b/README.md index 9007e78..ddb2a37 100644 --- a/README.md +++ b/README.md @@ -54,10 +54,9 @@ TresJS nuxt module comes with a devtools extension that allows you to inspect th To activate the devtools, you need to add the `devtools` option to the `tres` section of `nuxt.config.ts`. - ```js export default defineNuxtConfig({ - modules: ['@tresjs/nuxt', '@nuxt/devtools' ], + modules: ['@tresjs/nuxt', '@nuxt/devtools'], tres: { devtools: true, }, @@ -70,7 +69,7 @@ TresJS nuxt module comes with a vite plugin that allows you to import GLSL shade ```js export default defineNuxtConfig({ - modules: ['@tresjs/nuxt', '@nuxt/devtools' ], + modules: ['@tresjs/nuxt', '@nuxt/devtools'], tres: { glsl: true, }, @@ -105,8 +104,6 @@ const uniforms = { ``` - - ## Development ```bash diff --git a/client/components/Graph.vue b/client/components/Graph.vue index 884a994..c2e0960 100644 --- a/client/components/Graph.vue +++ b/client/components/Graph.vue @@ -7,8 +7,7 @@ const props = withDefaults(defineProps<{ unit: string label: string color: string -}>(), -{ +}>(), { points: () => [], value: 0, unit: '', @@ -16,7 +15,6 @@ const props = withDefaults(defineProps<{ color: 'green', }) -const width = 160 const height = 40 const strokeWidth = 2 @@ -32,7 +30,7 @@ watchEffect(() => { const pointsF = computed(() => props.points.map( (point, index) => `${index * strokeWidth},${height - (point * height / maxValue.value)}`, -).join(' ')) +).join(' ')) \ No newline at end of file + diff --git a/client/components/PerformanceMonitor.vue b/client/components/PerformanceMonitor.vue index b771a16..0552643 100644 --- a/client/components/PerformanceMonitor.vue +++ b/client/components/PerformanceMonitor.vue @@ -38,14 +38,14 @@ const { fps, memory, renderer } = useDevtoolsHook()
{{ renderer.info?.memory?.geometries || 0 }} - +
Geometries
{{ renderer.info?.memory?.textures || 0 }} - +
Textures
@@ -64,28 +64,28 @@ const { fps, memory, renderer } = useDevtoolsHook()
{{ renderer?.info?.render?.calls || 0 }} - +
Calls
{{ renderer?.info?.render?.triangles || 0 }} - +
Triangles
{{ renderer?.info?.render?.points || 0 }} - +
Points
{{ renderer?.info?.render?.lines || 0 }} - +
Lines
@@ -97,4 +97,4 @@ const { fps, memory, renderer } = useDevtoolsHook() - \ No newline at end of file + diff --git a/client/components/SceneGraphItem.vue b/client/components/SceneGraphItem.vue index 9786d9f..af33fa5 100644 --- a/client/components/SceneGraphItem.vue +++ b/client/components/SceneGraphItem.vue @@ -26,7 +26,7 @@ function roundNumber(num: number) { + >
{{ item.type }} + > + > #{{ item.color }} + > {{ item.intensity }} @@ -110,13 +110,13 @@ function roundNumber(num: number) { color="gray" variant="soft" > - + {{ item.geometry.type.replace('Geometry', '') }} - +
Material - + - + > + {{ item.material?.type.replace('Material', '') }} - + + > + > #{{ item.material.color.getHexString() }}
@@ -160,11 +160,11 @@ function roundNumber(num: number) { + > + > #{{ item.color }} @@ -180,7 +180,7 @@ function roundNumber(num: number) { + > {{ item.intensity }} @@ -191,9 +191,9 @@ function roundNumber(num: number) { > + > - + @@ -229,9 +229,9 @@ function roundNumber(num: number) { - + - + @@ -270,9 +270,9 @@ function roundNumber(num: number) { - + - + @@ -308,4 +308,4 @@ function roundNumber(num: number) { - \ No newline at end of file + diff --git a/client/components/programs-module/index.vue b/client/components/programs-module/index.vue index 15d2495..118ba73 100644 --- a/client/components/programs-module/index.vue +++ b/client/components/programs-module/index.vue @@ -11,7 +11,8 @@ const programs = computed(() => renderer.info.programs.map( icon: icons[item.type] || 'i-file-icons-vertexshader', uniforms: item.getUniforms(), attributes: item.getAttributes(), - }))) + }), +)) \ No newline at end of file + diff --git a/client/components/programs-module/item.vue b/client/components/programs-module/item.vue index 7dc8337..389efcf 100644 --- a/client/components/programs-module/item.vue +++ b/client/components/programs-module/item.vue @@ -22,9 +22,9 @@ const isExpanded = ref(false) + >
- + {{ item.type }}
- \ No newline at end of file + diff --git a/client/composables/useDevtoolsHook.ts b/client/composables/useDevtoolsHook.ts index 56aabca..ccf85ae 100644 --- a/client/composables/useDevtoolsHook.ts +++ b/client/composables/useDevtoolsHook.ts @@ -1,5 +1,5 @@ import type { TresContext, TresObject } from '@tresjs/core' -import type { Scene, WebGLRenderer } from 'three' +import type { Scene } from 'three' import type { SceneGraphObject } from '../types' interface FPSState { @@ -142,7 +142,6 @@ function createNode(object: TresObject) { } function getSceneGraph(scene: TresObject) { - function buildGraph(object: TresObject, node: SceneGraphObject) { object.children.forEach((child: TresObject) => { const childNode = createNode(child) @@ -184,7 +183,7 @@ export function useDevtoolsHook(): DevtoolsHookReturn { Object.assign(gl.memory, context.perf.memory) gl.memory.accumulator = [...context.perf.memory.accumulator] scene.graph = getSceneGraph(context.scene.value as unknown as TresObject) - /* + /* console.log('Devtools hook updated', context.renderer.value.info.render.triangles) */ }, } @@ -197,4 +196,4 @@ export function useDevtoolsHook(): DevtoolsHookReturn { memory: gl.memory, renderer: gl.renderer, } -} \ No newline at end of file +} diff --git a/client/global.d.ts b/client/global.d.ts index 1c43030..48603b8 100644 --- a/client/global.d.ts +++ b/client/global.d.ts @@ -1,6 +1,6 @@ interface Window { __TRES__DEVTOOLS__?: { - cb: Function; + cb: Function // You can add other properties of __TRES__DEVTOOLS__ here if needed - }; -} \ No newline at end of file + } +} diff --git a/client/pages/index.vue b/client/pages/index.vue index be422e1..15950e0 100644 --- a/client/pages/index.vue +++ b/client/pages/index.vue @@ -16,14 +16,14 @@ const { scene, memory, fps } = useDevtoolsHook() >
tres logo + />

TresJS DevTools

-
+
- +
program: WebGLProgram usedTimes: number -} \ No newline at end of file +} diff --git a/client/utils/index.ts b/client/utils/index.ts index 1ea48b2..db8a536 100644 --- a/client/utils/index.ts +++ b/client/utils/index.ts @@ -1 +1 @@ -export * from './perf' \ No newline at end of file +export * from './perf' diff --git a/client/utils/perf.ts b/client/utils/perf.ts index eb32ef8..8066991 100644 --- a/client/utils/perf.ts +++ b/client/utils/perf.ts @@ -9,7 +9,7 @@ export function calculateMemoryUsage(object: TresObject | Scene) { const geometry = node.geometry const verticesMemory = geometry.attributes.position.count * 3 * Float32Array.BYTES_PER_ELEMENT const facesMemory = geometry.index ? geometry.index.count * Uint32Array.BYTES_PER_ELEMENT : 0 - const normalsMemory + const normalsMemory = geometry.attributes.normal ? geometry.attributes.normal.count * 3 * Float32Array.BYTES_PER_ELEMENT : 0 const uvsMemory = geometry.attributes.uv ? geometry.attributes.uv.count * 2 * Float32Array.BYTES_PER_ELEMENT : 0 @@ -31,4 +31,4 @@ export function bytesToMB(bytes: number): string { export function bytesToGB(bytes: number): string { return (bytes / 1024 / 1024 / 1024).toFixed(2) -} \ No newline at end of file +} diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..6e8b04b --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,7 @@ +import { nuxt, tresLintConfig } from '@tresjs/eslint-config' + +export default tresLintConfig({}, nuxt, { + rules: { + 'style/max-statements-per-line': 'off', + }, +}) diff --git a/package.json b/package.json index 2738dc5..dd592b4 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "dev:prepare": "nuxt-module-build --stub && nuxi prepare playground", "release": "release-it", "lint": "eslint .", + "lint:fix": "eslint . --fix", "test": "vitest run", "test:watch": "vitest watch" }, @@ -60,7 +61,6 @@ "vite-plugin-glsl": "^1.3.0" }, "devDependencies": { - "@alvarosabu/eslint-config-vue": "^0.4.0", "@iconify-json/carbon": "^1.1.31", "@iconify-json/file-icons": "^1.1.8", "@iconify-json/iconoir": "^1.1.43", @@ -71,6 +71,7 @@ "@nuxt/schema": "^3.11.2", "@nuxt/test-utils": "^3.12.0", "@release-it/conventional-changelog": "^8.0.1", + "@tresjs/eslint-config": "^1.0.0", "@types/node": "^20.12.5", "changelogen": "^0.5.5", "eslint": "^9.0.0", diff --git a/playground/app.vue b/playground/app.vue index 91fe27f..f8eacfa 100644 --- a/playground/app.vue +++ b/playground/app.vue @@ -2,4 +2,4 @@ - \ No newline at end of file + diff --git a/playground/components/NuxtStones.vue b/playground/components/NuxtStones.vue index 730b0ed..30b6068 100644 --- a/playground/components/NuxtStones.vue +++ b/playground/components/NuxtStones.vue @@ -35,7 +35,7 @@ onLoop(({ elapsed }) => { }) const ctx = useNuxtApp() -//eslint-disable-next-line no-console +// eslint-disable-next-line no-console console.log({ ctx, useFetch: await useFetch('api/url') }) @@ -44,9 +44,9 @@ console.log({ ctx, useFetch: await useFetch('api/url') }) - diff --git a/playground/components/UglyNakedBunny.vue b/playground/components/UglyNakedBunny.vue index e50153d..9ec8724 100644 --- a/playground/components/UglyNakedBunny.vue +++ b/playground/components/UglyNakedBunny.vue @@ -3,7 +3,7 @@ const { scene: model, animations } = await useGLTF( 'https://raw.githubusercontent.com/Tresjs/assets/main/models/gltf/ugly-naked-bunny/ugly-naked-bunny-animated.gltf', ) -const { actions, mixer } = useAnimations(animations, model) +const { actions } = useAnimations(animations, model) const currentAction = ref(actions.Greeting) diff --git a/playground/layouts/default.vue b/playground/layouts/default.vue index 47d359b..526232e 100644 --- a/playground/layouts/default.vue +++ b/playground/layouts/default.vue @@ -24,9 +24,9 @@
- + - + \ No newline at end of file + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38ff966..c1752d0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,9 +46,6 @@ dependencies: version: 1.3.0(rollup@3.29.4)(vite@5.2.8) devDependencies: - '@alvarosabu/eslint-config-vue': - specifier: ^0.4.0 - version: 0.4.0(eslint@9.0.0)(typescript@5.4.4) '@iconify-json/carbon': specifier: ^1.1.31 version: 1.1.31 @@ -79,6 +76,9 @@ devDependencies: '@release-it/conventional-changelog': specifier: ^8.0.1 version: 8.0.1(release-it@17.1.1) + '@tresjs/eslint-config': + specifier: ^1.0.0 + version: 1.0.0(@vue/compiler-sfc@3.4.21)(eslint@9.0.0)(typescript@5.4.4)(vitest@1.4.0) '@types/node': specifier: ^20.12.5 version: 20.12.5 @@ -118,70 +118,6 @@ packages: engines: {node: '>=10'} dev: false - /@alvarosabu/eslint-config-base@0.4.0(@typescript-eslint/eslint-plugin@6.20.0)(@typescript-eslint/parser@6.20.0)(eslint@9.0.0): - resolution: {integrity: sha512-3i0/nSE62FP4HuLPD3jqbeQWovMLgFjb8Na28UyTaCZppKB61Vlkvsa2tp5A0esWty+ejJlfUmScwn+vWsn6Cw==} - peerDependencies: - eslint: '>=7.4.0' - dependencies: - eslint: 9.0.0 - eslint-plugin-eslint-comments: 3.2.0(eslint@9.0.0) - eslint-plugin-html: 7.1.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.20.0)(eslint@9.0.0) - eslint-plugin-jsonc: 2.13.0(eslint@9.0.0) - eslint-plugin-markdown: 3.0.1(eslint@9.0.0) - eslint-plugin-n: 16.6.2(eslint@9.0.0) - eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-promise: 6.1.1(eslint@9.0.0) - eslint-plugin-unicorn: 48.0.1(eslint@9.0.0) - eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.20.0)(eslint@9.0.0) - eslint-plugin-yml: 1.12.2(eslint@9.0.0) - jsonc-eslint-parser: 2.4.0 - yaml-eslint-parser: 1.2.2 - transitivePeerDependencies: - - '@typescript-eslint/eslint-plugin' - - '@typescript-eslint/parser' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - - /@alvarosabu/eslint-config-ts@0.4.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-U9UwtA/ozefHvfqMAhyI56EcMPm5gU9QhX4zk5NXUldvfEXRfkZQMao8+revkXAMscKJJMV8N1xpRQ8X0zJ4mg==} - peerDependencies: - eslint: '>=7.4.0' - typescript: '>=3.9' - dependencies: - '@alvarosabu/eslint-config-base': 0.4.0(@typescript-eslint/eslint-plugin@6.20.0)(@typescript-eslint/parser@6.20.0)(eslint@9.0.0) - '@typescript-eslint/eslint-plugin': 6.20.0(@typescript-eslint/parser@6.20.0)(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/parser': 6.20.0(eslint@9.0.0)(typescript@5.4.4) - eslint: 9.0.0 - typescript: 5.4.4 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - - /@alvarosabu/eslint-config-vue@0.4.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-gsk+2kcZ44pQYs4v8Y+Cu+TR5sHLaHZ6rZFWOHHWuJb5Krg789iMyXHdF9WQdLQkyPQfbZfhGDflj78vDUErkA==} - peerDependencies: - eslint: '>=7.4.0' - typescript: '>=3.9' - dependencies: - '@alvarosabu/eslint-config-base': 0.4.0(@typescript-eslint/eslint-plugin@6.20.0)(@typescript-eslint/parser@6.20.0)(eslint@9.0.0) - '@alvarosabu/eslint-config-ts': 0.4.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/parser': 6.20.0(eslint@9.0.0)(typescript@5.4.4) - eslint: 9.0.0 - eslint-plugin-vue: 9.21.1(eslint@9.0.0) - local-pkg: 0.4.3 - typescript: 5.4.4 - transitivePeerDependencies: - - '@typescript-eslint/eslint-plugin' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - /@alvarosabu/utils@3.2.0: resolution: {integrity: sha512-aoGWRfaQjOo9TUwrBA6W0zwTHktgrXy69GIFNILT4gHsqscw6+X8P6uoSlZVQFr887SPm8x3aDin5EBVq8y4pw==} dev: false @@ -193,15 +129,112 @@ packages: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + /@antfu/eslint-config@2.17.0(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.1)(eslint@9.0.0)(typescript@5.4.4)(vitest@1.4.0): + resolution: {integrity: sha512-OvLgETKfNTFD1PaGToM/Mu1A53lbMCXN4TLLL3QloGK3IkuSvNoGumLwkK1wQ1AsZAG+hfGoe+Rkd7V9Wv7MlA==} + hasBin: true + peerDependencies: + '@eslint-react/eslint-plugin': ^1.5.8 + '@unocss/eslint-plugin': '>=0.50.0' + astro-eslint-parser: ^0.16.3 + eslint: '>=8.40.0' + eslint-plugin-astro: ^0.31.4 + eslint-plugin-format: '>=0.1.0' + eslint-plugin-react-hooks: ^4.6.0 + eslint-plugin-react-refresh: ^0.4.4 + eslint-plugin-solid: ^0.13.2 + eslint-plugin-svelte: '>=2.35.1' + prettier-plugin-astro: ^0.13.0 + prettier-plugin-slidev: ^1.0.5 + svelte-eslint-parser: ^0.33.1 + peerDependenciesMeta: + '@eslint-react/eslint-plugin': + optional: true + '@unocss/eslint-plugin': + optional: true + astro-eslint-parser: + optional: true + eslint-plugin-astro: + optional: true + eslint-plugin-format: + optional: true + eslint-plugin-react-hooks: + optional: true + eslint-plugin-react-refresh: + optional: true + eslint-plugin-solid: + optional: true + eslint-plugin-svelte: + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-slidev: + optional: true + svelte-eslint-parser: + optional: true + dependencies: + '@antfu/install-pkg': 0.3.3 + '@clack/prompts': 0.7.0 + '@stylistic/eslint-plugin': 2.0.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.8.0(eslint@9.0.0)(typescript@5.4.4) + eslint: 9.0.0 + eslint-config-flat-gitignore: 0.1.5 + eslint-flat-config-utils: 0.2.4 + eslint-merge-processors: 0.1.0(eslint@9.0.0) + eslint-plugin-antfu: 2.2.0(eslint@9.0.0) + eslint-plugin-command: 0.2.0(eslint@9.0.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@9.0.0) + eslint-plugin-format: 0.1.1(eslint@9.0.0) + eslint-plugin-import-x: 0.5.0(eslint@9.0.0)(typescript@5.4.4) + eslint-plugin-jsdoc: 48.2.3(eslint@9.0.0) + eslint-plugin-jsonc: 2.15.1(eslint@9.0.0) + eslint-plugin-markdown: 5.0.0(eslint@9.0.0) + eslint-plugin-n: 17.5.1(eslint@9.0.0) + eslint-plugin-no-only-tests: 3.1.0 + eslint-plugin-perfectionist: 2.10.0(eslint@9.0.0)(typescript@5.4.4)(vue-eslint-parser@9.4.2) + eslint-plugin-toml: 0.11.0(eslint@9.0.0) + eslint-plugin-unicorn: 52.0.0(eslint@9.0.0) + eslint-plugin-unused-imports: 3.2.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@9.0.0) + eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@7.8.0)(eslint@9.0.0)(typescript@5.4.4)(vitest@1.4.0) + eslint-plugin-vue: 9.25.0(eslint@9.0.0) + eslint-plugin-yml: 1.14.0(eslint@9.0.0) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.21)(eslint@9.0.0) + globals: 15.1.0 + jsonc-eslint-parser: 2.4.0 + local-pkg: 0.5.0 + parse-gitignore: 2.0.0 + picocolors: 1.0.0 + toml-eslint-parser: 0.9.3 + vue-eslint-parser: 9.4.2(eslint@9.0.0) + yaml-eslint-parser: 1.2.2 + yargs: 17.7.2 + transitivePeerDependencies: + - '@vue/compiler-sfc' + - supports-color + - svelte + - typescript + - vitest + dev: true + /@antfu/install-pkg@0.1.1: resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} dependencies: execa: 5.1.1 find-up: 5.0.0 + /@antfu/install-pkg@0.3.3: + resolution: {integrity: sha512-nHHsk3NXQ6xkCfiRRC8Nfrg8pU5kkr3P3Y9s9dKqiuRmBD0Yap7fymNDjGFKeWhZQHqqbCS5CfeMy9wtExM24w==} + dependencies: + '@jsdevtools/ez-spawn': 3.0.4 + dev: true + /@antfu/utils@0.7.7: resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} + /@antfu/utils@0.7.8: + resolution: {integrity: sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==} + dev: true + /@babel/code-frame@7.23.5: resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} @@ -406,6 +439,7 @@ packages: /@babel/highlight@7.24.2: resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} + requiresBuild: true dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 @@ -554,6 +588,23 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + /@clack/core@0.3.4: + resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} + dependencies: + picocolors: 1.0.0 + sisteransi: 1.0.5 + dev: true + + /@clack/prompts@0.7.0: + resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==} + dependencies: + '@clack/core': 0.3.4 + picocolors: 1.0.0 + sisteransi: 1.0.5 + dev: true + bundledDependencies: + - is-unicode-supported + /@cloudflare/kv-asset-handler@0.3.1: resolution: {integrity: sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA==} dependencies: @@ -611,6 +662,18 @@ packages: postcss: 8.4.38 dev: false + /@dprint/formatter@0.2.1: + resolution: {integrity: sha512-GCzgRt2o4mhZLy8L47k2A+q9EMG/jWhzZebE29EqKsxmjDrSfv2VisEj/Q+39OOf04jTkEfB/TRO+IZSyxHdYg==} + dev: true + + /@dprint/markdown@0.16.4: + resolution: {integrity: sha512-WjsC4yLybR5/76+d/2s36nOBGjETe+jJR//ddFHohDXKdis+FTUv7dJ00kmd6g0AKQwDITayM1Nid10gFNG0Yg==} + dev: true + + /@dprint/toml@0.6.1: + resolution: {integrity: sha512-1fmGui+BNLKNonG3fvjT+thtL8u0pL1GsIuRbhgRnP+UOkcfPgoUsgNFctDmOE13y6MX4TVvxXKKrMY/qwXqkA==} + dev: true + /@egoist/tailwindcss-icons@1.7.4(tailwindcss@3.4.3): resolution: {integrity: sha512-883qx0sqeNb8km7os0w8K6UYue88dbgTWwyEUwW74Bgz0H7t+m7PMIIEvSQ4JqHwA823Qd5ciz+NoTBWKaMYfg==} peerDependencies: @@ -1263,6 +1326,16 @@ packages: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + /@jsdevtools/ez-spawn@3.0.4: + resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} + engines: {node: '>=10'} + dependencies: + call-me-maybe: 1.0.2 + cross-spawn: 7.0.3 + string-argv: 0.3.2 + type-detect: 4.0.8 + dev: true + /@koa/router@12.0.1: resolution: {integrity: sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==} engines: {node: '>= 12'} @@ -2177,6 +2250,11 @@ packages: requiresBuild: true optional: true + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + /@pnpm/config.env-replace@1.1.0: resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} @@ -2605,6 +2683,19 @@ packages: espree: 9.6.1 dev: true + /@stylistic/eslint-plugin-js@2.0.0(eslint@9.0.0): + resolution: {integrity: sha512-yQZKvygpWZ5rlIyzdQzmJbT4RwK2bfYn+QCey+WUy6XdgLQ0RHXSFT1ezBZyxWKbNRfoVbbNfs1BqyEDIkXX3A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@types/eslint': 8.56.10 + acorn: 8.11.3 + eslint: 9.0.0 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 + dev: true + /@stylistic/eslint-plugin-jsx@1.7.0(eslint@9.0.0): resolution: {integrity: sha512-BACdBwXakQvjYIST5N2WWhRbvhRsIxa/F59BiZol+0IH4FSmDXhie7v/yaxDIIA9CbfElzOmIA5nWNYTVXcnwQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2618,6 +2709,19 @@ packages: picomatch: 4.0.2 dev: true + /@stylistic/eslint-plugin-jsx@2.0.0(eslint@9.0.0): + resolution: {integrity: sha512-XwsqawXfCvFdU8iu217xfiVIDXq3xF6zRpmGTrgmnXP/FxBcY9shDz9sZYGwNzEgiBeS14nL1vRuO9NWkYutoA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 2.0.0(eslint@9.0.0) + '@types/eslint': 8.56.10 + eslint: 9.0.0 + estraverse: 5.3.0 + picomatch: 4.0.2 + dev: true + /@stylistic/eslint-plugin-plus@1.7.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-AabDw8sXsc70Ydx3qnbeTlRHZnIwY6UKEenBPURPhY3bfYWX+/pDpZH40HkOu94v8D0DUrocPkeeEUxl4e0JDg==} peerDependencies: @@ -2631,6 +2735,19 @@ packages: - typescript dev: true + /@stylistic/eslint-plugin-plus@2.0.0(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-iif+oS6SaAIG9yN3zynNWT2YqP/vq1Os5sgIKocinkjZvbTBdNygq7OoxO+V2PTwx/KwF0z6IXU5OdxwdEizkg==} + peerDependencies: + eslint: '*' + dependencies: + '@types/eslint': 8.56.10 + '@typescript-eslint/utils': 7.8.0(eslint@9.0.0)(typescript@5.4.4) + eslint: 9.0.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@stylistic/eslint-plugin-ts@1.7.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-QsHv98mmW1xaucVYQTyLDgEpybPJ/6jPPxVBrIchntWWwj74xCWKUiw79hu+TpYj/Pbhd9rkqJYLNq3pQGYuyA==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2646,6 +2763,21 @@ packages: - typescript dev: true + /@stylistic/eslint-plugin-ts@2.0.0(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-Rsk9XLR+Edv7TNh20Z+pfFA+T6pjPidbK1JYk6UIxc5iVW5Po6E/NOnO0UKD++uWT3XIDsC0LkHUxfKPoXf9TQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 2.0.0(eslint@9.0.0) + '@types/eslint': 8.56.10 + '@typescript-eslint/utils': 7.8.0(eslint@9.0.0)(typescript@5.4.4) + eslint: 9.0.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@stylistic/eslint-plugin@1.7.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-ThMUjGIi/jeWYNvOdjZkoLw1EOVs0tEuKXDgWvTn8uWaEz55HuPlajKxjKLpv19C+qRDbKczJfzUODfCdME53A==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2663,6 +2795,23 @@ packages: - typescript dev: true + /@stylistic/eslint-plugin@2.0.0(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-M3j82FavnsI5Wm8+C2MHqUBijKEVfXmKci3YVaIpKaB9SSY5lJn1+Yh5zk8AqV+qH3qOSJJeFCTyIiQpghxBiA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 2.0.0(eslint@9.0.0) + '@stylistic/eslint-plugin-jsx': 2.0.0(eslint@9.0.0) + '@stylistic/eslint-plugin-plus': 2.0.0(eslint@9.0.0)(typescript@5.4.4) + '@stylistic/eslint-plugin-ts': 2.0.0(eslint@9.0.0)(typescript@5.4.4) + '@types/eslint': 8.56.10 + eslint: 9.0.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@szmarczak/http-timer@5.0.1: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} @@ -2781,6 +2930,33 @@ packages: - '@vue/composition-api' dev: false + /@tresjs/eslint-config@1.0.0(@vue/compiler-sfc@3.4.21)(eslint@9.0.0)(typescript@5.4.4)(vitest@1.4.0): + resolution: {integrity: sha512-m28JMAHfJ/jSESh5o38EdPfD27HD+ptRiUSh6lgF6CY8mQ5QreFlTzUcYsaBqvoCC1PnKzUyGBBomscXj5X5cw==} + peerDependencies: + eslint: 8.x + dependencies: + '@antfu/eslint-config': 2.17.0(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.1)(eslint@9.0.0)(typescript@5.4.4)(vitest@1.4.0) + eslint: 9.0.0 + eslint-plugin-format: 0.1.1(eslint@9.0.0) + transitivePeerDependencies: + - '@eslint-react/eslint-plugin' + - '@unocss/eslint-plugin' + - '@vue/compiler-sfc' + - astro-eslint-parser + - eslint-plugin-astro + - eslint-plugin-react-hooks + - eslint-plugin-react-refresh + - eslint-plugin-solid + - eslint-plugin-svelte + - prettier-plugin-astro + - prettier-plugin-slidev + - supports-color + - svelte + - svelte-eslint-parser + - typescript + - vitest + dev: true + /@tresjs/nuxt@2.0.1(nuxt@3.11.2)(postcss@8.4.38)(rollup@3.29.4)(three@0.163.0)(vite@5.2.8)(vue@3.4.21)(webpack@5.91.0): resolution: {integrity: sha512-wq/2LfPrbuaU4BpXeNSJqKwOIM3m9N00BKTIaZrMLL/A5ulxJ4aAUKWyG9W+nJH7dOeSefB+kdL8GvuCEUi1kA==} peerDependencies: @@ -3017,14 +3193,21 @@ packages: /@types/eslint-scope@3.7.7: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.10 '@types/estree': 1.0.5 + /@types/eslint@8.56.10: + resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + /@types/eslint@8.56.7: resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 + dev: true /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -3041,10 +3224,6 @@ packages: /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - /@types/mdast@3.0.15: resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} dependencies: @@ -3063,10 +3242,6 @@ packages: /@types/resolve@1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - /@types/semver@7.5.6: - resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} - dev: true - /@types/semver@7.5.8: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true @@ -3114,37 +3289,37 @@ packages: resolution: {integrity: sha512-nC9116Gd4N+CqTxqo6gvCfhAMAzgRcfS8ZsciNodHq8uwW4JCVKwhagw8yN0XmC7mHrLnWqniJpoVEiR+72Drw==} dev: false - /@typescript-eslint/eslint-plugin@6.20.0(@typescript-eslint/parser@6.20.0)(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.20.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/type-utils': 6.20.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/utils': 6.20.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/type-utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 eslint: 9.0.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.4.4) + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.4) typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} + /@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -3155,11 +3330,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/type-utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 7.6.0 + '@typescript-eslint/parser': 7.8.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/type-utils': 7.8.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.8.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4 eslint: 9.0.0 graphemer: 1.4.0 @@ -3172,20 +3347,20 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.20.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 eslint: 9.0.0 typescript: 5.4.4 @@ -3193,8 +3368,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} + /@typescript-eslint/parser@7.8.0(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3203,10 +3378,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 7.6.0 + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4 eslint: 9.0.0 typescript: 5.4.4 @@ -3214,14 +3389,6 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@6.20.0: - resolution: {integrity: sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 - dev: true - /@typescript-eslint/scope-manager@6.21.0: resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3238,28 +3405,36 @@ packages: '@typescript-eslint/visitor-keys': 7.6.0 dev: true - /@typescript-eslint/type-utils@6.20.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/scope-manager@7.8.0: + resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + dev: true + + /@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.4.4) - '@typescript-eslint/utils': 6.20.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) debug: 4.3.4 eslint: 9.0.0 - ts-api-utils: 1.0.3(typescript@5.4.4) + ts-api-utils: 1.3.0(typescript@5.4.4) typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} + /@typescript-eslint/type-utils@7.8.0(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3268,8 +3443,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.4) + '@typescript-eslint/utils': 7.8.0(eslint@9.0.0)(typescript@5.4.4) debug: 4.3.4 eslint: 9.0.0 ts-api-utils: 1.3.0(typescript@5.4.4) @@ -3278,11 +3453,6 @@ packages: - supports-color dev: true - /@typescript-eslint/types@6.20.0: - resolution: {integrity: sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - /@typescript-eslint/types@6.21.0: resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3293,26 +3463,9 @@ packages: engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@6.20.0(typescript@5.4.4): - resolution: {integrity: sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.4.4) - typescript: 5.4.4 - transitivePeerDependencies: - - supports-color + /@typescript-eslint/types@7.8.0: + resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.4): @@ -3359,23 +3512,26 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.20.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.4): + resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.4.4) - eslint: 9.0.0 - semver: 7.5.4 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color - - typescript dev: true /@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.4): @@ -3416,12 +3572,23 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@6.20.0: - resolution: {integrity: sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/utils@7.8.0(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 dependencies: - '@typescript-eslint/types': 6.20.0 - eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.4) + eslint: 9.0.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript dev: true /@typescript-eslint/visitor-keys@6.21.0: @@ -3440,6 +3607,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript-eslint/visitor-keys@7.8.0: + resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.8.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@unhead/dom@1.9.4: resolution: {integrity: sha512-nEaHOcCL0u56g4XOV5XGwRMFZ05eEINfp8nxVrPiIGLrS9BoFrZS7/6IYSkalkNRTmw8M5xqxt6BalBr594SaA==} dependencies: @@ -4625,6 +4800,7 @@ packages: /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} + requiresBuild: true dependencies: color-convert: 1.9.3 @@ -4704,66 +4880,24 @@ packages: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: call-bind: 1.0.5 - is-array-buffer: 3.0.2 - dev: true - - /array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - dev: true - - /array-ify@1.0.0: - resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} - dev: true - - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-string: 1.0.7 - dev: true - - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 - dev: true - - /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.2 + is-array-buffer: 3.0.2 dev: true - /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.2 + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + dev: true + + /array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} dev: true /array.prototype.map@1.0.7: @@ -5031,12 +5165,6 @@ packages: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - /builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} - dependencies: - semver: 7.5.4 - dev: true - /builtins@5.1.0: resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==} dependencies: @@ -5153,6 +5281,10 @@ packages: set-function-length: 1.2.2 dev: true + /call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + dev: true + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -5401,6 +5533,7 @@ packages: /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + requiresBuild: true dependencies: color-name: 1.1.3 @@ -5412,6 +5545,7 @@ packages: /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + requiresBuild: true /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -6188,13 +6322,6 @@ packages: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: false - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -6469,12 +6596,6 @@ packages: hasown: 2.0.2 dev: true - /es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - dependencies: - hasown: 2.0.0 - dev: true - /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} @@ -6590,14 +6711,14 @@ packages: eslint: 9.0.0 dev: true - /eslint-compat-utils@0.4.1(eslint@9.0.0): - resolution: {integrity: sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg==} + /eslint-compat-utils@0.5.0(eslint@9.0.0): + resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==} engines: {node: '>=12'} peerDependencies: eslint: '>=6.0.0' dependencies: eslint: 9.0.0 - semver: 7.5.4 + semver: 7.6.0 dev: true /eslint-config-flat-gitignore@0.1.5: @@ -6614,6 +6735,22 @@ packages: pathe: 1.1.2 dev: true + /eslint-flat-config-utils@0.2.4: + resolution: {integrity: sha512-k7MJkSIfF0bs5eQu1KXyV0AhsvdsqSt1pQfZNLwf6qkozuHQV6aNHg5f8+3Ya+WTzpB+e7I3hMhs4qBwx7nEkw==} + dependencies: + '@types/eslint': 8.56.10 + pathe: 1.1.2 + dev: true + + /eslint-formatting-reporter@0.0.0(eslint@9.0.0): + resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + eslint: 9.0.0 + prettier-linter-helpers: 1.0.0 + dev: true + /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: @@ -6624,33 +6761,33 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint@9.0.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} + /eslint-merge-processors@0.1.0(eslint@9.0.0): + resolution: {integrity: sha512-IvRXXtEajLeyssvW4wJcZ2etxkR9mUf4zpNwgI+m/Uac9RfXHskuJefkHUcawVzePnd6xp24enp5jfgdHzjRdQ==} + peerDependencies: + eslint: '*' + dependencies: + eslint: 9.0.0 + dev: true + + /eslint-parser-plain@0.1.0: + resolution: {integrity: sha512-oOeA6FWU0UJT/Rxc3XF5Cq0nbIZbylm7j8+plqq0CZoE6m4u32OXJrR+9iy4srGMmF6v6pmgvP1zPxSRIGh3sg==} + dev: true + + /eslint-plugin-antfu@2.2.0(eslint@9.0.0): + resolution: {integrity: sha512-QHzHYP+fyfhSkIdcuT9JZ4rCPuJOoHRE27gglPYHlJ6lxB7pO9i45yAy4aurx/rleBuEC27U4c//1Nwtbasj4Q==} + peerDependencies: + eslint: '*' + dependencies: + '@antfu/utils': 0.7.8 + eslint: 9.0.0 + dev: true + + /eslint-plugin-command@0.2.0(eslint@9.0.0): + resolution: {integrity: sha512-SGOMTs6Pu5HQKwCF9uZ214cdVlJ99U+6GRoUS01zeLZmcQcFU4YXy2KTKqXaEsNCvaFY91OrHRZbh4/1xt9Yzw==} peerDependencies: - '@typescript-eslint/parser': '*' eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true dependencies: - '@typescript-eslint/parser': 6.20.0(eslint@9.0.0)(typescript@5.4.4) - debug: 3.2.7 eslint: 9.0.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color dev: true /eslint-plugin-es-x@7.5.0(eslint@9.0.0): @@ -6676,10 +6813,19 @@ packages: ignore: 5.3.1 dev: true - /eslint-plugin-html@7.1.0: - resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} + /eslint-plugin-format@0.1.1(eslint@9.0.0): + resolution: {integrity: sha512-jzk70D3RbaseNIdMtimMqiJHDPUw9bzZjmZTT9tQ6x3HU9U9bGqnsieQK5H0FIZUpx4qC41CidLDWwVCylICRQ==} + peerDependencies: + eslint: ^8.40.0 || ^9.0.0 dependencies: - htmlparser2: 8.0.2 + '@dprint/formatter': 0.2.1 + '@dprint/markdown': 0.16.4 + '@dprint/toml': 0.6.1 + eslint: 9.0.0 + eslint-formatting-reporter: 0.0.0(eslint@9.0.0) + eslint-parser-plain: 0.1.0 + prettier: 3.2.5 + synckit: 0.9.0 dev: true /eslint-plugin-import-x@0.5.0(eslint@9.0.0)(typescript@5.4.4): @@ -6702,41 +6848,6 @@ packages: - typescript dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.20.0)(eslint@9.0.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 6.20.0(eslint@9.0.0)(typescript@5.4.4) - 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.0.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint@9.0.0) - hasown: 2.0.0 - 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 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - /eslint-plugin-jsdoc@48.2.3(eslint@9.0.0): resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==} engines: {node: '>=18'} @@ -6757,15 +6868,15 @@ packages: - supports-color dev: true - /eslint-plugin-jsonc@2.13.0(eslint@9.0.0): - resolution: {integrity: sha512-2wWdJfpO/UbZzPDABuUVvlUQjfMJa2p2iQfYt/oWxOMpXCcjuiMUSaA02gtY/Dbu82vpaSqc+O7Xq6ECHwtIxA==} + /eslint-plugin-jsonc@2.15.1(eslint@9.0.0): + resolution: {integrity: sha512-PVFrqIJa8BbM/e828RSn0SwB/Z5ye+2LDuy2XqG6AymNgPsfApRRcznsbxP7VrjdLEU4Nb+g9n/d6opyp0jp9A==} 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@9.0.0) eslint: 9.0.0 - eslint-compat-utils: 0.4.1(eslint@9.0.0) + eslint-compat-utils: 0.5.0(eslint@9.0.0) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 @@ -6773,11 +6884,11 @@ packages: synckit: 0.6.2 dev: true - /eslint-plugin-markdown@3.0.1(eslint@9.0.0): - resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /eslint-plugin-markdown@5.0.0(eslint@9.0.0): + resolution: {integrity: sha512-kY2u9yDhzvfZ0kmRTsvgm3mTnvZgTSGIIPeHg3yesSx4R5CTCnITUjCPhzCD1MUhNcqHU5Tr6lzx+02EclVPbw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: '>=8' dependencies: eslint: 9.0.0 mdast-util-from-markdown: 0.8.5 @@ -6785,24 +6896,21 @@ packages: - supports-color dev: true - /eslint-plugin-n@16.6.2(eslint@9.0.0): - resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} - engines: {node: '>=16.0.0'} + /eslint-plugin-n@17.5.1(eslint@9.0.0): + resolution: {integrity: sha512-+E242KoY16xtwqqBRgSsDCrZ3K40jg3Np9fOgQyakcHaqymK3bnxYB1F1oe8Ksts8TDDViROFgraoLzbWhfHVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '>=7.0.0' + eslint: '>=8.23.0' dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - builtins: 5.0.1 + enhanced-resolve: 5.16.0 eslint: 9.0.0 eslint-plugin-es-x: 7.5.0(eslint@9.0.0) - get-tsconfig: 4.7.2 - globals: 13.24.0 + get-tsconfig: 4.7.3 + globals: 15.1.0 ignore: 5.3.1 - is-builtin-module: 3.2.1 - is-core-module: 2.13.1 - minimatch: 3.1.2 - resolve: 1.22.8 - semver: 7.5.4 + minimatch: 9.0.4 + semver: 7.6.0 dev: true /eslint-plugin-no-only-tests@3.1.0: @@ -6810,37 +6918,47 @@ packages: engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-promise@6.1.1(eslint@9.0.0): - resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /eslint-plugin-perfectionist@2.10.0(eslint@9.0.0)(typescript@5.4.4)(vue-eslint-parser@9.4.2): + resolution: {integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w==} 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': 7.6.0(eslint@9.0.0)(typescript@5.4.4) eslint: 9.0.0 + minimatch: 9.0.4 + natural-compare-lite: 1.4.0 + vue-eslint-parser: 9.4.2(eslint@9.0.0) + transitivePeerDependencies: + - supports-color + - typescript dev: true - /eslint-plugin-unicorn@48.0.1(eslint@9.0.0): - resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} - engines: {node: '>=16'} + /eslint-plugin-toml@0.11.0(eslint@9.0.0): + resolution: {integrity: sha512-sau+YvPU4fWTjB+qtBt3n8WS87aoDCs+BVbSUAemGaIsRNbvR9uEk+Tt892iLHTGvp/DPWYoCX4/8DoyAbB+sQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: '>=8.44.0' + eslint: '>=6.0.0' dependencies: - '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - ci-info: 3.9.0 - clean-regexp: 1.0.0 + debug: 4.3.4 eslint: 9.0.0 - esquery: 1.5.0 - indent-string: 4.0.0 - is-builtin-module: 3.2.1 - jsesc: 3.0.2 + eslint-compat-utils: 0.5.0(eslint@9.0.0) lodash: 4.17.21 - pluralize: 8.0.0 - read-pkg-up: 7.0.1 - regexp-tree: 0.1.27 - regjsparser: 0.10.0 - semver: 7.5.4 - strip-indent: 3.0.0 + toml-eslint-parser: 0.9.3 + transitivePeerDependencies: + - supports-color dev: true /eslint-plugin-unicorn@52.0.0(eslint@9.0.0): @@ -6870,41 +6988,64 @@ packages: - supports-color dev: true - /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.20.0)(eslint@9.0.0): - resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} + /eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@9.0.0): + resolution: {integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^6.0.0 - eslint: ^8.0.0 + '@typescript-eslint/eslint-plugin': 6 - 7 + eslint: '8' peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.20.0(@typescript-eslint/parser@6.20.0)(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.0.0)(typescript@5.4.4) eslint: 9.0.0 eslint-rule-composer: 0.3.0 dev: true - /eslint-plugin-vue@9.21.1(eslint@9.0.0): - resolution: {integrity: sha512-XVtI7z39yOVBFJyi8Ljbn7kY9yHzznKXL02qQYn+ta63Iy4A9JFBw6o4OSB9hyD2++tVT+su9kQqetUyCCwhjw==} + /eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.8.0)(eslint@9.0.0)(typescript@5.4.4)(vitest@1.4.0): + resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==} + engines: {node: ^18.0.0 || >= 20.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': '*' + eslint: ^8.57.0 || ^9.0.0 + vitest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + vitest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.8.0(eslint@9.0.0)(typescript@5.4.4) + eslint: 9.0.0 + vitest: 1.4.0(@types/node@20.12.5) + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-vue@9.24.1(eslint@9.0.0): + resolution: {integrity: sha512-wk3SuwmS1pZdcuJlokGYEi/buDOwD6KltvhIZyOnpJ/378dcQ4zchu9PAMbbLAaydCz1iYc5AozszcOOgZIIOg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) eslint: 9.0.0 + globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.0.15 - semver: 7.5.4 + postcss-selector-parser: 6.0.16 + semver: 7.6.0 vue-eslint-parser: 9.4.2(eslint@9.0.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-vue@9.24.1(eslint@9.0.0): - resolution: {integrity: sha512-wk3SuwmS1pZdcuJlokGYEi/buDOwD6KltvhIZyOnpJ/378dcQ4zchu9PAMbbLAaydCz1iYc5AozszcOOgZIIOg==} + /eslint-plugin-vue@9.25.0(eslint@9.0.0): + resolution: {integrity: sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -6922,15 +7063,15 @@ packages: - supports-color dev: true - /eslint-plugin-yml@1.12.2(eslint@9.0.0): - resolution: {integrity: sha512-hvS9p08FhPT7i/ynwl7/Wt7ke7Rf4P2D6fT8lZlL43peZDTsHtH2A0SIFQ7Kt7+mJ6if6P+FX3iJhMkdnxQwpg==} + /eslint-plugin-yml@1.14.0(eslint@9.0.0): + resolution: {integrity: sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 eslint: 9.0.0 - eslint-compat-utils: 0.4.1(eslint@9.0.0) + eslint-compat-utils: 0.5.0(eslint@9.0.0) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.2 @@ -6938,6 +7079,16 @@ packages: - supports-color dev: true + /eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.21)(eslint@9.0.0): + resolution: {integrity: sha512-PfpJ4uKHnqeL/fXUnzYkOax3aIenlwewXRX8jFinA1a2yCFnLgMuiH3xvCgvHHUlV2xJWQHbCTdiJWGwb3NqpQ==} + peerDependencies: + '@vue/compiler-sfc': ^3.3.0 + eslint: ^8.50.0 || ^9.0.0 + dependencies: + '@vue/compiler-sfc': 3.4.21 + eslint: 9.0.0 + dev: true + /eslint-rule-composer@0.3.0: resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} engines: {node: '>=4.0.0'} @@ -7152,6 +7303,10 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + /fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} @@ -7460,12 +7615,6 @@ packages: get-intrinsic: 1.2.4 dev: true - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: true - /get-tsconfig@4.7.3: resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} dependencies: @@ -7630,6 +7779,11 @@ packages: engines: {node: '>=18'} dev: true + /globals@15.1.0: + resolution: {integrity: sha512-926gJqg+4mkxwYKiFvoomM4J0kWESfk3qfTvRL2/oc/tK/eTDBbrfcKnSa2KtfdxB5onoL7D3A3qIHQFpd4+UA==} + engines: {node: '>=18'} + dev: true + /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} @@ -7769,6 +7923,7 @@ packages: /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} + requiresBuild: true /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -7842,15 +7997,6 @@ packages: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} - /htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.1.0 - entities: 4.5.0 - dev: true - /http-assert@1.5.0: resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==} engines: {node: '>= 0.8'} @@ -8547,13 +8693,6 @@ packages: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} dev: true - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -9211,6 +9350,10 @@ packages: engines: {node: ^14 || ^16 || >=18} hasBin: true + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -9705,33 +9848,6 @@ packages: object-keys: 1.1.1 dev: true - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - dev: true - - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - dev: true - - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - dev: true - /ofetch@1.3.3: resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} dependencies: @@ -10792,14 +10908,6 @@ packages: util-deprecate: 1.0.2 dev: false - /postcss-selector-parser@6.0.15: - resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: true - /postcss-selector-parser@6.0.16: resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} engines: {node: '>=4'} @@ -10871,6 +10979,19 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + dev: true + /pretty-bytes@6.1.1: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} @@ -11827,6 +11948,11 @@ packages: optionalDependencies: bare-events: 2.2.2 + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -11926,11 +12052,6 @@ packages: dependencies: ansi-regex: 6.0.1 - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -12003,6 +12124,7 @@ packages: /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} + requiresBuild: true dependencies: has-flag: 3.0.0 @@ -12049,6 +12171,14 @@ packages: tslib: 2.6.2 dev: true + /synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + /system-architecture@0.1.0: resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} engines: {node: '>=18'} @@ -12251,6 +12381,13 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + /toml-eslint-parser@0.9.3: + resolution: {integrity: sha512-moYoCvkNUAPCxSW9jmHmRElhm4tVJpHL8ItC/+uYD0EpPSFXbck7yREz9tNdJVTSpHVod8+HoipcpbQ0oE6gsw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + eslint-visitor-keys: 3.4.3 + dev: true + /totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} @@ -12258,15 +12395,6 @@ packages: /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - /ts-api-utils@1.0.3(typescript@5.4.4): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' - dependencies: - typescript: 5.4.4 - dev: true - /ts-api-utils@1.3.0(typescript@5.4.4): resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -12280,15 +12408,6 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: false - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true diff --git a/src/devtools.ts b/src/devtools.ts index 37af08b..a211656 100644 --- a/src/devtools.ts +++ b/src/devtools.ts @@ -1,4 +1,4 @@ -import { existsSync } from 'fs' +import { existsSync } from 'node:fs' import type { Nuxt } from 'nuxt/schema' import type { Resolver } from '@nuxt/kit' @@ -8,7 +8,7 @@ const DEVTOOLS_UI_LOCAL_PORT = 3300 export function setupDevToolsUI(nuxt: Nuxt, resolver: Resolver) { const clientPath = resolver.resolve('./client') const isProductionBuild = existsSync(clientPath) - + // Serve production-built client (used when package is published) if (isProductionBuild) { nuxt.hook('vite:serverCreated', async (server) => { diff --git a/src/module.ts b/src/module.ts index 964dbc0..62036b1 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1,5 +1,5 @@ -import { readFile } from 'fs/promises' -import { defineNuxtModule, addImports, addComponent, createResolver, resolvePath, addVitePlugin } from '@nuxt/kit' +import { readFile } from 'node:fs/promises' +import { addComponent, addImports, addVitePlugin, createResolver, defineNuxtModule, resolvePath } from '@nuxt/kit' import * as core from '@tresjs/core' import { templateCompilerOptions } from '@tresjs/core' import { readPackageJSON } from 'pkg-types' @@ -60,10 +60,10 @@ export default defineNuxtModule({ const coreDeps = Object.keys({ ...pkg.dependencies, ...pkg.devDependencies }).filter(d => d.startsWith('@tresjs/')) for (const mod of new Set([...options.modules, ...coreDeps])) { - if (mod === '@tresjs/core' || mod === '@tresjs/nuxt') continue + if (mod === '@tresjs/core' || mod === '@tresjs/nuxt') { continue } const entry = await resolvePath(mod) - if (entry === mod) continue + if (entry === mod) { continue } const imports = findExportNames(await readFile(entry, 'utf8')) @@ -103,10 +103,8 @@ export default defineNuxtModule({ }), ]) - if (options.devtools) - setupDevToolsUI(nuxt, resolver) + if (options.devtools) { setupDevToolsUI(nuxt, resolver) } - if (options.glsl) - addVitePlugin(glsl()) + if (options.glsl) { addVitePlugin(glsl()) } }, }) diff --git a/src/runtime/TresCanvas.client.vue b/src/runtime/TresCanvas.client.vue index 063efd9..a40f24a 100644 --- a/src/runtime/TresCanvas.client.vue +++ b/src/runtime/TresCanvas.client.vue @@ -4,6 +4,6 @@ import { TresCanvas as CoreTresCanvas } from '@tresjs/core' diff --git a/src/runtime/TresCanvas.server.vue b/src/runtime/TresCanvas.server.vue index afae800..18e045c 100644 --- a/src/runtime/TresCanvas.server.vue +++ b/src/runtime/TresCanvas.server.vue @@ -2,5 +2,5 @@ diff --git a/src/runtime/TresCanvas.vue.d.ts b/src/runtime/TresCanvas.vue.d.ts index d5bdd4d..35301c8 100644 --- a/src/runtime/TresCanvas.vue.d.ts +++ b/src/runtime/TresCanvas.vue.d.ts @@ -1,2 +1,2 @@ -const _default: typeof import('@tresjs/core')['TresCanvas']; -export default _default; +const _default: typeof import('@tresjs/core')['TresCanvas'] +export default _default diff --git a/test/basic.test.ts b/test/basic.test.ts index 1f1c3c5..811eee0 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -1,6 +1,6 @@ import { fileURLToPath } from 'node:url' -import { describe, it, expect } from 'vitest' -import { setup, $fetch, createPage, url } from '@nuxt/test-utils' +import { describe, expect, it } from 'vitest' +import { $fetch, createPage, setup, url } from '@nuxt/test-utils' describe('ssr', async () => { await setup({