From 57b0e191512d6d6f53a7dc029cc925ca681e2650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?He=CC=84sperus?= Date: Wed, 1 Apr 2026 22:10:36 +0800 Subject: [PATCH 1/2] chore(monorepo): restructure the repo to a monorepo --- .github/workflows/ci-docs.yml | 2 +- .github/workflows/ci-routine.yml | 2 +- .github/workflows/publish.yml | 4 +- .gitignore | 3 +- .oxlintrc.json | 2 +- docs/.vitepress/config.ts | 10 +- docs/components/playground.vue | 8 +- docs/en/development/testing.md | 4 +- docs/package.json | 25 + docs/tsconfig.json | 4 + package.json | 64 +- packages/core/README.md | 78 +++ packages/core/package.json | 51 ++ {src => packages/core/src}/BaseModule.ts | 0 {src => packages/core/src}/Pointeract.ts | 0 {src => packages/core/src}/index.ts | 0 {src => packages/core/src}/modules/Click.ts | 0 {src => packages/core/src}/modules/Drag.ts | 0 .../core/src}/modules/Lubricator.ts | 0 .../core/src}/modules/MultitouchPanZoom.ts | 0 .../core/src}/modules/PreventDefault.ts | 0 {src => packages/core/src}/modules/Swipe.ts | 0 .../core/src}/modules/WheelPanZoom.ts | 0 {src => packages/core/src}/types.ts | 0 {src => packages/core/src}/utils.ts | 0 {tests => packages/core/tests}/click.test.ts | 0 {tests => packages/core/tests}/dev/index.html | 0 {tests => packages/core/tests}/dev/script.ts | 0 {tests => packages/core/tests}/drag.test.ts | 0 .../core/tests}/integration.test.ts | 0 .../core/tests}/lubricator.test.ts | 0 .../core/tests}/multiTouch.test.ts | 0 {tests => packages/core/tests}/swipe.test.ts | 0 {tests => packages/core/tests}/testUtils.ts | 0 {tests => packages/core/tests}/wheel.test.ts | 0 packages/core/tsconfig.json | 10 + packages/core/tsdown.config.ts | 14 + .../core/vite.config.ts | 8 +- packages/shared/index.ts | 8 + packages/shared/package.json | 17 + packages/shared/tsconfig.json | 7 + pnpm-lock.yaml | 609 ++++++++++-------- pnpm-workspace.yaml | 3 + tsconfig.build.json | 12 - tsconfig.json | 6 +- turbo.json | 33 + 46 files changed, 619 insertions(+), 365 deletions(-) create mode 100644 docs/package.json create mode 100644 docs/tsconfig.json create mode 100644 packages/core/README.md create mode 100644 packages/core/package.json rename {src => packages/core/src}/BaseModule.ts (100%) rename {src => packages/core/src}/Pointeract.ts (100%) rename {src => packages/core/src}/index.ts (100%) rename {src => packages/core/src}/modules/Click.ts (100%) rename {src => packages/core/src}/modules/Drag.ts (100%) rename {src => packages/core/src}/modules/Lubricator.ts (100%) rename {src => packages/core/src}/modules/MultitouchPanZoom.ts (100%) rename {src => packages/core/src}/modules/PreventDefault.ts (100%) rename {src => packages/core/src}/modules/Swipe.ts (100%) rename {src => packages/core/src}/modules/WheelPanZoom.ts (100%) rename {src => packages/core/src}/types.ts (100%) rename {src => packages/core/src}/utils.ts (100%) rename {tests => packages/core/tests}/click.test.ts (100%) rename {tests => packages/core/tests}/dev/index.html (100%) rename {tests => packages/core/tests}/dev/script.ts (100%) rename {tests => packages/core/tests}/drag.test.ts (100%) rename {tests => packages/core/tests}/integration.test.ts (100%) rename {tests => packages/core/tests}/lubricator.test.ts (100%) rename {tests => packages/core/tests}/multiTouch.test.ts (100%) rename {tests => packages/core/tests}/swipe.test.ts (100%) rename {tests => packages/core/tests}/testUtils.ts (100%) rename {tests => packages/core/tests}/wheel.test.ts (100%) create mode 100644 packages/core/tsconfig.json create mode 100644 packages/core/tsdown.config.ts rename vite.config.ts => packages/core/vite.config.ts (81%) create mode 100644 packages/shared/index.ts create mode 100644 packages/shared/package.json create mode 100644 packages/shared/tsconfig.json create mode 100644 pnpm-workspace.yaml delete mode 100644 tsconfig.build.json create mode 100644 turbo.json diff --git a/.github/workflows/ci-docs.yml b/.github/workflows/ci-docs.yml index 55be08d..db98f9a 100644 --- a/.github/workflows/ci-docs.yml +++ b/.github/workflows/ci-docs.yml @@ -42,7 +42,7 @@ jobs: run: pnpm install - name: Build Docs - run: pnpm docs:build + run: pnpm build -F docs - name: Deploy (push to main) uses: JamesIves/github-pages-deploy-action@v4 diff --git a/.github/workflows/ci-routine.yml b/.github/workflows/ci-routine.yml index 3e2b8b8..1c7dcdb 100644 --- a/.github/workflows/ci-routine.yml +++ b/.github/workflows/ci-routine.yml @@ -38,4 +38,4 @@ jobs: run: pnpm check - name: Run test build - run: pnpm build + run: pnpm build -F "!docs" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 174aae1..2a368f9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -32,7 +32,7 @@ jobs: run: pnpm install - name: Build - run: pnpm build + run: pnpm build -F "!docs" - name: Publish to npm - run: pnpm publish --no-git-checks + run: pnpm publish -r --no-git-checks diff --git a/.gitignore b/.gitignore index adfcf57..0974581 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,6 @@ node_modules # dot files -.cursor -.continue .vscode # generated files @@ -20,6 +18,7 @@ coverage # cache .cache +.turbo docs/.vitepress/cache # dist diff --git a/.oxlintrc.json b/.oxlintrc.json index b9b43a2..f835067 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -114,5 +114,5 @@ "builtin": true }, "globals": {}, - "ignorePatterns": [] + "ignorePatterns": ["**/node_modules/**", "**/dist/**"] } diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 5f3fff1..f433d7b 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -1,9 +1,10 @@ -import { resolve } from 'node:path'; +import { createP } from '@repo/shared'; import { defineConfig } from 'vitepress'; import { groupIconMdPlugin, groupIconVitePlugin } from 'vitepress-plugin-group-icons'; import { ThemeConfig } from 'vitepress-theme-trito'; const inDev = process.env.MODE === 'dev'; +const p = createP(import.meta.url); export default defineConfig({ cleanUrls: true, @@ -115,12 +116,7 @@ export default defineConfig({ }, vite: { plugins: [groupIconVitePlugin() as never], // legacy plugin cannot adapt vite 8 - publicDir: resolve(__dirname, '../public'), - resolve: { - alias: { - '@': resolve(__dirname, '..', '..', 'src/'), - }, - }, + publicDir: p('../public'), ssr: { noExternal: ['vitepress-theme-trito'], }, diff --git a/docs/components/playground.vue b/docs/components/playground.vue index edad4cf..d62183e 100644 --- a/docs/components/playground.vue +++ b/docs/components/playground.vue @@ -23,9 +23,13 @@ import { lubricatorDragPreset as drag, lubricatorPanPreset as pan, lubricatorZoomPreset as zoom, -} from '@'; +} from 'pointeract'; import { onMounted, reactive, useTemplateRef, onBeforeUnmount } from 'vue'; -import { Coordinates } from '@/types'; + +type Coordinates = { + x: number; + y: number; +}; function C2C(coords: Coordinates) { return { diff --git a/docs/en/development/testing.md b/docs/en/development/testing.md index e18bf5b..5ecb3f7 100644 --- a/docs/en/development/testing.md +++ b/docs/en/development/testing.md @@ -16,9 +16,9 @@ Pointeract obeys the test requirements as follows: ## Monkey Test -One great feature of Pointeract that we are proud of is its robustness which exceeds most competitors. The following test is an example: +Here's the proof why Pointeract claims itself robust: -<<< ../../../tests/integration.test.ts#monkey-test +<<< ../../../packages/core/tests/integration.test.ts#monkey-test The interaction denoted by the code is visualized as follows: diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000..f1e844e --- /dev/null +++ b/docs/package.json @@ -0,0 +1,25 @@ +{ + "name": "docs", + "version": "0.0.1", + "private": true, + "type": "module", + "scripts": { + "lint": "oxlint --type-aware --fix && oxfmt", + "check": "vue-tsc && oxfmt --check && oxlint --type-aware", + "dev": "MODE=dev vitepress dev", + "build": "MODE=prod vitepress build", + "preview": "MODE=prod vitepress preview" + }, + "dependencies": { + "pointeract": "workspace:*", + "vitepress": "2.0.0-alpha.17", + "vitepress-plugin-group-icons": "^1.7.3", + "vitepress-theme-trito": "^1.1.1", + "vue": "^3.5.31" + }, + "devDependencies": { + "@repo/shared": "workspace:*", + "vue-tsc": "^3.2.6" + }, + "packageManager": "pnpm@10.29.3" +} diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 0000000..08e8528 --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../tsconfig.json", + "include": ["./**/*.ts", "./**/*.vue"] +} diff --git a/package.json b/package.json index 959da12..ac946f5 100644 --- a/package.json +++ b/package.json @@ -1,51 +1,14 @@ { - "name": "pointeract", - "version": "1.2.0", - "description": "A 3KB, tree-shakable, TypeScript-native human interaction library for robust tap/pan/zoom gestures — runtime-flexible and extensible.", - "keywords": [ - "frontend", - "gesture-detection", - "lightweight", - "pan-zoom", - "typescript" - ], - "homepage": "https://pointeract.consensia.cc", - "bugs": { - "url": "https://github.com/hesprs/pointeract/issues" - }, - "license": "Apache-2.0", - "author": { - "name": "Hēsperus", - "email": "hesprs@outlook.com" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/hesprs/pointeract.git" - }, - "files": [ - "dist" - ], + "name": "monorepo-pointeract", + "private": true, "type": "module", - "sideEffects": false, - "main": "./dist/index.js", - "module": "./dist/index.js", - "types": "./dist/index.d.ts", - "unpkg": "./dist/index.js", - "jsdelivr": "./dist/index.js", - "publishConfig": { - "access": "public", - "provenance": true - }, "scripts": { - "build": "vite build && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json", - "test": "vitest run", - "lint": "oxlint --type-aware --fix && oxfmt", - "test:coverage": "vitest run --coverage", - "check": "vue-tsc && oxfmt --check && oxlint --type-aware", - "dev": "vite", - "docs:dev": "MODE=dev vitepress dev docs", - "docs:build": "MODE=prod vitepress build docs", - "docs:preview": "MODE=prod vitepress preview docs" + "build": "turbo run build", + "test": "turbo run test", + "lint": "turbo run lint", + "test:coverage": "turbo run test:coverage", + "check": "turbo run check", + "dev": "turbo run dev" }, "devDependencies": { "@types/node": "^25.5.0", @@ -54,16 +17,11 @@ "oxfmt": "^0.43.0", "oxlint": "^1.58.0", "oxlint-tsgolint": "^0.19.0", - "terser": "^5.46.1", - "tsc-alias": "^1.8.16", + "tsdown": "^0.21.7", + "turbo": "^2.9.3", "typescript": "^6.0.2", "vite": "^8.0.3", - "vitepress": "2.0.0-alpha.17", - "vitepress-plugin-group-icons": "^1.7.3", - "vitepress-theme-trito": "^1.1.1", - "vitest": "^4.1.2", - "vue": "^3.5.31", - "vue-tsc": "^3.2.6" + "vitest": "^4.1.2" }, "packageManager": "pnpm@10.29.3" } diff --git a/packages/core/README.md b/packages/core/README.md new file mode 100644 index 0000000..f4f236c --- /dev/null +++ b/packages/core/README.md @@ -0,0 +1,78 @@ +

+ Pointeract +
+

+ +

🖱️🤏 lightweight, robust and extensible human gesture detector

+ +

+ + Demo + • + + Documentation + • + + npm + +

+ +## Get Started + +Install Pointeract using your favorite package manager: + +```sh +# npm +npm add pointeract + +# pnpm +pnpm add pointeract + +# yarn +yarn add pointeract + +# bun +bun add pointeract +``` + +Or include the following lines directly in your HTML file: + +```html + +``` + +This link ships the latest ESM version by default. + +Then simply grab the core class and a module: + +```TypeScript +import { Pointeract, Drag } from 'pointeract'; + +new Pointeract({ element: yourElement }, [Drag]) + .start() + .on('drag', e => console.log(e)); +``` + +Congratulations! You can now press your mouse or finger to the element and move, the console will log events like a waterfall. + +**Read next**: dive into the usage of Pointeract in [Use Pointeract](https://pointeract.consensia.cc/basic/use-pointeract). + +## Currently Supported Features + +- **Click (Double Click, Triple Click, Quadruple Click, Any Click)** +- **Drag** +- **Swipe (All directions, single / multiple fingers)** +- **Pan and Zoom via Mouse Wheel (`ctrl`/`shift` key binding, touchpad support)** +- **Pan and Zoom via Multitouch (Pan, Pinch)** +- **One-line Prevent Default** +- **Smooth Everything (drag / pan / zoom / any interaction involving numbers)** + +Those interactions are shipped via modules, which can be composed from a single drag-and-drop to a canvas app. + +Missing your desired interaction? [Write your own module](https://pointeract.consensia.cc/development/custom-modules)! + +## Copyright and License + +Copyright ©️ 2025-2026 Hesprs (Hēsperus) | [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) diff --git a/packages/core/package.json b/packages/core/package.json new file mode 100644 index 0000000..720eb92 --- /dev/null +++ b/packages/core/package.json @@ -0,0 +1,51 @@ +{ + "name": "pointeract", + "version": "1.2.0", + "description": "A 3KB, tree-shakable, TypeScript-native human interaction library for robust tap/pan/zoom gestures — runtime-flexible and extensible.", + "keywords": [ + "frontend", + "gesture-detection", + "lightweight", + "pan-zoom", + "typescript" + ], + "homepage": "https://pointeract.consensia.cc", + "bugs": { + "url": "https://github.com/hesprs/pointeract/issues" + }, + "license": "Apache-2.0", + "author": { + "name": "Hēsperus", + "email": "hesprs@outlook.com" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/hesprs/pointeract.git" + }, + "files": [ + "dist" + ], + "type": "module", + "sideEffects": false, + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "unpkg": "./dist/index.js", + "jsdelivr": "./dist/index.js", + "publishConfig": { + "access": "public", + "provenance": true + }, + "scripts": { + "build": "tsdown", + "test": "vitest run", + "lint": "oxlint --type-aware --fix && oxfmt", + "test:coverage": "vitest run --coverage", + "check": "oxfmt --check && oxlint --type-aware", + "dev": "vite" + }, + "devDependencies": { + "@repo/shared": "workspace:*" + }, + "packageManager": "pnpm@10.29.3" +} diff --git a/src/BaseModule.ts b/packages/core/src/BaseModule.ts similarity index 100% rename from src/BaseModule.ts rename to packages/core/src/BaseModule.ts diff --git a/src/Pointeract.ts b/packages/core/src/Pointeract.ts similarity index 100% rename from src/Pointeract.ts rename to packages/core/src/Pointeract.ts diff --git a/src/index.ts b/packages/core/src/index.ts similarity index 100% rename from src/index.ts rename to packages/core/src/index.ts diff --git a/src/modules/Click.ts b/packages/core/src/modules/Click.ts similarity index 100% rename from src/modules/Click.ts rename to packages/core/src/modules/Click.ts diff --git a/src/modules/Drag.ts b/packages/core/src/modules/Drag.ts similarity index 100% rename from src/modules/Drag.ts rename to packages/core/src/modules/Drag.ts diff --git a/src/modules/Lubricator.ts b/packages/core/src/modules/Lubricator.ts similarity index 100% rename from src/modules/Lubricator.ts rename to packages/core/src/modules/Lubricator.ts diff --git a/src/modules/MultitouchPanZoom.ts b/packages/core/src/modules/MultitouchPanZoom.ts similarity index 100% rename from src/modules/MultitouchPanZoom.ts rename to packages/core/src/modules/MultitouchPanZoom.ts diff --git a/src/modules/PreventDefault.ts b/packages/core/src/modules/PreventDefault.ts similarity index 100% rename from src/modules/PreventDefault.ts rename to packages/core/src/modules/PreventDefault.ts diff --git a/src/modules/Swipe.ts b/packages/core/src/modules/Swipe.ts similarity index 100% rename from src/modules/Swipe.ts rename to packages/core/src/modules/Swipe.ts diff --git a/src/modules/WheelPanZoom.ts b/packages/core/src/modules/WheelPanZoom.ts similarity index 100% rename from src/modules/WheelPanZoom.ts rename to packages/core/src/modules/WheelPanZoom.ts diff --git a/src/types.ts b/packages/core/src/types.ts similarity index 100% rename from src/types.ts rename to packages/core/src/types.ts diff --git a/src/utils.ts b/packages/core/src/utils.ts similarity index 100% rename from src/utils.ts rename to packages/core/src/utils.ts diff --git a/tests/click.test.ts b/packages/core/tests/click.test.ts similarity index 100% rename from tests/click.test.ts rename to packages/core/tests/click.test.ts diff --git a/tests/dev/index.html b/packages/core/tests/dev/index.html similarity index 100% rename from tests/dev/index.html rename to packages/core/tests/dev/index.html diff --git a/tests/dev/script.ts b/packages/core/tests/dev/script.ts similarity index 100% rename from tests/dev/script.ts rename to packages/core/tests/dev/script.ts diff --git a/tests/drag.test.ts b/packages/core/tests/drag.test.ts similarity index 100% rename from tests/drag.test.ts rename to packages/core/tests/drag.test.ts diff --git a/tests/integration.test.ts b/packages/core/tests/integration.test.ts similarity index 100% rename from tests/integration.test.ts rename to packages/core/tests/integration.test.ts diff --git a/tests/lubricator.test.ts b/packages/core/tests/lubricator.test.ts similarity index 100% rename from tests/lubricator.test.ts rename to packages/core/tests/lubricator.test.ts diff --git a/tests/multiTouch.test.ts b/packages/core/tests/multiTouch.test.ts similarity index 100% rename from tests/multiTouch.test.ts rename to packages/core/tests/multiTouch.test.ts diff --git a/tests/swipe.test.ts b/packages/core/tests/swipe.test.ts similarity index 100% rename from tests/swipe.test.ts rename to packages/core/tests/swipe.test.ts diff --git a/tests/testUtils.ts b/packages/core/tests/testUtils.ts similarity index 100% rename from tests/testUtils.ts rename to packages/core/tests/testUtils.ts diff --git a/tests/wheel.test.ts b/packages/core/tests/wheel.test.ts similarity index 100% rename from tests/wheel.test.ts rename to packages/core/tests/wheel.test.ts diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json new file mode 100644 index 0000000..2aee9a7 --- /dev/null +++ b/packages/core/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "paths": { + "@/*": ["./src/*"], + "@": ["./src"] + } + }, + "include": ["./**/*.ts"] +} diff --git a/packages/core/tsdown.config.ts b/packages/core/tsdown.config.ts new file mode 100644 index 0000000..bd3e5e4 --- /dev/null +++ b/packages/core/tsdown.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from 'tsdown'; + +export default defineConfig({ + entry: 'src/index.ts', + dts: { + eager: true, + }, + minify: true, + sourcemap: true, + outExtensions: () => ({ + js: '.js', + dts: '.d.ts', + }), +}); diff --git a/vite.config.ts b/packages/core/vite.config.ts similarity index 81% rename from vite.config.ts rename to packages/core/vite.config.ts index 01ae59d..19b5a13 100644 --- a/vite.config.ts +++ b/packages/core/vite.config.ts @@ -1,11 +1,9 @@ /// -import { resolve } from 'node:path'; +import { createP } from '@repo/shared'; import { defineConfig } from 'vite'; -function p(path: string) { - return resolve(__dirname, path); -} +const p = createP(import.meta.url); export default defineConfig({ root: 'tests/dev', @@ -29,7 +27,7 @@ export default defineConfig({ }, }, test: { - root: __dirname, + root: p('.'), environment: 'happy-dom', setupFiles: ['./tests/testUtils.ts'], coverage: { diff --git a/packages/shared/index.ts b/packages/shared/index.ts new file mode 100644 index 0000000..f037126 --- /dev/null +++ b/packages/shared/index.ts @@ -0,0 +1,8 @@ +import { resolve, dirname } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +export function createP(url: string) { + const __filename = fileURLToPath(url); + const __dirname = dirname(__filename); + return (path: string) => resolve(__dirname, path); +} diff --git a/packages/shared/package.json b/packages/shared/package.json new file mode 100644 index 0000000..41d1cac --- /dev/null +++ b/packages/shared/package.json @@ -0,0 +1,17 @@ +{ + "name": "@repo/shared", + "version": "0.0.1", + "private": true, + "files": [ + "./index.ts" + ], + "type": "module", + "sideEffects": false, + "main": "./index.ts", + "module": "./index.ts", + "types": "./index.ts", + "scripts": { + "lint": "oxlint --type-aware --fix && oxfmt", + "check": "tsc && oxfmt --check && oxlint --type-aware" + } +} diff --git a/packages/shared/tsconfig.json b/packages/shared/tsconfig.json new file mode 100644 index 0000000..91b6a17 --- /dev/null +++ b/packages/shared/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.json", + "include": ["./**/*.ts"], + "compilerOptions": { + "types": ["node"] + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6ed0367..dd221e9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,37 +26,55 @@ importers: oxlint-tsgolint: specifier: ^0.19.0 version: 0.19.0 - terser: - specifier: ^5.46.1 - version: 5.46.1 - tsc-alias: - specifier: ^1.8.16 - version: 1.8.16 + tsdown: + specifier: ^0.21.7 + version: 0.21.7(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(typescript@6.0.2)(vue-tsc@3.2.6(typescript@6.0.2)) + turbo: + specifier: ^2.9.3 + version: 2.9.3 typescript: specifier: ^6.0.2 version: 6.0.2 vite: specifier: ^8.0.3 version: 8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.5.0)(esbuild@0.27.4)(terser@5.46.1) + vitest: + specifier: ^4.1.2 + version: 4.1.2(@types/node@25.5.0)(happy-dom@20.8.9)(jsdom@27.3.0)(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.5.0)(esbuild@0.27.4)(terser@5.46.1)) + + docs: + dependencies: + pointeract: + specifier: workspace:* + version: link:../packages/core vitepress: specifier: 2.0.0-alpha.17 version: 2.0.0-alpha.17(@types/node@25.5.0)(lightningcss@1.32.0)(postcss@8.5.8)(terser@5.46.1)(typescript@6.0.2) vitepress-plugin-group-icons: specifier: ^1.7.3 - version: 1.7.3(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.5.0)(esbuild@0.27.4)(terser@5.46.1)) + version: 1.7.3(vite@7.3.1(@types/node@25.5.0)(lightningcss@1.32.0)(terser@5.46.1)) vitepress-theme-trito: specifier: ^1.1.1 version: 1.1.1(@types/node@25.5.0)(focus-trap@7.8.0)(lightningcss@1.32.0)(postcss@8.5.8)(terser@5.46.1)(typescript@6.0.2) - vitest: - specifier: ^4.1.2 - version: 4.1.2(@types/node@25.5.0)(happy-dom@20.8.9)(jsdom@27.3.0)(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.5.0)(esbuild@0.27.4)(terser@5.46.1)) vue: specifier: ^3.5.31 version: 3.5.31(typescript@6.0.2) + devDependencies: + '@repo/shared': + specifier: workspace:* + version: link:../packages/shared vue-tsc: specifier: ^3.2.6 version: 3.2.6(typescript@6.0.2) + packages/core: + devDependencies: + '@repo/shared': + specifier: workspace:* + version: link:../shared + + packages/shared: {} + packages: '@acemir/cssom@0.9.31': @@ -74,23 +92,44 @@ packages: '@asamuzakjp/nwsapi@2.3.9': resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} + '@babel/generator@8.0.0-rc.3': + resolution: {integrity: sha512-em37/13/nR320G4jab/nIIHZgc2Wz2y/D39lxnTyxB4/D/omPQncl/lSdlnJY1OhQcRGugTSIF2l/69o31C9dA==} + engines: {node: ^20.19.0 || >=22.12.0} + '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@8.0.0-rc.3': + resolution: {integrity: sha512-AmwWFx1m8G/a5cXkxLxTiWl+YEoWuoFLUCwqMlNuWO1tqAYITQAbCRPUkyBHv1VOFgfjVOqEj6L3u15J5ZCzTA==} + engines: {node: ^20.19.0 || >=22.12.0} + '@babel/helper-validator-identifier@7.28.5': resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@8.0.0-rc.3': + resolution: {integrity: sha512-8AWCJ2VJJyDFlGBep5GpaaQ9AAaE/FjAcrqI7jyssYhtL7WGV0DOKpJsQqM037xDbpRLHXsY8TwU7zDma7coOw==} + engines: {node: ^20.19.0 || >=22.12.0} + '@babel/parser@7.29.2': resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@8.0.0-rc.3': + resolution: {integrity: sha512-B20dvP3MfNc/XS5KKCHy/oyWl5IA6Cn9YjXRdDlCjNmUFrjvLXMNUfQq/QUy9fnG2gYkKKcrto2YaF9B32ToOQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + '@babel/types@7.29.0': resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} + '@babel/types@8.0.0-rc.3': + resolution: {integrity: sha512-mOm5ZrYmphGfqVWoH5YYMTITb3cDXsFgmvFlvkvWDMsR9X8RFnt7a0Wb6yNIdoFsiMO9WjYLq+U/FMtqIYAF8Q==} + engines: {node: ^20.19.0 || >=22.12.0} + '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} @@ -342,18 +381,6 @@ packages: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - '@oxc-project/types@0.122.0': resolution: {integrity: sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==} @@ -631,6 +658,9 @@ packages: cpu: [x64] os: [win32] + '@quansync/fs@1.0.0': + resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} + '@rolldown/binding-android-arm64@1.0.0-rc.12': resolution: {integrity: sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -905,6 +935,36 @@ packages: '@tabler/icons@3.41.1': resolution: {integrity: sha512-OaRnVbRmH2nHtFeg+RmMJ/7m2oBIF9XCJAUD5gQnMrpK9f05ydj8MZrAf3NZQqOXyxGN1UBL0D5IKLLEUfr74Q==} + '@turbo/darwin-64@2.9.3': + resolution: {integrity: sha512-P8foouaP+y/p+hhEGBoZpzMbpVvUMwPjDpcy6wN7EYfvvyISD1USuV27qWkczecihwuPJzQ1lDBuL8ERcavTyg==} + cpu: [x64] + os: [darwin] + + '@turbo/darwin-arm64@2.9.3': + resolution: {integrity: sha512-SIzEkvtNdzdI50FJDaIQ6kQGqgSSdFPcdn0wqmmONN6iGKjy6hsT+EH99GP65FsfV7DLZTh2NmtTIRl2kdoz5Q==} + cpu: [arm64] + os: [darwin] + + '@turbo/linux-64@2.9.3': + resolution: {integrity: sha512-pLRwFmcHHNBvsCySLS6OFabr/07kDT2pxEt/k6eBf/3asiVQZKJ7Rk88AafQx2aYA641qek4RsXvYO3JYpiBug==} + cpu: [x64] + os: [linux] + + '@turbo/linux-arm64@2.9.3': + resolution: {integrity: sha512-gy6ApUroC2Nzv+qjGtE/uPNkhHAFU4c8God+zd5Aiv9L9uBgHlxVJpHT3XWl5xwlJZ2KWuMrlHTaS5kmNB+q1Q==} + cpu: [arm64] + os: [linux] + + '@turbo/windows-64@2.9.3': + resolution: {integrity: sha512-d0YelTX6hAsB7kIEtGB3PzIzSfAg3yDoUlHwuwJc3adBXUsyUIs0YLG+1NNtuhcDOUGnWQeKUoJ2pGWvbpRj7w==} + cpu: [x64] + os: [win32] + + '@turbo/windows-arm64@2.9.3': + resolution: {integrity: sha512-/08CwpKJl3oRY8nOlh2YgilZVJDHsr60XTNxRhuDeuFXONpUZ5X+Nv65izbG/xBew9qxcJFbDX9/sAmAX+ITcQ==} + cpu: [arm64] + os: [win32] + '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} @@ -920,6 +980,9 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/jsesc@2.5.1': + resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} + '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} @@ -1112,38 +1175,37 @@ packages: alien-signals@3.1.2: resolution: {integrity: sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + ansis@4.2.0: + resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} + engines: {node: '>=14'} assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + ast-kit@3.0.0-beta.1: + resolution: {integrity: sha512-trmleAnZ2PxN/loHWVhhx1qeOHSRXq4TDsBBxq3GqeJitfk3+jTQ+v/C1km/KYq9M7wKqCewMh+/NAvVH7m+bw==} + engines: {node: '>=20.19.0'} + ast-v8-to-istanbul@1.0.0: resolution: {integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==} bidi-js@1.0.3: resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - birpc@2.9.0: resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + birpc@4.0.0: + resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + cac@7.0.0: + resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} + engines: {node: '>=20.19.0'} + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -1157,20 +1219,12 @@ packages: character-entities-legacy@3.0.0: resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} @@ -1204,6 +1258,9 @@ packages: decimal.js@10.6.0: resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -1215,9 +1272,18 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + dts-resolver@2.1.3: + resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==} + engines: {node: '>=20.19.0'} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + + empathic@2.0.0: + resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + engines: {node: '>=14'} entities@6.0.1: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} @@ -1245,13 +1311,6 @@ packages: resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} engines: {node: '>=12.0.0'} - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - - fastq@1.20.1: - resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} - fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -1261,10 +1320,6 @@ packages: picomatch: optional: true - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - focus-trap@7.8.0: resolution: {integrity: sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==} @@ -1279,14 +1334,6 @@ packages: get-tsconfig@4.13.7: resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==} - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - happy-dom@20.8.9: resolution: {integrity: sha512-Tz23LR9T9jOGVZm2x1EPdXqwA37G/owYMxRwU0E4miurAtFsPMQ1d2Jc2okUaSjZqAFz2oEn3FLXC5a0a+siyA==} engines: {node: '>=20.0.0'} @@ -1304,6 +1351,9 @@ packages: hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + hookable@6.1.0: + resolution: {integrity: sha512-ZoKZSJgu8voGK2geJS+6YtYjvIzu9AOM/KZXsBxr83uhLL++e9pEv/dlgwgy3dvHg06kTz6JOh1hk3C8Ceiymw==} + html-encoding-sniffer@4.0.0: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} @@ -1326,25 +1376,9 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + import-without-cache@0.2.5: + resolution: {integrity: sha512-B6Lc2s6yApwnD2/pMzFh/d5AVjdsDXjgkeJ766FmFuJELIGHNycKRj+l3A39yZPM4CchqNCB4RITEAYB1KUM6A==} + engines: {node: '>=20.19.0'} is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} @@ -1373,6 +1407,11 @@ packages: canvas: optional: true + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + lightningcss-android-arm64@1.32.0: resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} engines: {node: '>= 12.0.0'} @@ -1470,10 +1509,6 @@ packages: mdn-data@2.27.1: resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - micromark-util-character@2.1.1: resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} @@ -1489,10 +1524,6 @@ packages: micromark-util-types@2.0.2: resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - minisearch@7.2.0: resolution: {integrity: sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==} @@ -1505,19 +1536,11 @@ packages: muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} - mylas@2.1.14: - resolution: {integrity: sha512-BzQguy9W9NJgoVn2mRWzbFrFWWztGCcng2QI9+41frfk+Athwgx3qhqhvStz7ExeUUu7Kzw427sNzHpEZNINog==} - engines: {node: '>=16.0.0'} - nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - obug@2.1.1: resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} @@ -1555,10 +1578,6 @@ packages: path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -1568,10 +1587,6 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - picomatch@2.3.2: - resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} - engines: {node: '>=8.6'} - picomatch@4.0.4: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} @@ -1579,10 +1594,6 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - plimit-lit@1.6.1: - resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} - engines: {node: '>=12'} - postcss@8.5.8: resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} engines: {node: ^10 || ^12 || >=14} @@ -1594,16 +1605,8 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - queue-lit@1.5.2: - resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} - engines: {node: '>=12'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + quansync@1.0.0: + resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} @@ -1621,9 +1624,24 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rolldown-plugin-dts@0.23.2: + resolution: {integrity: sha512-PbSqLawLgZBGcOGT3yqWBGn4cX+wh2nt5FuBGdcMHyOhoukmjbhYAl8NT9sE4U38Cm9tqLOIQeOrvzeayM0DLQ==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@ts-macro/tsc': ^0.3.6 + '@typescript/native-preview': '>=7.0.0-dev.20260325.1' + rolldown: ^1.0.0-rc.12 + typescript: ^5.0.0 || ^6.0.0 + vue-tsc: ~3.2.0 + peerDependenciesMeta: + '@ts-macro/tsc': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: + optional: true rolldown@1.0.0-rc.12: resolution: {integrity: sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A==} @@ -1635,9 +1653,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -1656,10 +1671,6 @@ packages: siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -1724,10 +1735,6 @@ packages: resolution: {integrity: sha512-I4FZcVFcqCRuT0ph6dCDpPuO4Xgzvh+spkcTr1gK7peIvxWauoloVO0vuy1FQnijT63ss6AsHB6+OIM4aXHbPg==} hasBin: true - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - tough-cookie@6.0.1: resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==} engines: {node: '>=16'} @@ -1736,17 +1743,48 @@ packages: resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} engines: {node: '>=20'} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - tsc-alias@1.8.16: - resolution: {integrity: sha512-QjCyu55NFyRSBAl6+MTFwplpFcnm2Pq01rR/uxfqJoLMm6X3O14KEGtaSDZpJYaE1bJBGDjD0eSuiIWPe2T58g==} - engines: {node: '>=16.20.2'} + tsdown@0.21.7: + resolution: {integrity: sha512-ukKIxKQzngkWvOYJAyptudclkm4VQqbjq+9HF5K5qDO8GJsYtMh8gIRwicbnZEnvFPr6mquFwYAVZ8JKt3rY2g==} + engines: {node: '>=20.19.0'} hasBin: true + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + '@tsdown/css': 0.21.7 + '@tsdown/exe': 0.21.7 + '@vitejs/devtools': '*' + publint: ^0.3.0 + typescript: ^5.0.0 || ^6.0.0 + unplugin-unused: ^0.5.0 + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@tsdown/css': + optional: true + '@tsdown/exe': + optional: true + '@vitejs/devtools': + optional: true + publint: + optional: true + typescript: + optional: true + unplugin-unused: + optional: true tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + turbo@2.9.3: + resolution: {integrity: sha512-J/VUvsGRykPb9R8Kh8dHVBOqioDexLk9BhLCU/ZybRR+HN9UR3cURdazFvNgMDt9zPP8TF6K73Z+tplfmi0PqQ==} + hasBin: true + typescript@6.0.2: resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==} engines: {node: '>=14.17'} @@ -1755,6 +1793,9 @@ packages: ufo@1.6.3: resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} + unconfig-core@7.5.0: + resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} + undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} @@ -1773,6 +1814,16 @@ packages: unist-util-visit@5.1.0: resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} + unrun@0.2.34: + resolution: {integrity: sha512-LyaghRBR++r7svhDK6tnDz2XaYHWdneBOA0jbS8wnRsHerI9MFljX4fIiTgbbNbEVzZ0C9P1OjWLLe1OqoaaEw==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + synckit: ^0.11.11 + peerDependenciesMeta: + synckit: + optional: true + vfile-message@4.0.3: resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} @@ -2042,19 +2093,41 @@ snapshots: '@asamuzakjp/nwsapi@2.3.9': optional: true + '@babel/generator@8.0.0-rc.3': + dependencies: + '@babel/parser': 8.0.0-rc.3 + '@babel/types': 8.0.0-rc.3 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@types/jsesc': 2.5.1 + jsesc: 3.1.0 + '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-string-parser@8.0.0-rc.3': {} + '@babel/helper-validator-identifier@7.28.5': {} + '@babel/helper-validator-identifier@8.0.0-rc.3': {} + '@babel/parser@7.29.2': dependencies: '@babel/types': 7.29.0 + '@babel/parser@8.0.0-rc.3': + dependencies: + '@babel/types': 8.0.0-rc.3 + '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@babel/types@8.0.0-rc.3': + dependencies: + '@babel/helper-string-parser': 8.0.0-rc.3 + '@babel/helper-validator-identifier': 8.0.0-rc.3 + '@bcoe/v8-coverage@1.0.2': {} '@csstools/color-helpers@6.0.2': @@ -2218,6 +2291,7 @@ snapshots: dependencies: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 + optional: true '@jridgewell/sourcemap-codec@1.5.5': {} @@ -2233,18 +2307,6 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.20.1 - '@oxc-project/types@0.122.0': {} '@oxfmt/binding-android-arm-eabi@0.43.0': @@ -2379,6 +2441,10 @@ snapshots: '@oxlint/binding-win32-x64-msvc@1.58.0': optional: true + '@quansync/fs@1.0.0': + dependencies: + quansync: 1.0.0 + '@rolldown/binding-android-arm64@1.0.0-rc.12': optional: true @@ -2555,6 +2621,24 @@ snapshots: '@tabler/icons@3.41.1': {} + '@turbo/darwin-64@2.9.3': + optional: true + + '@turbo/darwin-arm64@2.9.3': + optional: true + + '@turbo/linux-64@2.9.3': + optional: true + + '@turbo/linux-arm64@2.9.3': + optional: true + + '@turbo/windows-64@2.9.3': + optional: true + + '@turbo/windows-arm64@2.9.3': + optional: true + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 @@ -2573,6 +2657,8 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/jsesc@2.5.1': {} + '@types/linkify-it@5.0.0': {} '@types/markdown-it@14.1.2': @@ -2788,15 +2874,16 @@ snapshots: alien-signals@3.1.2: {} - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.2 - - array-union@2.1.0: {} + ansis@4.2.0: {} assertion-error@2.0.1: {} + ast-kit@3.0.0-beta.1: + dependencies: + '@babel/parser': 8.0.0-rc.3 + estree-walker: 3.0.3 + pathe: 2.0.3 + ast-v8-to-istanbul@1.0.0: dependencies: '@jridgewell/trace-mapping': 0.3.31 @@ -2808,15 +2895,14 @@ snapshots: require-from-string: 2.0.2 optional: true - binary-extensions@2.3.0: {} - birpc@2.9.0: {} - braces@3.0.3: - dependencies: - fill-range: 7.1.1 + birpc@4.0.0: {} + + buffer-from@1.1.2: + optional: true - buffer-from@1.1.2: {} + cac@7.0.0: {} ccount@2.0.1: {} @@ -2826,23 +2912,10 @@ snapshots: character-entities-legacy@3.0.0: {} - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - comma-separated-tokens@2.0.3: {} - commander@2.20.3: {} - - commander@9.5.0: {} + commander@2.20.3: + optional: true confbox@0.1.8: {} @@ -2878,6 +2951,8 @@ snapshots: decimal.js@10.6.0: optional: true + defu@6.1.4: {} + dequal@2.0.3: {} detect-libc@2.1.2: {} @@ -2886,9 +2961,9 @@ snapshots: dependencies: dequal: 2.0.3 - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 + dts-resolver@2.1.3: {} + + empathic@2.0.0: {} entities@6.0.1: optional: true @@ -2934,26 +3009,10 @@ snapshots: expect-type@1.3.0: {} - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - - fastq@1.20.1: - dependencies: - reusify: 1.1.0 - fdir@6.5.0(picomatch@4.0.4): optionalDependencies: picomatch: 4.0.4 - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - focus-trap@7.8.0: dependencies: tabbable: 6.4.0 @@ -2969,19 +3028,6 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - happy-dom@20.8.9: dependencies: '@types/node': 25.5.0 @@ -3016,6 +3062,8 @@ snapshots: hookable@5.5.3: {} + hookable@6.1.0: {} + html-encoding-sniffer@4.0.0: dependencies: whatwg-encoding: 3.1.1 @@ -3046,19 +3094,7 @@ snapshots: safer-buffer: 2.1.2 optional: true - ignore@5.3.2: {} - - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - - is-extglob@2.1.1: {} - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-number@7.0.0: {} + import-without-cache@0.2.5: {} is-potential-custom-element-name@1.0.1: optional: true @@ -3106,6 +3142,8 @@ snapshots: - utf-8-validate optional: true + jsesc@3.1.0: {} + lightningcss-android-arm64@1.32.0: optional: true @@ -3189,8 +3227,6 @@ snapshots: mdn-data@2.27.1: optional: true - merge2@1.4.1: {} - micromark-util-character@2.1.1: dependencies: micromark-util-symbol: 2.0.1 @@ -3208,11 +3244,6 @@ snapshots: micromark-util-types@2.0.2: {} - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.2 - minisearch@7.2.0: {} mlly@1.8.2: @@ -3227,12 +3258,8 @@ snapshots: muggle-string@0.4.1: {} - mylas@2.1.14: {} - nanoid@3.3.11: {} - normalize-path@3.0.0: {} - obug@2.1.1: {} oniguruma-parser@0.12.1: {} @@ -3308,16 +3335,12 @@ snapshots: path-browserify@1.0.1: {} - path-type@4.0.0: {} - pathe@2.0.3: {} perfect-debounce@2.1.0: {} picocolors@1.1.1: {} - picomatch@2.3.2: {} - picomatch@4.0.4: {} pkg-types@1.3.1: @@ -3326,10 +3349,6 @@ snapshots: mlly: 1.8.2 pathe: 2.0.3 - plimit-lit@1.6.1: - dependencies: - queue-lit: 1.5.2 - postcss@8.5.8: dependencies: nanoid: 3.3.11 @@ -3341,13 +3360,7 @@ snapshots: punycode@2.3.1: optional: true - queue-lit@1.5.2: {} - - queue-microtask@1.2.3: {} - - readdirp@3.6.0: - dependencies: - picomatch: 2.3.2 + quansync@1.0.0: {} regex-recursion@6.0.2: dependencies: @@ -3364,7 +3377,24 @@ snapshots: resolve-pkg-maps@1.0.0: {} - reusify@1.1.0: {} + rolldown-plugin-dts@0.23.2(rolldown@1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1))(typescript@6.0.2)(vue-tsc@3.2.6(typescript@6.0.2)): + dependencies: + '@babel/generator': 8.0.0-rc.3 + '@babel/helper-validator-identifier': 8.0.0-rc.3 + '@babel/parser': 8.0.0-rc.3 + '@babel/types': 8.0.0-rc.3 + ast-kit: 3.0.0-beta.1 + birpc: 4.0.0 + dts-resolver: 2.1.3 + get-tsconfig: 4.13.7 + obug: 2.1.1 + picomatch: 4.0.4 + rolldown: 1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1) + optionalDependencies: + typescript: 6.0.2 + vue-tsc: 3.2.6(typescript@6.0.2) + transitivePeerDependencies: + - oxc-resolver rolldown@1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1): dependencies: @@ -3421,10 +3451,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.1 fsevents: 2.3.3 - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - safer-buffer@2.1.2: optional: true @@ -3448,16 +3474,16 @@ snapshots: siginfo@2.0.0: {} - slash@3.0.0: {} - source-map-js@1.2.1: {} source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 + optional: true - source-map@0.6.1: {} + source-map@0.6.1: + optional: true space-separated-tokens@2.0.2: {} @@ -3485,6 +3511,7 @@ snapshots: acorn: 8.16.0 commander: 2.20.3 source-map-support: 0.5.21 + optional: true tinybench@2.9.0: {} @@ -3507,10 +3534,6 @@ snapshots: tldts-core: 7.0.27 optional: true - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - tough-cookie@6.0.1: dependencies: tldts: 7.0.27 @@ -3521,25 +3544,60 @@ snapshots: punycode: 2.3.1 optional: true + tree-kill@1.2.2: {} + trim-lines@3.0.1: {} - tsc-alias@1.8.16: + tsdown@0.21.7(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(typescript@6.0.2)(vue-tsc@3.2.6(typescript@6.0.2)): dependencies: - chokidar: 3.6.0 - commander: 9.5.0 - get-tsconfig: 4.13.7 - globby: 11.1.0 - mylas: 2.1.14 - normalize-path: 3.0.0 - plimit-lit: 1.6.1 + ansis: 4.2.0 + cac: 7.0.0 + defu: 6.1.4 + empathic: 2.0.0 + hookable: 6.1.0 + import-without-cache: 0.2.5 + obug: 2.1.1 + picomatch: 4.0.4 + rolldown: 1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1) + rolldown-plugin-dts: 0.23.2(rolldown@1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1))(typescript@6.0.2)(vue-tsc@3.2.6(typescript@6.0.2)) + semver: 7.7.4 + tinyexec: 1.0.4 + tinyglobby: 0.2.15 + tree-kill: 1.2.2 + unconfig-core: 7.5.0 + unrun: 0.2.34(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1) + optionalDependencies: + typescript: 6.0.2 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + - '@ts-macro/tsc' + - '@typescript/native-preview' + - oxc-resolver + - synckit + - vue-tsc tslib@2.8.1: optional: true + turbo@2.9.3: + optionalDependencies: + '@turbo/darwin-64': 2.9.3 + '@turbo/darwin-arm64': 2.9.3 + '@turbo/linux-64': 2.9.3 + '@turbo/linux-arm64': 2.9.3 + '@turbo/windows-64': 2.9.3 + '@turbo/windows-arm64': 2.9.3 + typescript@6.0.2: {} ufo@1.6.3: {} + unconfig-core@7.5.0: + dependencies: + '@quansync/fs': 1.0.0 + quansync: 1.0.0 + undici-types@7.18.2: {} unist-util-is@6.0.1: @@ -3565,6 +3623,13 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 + unrun@0.2.34(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1): + dependencies: + rolldown: 1.0.0-rc.12(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 @@ -3605,13 +3670,13 @@ snapshots: - '@emnapi/core' - '@emnapi/runtime' - vitepress-plugin-group-icons@1.7.3(vite@8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.5.0)(esbuild@0.27.4)(terser@5.46.1)): + vitepress-plugin-group-icons@1.7.3(vite@7.3.1(@types/node@25.5.0)(lightningcss@1.32.0)(terser@5.46.1)): dependencies: '@iconify-json/logos': 1.2.11 '@iconify-json/vscode-icons': 1.2.45 '@iconify/utils': 3.1.0 optionalDependencies: - vite: 8.0.3(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@types/node@25.5.0)(esbuild@0.27.4)(terser@5.46.1) + vite: 7.3.1(@types/node@25.5.0)(lightningcss@1.32.0)(terser@5.46.1) vitepress-theme-trito@1.1.1(@types/node@25.5.0)(focus-trap@7.8.0)(lightningcss@1.32.0)(postcss@8.5.8)(terser@5.46.1)(typescript@6.0.2): dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..37e8d30 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - 'packages/*' + - 'docs' \ No newline at end of file diff --git a/tsconfig.build.json b/tsconfig.build.json deleted file mode 100644 index a09a5cb..0000000 --- a/tsconfig.build.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "noEmit": false, - "declaration": true, - "emitDeclarationOnly": true, - "rootDir": "./src", - "outDir": "./dist" - }, - "include": ["src/**/*"], - "exclude": ["tests/**/*"] -} diff --git a/tsconfig.json b/tsconfig.json index 436bb07..c91d2d8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,11 +11,7 @@ "allowImportingTsExtensions": true, "rootDir": ".", "lib": ["ESNext", "DOM"], - "paths": { - "@/*": ["./src/*"], - "@": ["./src"] - } }, - "include": ["src/**/*", "tests/**/*", "docs/**/*", "docs/.vitepress/**/*"], + "include": ["src/**/*", "packages/core/tests/**/*", "docs/**/*", "docs/.vitepress/**/*"], "exclude": ["node_modules", "dist"] } diff --git a/turbo.json b/turbo.json new file mode 100644 index 0000000..03f2447 --- /dev/null +++ b/turbo.json @@ -0,0 +1,33 @@ +{ + "$schema": "https://turborepo.dev/schema.json", + "ui": "tui", + "tasks": { + "build": { + "dependsOn": ["^build"], + "inputs": ["$TURBO_DEFAULT$", ".env*"], + "outputs": ["dist/**"], + "cache": true + }, + "lint": { + "dependsOn": [], + "cache": true + }, + "check": { + "cache": true, + "dependsOn": ["^build"] + }, + "dev": { + "dependsOn": ["^build"], + "cache": false, + "persistent": true + }, + "test": { + "dependsOn": ["^build"], + "cache": true + }, + "test:coverage": { + "dependsOn": ["^build"], + "cache": true + } + } +} From 055716b18135afea123be96bbd2c6fc5aba981e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?He=CC=84sperus?= Date: Wed, 1 Apr 2026 22:16:19 +0800 Subject: [PATCH 2/2] fix type and formatting error --- .github/workflows/ci-test.yml | 6 ++---- .oxfmtrc.json | 3 ++- docs/tsconfig.json | 3 +++ 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-test.yml b/.github/workflows/ci-test.yml index c0eeeca..6a57946 100644 --- a/.github/workflows/ci-test.yml +++ b/.github/workflows/ci-test.yml @@ -5,13 +5,11 @@ on: branches: [main] types: [opened, synchronize, reopened, ready_for_review] paths: - - src/** - - test/** + - packages/** push: branches: [main] paths: - - src/** - - test/** + - packages/** workflow_dispatch: concurrency: diff --git a/.oxfmtrc.json b/.oxfmtrc.json index b0a67d7..e785a82 100644 --- a/.oxfmtrc.json +++ b/.oxfmtrc.json @@ -25,5 +25,6 @@ "useTabs": false } } - ] + ], + "ignorePatterns": ["**/node_modules/**", "**/dist/**"] } diff --git a/docs/tsconfig.json b/docs/tsconfig.json index 08e8528..2d753a8 100644 --- a/docs/tsconfig.json +++ b/docs/tsconfig.json @@ -1,4 +1,7 @@ { "extends": "../tsconfig.json", + "compilerOptions": { + "types": ["node"] + }, "include": ["./**/*.ts", "./**/*.vue"] }