From a79fab3da056c8089a8daa76242d309b1f957878 Mon Sep 17 00:00:00 2001 From: Kevin Deng Date: Fri, 19 Sep 2025 01:34:16 +0800 Subject: [PATCH 01/19] feat: tsdown --- package.json | 7 +- packages/cli/package.json | 10 +- packages/cli/utils/package-manager.ts | 8 +- packages/core/package.json | 31 +- packages/create/package.json | 19 +- pnpm-lock.yaml | 776 ++++++++++++++++---------- rolldown.config.js | 143 ----- tsdown.config.ts | 53 ++ 8 files changed, 558 insertions(+), 489 deletions(-) delete mode 100644 rolldown.config.js create mode 100644 tsdown.config.ts diff --git a/package.json b/package.json index 82cbc963e..718beb76e 100644 --- a/package.json +++ b/package.json @@ -8,10 +8,10 @@ "pnpm": "^10.0.0" }, "scripts": { - "build": "rolldown --config", + "build": "tsdown", "changeset:publish": "changeset publish", "check": "pnpm --parallel check", - "dev": "rolldown --watch --config", + "dev": "tsdown -w", "format": "pnpm --parallel format", "lint": "pnpm --parallel lint && eslint --cache --cache-location node_modules/.eslintcache", "test": "vitest run --silent", @@ -32,12 +32,11 @@ "prettier": "^3.5.3", "prettier-plugin-packagejson": "^2.5.15", "prettier-plugin-svelte": "^3.4.0", - "rolldown": "1.0.0-beta.1", "sv": "workspace:*", "svelte": "^5.34.6", + "tsdown": "^0.15.2", "typescript": "^5.8.3", "typescript-eslint": "^8.34.1", - "unplugin-isolated-decl": "^0.8.3", "vitest": "4.0.0-beta.6" }, "packageManager": "pnpm@10.4.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 23e3d79a2..7169de9b2 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -20,14 +20,8 @@ ], "bin": "./dist/bin.js", "exports": { - ".": { - "types": "./dist/lib/index.d.ts", - "default": "./dist/index.js" - }, - "./testing": { - "types": "./dist/lib/testing.d.ts", - "default": "./dist/testing.js" - } + ".": "./lib/index.ts", + "./testing": "./src/lib/testing.ts" }, "devDependencies": { "@clack/prompts": "1.0.0-alpha.1", diff --git a/packages/cli/utils/package-manager.ts b/packages/cli/utils/package-manager.ts index f53e48784..dc6173f15 100644 --- a/packages/cli/utils/package-manager.ts +++ b/packages/cli/utils/package-manager.ts @@ -14,11 +14,13 @@ import { } from 'package-manager-detector'; import { parseJson } from '@sveltejs/cli-core/parsers'; -export const AGENT_NAMES = AGENTS.filter((agent): agent is AgentName => !agent.includes('@')); +export const AGENT_NAMES: AgentName[] = AGENTS.filter( + (agent): agent is AgentName => !agent.includes('@') +); const agentOptions: PackageManagerOptions = AGENT_NAMES.map((pm) => ({ value: pm, label: pm })); agentOptions.unshift({ label: 'None', value: undefined }); -export const installOption = new Option( +export const installOption: Option = new Option( '--install ', 'installs dependencies with a specified package manager' ).choices(AGENT_NAMES); @@ -91,7 +93,7 @@ export function addPnpmBuildDependencies( cwd: string, packageManager: AgentName | null | undefined, allowedPackages: string[] -) { +): void { // other package managers are currently not affected by this change if (!packageManager || packageManager !== 'pnpm') return; diff --git a/packages/core/package.json b/packages/core/package.json index 8897e9904..50ae14381 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -6,7 +6,8 @@ "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/sveltejs/cli/tree/main/packages/core" + "url": "git+https://github.com/sveltejs/cli.git", + "directory": "packages/core" }, "bugs": "https://github.com/sveltejs/cli/issues", "scripts": { @@ -16,30 +17,12 @@ "test": "vitest run", "test:ui": "vitest --ui" }, - "files": [ - "dist" - ], "exports": { - ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js" - }, - "./css": { - "types": "./dist/css.d.ts", - "default": "./dist/css.js" - }, - "./html": { - "types": "./dist/html.d.ts", - "default": "./dist/html.js" - }, - "./js": { - "types": "./dist/js.d.ts", - "default": "./dist/js.js" - }, - "./parsers": { - "types": "./dist/parsers.d.ts", - "default": "./dist/parsers.js" - } + ".": "./index.ts", + "./css": "./tooling/css/index.ts", + "./html": "./tooling/html/index.ts", + "./js": "./tooling/js/index.ts", + "./parsers": "./tooling/parsers.ts" }, "devDependencies": { "@clack/prompts": "1.0.0-alpha.1", diff --git a/packages/create/package.json b/packages/create/package.json index a8b7d69bd..6568e2d8e 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -7,7 +7,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/sveltejs/cli", + "url": "git+https://github.com/sveltejs/cli.git", "directory": "packages/create" }, "homepage": "https://svelte.dev", @@ -19,21 +19,10 @@ "test": "vitest run", "update-template-repo": "pnpm build:dist && echo \"Updating template repo\" && ./scripts/update-template-repo.sh" }, - "files": [ - "dist" - ], "exports": { - ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js" - }, - "./build": { - "default": "./scripts/build-templates.js" - }, - "./playground": { - "types": "./dist/playground.d.ts", - "default": "./dist/playground.js" - } + ".": "./index.ts", + "./playground": "./playground.ts", + "./build": "./scripts/build-templates.js" }, "devDependencies": { "@sveltejs/cli-core": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 93c9ad4f8..60e4ff57f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,7 @@ importers: version: link:packages/create '@sveltejs/eslint-config': specifier: ^8.2.0 - version: 8.2.0(@stylistic/eslint-plugin-js@2.10.1(eslint@9.29.0))(eslint-config-prettier@9.1.0(eslint@9.29.0))(eslint-plugin-n@17.13.1(eslint@9.29.0))(eslint-plugin-svelte@3.9.2(eslint@9.29.0)(svelte@5.34.7))(eslint@9.29.0)(typescript-eslint@8.34.1(eslint@9.29.0)(typescript@5.8.3))(typescript@5.8.3) + version: 8.2.0(@stylistic/eslint-plugin-js@2.10.1(eslint@9.29.0(jiti@2.5.1)))(eslint-config-prettier@9.1.0(eslint@9.29.0(jiti@2.5.1)))(eslint-plugin-n@17.13.1(eslint@9.29.0(jiti@2.5.1)))(eslint-plugin-svelte@3.9.2(eslint@9.29.0(jiti@2.5.1))(svelte@5.34.7))(eslint@9.29.0(jiti@2.5.1))(typescript-eslint@8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3))(typescript@5.8.3) '@svitejs/changesets-changelog-github-compact': specifier: ^1.2.0 version: 1.2.0 @@ -31,10 +31,10 @@ importers: version: 4.0.0-beta.6(vitest@4.0.0-beta.6) eslint: specifier: ^9.29.0 - version: 9.29.0 + version: 9.29.0(jiti@2.5.1) eslint-plugin-svelte: specifier: ^3.9.2 - version: 3.9.2(eslint@9.29.0)(svelte@5.34.7) + version: 3.9.2(eslint@9.29.0(jiti@2.5.1))(svelte@5.34.7) magic-string: specifier: ^0.30.17 version: 0.30.17 @@ -47,27 +47,24 @@ importers: prettier-plugin-svelte: specifier: ^3.4.0 version: 3.4.0(prettier@3.5.3)(svelte@5.34.7) - rolldown: - specifier: 1.0.0-beta.1 - version: 1.0.0-beta.1(@babel/runtime@7.27.6) sv: specifier: workspace:* version: link:packages/cli svelte: specifier: ^5.34.6 version: 5.34.7 + tsdown: + specifier: ^0.15.2 + version: 0.15.2(typescript@5.8.3) typescript: specifier: ^5.8.3 version: 5.8.3 typescript-eslint: specifier: ^8.34.1 - version: 8.34.1(eslint@9.29.0)(typescript@5.8.3) - unplugin-isolated-decl: - specifier: ^0.8.3 - version: 0.8.3(rollup@4.46.2)(typescript@5.8.3) + version: 8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3) vitest: specifier: 4.0.0-beta.6 - version: 4.0.0-beta.6(@types/node@22.15.32)(@vitest/ui@4.0.0-beta.6) + version: 4.0.0-beta.6(@types/node@22.15.32)(@vitest/ui@4.0.0-beta.6)(jiti@2.5.1) community-addon-template: dependencies: @@ -83,7 +80,7 @@ importers: version: link:../packages/cli vitest: specifier: 4.0.0-beta.6 - version: 4.0.0-beta.6(@types/node@22.15.32)(@vitest/ui@4.0.0-beta.6) + version: 4.0.0-beta.6(@types/node@22.15.32)(@vitest/ui@4.0.0-beta.6)(jiti@2.5.1) packages/addons: dependencies: @@ -261,10 +258,31 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/runtime@7.27.6': resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} + engines: {node: '>=6.9.0'} + '@changesets/apply-release-plan@7.0.12': resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} @@ -329,14 +347,14 @@ packages: '@clack/prompts@1.0.0-alpha.1': resolution: {integrity: sha512-07MNT0OsxjKOcyVfX8KhXBhJiyUbDP1vuIAcHc+nx5v93MJO23pX3X/k3bWz6T3rpM9dgWPq90i4Jq7gZAyMbw==} - '@emnapi/core@1.4.3': - resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} + '@emnapi/core@1.5.0': + resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} - '@emnapi/runtime@1.4.3': - resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + '@emnapi/runtime@1.5.0': + resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} - '@emnapi/wasi-threads@1.0.2': - resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} + '@emnapi/wasi-threads@1.1.0': + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} '@esbuild/aix-ppc64@0.25.8': resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} @@ -560,6 +578,9 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} @@ -575,17 +596,23 @@ packages: '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@napi-rs/wasm-runtime@0.2.11': - resolution: {integrity: sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==} + '@napi-rs/wasm-runtime@1.0.5': + resolution: {integrity: sha512-TBr9Cf9onSAS2LQ2+QHx6XcC6h9+RIzJgbqG3++9TUZSH204AwEy5jg3BTQ0VATsyoGj4ee49tN/y6rvaOOtcg==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -599,48 +626,8 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-parser/binding-darwin-arm64@0.37.0': - resolution: {integrity: sha512-YO1m7YyBCSbjSYviEvwGOuyM3uy7SG+fQax89PfmG3PVEtY4we4RgnD2wB8k/HVj0TFcvASFchdF/86k9vBUZg==} - cpu: [arm64] - os: [darwin] - - '@oxc-parser/binding-darwin-x64@0.37.0': - resolution: {integrity: sha512-5jZ1H1XylylUQe/uQkZ5WjC9xmEVajarFb/CSTcdCbgf9dxQU1bYzyCHV6vS0545G9AKaBqUvBqAY4PmjUhE7Q==} - cpu: [x64] - os: [darwin] - - '@oxc-parser/binding-linux-arm64-gnu@0.37.0': - resolution: {integrity: sha512-yc3l20sHy7wn4hfaW32YDfPb8d2VGYF0H1co3uPB2BpmnM9O6Am3I79+ZdhbPYcWJ9CI8tkoyI0ONTQDOUDrnA==} - cpu: [arm64] - os: [linux] - - '@oxc-parser/binding-linux-arm64-musl@0.37.0': - resolution: {integrity: sha512-yGuCN27918FOOjdfavlVw4tHC8tx/ke33EPTeibqgfVOgi4fCo1f4n30OrXvLvJS104mVH1g0acK5hh8LHLqwA==} - cpu: [arm64] - os: [linux] - - '@oxc-parser/binding-linux-x64-gnu@0.37.0': - resolution: {integrity: sha512-VsXB/HdNvXb54L8vxBMroChAowJg5jefGQGeCN9pOJk4ijirOJ/QW2kx/l0hSyd1bKnnwn/nCz043/rdTh180w==} - cpu: [x64] - os: [linux] - - '@oxc-parser/binding-linux-x64-musl@0.37.0': - resolution: {integrity: sha512-lshHFg/PWM916PS1fN5puYDdsDGIz+DJwFDWjGG0161Sm/OfM3TIJx3mWGP+XsA0cYVI3VAmQKr0QlKptAG2yw==} - cpu: [x64] - os: [linux] - - '@oxc-parser/binding-win32-arm64-msvc@0.37.0': - resolution: {integrity: sha512-4F9wko/lY9l+jeUsaudxNfMvT780nXCxva1kUDtQm1sMldMEveO6gm9yBDYyBwUpXVSJnk4r6nWPpHWmg5FOeA==} - cpu: [arm64] - os: [win32] - - '@oxc-parser/binding-win32-x64-msvc@0.37.0': - resolution: {integrity: sha512-iDHakUlv12mF0bsRUCrr/8kzqyD46JuxnaQzpCf5ez8n7BpcpW+cS2Sha0IEKJqfC9LDi6XqPF9rzcJQ00jKfw==} - cpu: [x64] - os: [win32] - - '@oxc-project/types@0.37.0': - resolution: {integrity: sha512-9shvIr/cpoNo5cX8nWdZmviHLJSidjZy4M0MyfR6ucREZBtABTNBIa1a4emWUJ3qAMwJW6G1v0zm8K2rj9Pf4A==} + '@oxc-project/types@0.89.0': + resolution: {integrity: sha512-yuo+ECPIW5Q9mSeNmCDC2im33bfKuwW18mwkaHMQh8KakHYDzj4ci/q7wxf2qS3dMlVVCIyrs3kFtH5LmnlYnw==} '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -658,74 +645,94 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@rolldown/binding-darwin-arm64@1.0.0-beta.1': - resolution: {integrity: sha512-e4QpTp7eu61JilK958i21RK/HniwVLjZgfShqoQY1VM+KDYz90cNuopKQ3Z3oCkvyAN3xI8IaRhy02nlxdR/DA==} + '@quansync/fs@0.1.5': + resolution: {integrity: sha512-lNS9hL2aS2NZgNW7BBj+6EBl4rOf8l+tQ0eRY6JWCI8jI2kc53gSoqbjojU0OnAWhzoXiOjFyGsHcDGePB3lhA==} + + '@rolldown/binding-android-arm64@1.0.0-beta.38': + resolution: {integrity: sha512-AE3HFQrjWCKLFZD1Vpiy+qsqTRwwoil1oM5WsKPSmfQ5fif/A+ZtOZetF32erZdsR7qyvns6qHEteEsF6g6rsQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.0.0-beta.38': + resolution: {integrity: sha512-RaoWOKc0rrFsVmKOjQpebMY6c6/I7GR1FBc25v7L/R7NlM0166mUotwGEv7vxu7ruXH4SJcFeVrfADFUUXUmmQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-beta.1': - resolution: {integrity: sha512-+WHRLrogJl99EQ6HtYhy7EwIZ1wicD0RSX2T5mjfOM6AmPwPTXQ0n6MKOs1abU6ZyCj5Izlo6rLsao0h9FMUDA==} + '@rolldown/binding-darwin-x64@1.0.0-beta.38': + resolution: {integrity: sha512-Ymojqc2U35iUc8NFU2XX1WQPfBRRHN6xHcrxAf9WS8BFFBn8pDrH5QPvH1tYs3lDkw6UGGbanr1RGzARqdUp1g==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-beta.1': - resolution: {integrity: sha512-ZP9Q1q4IfvJ8dfWTHOF3cquNpAKuQQ+kZJQTxo85fGnKqtqMWFNouaBVd79pqCxU3w4oIjuZ8o55qNDomMTbVA==} + '@rolldown/binding-freebsd-x64@1.0.0-beta.38': + resolution: {integrity: sha512-0ermTQ//WzSI0nOL3z/LUWMNiE9xeM5cLGxjewPFEexqxV/0uM8/lNp9QageQ8jfc/VO1OURsGw34HYO5PaL8w==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.1': - resolution: {integrity: sha512-B/R4Vt8f8z/WmW9Y9NMgA+t5bCfRLmgZohs5mWf8KoD5FRlpvJtCo/SnD7fEg9npHEP5A28+Cikiyd7aCcKPSA==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.38': + resolution: {integrity: sha512-GADxzVUTCTp6EWI52831A29Tt7PukFe94nhg/SUsfkI33oTiNQtPxyLIT/3oRegizGuPSZSlrdBurkjDwxyEUQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.1': - resolution: {integrity: sha512-xkGD+YLH+vQZiqxKEsXe8xS/owQXkyARaNB9NfFrAacLoNIRZM5UEZGNKxXyRWd1kSEkYkJ3/WiqvGGCcqUg1A==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.38': + resolution: {integrity: sha512-SKO7Exl5Yem/OSNoA5uLHzyrptUQ8Hg70kHDxuwEaH0+GUg+SQe9/7PWmc4hFKBMrJGdQtii8WZ0uIz9Dofg5Q==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.1': - resolution: {integrity: sha512-Ey2UxKFL74JuWpdNl9stpV0kxHZIgCWCEUnDnpQ1hcBwO9KwDM5qicLtXfsjozD6vt+xzbrL2D/uTrziYZ7IDQ==} + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.38': + resolution: {integrity: sha512-SOo6+WqhXPBaShLxLT0eCgH17d3Yu1lMAe4mFP0M9Bvr/kfMSOPQXuLxBcbBU9IFM9w3N6qP9xWOHO+oUJvi8Q==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.1': - resolution: {integrity: sha512-a8QP35x/3mggWqCpFtaF3/PbWl5P9QKpP/muk3iMPgzrXto8zPsEl3imsP3EBh4KwanBVHIf8pEkBQ+/7iMTgQ==} + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.38': + resolution: {integrity: sha512-yvsQ3CyrodOX+lcoi+lejZGCOvJZa9xTsNB8OzpMDmHeZq3QzJfpYjXSAS6vie70fOkLVJb77UqYO193Cl8XBQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.0.0-beta.1': - resolution: {integrity: sha512-uIqKwnkZjTY8FmqGMaSjwtWlCdV88LV9bjdkv+mb7I+BBw+9cJlIQy0P8YnGEOEcnDPis/SiraCpkJ/eHYaSZw==} + '@rolldown/binding-linux-x64-musl@1.0.0-beta.38': + resolution: {integrity: sha512-84qzKMwUwikfYeOuJ4Kxm/3z15rt0nFGGQArHYIQQNSTiQdxGHxOkqXtzPFqrVfBJUdxBAf+jYzR1pttFJuWyg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-wasm32-wasi@1.0.0-beta.1': - resolution: {integrity: sha512-RB+gbhwZtTbKbvHzUcaRFva2ONCUTuxDEb/b3/rd3O82OTPUZzOY24mqreiXH1XG09p6WFXSE8dzUrN120Q29w==} - engines: {node: '>=14.21.3'} + '@rolldown/binding-openharmony-arm64@1.0.0-beta.38': + resolution: {integrity: sha512-QrNiWlce01DYH0rL8K3yUBu+lNzY+B0DyCbIc2Atan6/S6flxOL0ow5DLQvMamOI/oKhrJ4xG+9MkMb9dDHbLQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.38': + resolution: {integrity: sha512-fnLtHyjwEsG4/aNV3Uv3Qd1ZbdH+CopwJNoV0RgBqrcQB8V6/Qdikd5JKvnO23kb3QvIpP+dAMGZMv1c2PJMzw==} + engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.1': - resolution: {integrity: sha512-NSccQD7+9vhEfDMc8HyODuUU1jLYEsEiICc1zwmbeg0FXx1pwpFpZZQby4bAMnK2obav7D9FfsruYWodhNdIqQ==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.38': + resolution: {integrity: sha512-19cTfnGedem+RY+znA9J6ARBOCEFD4YSjnx0p5jiTm9tR6pHafRfFIfKlTXhun+NL0WWM/M0eb2IfPPYUa8+wg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.1': - resolution: {integrity: sha512-bUQOqqHfqgX9gHGZFGVYQRtc4+9diFDS/f85dKrzzUg7MF91ZU9mJUoemL4eyyj3B83N3FlHZtAPvDX3N2Zz8A==} + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.38': + resolution: {integrity: sha512-HcICm4YzFJZV+fI0O0bFLVVlsWvRNo/AB9EfUXvNYbtAxakCnQZ15oq22deFdz6sfi9Y4/SagH2kPU723dhCFA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.1': - resolution: {integrity: sha512-k8Ld05OlxkzR/+Ob8+IESaZ4uFcgLwbbwtUZLoryn3S6lCogkclcN/4m1wo/PyWtUAWF5mdz83SrkRL8dS4AqA==} + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.38': + resolution: {integrity: sha512-4Qx6cgEPXLb0XsCyLoQcUgYBpfL0sjugftob+zhUH0EOk/NVCAIT+h0NJhY+jn7pFpeKxhNMqhvTNx3AesxIAQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rollup/pluginutils@5.2.0': - resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rolldown/pluginutils@1.0.0-beta.38': + resolution: {integrity: sha512-N/ICGKleNhA5nc9XXQG/kkKHJ7S55u0x0XUJbbkmdCnFuoRkM1Il12q9q0eX19+M7KKUEPw/daUPIRnxhcxAIw==} '@rollup/rollup-android-arm-eabi@4.46.2': resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} @@ -856,8 +863,8 @@ packages: '@ts-morph/common@0.25.0': resolution: {integrity: sha512-kMnZz+vGGHi4GoHnLmMhGNjm44kGtKUXGnOvrKmMwAuvNjM/PgKVGfUnL7IDvK7Jb2QQ82jq3Zmp04Gy+r3Dkg==} - '@tybys/wasm-util@0.9.0': - resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} '@types/chai@5.2.2': resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} @@ -1021,6 +1028,10 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + ansis@4.1.0: + resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==} + engines: {node: '>=14'} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -1042,6 +1053,10 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + ast-kit@2.1.2: + resolution: {integrity: sha512-cl76xfBQM6pztbrFWRnxbrDm9EOqDr1BF6+qQnnDZG2Co2LjyUktkN9GTJfBAfdae+DbT2nJf2nCGAdDDN7W2g==} + engines: {node: '>=20.18.0'} + axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} @@ -1053,6 +1068,9 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} + birpc@2.5.0: + resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==} + brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -1063,6 +1081,10 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1082,6 +1104,10 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -1132,6 +1158,15 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decircular@1.0.0: resolution: {integrity: sha512-YhCtYW0jQs9+gzL2vDLxanRhMHeKa55kw5z2oheI6D+MQA7KafrqtiGKhhpKCLZQurm2a9h0LkP9T5z5gy+A0A==} engines: {node: '>=18'} @@ -1151,6 +1186,9 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + degit@2.8.4: resolution: {integrity: sha512-vqYuzmSA5I50J882jd+AbAhQtgK6bdKUJIex1JNfEUPENCgYsxugzKVZlFyMwV4i06MmnV47/Iqi5Io86zf3Ng==} engines: {node: '>=8.0.0'} @@ -1168,6 +1206,10 @@ packages: resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + diff@8.0.2: + resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} + engines: {node: '>=0.3.1'} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -1189,6 +1231,15 @@ packages: resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} engines: {node: '>=12'} + dts-resolver@2.1.2: + resolution: {integrity: sha512-xeXHBQkn2ISSXxbJWD828PFjtyg+/UrMDo7W4Ffcs7+YWCquxU8YjV1KoxuiL+eJ5pg3ll+bC6flVv61L3LKZg==} + engines: {node: '>=20.18.0'} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} @@ -1205,6 +1256,10 @@ packages: resolution: {integrity: sha512-rsPft6CK3eHtrlp9Y5ALBb+hfK+DWnA4WFebbazxjWyx8vSm3rZeoM3z9irsjcqO3PYRzlfv27XIB4tz2DV7RA==} engines: {node: '>=14'} + empathic@2.0.0: + resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + engines: {node: '>=14'} + enhanced-resolve@5.18.3: resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} engines: {node: '>=10.13.0'} @@ -1312,9 +1367,6 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -1360,6 +1412,15 @@ packages: picomatch: optional: true + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} @@ -1465,6 +1526,9 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + htmlparser2@9.1.0: resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} @@ -1532,6 +1596,10 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} + hasBin: true + js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} @@ -1543,6 +1611,11 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -1602,6 +1675,9 @@ packages: magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magic-string@0.30.19: + resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + map-stream@0.1.0: resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} @@ -1670,9 +1746,6 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - oxc-parser@0.37.0: - resolution: {integrity: sha512-s5GDqjuFI0R3iEYvrQ0YOxBAOi601wCNAUodco8aA7D7qJu6pRb32qmqi5rhzJM4si3M5XQSr5CSDBhdGJl3Ig==} - p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -1845,6 +1918,9 @@ packages: quansync@0.2.10: resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -1852,6 +1928,10 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -1867,15 +1947,30 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rolldown@1.0.0-beta.1: - resolution: {integrity: sha512-19B2HoY3zcR7Um+zVDOvV1gQ1d6acUIouCUMGxvlZ/0kTjcMSFr8tuLWmRRYIV7y1mrgPbJRd1cPFVd4p1l8nQ==} - hasBin: true + rolldown-plugin-dts@0.16.5: + resolution: {integrity: sha512-bOAfJ7Tc11xK/Uou7KWYha25/Sy80G0DZkhX8WMYx6l8PUalR+bvVzQNuEqXafpKEisZfUHQrkhS2gZG76Xntw==} + engines: {node: '>=20.18.0'} peerDependencies: - '@babel/runtime': '>=7' + '@ts-macro/tsc': ^0.3.6 + '@typescript/native-preview': '>=7.0.0-dev.20250601.1' + rolldown: ^1.0.0-beta.9 + typescript: ^5.0.0 + vue-tsc: ~3.0.3 peerDependenciesMeta: - '@babel/runtime': + '@ts-macro/tsc': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: optional: true + rolldown@1.0.0-beta.38: + resolution: {integrity: sha512-58frPNX55Je1YsyrtPJv9rOSR3G5efUZpRqok94Efsj0EUa8dnqJV3BldShyI7A+bVPleucOtzXHwVpJRcR0kQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + rollup@4.46.2: resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -2030,10 +2125,17 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyexec@1.0.1: + resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} + tinyglobby@0.2.14: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + tinypool@1.1.1: resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -2057,6 +2159,10 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + ts-api-utils@2.1.0: resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} engines: {node: '>=18.12'} @@ -2069,6 +2175,28 @@ packages: ts-morph@24.0.0: resolution: {integrity: sha512-2OAOg/Ob5yx9Et7ZX4CvTCc0UFoZHwLEJ+dpDPSUi5TgwwlTlX47w+iFRrEwzUZwYACjq83cgjS/Da50Ga37uw==} + tsdown@0.15.2: + resolution: {integrity: sha512-qPbWcVnI7Ekq5p4xPiLwuS9siczCGPAyZYsAzcS1xTcFvkkZIsDbh3ejlmUoe/ypLJl5+oQ4Rbwp63Zf+eWiMw==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + publint: ^0.3.0 + typescript: ^5.0.0 + unplugin-lightningcss: ^0.4.0 + unplugin-unused: ^0.5.0 + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + publint: + optional: true + typescript: + optional: true + unplugin-lightningcss: + optional: true + unplugin-unused: + optional: true + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -2088,6 +2216,9 @@ packages: engines: {node: '>=14.17'} hasBin: true + unconfig@7.3.3: + resolution: {integrity: sha512-QCkQoOnJF8L107gxfHL0uavn7WD9b3dpBcFX6HtfQYmjw2YzWxGuFQ0N0J6tE9oguCBJn9KOvfqYDCMPHIZrBA==} + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -2098,25 +2229,6 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - unplugin-isolated-decl@0.8.3: - resolution: {integrity: sha512-LYtDV91NRRbWBk1wrhTRcXIuK9kM7IQ0Kd+QlKZ2UV3xJ20hQRwuIPEyQbFPRPyN+pct1RZR0C1BrnflbV5jdQ==} - engines: {node: '>=18.12.0'} - peerDependencies: - '@swc/core': ^1.6.6 - oxc-transform: '>=0.28.0' - typescript: ^5.5.2 - peerDependenciesMeta: - '@swc/core': - optional: true - oxc-transform: - optional: true - typescript: - optional: true - - unplugin@1.16.1: - resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} - engines: {node: '>=14.0.0'} - uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -2202,9 +2314,6 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webpack-virtual-modules@0.6.2: - resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -2241,9 +2350,6 @@ packages: zimmerframe@1.1.2: resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} - zod@3.25.67: - resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} - snapshots: '@ampproject/remapping@2.3.0': @@ -2251,8 +2357,29 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 + '@babel/generator@7.28.3': + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/parser@7.28.4': + dependencies: + '@babel/types': 7.28.4 + '@babel/runtime@7.27.6': {} + '@babel/types@7.28.4': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@changesets/apply-release-plan@7.0.12': dependencies: '@changesets/config': 3.1.1 @@ -2413,18 +2540,18 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 - '@emnapi/core@1.4.3': + '@emnapi/core@1.5.0': dependencies: - '@emnapi/wasi-threads': 1.0.2 + '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.4.3': + '@emnapi/runtime@1.5.0': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.0.2': + '@emnapi/wasi-threads@1.1.0': dependencies: tslib: 2.8.1 optional: true @@ -2507,9 +2634,9 @@ snapshots: '@esbuild/win32-x64@0.25.8': optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.29.0)': + '@eslint-community/eslint-utils@4.7.0(eslint@9.29.0(jiti@2.5.1))': dependencies: - eslint: 9.29.0 + eslint: 9.29.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -2577,6 +2704,11 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 @@ -2589,11 +2721,18 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.27.6 @@ -2610,11 +2749,11 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 - '@napi-rs/wasm-runtime@0.2.11': + '@napi-rs/wasm-runtime@1.0.5': dependencies: - '@emnapi/core': 1.4.3 - '@emnapi/runtime': 1.4.3 - '@tybys/wasm-util': 0.9.0 + '@emnapi/core': 1.5.0 + '@emnapi/runtime': 1.5.0 + '@tybys/wasm-util': 0.10.1 optional: true '@nodelib/fs.scandir@2.1.5': @@ -2629,31 +2768,7 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@oxc-parser/binding-darwin-arm64@0.37.0': - optional: true - - '@oxc-parser/binding-darwin-x64@0.37.0': - optional: true - - '@oxc-parser/binding-linux-arm64-gnu@0.37.0': - optional: true - - '@oxc-parser/binding-linux-arm64-musl@0.37.0': - optional: true - - '@oxc-parser/binding-linux-x64-gnu@0.37.0': - optional: true - - '@oxc-parser/binding-linux-x64-musl@0.37.0': - optional: true - - '@oxc-parser/binding-win32-arm64-msvc@0.37.0': - optional: true - - '@oxc-parser/binding-win32-x64-msvc@0.37.0': - optional: true - - '@oxc-project/types@0.37.0': {} + '@oxc-project/types@0.89.0': {} '@pkgjs/parseargs@0.11.0': optional: true @@ -2666,51 +2781,55 @@ snapshots: '@polka/url@1.0.0-next.29': {} - '@rolldown/binding-darwin-arm64@1.0.0-beta.1': + '@quansync/fs@0.1.5': + dependencies: + quansync: 0.2.11 + + '@rolldown/binding-android-arm64@1.0.0-beta.38': + optional: true + + '@rolldown/binding-darwin-arm64@1.0.0-beta.38': optional: true - '@rolldown/binding-darwin-x64@1.0.0-beta.1': + '@rolldown/binding-darwin-x64@1.0.0-beta.38': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-beta.1': + '@rolldown/binding-freebsd-x64@1.0.0-beta.38': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.1': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.38': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.1': + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.38': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.1': + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.38': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.1': + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.38': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-beta.1': + '@rolldown/binding-linux-x64-musl@1.0.0-beta.38': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-beta.1': + '@rolldown/binding-openharmony-arm64@1.0.0-beta.38': + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.38': dependencies: - '@napi-rs/wasm-runtime': 0.2.11 + '@napi-rs/wasm-runtime': 1.0.5 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.1': + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.38': optional: true - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.1': + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.38': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.1': + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.38': optional: true - '@rollup/pluginutils@5.2.0(rollup@4.46.2)': - dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 4.0.2 - optionalDependencies: - rollup: 4.46.2 + '@rolldown/pluginutils@1.0.0-beta.38': {} '@rollup/rollup-android-arm-eabi@4.46.2': optional: true @@ -2772,9 +2891,9 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.46.2': optional: true - '@stylistic/eslint-plugin-js@2.10.1(eslint@9.29.0)': + '@stylistic/eslint-plugin-js@2.10.1(eslint@9.29.0(jiti@2.5.1))': dependencies: - eslint: 9.29.0 + eslint: 9.29.0(jiti@2.5.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 @@ -2782,16 +2901,16 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/eslint-config@8.2.0(@stylistic/eslint-plugin-js@2.10.1(eslint@9.29.0))(eslint-config-prettier@9.1.0(eslint@9.29.0))(eslint-plugin-n@17.13.1(eslint@9.29.0))(eslint-plugin-svelte@3.9.2(eslint@9.29.0)(svelte@5.34.7))(eslint@9.29.0)(typescript-eslint@8.34.1(eslint@9.29.0)(typescript@5.8.3))(typescript@5.8.3)': + '@sveltejs/eslint-config@8.2.0(@stylistic/eslint-plugin-js@2.10.1(eslint@9.29.0(jiti@2.5.1)))(eslint-config-prettier@9.1.0(eslint@9.29.0(jiti@2.5.1)))(eslint-plugin-n@17.13.1(eslint@9.29.0(jiti@2.5.1)))(eslint-plugin-svelte@3.9.2(eslint@9.29.0(jiti@2.5.1))(svelte@5.34.7))(eslint@9.29.0(jiti@2.5.1))(typescript-eslint@8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@stylistic/eslint-plugin-js': 2.10.1(eslint@9.29.0) - eslint: 9.29.0 - eslint-config-prettier: 9.1.0(eslint@9.29.0) - eslint-plugin-n: 17.13.1(eslint@9.29.0) - eslint-plugin-svelte: 3.9.2(eslint@9.29.0)(svelte@5.34.7) + '@stylistic/eslint-plugin-js': 2.10.1(eslint@9.29.0(jiti@2.5.1)) + eslint: 9.29.0(jiti@2.5.1) + eslint-config-prettier: 9.1.0(eslint@9.29.0(jiti@2.5.1)) + eslint-plugin-n: 17.13.1(eslint@9.29.0(jiti@2.5.1)) + eslint-plugin-svelte: 3.9.2(eslint@9.29.0(jiti@2.5.1))(svelte@5.34.7) globals: 15.15.0 typescript: 5.8.3 - typescript-eslint: 8.34.1(eslint@9.29.0)(typescript@5.8.3) + typescript-eslint: 8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3) '@svitejs/changesets-changelog-github-compact@1.2.0': dependencies: @@ -2806,7 +2925,7 @@ snapshots: path-browserify: 1.0.1 tinyglobby: 0.2.14 - '@tybys/wasm-util@0.9.0': + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 optional: true @@ -2844,15 +2963,15 @@ snapshots: '@types/semver@7.7.0': {} - '@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0)(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.34.1(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.34.1 - '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.34.1 - eslint: 9.29.0 + eslint: 9.29.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -2861,14 +2980,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3)': + '@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.34.1 '@typescript-eslint/types': 8.34.1 '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.34.1 debug: 4.4.1 - eslint: 9.29.0 + eslint: 9.29.0(jiti@2.5.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -2891,12 +3010,12 @@ snapshots: dependencies: typescript: 5.8.3 - '@typescript-eslint/type-utils@8.34.1(eslint@9.29.0)(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3) debug: 4.4.1 - eslint: 9.29.0 + eslint: 9.29.0(jiti@2.5.1) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -2920,13 +3039,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.34.1(eslint@9.29.0)(typescript@5.8.3)': + '@typescript-eslint/utils@8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.34.1 '@typescript-eslint/types': 8.34.1 '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) - eslint: 9.29.0 + eslint: 9.29.0(jiti@2.5.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -2944,13 +3063,13 @@ snapshots: chai: 5.2.1 tinyrainbow: 2.0.0 - '@vitest/mocker@4.0.0-beta.6(vite@7.0.6(@types/node@22.15.32))': + '@vitest/mocker@4.0.0-beta.6(vite@7.0.6(@types/node@22.15.32)(jiti@2.5.1))': dependencies: '@vitest/spy': 4.0.0-beta.6 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 7.0.6(@types/node@22.15.32) + vite: 7.0.6(@types/node@22.15.32)(jiti@2.5.1) '@vitest/pretty-format@4.0.0-beta.6': dependencies: @@ -2979,7 +3098,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 4.0.0-beta.6(@types/node@22.15.32)(@vitest/ui@4.0.0-beta.6) + vitest: 4.0.0-beta.6(@types/node@22.15.32)(@vitest/ui@4.0.0-beta.6)(jiti@2.5.1) '@vitest/utils@4.0.0-beta.6': dependencies: @@ -3012,6 +3131,8 @@ snapshots: ansi-styles@6.2.1: {} + ansis@4.1.0: {} + any-promise@1.3.0: {} argparse@1.0.10: @@ -3026,6 +3147,11 @@ snapshots: assertion-error@2.0.1: {} + ast-kit@2.1.2: + dependencies: + '@babel/parser': 7.28.4 + pathe: 2.0.3 + axobject-query@4.1.0: {} balanced-match@1.0.2: {} @@ -3034,6 +3160,8 @@ snapshots: dependencies: is-windows: 1.0.2 + birpc@2.5.0: {} + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -3047,6 +3175,8 @@ snapshots: dependencies: fill-range: 7.1.1 + cac@6.7.14: {} + callsites@3.1.0: {} chai@5.2.1: @@ -3066,6 +3196,10 @@ snapshots: check-error@2.1.1: {} + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + ci-info@3.9.0: {} clsx@2.1.1: {} @@ -3098,6 +3232,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.3: + dependencies: + ms: 2.1.3 + decircular@1.0.0: {} dedent@1.6.0: {} @@ -3106,6 +3244,8 @@ snapshots: deep-is@0.1.4: {} + defu@6.1.4: {} + degit@2.8.4: {} detect-indent@6.1.0: {} @@ -3114,6 +3254,8 @@ snapshots: detect-newline@4.0.1: {} + diff@8.0.2: {} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -3138,6 +3280,8 @@ snapshots: dotenv@16.5.0: {} + dts-resolver@2.1.2: {} + duplexer@0.1.2: {} eastasianwidth@0.2.0: {} @@ -3148,6 +3292,8 @@ snapshots: empathic@1.1.0: {} + empathic@2.0.0: {} + enhanced-resolve@5.18.3: dependencies: graceful-fs: 4.2.11 @@ -3193,39 +3339,39 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.29.0): + eslint-compat-utils@0.5.1(eslint@9.29.0(jiti@2.5.1)): dependencies: - eslint: 9.29.0 + eslint: 9.29.0(jiti@2.5.1) semver: 7.7.2 - eslint-config-prettier@9.1.0(eslint@9.29.0): + eslint-config-prettier@9.1.0(eslint@9.29.0(jiti@2.5.1)): dependencies: - eslint: 9.29.0 + eslint: 9.29.0(jiti@2.5.1) - eslint-plugin-es-x@7.8.0(eslint@9.29.0): + eslint-plugin-es-x@7.8.0(eslint@9.29.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.29.0 - eslint-compat-utils: 0.5.1(eslint@9.29.0) + eslint: 9.29.0(jiti@2.5.1) + eslint-compat-utils: 0.5.1(eslint@9.29.0(jiti@2.5.1)) - eslint-plugin-n@17.13.1(eslint@9.29.0): + eslint-plugin-n@17.13.1(eslint@9.29.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.5.1)) enhanced-resolve: 5.18.3 - eslint: 9.29.0 - eslint-plugin-es-x: 7.8.0(eslint@9.29.0) + eslint: 9.29.0(jiti@2.5.1) + eslint-plugin-es-x: 7.8.0(eslint@9.29.0(jiti@2.5.1)) get-tsconfig: 4.10.1 globals: 15.15.0 ignore: 5.3.2 minimatch: 9.0.5 semver: 7.7.2 - eslint-plugin-svelte@3.9.2(eslint@9.29.0)(svelte@5.34.7): + eslint-plugin-svelte@3.9.2(eslint@9.29.0(jiti@2.5.1))(svelte@5.34.7): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.5.1)) '@jridgewell/sourcemap-codec': 1.5.0 - eslint: 9.29.0 + eslint: 9.29.0(jiti@2.5.1) esutils: 2.0.3 globals: 16.2.0 known-css-properties: 0.36.0 @@ -3248,9 +3394,9 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.29.0: + eslint@9.29.0(jiti@2.5.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.20.1 '@eslint/config-helpers': 0.2.3 @@ -3285,6 +3431,8 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 + optionalDependencies: + jiti: 2.5.1 transitivePeerDependencies: - supports-color @@ -3312,8 +3460,6 @@ snapshots: estraverse@5.3.0: {} - estree-walker@2.0.2: {} - estree-walker@3.0.3: dependencies: '@types/estree': 1.0.8 @@ -3366,6 +3512,10 @@ snapshots: optionalDependencies: picomatch: 4.0.3 + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + fflate@0.8.2: {} file-entry-cache@8.0.0: @@ -3468,6 +3618,8 @@ snapshots: has-flag@4.0.0: {} + hookable@5.5.3: {} + htmlparser2@9.1.0: dependencies: domelementtype: 2.3.0 @@ -3524,6 +3676,8 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jiti@2.5.1: {} + js-tokens@9.0.1: {} js-yaml@3.14.1: @@ -3535,6 +3689,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsesc@3.1.0: {} + json-buffer@3.0.1: {} json-schema-traverse@0.4.1: {} @@ -3584,6 +3740,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.19: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + map-stream@0.1.0: {} merge2@1.4.1: {} @@ -3638,19 +3798,6 @@ snapshots: outdent@0.5.0: {} - oxc-parser@0.37.0: - dependencies: - '@oxc-project/types': 0.37.0 - optionalDependencies: - '@oxc-parser/binding-darwin-arm64': 0.37.0 - '@oxc-parser/binding-darwin-x64': 0.37.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.37.0 - '@oxc-parser/binding-linux-arm64-musl': 0.37.0 - '@oxc-parser/binding-linux-x64-gnu': 0.37.0 - '@oxc-parser/binding-linux-x64-musl': 0.37.0 - '@oxc-parser/binding-win32-arm64-msvc': 0.37.0 - '@oxc-parser/binding-win32-x64-msvc': 0.37.0 - p-filter@2.1.0: dependencies: p-map: 2.1.0 @@ -3778,6 +3925,8 @@ snapshots: quansync@0.2.10: {} + quansync@0.2.11: {} + queue-microtask@1.2.3: {} read-yaml-file@1.1.0: @@ -3787,6 +3936,8 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 + readdirp@4.1.2: {} + resolve-from@4.0.0: {} resolve-from@5.0.0: {} @@ -3795,23 +3946,44 @@ snapshots: reusify@1.1.0: {} - rolldown@1.0.0-beta.1(@babel/runtime@7.27.6): + rolldown-plugin-dts@0.16.5(rolldown@1.0.0-beta.38)(typescript@5.8.3): dependencies: - zod: 3.25.67 + '@babel/generator': 7.28.3 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + ast-kit: 2.1.2 + birpc: 2.5.0 + debug: 4.4.3 + dts-resolver: 2.1.2 + get-tsconfig: 4.10.1 + magic-string: 0.30.19 + rolldown: 1.0.0-beta.38 optionalDependencies: - '@babel/runtime': 7.27.6 - '@rolldown/binding-darwin-arm64': 1.0.0-beta.1 - '@rolldown/binding-darwin-x64': 1.0.0-beta.1 - '@rolldown/binding-freebsd-x64': 1.0.0-beta.1 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.1 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.1 - '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.1 - '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.1 - '@rolldown/binding-linux-x64-musl': 1.0.0-beta.1 - '@rolldown/binding-wasm32-wasi': 1.0.0-beta.1 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.1 - '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.1 - '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.1 + typescript: 5.8.3 + transitivePeerDependencies: + - oxc-resolver + - supports-color + + rolldown@1.0.0-beta.38: + dependencies: + '@oxc-project/types': 0.89.0 + '@rolldown/pluginutils': 1.0.0-beta.38 + ansis: 4.1.0 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.0-beta.38 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.38 + '@rolldown/binding-darwin-x64': 1.0.0-beta.38 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.38 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.38 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.38 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.38 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.38 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.38 + '@rolldown/binding-openharmony-arm64': 1.0.0-beta.38 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.38 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.38 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.38 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.38 rollup@4.46.2: dependencies: @@ -3999,11 +4171,18 @@ snapshots: tinyexec@0.3.2: {} + tinyexec@1.0.1: {} + tinyglobby@0.2.14: dependencies: fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + tinypool@1.1.1: {} tinyrainbow@2.0.0: {} @@ -4020,6 +4199,8 @@ snapshots: tr46@0.0.3: {} + tree-kill@1.2.2: {} + ts-api-utils@2.1.0(typescript@5.8.3): dependencies: typescript: 5.8.3 @@ -4031,6 +4212,31 @@ snapshots: '@ts-morph/common': 0.25.0 code-block-writer: 13.0.3 + tsdown@0.15.2(typescript@5.8.3): + dependencies: + ansis: 4.1.0 + cac: 6.7.14 + chokidar: 4.0.3 + debug: 4.4.3 + diff: 8.0.2 + empathic: 2.0.0 + hookable: 5.5.3 + rolldown: 1.0.0-beta.38 + rolldown-plugin-dts: 0.16.5(rolldown@1.0.0-beta.38)(typescript@5.8.3) + semver: 7.7.2 + tinyexec: 1.0.1 + tinyglobby: 0.2.15 + tree-kill: 1.2.2 + unconfig: 7.3.3 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@ts-macro/tsc' + - '@typescript/native-preview' + - oxc-resolver + - supports-color + - vue-tsc + tslib@2.8.1: optional: true @@ -4038,42 +4244,31 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.34.1(eslint@9.29.0)(typescript@5.8.3): + typescript-eslint@8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0)(typescript@5.8.3) - '@typescript-eslint/parser': 8.34.1(eslint@9.29.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3) - eslint: 9.29.0 + '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3) + eslint: 9.29.0(jiti@2.5.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color typescript@5.8.3: {} + unconfig@7.3.3: + dependencies: + '@quansync/fs': 0.1.5 + defu: 6.1.4 + jiti: 2.5.1 + quansync: 0.2.11 + undici-types@5.26.5: {} undici-types@6.21.0: {} universalify@0.1.2: {} - unplugin-isolated-decl@0.8.3(rollup@4.46.2)(typescript@5.8.3): - dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) - debug: 4.4.1 - magic-string: 0.30.17 - oxc-parser: 0.37.0 - unplugin: 1.16.1 - optionalDependencies: - typescript: 5.8.3 - transitivePeerDependencies: - - rollup - - supports-color - - unplugin@1.16.1: - dependencies: - acorn: 8.15.0 - webpack-virtual-modules: 0.6.2 - uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -4084,7 +4279,7 @@ snapshots: optionalDependencies: typescript: 5.8.3 - vite@7.0.6(@types/node@22.15.32): + vite@7.0.6(@types/node@22.15.32)(jiti@2.5.1): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -4095,12 +4290,13 @@ snapshots: optionalDependencies: '@types/node': 22.15.32 fsevents: 2.3.3 + jiti: 2.5.1 - vitest@4.0.0-beta.6(@types/node@22.15.32)(@vitest/ui@4.0.0-beta.6): + vitest@4.0.0-beta.6(@types/node@22.15.32)(@vitest/ui@4.0.0-beta.6)(jiti@2.5.1): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 4.0.0-beta.6 - '@vitest/mocker': 4.0.0-beta.6(vite@7.0.6(@types/node@22.15.32)) + '@vitest/mocker': 4.0.0-beta.6(vite@7.0.6(@types/node@22.15.32)(jiti@2.5.1)) '@vitest/pretty-format': 4.0.0-beta.6 '@vitest/runner': 4.0.0-beta.6 '@vitest/snapshot': 4.0.0-beta.6 @@ -4119,7 +4315,7 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.6(@types/node@22.15.32) + vite: 7.0.6(@types/node@22.15.32)(jiti@2.5.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.15.32 @@ -4140,8 +4336,6 @@ snapshots: webidl-conversions@3.0.1: {} - webpack-virtual-modules@0.6.2: {} - whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -4175,5 +4369,3 @@ snapshots: yocto-queue@0.1.0: {} zimmerframe@1.1.2: {} - - zod@3.25.67: {} diff --git a/rolldown.config.js b/rolldown.config.js deleted file mode 100644 index b3b292e3f..000000000 --- a/rolldown.config.js +++ /dev/null @@ -1,143 +0,0 @@ -// @ts-check -import fs from 'node:fs'; -import path from 'node:path'; -import dts from 'unplugin-isolated-decl/rolldown'; -import { buildTemplates } from '@sveltejs/create/build'; -import MagicString from 'magic-string'; - -/** @import { Package } from "./packages/cli/commands/add/utils.ts" */ -/** @import { Plugin, RolldownOptions } from "rolldown" */ -/** @typedef {Package & { peerDependencies: Record }} PackageJson */ - -/** - * @param {string} project - * @returns {RolldownOptions} - */ -function getConfig(project) { - const projectRoot = `./packages/${project}`; - const outDir = `${projectRoot}/dist`; - - /** @type {RolldownOptions["input"]} */ - let inputs; - - if (project === 'core') { - inputs = { - index: `${projectRoot}/index.ts`, - css: `${projectRoot}/tooling/css/index.ts`, - html: `${projectRoot}/tooling/html/index.ts`, - js: `${projectRoot}/tooling/js/index.ts`, - parsers: `${projectRoot}/tooling/parsers.ts` - }; - } else if (project === 'cli') { - inputs = [ - `${projectRoot}/lib/index.ts`, - `${projectRoot}/lib/testing.ts`, - `${projectRoot}/bin.ts` - ]; - } else if (project === 'create') { - inputs = [`${projectRoot}/index.ts`, `${projectRoot}/playground.ts`]; - } else { - inputs = [`${projectRoot}/index.ts`]; - } - - fs.rmSync(outDir, { force: true, recursive: true }); - - /** @type {PackageJson} */ - const pkg = JSON.parse(fs.readFileSync(path.join(projectRoot, 'package.json'), 'utf8')); - const externalDeps = getExternalDeps(pkg); - - // always externalizes `@sveltejs/cli-core` and any deps that are `dependencies` or `peerDependencies` - const external = [...externalDeps]; - - /** @type {Plugin | undefined} */ - let buildCliTemplatesPlugin; - if (project === 'create') { - // This plugin is used to build the templates and place them inside the - // `dist` folder after every rolldown build. This is necessary as we're - // clearing the output directory and thus also removes the template files - buildCliTemplatesPlugin = { - name: 'build-cli-templates', - buildStart() { - const templates = getFilePaths('packages', 'create', 'templates'); - const shared = getFilePaths('packages', 'create', 'shared'); - for (const file of shared.concat(templates)) { - this.addWatchFile(file); - } - }, - async writeBundle() { - console.log('building templates'); - const start = performance.now(); - await buildTemplates(path.resolve('packages', 'cli', 'dist')); - await buildTemplates(path.resolve('packages', 'create', 'dist')); - const end = performance.now(); - console.log(`finished building templates: ${Math.round(end - start)}ms`); - } - }; - } - - /** @type {Plugin | undefined} */ - let communityAddonIdsPlugin; - if (project === 'cli') { - // Evaluates the ids of available community addons at build time - communityAddonIdsPlugin = { - name: 'evaluate-community-addon-ids', - transform(code, id) { - if (id.endsWith(`_config${path.sep}community.ts`)) { - const ms = new MagicString(code, { filename: id }); - const start = code.indexOf('export const communityAddonIds'); - const end = code.indexOf(';', start); - const ids = fs.readdirSync('community-addons').map((p) => path.parse(p).name); - const generated = `export const communityAddonIds = ${JSON.stringify(ids)};`; - ms.overwrite(start, end, generated); - return { - code: ms.toString(), - map: ms.generateMap() - }; - } - } - }; - } - - return { - input: inputs, - platform: 'node', - output: { - dir: outDir, - format: 'esm', - sourcemap: !process.env.CI - }, - external, - plugins: [ - 'exports' in pkg && - dts({ - include: project === 'cli' ? [`${projectRoot}/lib/*`] : undefined, - inputBase: project === 'cli' ? path.resolve(projectRoot, 'lib') : undefined - }), - buildCliTemplatesPlugin, - communityAddonIdsPlugin - ] - }; -} - -/** @type {RolldownOptions[]} */ -export default [getConfig('core'), getConfig('create'), getConfig('cli')]; - -/** - * @param {PackageJson} pkg - * @returns {Set} - */ -function getExternalDeps(pkg) { - return new Set([ - ...Object.keys(pkg.dependencies ?? {}), - ...Object.keys(pkg.peerDependencies ?? {}) - ]); -} - -/** - * @param {string[]} paths - * @returns {string[]} - */ -function getFilePaths(...paths) { - const dir = path.resolve(...paths); - return fs.readdirSync(dir, { withFileTypes: true }).map((f) => path.join(f.parentPath, f.name)); -} diff --git a/tsdown.config.ts b/tsdown.config.ts new file mode 100644 index 000000000..300fea948 --- /dev/null +++ b/tsdown.config.ts @@ -0,0 +1,53 @@ +import { buildTemplates } from '@sveltejs/create/build'; +import MagicString from 'magic-string'; +import fs from 'node:fs'; +import path from 'node:path'; +import process from 'node:process'; +import { defineConfig } from 'tsdown'; + +export default defineConfig({ + cwd: 'packages/cli', + entry: ['lib/index.ts', 'lib/testing.ts', 'bin.ts'], + sourcemap: !process.env.CI, + dts: { oxc: true }, + plugins: [ + { + name: 'evaluate-community-addon-ids', + transform: { + filter: { + id: /_config[/\\]community\.ts$/ + }, + handler(code, id) { + const ms = new MagicString(code, { filename: id }); + const start = code.indexOf('export const communityAddonIds'); + const end = code.indexOf(';', start); + const ids = fs.readdirSync('community-addons').map((p) => path.parse(p).name); + const generated = `export const communityAddonIds = ${JSON.stringify(ids)}`; + ms.overwrite(start, end, generated); + return { + code: ms.toString(), + map: ms.generateMap() + }; + } + } + } + ], + inputOptions: { + experimental: { + resolveNewUrlToAsset: false + } + }, + hooks: { + async 'build:done'() { + await buildCliTemplates(); + } + } +}); + +export async function buildCliTemplates() { + console.log('building templates'); + const start = performance.now(); + await buildTemplates(path.resolve('dist')); + const end = performance.now(); + console.log(`finished building templates: ${Math.round(end - start)}ms`); +} From f31945b1d1fddf114d3c1b003d2764d9ce5d026e Mon Sep 17 00:00:00 2001 From: Kevin Deng Date: Fri, 19 Sep 2025 03:43:52 +0800 Subject: [PATCH 02/19] fix --- packages/cli/package.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 7169de9b2..23e3d79a2 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -20,8 +20,14 @@ ], "bin": "./dist/bin.js", "exports": { - ".": "./lib/index.ts", - "./testing": "./src/lib/testing.ts" + ".": { + "types": "./dist/lib/index.d.ts", + "default": "./dist/index.js" + }, + "./testing": { + "types": "./dist/lib/testing.d.ts", + "default": "./dist/testing.js" + } }, "devDependencies": { "@clack/prompts": "1.0.0-alpha.1", From 88595183e1b9bd4751fa9d2a1e6e1db6141ddf27 Mon Sep 17 00:00:00 2001 From: Kevin Deng Date: Fri, 19 Sep 2025 03:44:51 +0800 Subject: [PATCH 03/19] fix --- packages/cli/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 23e3d79a2..1d60d4933 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -6,7 +6,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/sveltejs/cli", + "url": "git+https://github.com/sveltejs/cli.git", "directory": "packages/cli" }, "homepage": "https://svelte.dev", @@ -22,11 +22,11 @@ "exports": { ".": { "types": "./dist/lib/index.d.ts", - "default": "./dist/index.js" + "default": "./dist/lib/index.js" }, "./testing": { "types": "./dist/lib/testing.d.ts", - "default": "./dist/testing.js" + "default": "./dist/lib/testing.js" } }, "devDependencies": { From 02cdea9d890346a9214f8c9a081528de0fbada92 Mon Sep 17 00:00:00 2001 From: Kevin Deng Date: Fri, 19 Sep 2025 03:47:19 +0800 Subject: [PATCH 04/19] fix --- tsdown.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsdown.config.ts b/tsdown.config.ts index 300fea948..a75659898 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -47,7 +47,7 @@ export default defineConfig({ export async function buildCliTemplates() { console.log('building templates'); const start = performance.now(); - await buildTemplates(path.resolve('dist')); + await buildTemplates(path.resolve('packages/cli/dist')); const end = performance.now(); console.log(`finished building templates: ${Math.round(end - start)}ms`); } From f0093dfc0044204741244b99596cb5e60a3ec6d4 Mon Sep 17 00:00:00 2001 From: Kevin Deng Date: Fri, 19 Sep 2025 12:43:48 +0800 Subject: [PATCH 05/19] chore: add changesets --- .changeset/olive-states-tell.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/olive-states-tell.md diff --git a/.changeset/olive-states-tell.md b/.changeset/olive-states-tell.md new file mode 100644 index 000000000..1793cf19a --- /dev/null +++ b/.changeset/olive-states-tell.md @@ -0,0 +1,5 @@ +--- +'sv': patch +--- + +fix(cli): export types From d888ae430521f9da963d77cb9b9a0599732482b0 Mon Sep 17 00:00:00 2001 From: "jyc.dev" Date: Fri, 19 Sep 2025 11:49:59 +0200 Subject: [PATCH 06/19] add `package-manager-detector` to `d.ts` Co-authored-by: CokaKoala <31664583+AdrianGonz97@users.noreply.github.com> --- tsdown.config.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tsdown.config.ts b/tsdown.config.ts index a75659898..1c18e8f51 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -4,12 +4,18 @@ import fs from 'node:fs'; import path from 'node:path'; import process from 'node:process'; import { defineConfig } from 'tsdown'; +const pkgJson = fs.readFileSync(path.resolve('packages', 'cli', 'package.json'), 'utf8'); +const pkg = JSON.parse(pkgJson); export default defineConfig({ cwd: 'packages/cli', entry: ['lib/index.ts', 'lib/testing.ts', 'bin.ts'], sourcemap: !process.env.CI, - dts: { oxc: true }, + dts: { + oxc: true, + // setting `resolve: true` seems to anger Rolldown due to our `postcss` dep + resolve: Object.keys(pkg.devDependencies) + }, plugins: [ { name: 'evaluate-community-addon-ids', From 7ed38da6b13eee6f66d2d6413b3ed8aa3ea12408 Mon Sep 17 00:00:00 2001 From: "jyc.dev" Date: Fri, 19 Sep 2025 11:50:16 +0200 Subject: [PATCH 07/19] fix infinite build loop in watch mode Co-authored-by: CokaKoala <31664583+AdrianGonz97@users.noreply.github.com> --- tsdown.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsdown.config.ts b/tsdown.config.ts index 1c18e8f51..fdb825fa4 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -44,7 +44,7 @@ export default defineConfig({ } }, hooks: { - async 'build:done'() { + async 'build:before'() { await buildCliTemplates(); } } From b97f76c828a9f3f92216511804da1bcccf6aed91 Mon Sep 17 00:00:00 2001 From: jycouet Date: Fri, 19 Sep 2025 12:00:36 +0200 Subject: [PATCH 08/19] export TemplateType and LanguageType --- packages/cli/lib/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/lib/index.ts b/packages/cli/lib/index.ts index f4f0d4911..be61dfbb0 100644 --- a/packages/cli/lib/index.ts +++ b/packages/cli/lib/index.ts @@ -1,4 +1,4 @@ -export { create } from '@sveltejs/create'; +export { create, type TemplateType, type LanguageType } from '@sveltejs/create'; export { installAddon } from './install.ts'; export type { AddonMap, InstallOptions, OptionMap } from './install.ts'; export { officialAddons } from '@sveltejs/addons'; From 296b31a022ba44e0d9143c247ece307069074d21 Mon Sep 17 00:00:00 2001 From: jycouet Date: Fri, 19 Sep 2025 12:02:45 +0200 Subject: [PATCH 09/19] buildCliTemplates format --- tsdown.config.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tsdown.config.ts b/tsdown.config.ts index fdb825fa4..bb6042e65 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -51,9 +51,7 @@ export default defineConfig({ }); export async function buildCliTemplates() { - console.log('building templates'); const start = performance.now(); await buildTemplates(path.resolve('packages/cli/dist')); - const end = performance.now(); - console.log(`finished building templates: ${Math.round(end - start)}ms`); + console.log(` Build templates in ${Math.round(performance.now() - start)}ms`); } From e4287acb39e5adf30988a71bb1c72a9130e5aa69 Mon Sep 17 00:00:00 2001 From: jycouet Date: Fri, 19 Sep 2025 12:21:53 +0200 Subject: [PATCH 10/19] buildTemplates also for create --- tsdown.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tsdown.config.ts b/tsdown.config.ts index bb6042e65..031953772 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -53,5 +53,6 @@ export default defineConfig({ export async function buildCliTemplates() { const start = performance.now(); await buildTemplates(path.resolve('packages/cli/dist')); + await buildTemplates(path.resolve('packages/create/dist')); console.log(` Build templates in ${Math.round(performance.now() - start)}ms`); } From 52bc5d8763aa7ed6c8a483c5e98c4cb2c599c6bb Mon Sep 17 00:00:00 2001 From: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> Date: Wed, 24 Sep 2025 12:11:12 -0400 Subject: [PATCH 11/19] dedupe --- pnpm-lock.yaml | 289 +++++++++++++++++------------------------------ tsdown.config.ts | 1 + 2 files changed, 103 insertions(+), 187 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 60e4ff57f..658c56257 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,7 +37,7 @@ importers: version: 3.9.2(eslint@9.29.0(jiti@2.5.1))(svelte@5.34.7) magic-string: specifier: ^0.30.17 - version: 0.30.17 + version: 0.30.19 prettier: specifier: ^3.5.3 version: 3.5.3 @@ -174,7 +174,7 @@ importers: version: 9.1.0 magic-string: specifier: ^0.30.17 - version: 0.30.17 + version: 0.30.19 picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -216,7 +216,7 @@ importers: version: 4.1.0 magic-string: specifier: ^0.30.17 - version: 0.30.17 + version: 0.30.19 package-manager-detector: specifier: ^0.2.11 version: 0.2.11 @@ -581,27 +581,13 @@ packages: '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} @@ -626,8 +612,8 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-project/types@0.89.0': - resolution: {integrity: sha512-yuo+ECPIW5Q9mSeNmCDC2im33bfKuwW18mwkaHMQh8KakHYDzj4ci/q7wxf2qS3dMlVVCIyrs3kFtH5LmnlYnw==} + '@oxc-project/types@0.92.0': + resolution: {integrity: sha512-PDLfCbwgXjGdTBxzcuDOUxJYNBl6P8dOp3eDKWw54dYvqONan9rwGDRQU0zrkdEMiItfXQQUOI17uOcMX5Zm7A==} '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -648,91 +634,91 @@ packages: '@quansync/fs@0.1.5': resolution: {integrity: sha512-lNS9hL2aS2NZgNW7BBj+6EBl4rOf8l+tQ0eRY6JWCI8jI2kc53gSoqbjojU0OnAWhzoXiOjFyGsHcDGePB3lhA==} - '@rolldown/binding-android-arm64@1.0.0-beta.38': - resolution: {integrity: sha512-AE3HFQrjWCKLFZD1Vpiy+qsqTRwwoil1oM5WsKPSmfQ5fif/A+ZtOZetF32erZdsR7qyvns6qHEteEsF6g6rsQ==} + '@rolldown/binding-android-arm64@1.0.0-beta.40': + resolution: {integrity: sha512-9Ii9phC7QU6Lb+ncMfG1Xlosq0NBB1N/4sw+EGZ3y0BBWGy02TOb5ghWZalphAKv9rn1goqo5WkBjyd2YvsLmA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-beta.38': - resolution: {integrity: sha512-RaoWOKc0rrFsVmKOjQpebMY6c6/I7GR1FBc25v7L/R7NlM0166mUotwGEv7vxu7ruXH4SJcFeVrfADFUUXUmmQ==} + '@rolldown/binding-darwin-arm64@1.0.0-beta.40': + resolution: {integrity: sha512-5O6d0y2tBQTL+ecQY3qXIwSnF1/Zik8q7LZMKeyF+VJ9l194d0IdMhl2zUF0cqWbYHuF4Pnxplk4OhurPQ/Z9Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-beta.38': - resolution: {integrity: sha512-Ymojqc2U35iUc8NFU2XX1WQPfBRRHN6xHcrxAf9WS8BFFBn8pDrH5QPvH1tYs3lDkw6UGGbanr1RGzARqdUp1g==} + '@rolldown/binding-darwin-x64@1.0.0-beta.40': + resolution: {integrity: sha512-izB9jygt3miPQbOTZfSu5K51isUplqa8ysByOKQqcJHgrBWmbTU8TM9eouv6tRmBR0kjcEcID9xhmA1CeZ1VIg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-beta.38': - resolution: {integrity: sha512-0ermTQ//WzSI0nOL3z/LUWMNiE9xeM5cLGxjewPFEexqxV/0uM8/lNp9QageQ8jfc/VO1OURsGw34HYO5PaL8w==} + '@rolldown/binding-freebsd-x64@1.0.0-beta.40': + resolution: {integrity: sha512-2fdpEpKT+wwP0vig9dqxu+toTeWmVSjo3psJQVDeLJ51rO+GXcCJ1IkCXjhMKVEevNtZS7B8T8Z2vvmRV9MAdA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.38': - resolution: {integrity: sha512-GADxzVUTCTp6EWI52831A29Tt7PukFe94nhg/SUsfkI33oTiNQtPxyLIT/3oRegizGuPSZSlrdBurkjDwxyEUQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.40': + resolution: {integrity: sha512-HP2lo78OWULN+8TewpLbS9PS00jh0CaF04tA2u8z2I+6QgVgrYOYKvX+T0hlO5smgso4+qb3YchzumWJl3yCPQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.38': - resolution: {integrity: sha512-SKO7Exl5Yem/OSNoA5uLHzyrptUQ8Hg70kHDxuwEaH0+GUg+SQe9/7PWmc4hFKBMrJGdQtii8WZ0uIz9Dofg5Q==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.40': + resolution: {integrity: sha512-ng00gfr9BhA2NPAOU5RWAlTiL+JcwAD+L+4yUD1sbBy6tgHdLiNBOvKtHISIF9RM9/eQeS0tAiWOYZGIH9JMew==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.38': - resolution: {integrity: sha512-SOo6+WqhXPBaShLxLT0eCgH17d3Yu1lMAe4mFP0M9Bvr/kfMSOPQXuLxBcbBU9IFM9w3N6qP9xWOHO+oUJvi8Q==} + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.40': + resolution: {integrity: sha512-mF0R1l9kLcaag/9cLEiYYdNZ4v1uuX4jklSDZ1s6vJE4RB3LirUney0FavdVRwCJ5sDvfvsPgXgtBXWYr2M2tQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.38': - resolution: {integrity: sha512-yvsQ3CyrodOX+lcoi+lejZGCOvJZa9xTsNB8OzpMDmHeZq3QzJfpYjXSAS6vie70fOkLVJb77UqYO193Cl8XBQ==} + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.40': + resolution: {integrity: sha512-+wi08S7wT5iLPHRZb0USrS6n+T6m+yY++dePYedE5uvKIpWCJJioFTaRtWjpm0V6dVNLcq2OukrvfdlGtH9Wgg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.0.0-beta.38': - resolution: {integrity: sha512-84qzKMwUwikfYeOuJ4Kxm/3z15rt0nFGGQArHYIQQNSTiQdxGHxOkqXtzPFqrVfBJUdxBAf+jYzR1pttFJuWyg==} + '@rolldown/binding-linux-x64-musl@1.0.0-beta.40': + resolution: {integrity: sha512-W5qBGAemUocIBKCcOsDjlV9GUt28qhl/+M6etWBeLS5gQK0J6XDg0YVzfOQdvq57ZGjYNP0NvhYzqhOOnEx+4g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-openharmony-arm64@1.0.0-beta.38': - resolution: {integrity: sha512-QrNiWlce01DYH0rL8K3yUBu+lNzY+B0DyCbIc2Atan6/S6flxOL0ow5DLQvMamOI/oKhrJ4xG+9MkMb9dDHbLQ==} + '@rolldown/binding-openharmony-arm64@1.0.0-beta.40': + resolution: {integrity: sha512-vJwoDehtt+yqj2zacq1AqNc2uE/oh7mnRGqAUbuldV6pgvU01OSQUJ7Zu+35hTopnjFoDNN6mIezkYlGAv5RFA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0-beta.38': - resolution: {integrity: sha512-fnLtHyjwEsG4/aNV3Uv3Qd1ZbdH+CopwJNoV0RgBqrcQB8V6/Qdikd5JKvnO23kb3QvIpP+dAMGZMv1c2PJMzw==} + '@rolldown/binding-wasm32-wasi@1.0.0-beta.40': + resolution: {integrity: sha512-Oj3YyqVUPurr1FlMpEE/bJmMC+VWAWPM/SGUfklO5KUX97bk5Q/733nPg4RykK8q8/TluJoQYvRc05vL/B74dw==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.38': - resolution: {integrity: sha512-19cTfnGedem+RY+znA9J6ARBOCEFD4YSjnx0p5jiTm9tR6pHafRfFIfKlTXhun+NL0WWM/M0eb2IfPPYUa8+wg==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.40': + resolution: {integrity: sha512-0ZtO6yN8XjVoFfN4HDWQj4nDu3ndMybr7jIM00DJqOmc+yFhly7rdOy7fNR9Sky3leCpBtsXfepVqRmVpYKPVA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.38': - resolution: {integrity: sha512-HcICm4YzFJZV+fI0O0bFLVVlsWvRNo/AB9EfUXvNYbtAxakCnQZ15oq22deFdz6sfi9Y4/SagH2kPU723dhCFA==} + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.40': + resolution: {integrity: sha512-BPl1inoJXPpIe38Ja46E4y11vXlJyuleo+9Rmu//pYL5fIDYJkXUj/oAXqjSuwLcssrcwnuPgzvzvlz9++cr3w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.38': - resolution: {integrity: sha512-4Qx6cgEPXLb0XsCyLoQcUgYBpfL0sjugftob+zhUH0EOk/NVCAIT+h0NJhY+jn7pFpeKxhNMqhvTNx3AesxIAQ==} + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.40': + resolution: {integrity: sha512-UguA4ltbAk+nbwHRxqaUP/etpTbR0HjyNlsu4Zjbh/ytNbFsbw8CA4tEBkwDyjgI5NIPea6xY11zpl7R2/ddVA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-beta.38': - resolution: {integrity: sha512-N/ICGKleNhA5nc9XXQG/kkKHJ7S55u0x0XUJbbkmdCnFuoRkM1Il12q9q0eX19+M7KKUEPw/daUPIRnxhcxAIw==} + '@rolldown/pluginutils@1.0.0-beta.40': + resolution: {integrity: sha512-s3GeJKSQOwBlzdUrj4ISjJj5SfSh+aqn0wjOar4Bx95iV1ETI7F6S/5hLcfAxZ9kXDcyrAkxPlqmd1ZITttf+w==} '@rollup/rollup-android-arm-eabi@4.46.2': resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} @@ -1149,15 +1135,6 @@ packages: dataloader@1.4.0: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -1404,14 +1381,6 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - fdir@6.4.6: - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -1672,9 +1641,6 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - magic-string@0.30.19: resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} @@ -1820,10 +1786,6 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - picomatch@4.0.3: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} @@ -1915,9 +1877,6 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - quansync@0.2.10: - resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} - quansync@0.2.11: resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} @@ -1966,8 +1925,8 @@ packages: vue-tsc: optional: true - rolldown@1.0.0-beta.38: - resolution: {integrity: sha512-58frPNX55Je1YsyrtPJv9rOSR3G5efUZpRqok94Efsj0EUa8dnqJV3BldShyI7A+bVPleucOtzXHwVpJRcR0kQ==} + rolldown@1.0.0-beta.40: + resolution: {integrity: sha512-VqEHbKpOgTPmQrZ4fVn4eshDQS/6g/fRpNE7cFSJY+eQLDZn4B9X61J6L+hnlt1u2uRI+pF7r1USs6S5fuWCvw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -2128,10 +2087,6 @@ packages: tinyexec@1.0.1: resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} - tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} - engines: {node: '>=12.0.0'} - tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} @@ -2354,8 +2309,8 @@ snapshots: '@ampproject/remapping@2.3.0': dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 '@babel/generator@7.28.3': dependencies: @@ -2644,7 +2599,7 @@ snapshots: '@eslint/config-array@0.20.1': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.1 + debug: 4.4.3 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -2662,7 +2617,7 @@ snapshots: '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.1 + debug: 4.4.3 espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -2706,32 +2661,17 @@ snapshots: '@jridgewell/gen-mapping@0.3.13': dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.31 - '@jridgewell/gen-mapping@0.3.8': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/sourcemap-codec@1.5.0': {} - '@jridgewell/sourcemap-codec@1.5.5': {} - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@manypkg/find-root@1.1.0': dependencies: @@ -2768,7 +2708,7 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@oxc-project/types@0.89.0': {} + '@oxc-project/types@0.92.0': {} '@pkgjs/parseargs@0.11.0': optional: true @@ -2785,51 +2725,51 @@ snapshots: dependencies: quansync: 0.2.11 - '@rolldown/binding-android-arm64@1.0.0-beta.38': + '@rolldown/binding-android-arm64@1.0.0-beta.40': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-beta.38': + '@rolldown/binding-darwin-arm64@1.0.0-beta.40': optional: true - '@rolldown/binding-darwin-x64@1.0.0-beta.38': + '@rolldown/binding-darwin-x64@1.0.0-beta.40': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-beta.38': + '@rolldown/binding-freebsd-x64@1.0.0-beta.40': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.38': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.40': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.38': + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.40': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.38': + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.40': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.38': + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.40': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-beta.38': + '@rolldown/binding-linux-x64-musl@1.0.0-beta.40': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-beta.38': + '@rolldown/binding-openharmony-arm64@1.0.0-beta.40': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-beta.38': + '@rolldown/binding-wasm32-wasi@1.0.0-beta.40': dependencies: '@napi-rs/wasm-runtime': 1.0.5 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.38': + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.40': optional: true - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.38': + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.40': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.38': + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.40': optional: true - '@rolldown/pluginutils@1.0.0-beta.38': {} + '@rolldown/pluginutils@1.0.0-beta.40': {} '@rollup/rollup-android-arm-eabi@4.46.2': optional: true @@ -2923,7 +2863,7 @@ snapshots: dependencies: minimatch: 9.0.5 path-browserify: 1.0.1 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 '@tybys/wasm-util@0.10.1': dependencies: @@ -2956,7 +2896,7 @@ snapshots: '@types/prompts@2.4.9': dependencies: - '@types/node': 18.19.112 + '@types/node': 22.15.32 kleur: 3.0.3 '@types/ps-tree@1.1.6': {} @@ -2986,7 +2926,7 @@ snapshots: '@typescript-eslint/types': 8.34.1 '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.34.1 - debug: 4.4.1 + debug: 4.4.3 eslint: 9.29.0(jiti@2.5.1) typescript: 5.8.3 transitivePeerDependencies: @@ -2996,7 +2936,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) '@typescript-eslint/types': 8.34.1 - debug: 4.4.1 + debug: 4.4.3 typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -3014,7 +2954,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.5.1))(typescript@5.8.3) - debug: 4.4.1 + debug: 4.4.3 eslint: 9.29.0(jiti@2.5.1) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 @@ -3029,7 +2969,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) '@typescript-eslint/types': 8.34.1 '@typescript-eslint/visitor-keys': 8.34.1 - debug: 4.4.1 + debug: 4.4.3 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -3067,7 +3007,7 @@ snapshots: dependencies: '@vitest/spy': 4.0.0-beta.6 estree-walker: 3.0.3 - magic-string: 0.30.17 + magic-string: 0.30.19 optionalDependencies: vite: 7.0.6(@types/node@22.15.32)(jiti@2.5.1) @@ -3084,7 +3024,7 @@ snapshots: '@vitest/snapshot@4.0.0-beta.6': dependencies: '@vitest/pretty-format': 4.0.0-beta.6 - magic-string: 0.30.17 + magic-string: 0.30.19 pathe: 2.0.3 '@vitest/spy@4.0.0-beta.6': {} @@ -3096,7 +3036,7 @@ snapshots: flatted: 3.3.3 pathe: 2.0.3 sirv: 3.0.1 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 tinyrainbow: 2.0.0 vitest: 4.0.0-beta.6(@types/node@22.15.32)(@vitest/ui@4.0.0-beta.6)(jiti@2.5.1) @@ -3228,10 +3168,6 @@ snapshots: dataloader@1.4.0: {} - debug@4.4.1: - dependencies: - ms: 2.1.3 - debug@4.4.3: dependencies: ms: 2.1.3 @@ -3370,7 +3306,7 @@ snapshots: eslint-plugin-svelte@3.9.2(eslint@9.29.0(jiti@2.5.1))(svelte@5.34.7): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.5.1)) - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 eslint: 9.29.0(jiti@2.5.1) esutils: 2.0.3 globals: 16.2.0 @@ -3412,7 +3348,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1 + debug: 4.4.3 escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -3452,7 +3388,7 @@ snapshots: esrap@1.4.9: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 esrecurse@4.3.0: dependencies: @@ -3504,14 +3440,6 @@ snapshots: dependencies: reusify: 1.1.0 - fdir@6.4.6(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - - fdir@6.4.6(picomatch@4.0.3): - optionalDependencies: - picomatch: 4.0.3 - fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -3736,10 +3664,6 @@ snapshots: lru-cache@10.4.3: {} - magic-string@0.30.17: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - magic-string@0.30.19: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -3826,7 +3750,7 @@ snapshots: package-manager-detector@0.2.11: dependencies: - quansync: 0.2.10 + quansync: 0.2.11 parent-module@1.0.1: dependencies: @@ -3857,8 +3781,6 @@ snapshots: picomatch@2.3.1: {} - picomatch@4.0.2: {} - picomatch@4.0.3: {} pify@4.0.1: {} @@ -3923,8 +3845,6 @@ snapshots: punycode@2.3.1: {} - quansync@0.2.10: {} - quansync@0.2.11: {} queue-microtask@1.2.3: {} @@ -3946,7 +3866,7 @@ snapshots: reusify@1.1.0: {} - rolldown-plugin-dts@0.16.5(rolldown@1.0.0-beta.38)(typescript@5.8.3): + rolldown-plugin-dts@0.16.5(rolldown@1.0.0-beta.40)(typescript@5.8.3): dependencies: '@babel/generator': 7.28.3 '@babel/parser': 7.28.4 @@ -3957,33 +3877,33 @@ snapshots: dts-resolver: 2.1.2 get-tsconfig: 4.10.1 magic-string: 0.30.19 - rolldown: 1.0.0-beta.38 + rolldown: 1.0.0-beta.40 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - oxc-resolver - supports-color - rolldown@1.0.0-beta.38: + rolldown@1.0.0-beta.40: dependencies: - '@oxc-project/types': 0.89.0 - '@rolldown/pluginutils': 1.0.0-beta.38 + '@oxc-project/types': 0.92.0 + '@rolldown/pluginutils': 1.0.0-beta.40 ansis: 4.1.0 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-beta.38 - '@rolldown/binding-darwin-arm64': 1.0.0-beta.38 - '@rolldown/binding-darwin-x64': 1.0.0-beta.38 - '@rolldown/binding-freebsd-x64': 1.0.0-beta.38 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.38 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.38 - '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.38 - '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.38 - '@rolldown/binding-linux-x64-musl': 1.0.0-beta.38 - '@rolldown/binding-openharmony-arm64': 1.0.0-beta.38 - '@rolldown/binding-wasm32-wasi': 1.0.0-beta.38 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.38 - '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.38 - '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.38 + '@rolldown/binding-android-arm64': 1.0.0-beta.40 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.40 + '@rolldown/binding-darwin-x64': 1.0.0-beta.40 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.40 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.40 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.40 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.40 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.40 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.40 + '@rolldown/binding-openharmony-arm64': 1.0.0-beta.40 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.40 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.40 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.40 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.40 rollup@4.46.2: dependencies: @@ -4051,7 +3971,7 @@ snapshots: is-plain-obj: 4.1.0 semver: 7.7.2 sort-object-keys: 1.1.3 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 source-map-js@1.2.1: {} @@ -4104,7 +4024,7 @@ snapshots: sucrase@3.35.0: dependencies: - '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/gen-mapping': 0.3.13 commander: 4.1.1 glob: 10.4.5 lines-and-columns: 1.2.4 @@ -4130,7 +4050,7 @@ snapshots: svelte@5.34.7: dependencies: '@ampproject/remapping': 2.3.0 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) '@types/estree': 1.0.8 acorn: 8.15.0 @@ -4141,7 +4061,7 @@ snapshots: esrap: 1.4.9 is-reference: 3.0.3 locate-character: 3.0.0 - magic-string: 0.30.17 + magic-string: 0.30.19 zimmerframe: 1.1.2 synckit@0.11.8: @@ -4173,11 +4093,6 @@ snapshots: tinyexec@1.0.1: {} - tinyglobby@0.2.14: - dependencies: - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 - tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) @@ -4221,8 +4136,8 @@ snapshots: diff: 8.0.2 empathic: 2.0.0 hookable: 5.5.3 - rolldown: 1.0.0-beta.38 - rolldown-plugin-dts: 0.16.5(rolldown@1.0.0-beta.38)(typescript@5.8.3) + rolldown: 1.0.0-beta.40 + rolldown-plugin-dts: 0.16.5(rolldown@1.0.0-beta.40)(typescript@5.8.3) semver: 7.7.2 tinyexec: 1.0.1 tinyglobby: 0.2.15 @@ -4282,11 +4197,11 @@ snapshots: vite@7.0.6(@types/node@22.15.32)(jiti@2.5.1): dependencies: esbuild: 0.25.8 - fdir: 6.4.6(picomatch@4.0.3) + fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 rollup: 4.46.2 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 optionalDependencies: '@types/node': 22.15.32 fsevents: 2.3.3 @@ -4303,16 +4218,16 @@ snapshots: '@vitest/spy': 4.0.0-beta.6 '@vitest/utils': 4.0.0-beta.6 chai: 5.2.1 - debug: 4.4.1 + debug: 4.4.3 es-module-lexer: 1.7.0 expect-type: 1.2.2 - magic-string: 0.30.17 + magic-string: 0.30.19 pathe: 2.0.3 picomatch: 4.0.3 std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 vite: 7.0.6(@types/node@22.15.32)(jiti@2.5.1) diff --git a/tsdown.config.ts b/tsdown.config.ts index 031953772..27d833181 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -4,6 +4,7 @@ import fs from 'node:fs'; import path from 'node:path'; import process from 'node:process'; import { defineConfig } from 'tsdown'; + const pkgJson = fs.readFileSync(path.resolve('packages', 'cli', 'package.json'), 'utf8'); const pkg = JSON.parse(pkgJson); From 2dd7e996631f6bf4439335fb3d3dbe5e6abe4e7f Mon Sep 17 00:00:00 2001 From: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> Date: Wed, 24 Sep 2025 16:40:33 -0400 Subject: [PATCH 12/19] fix tsc check --- packages/addons/tsconfig.json | 4 ++++ packages/cli/lib/install.ts | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 packages/addons/tsconfig.json diff --git a/packages/addons/tsconfig.json b/packages/addons/tsconfig.json new file mode 100644 index 000000000..c313580d4 --- /dev/null +++ b/packages/addons/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.json", + "include": ["index.ts"] +} diff --git a/packages/cli/lib/install.ts b/packages/cli/lib/install.ts index c09e2f8ec..b88b294ac 100644 --- a/packages/cli/lib/install.ts +++ b/packages/cli/lib/install.ts @@ -23,7 +23,8 @@ export type InstallOptions = { packageManager?: PackageManager; }; -export type AddonMap = Record>; +// @ts-expect-error TODO: this _should_ be `Addon`, but the types won't infer properly with it +export type AddonMap = Record; export type OptionMap = { [K in keyof Addons]: Partial>; }; From 78ce119993ad218f15b9290eeee208d921b8fa6c Mon Sep 17 00:00:00 2001 From: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> Date: Wed, 24 Sep 2025 16:42:08 -0400 Subject: [PATCH 13/19] lockfile --- pnpm-lock.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5d806f875..ab4a8ec97 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1199,6 +1199,15 @@ packages: resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} engines: {node: '>=12'} + dts-resolver@2.1.2: + resolution: {integrity: sha512-xeXHBQkn2ISSXxbJWD828PFjtyg+/UrMDo7W4Ffcs7+YWCquxU8YjV1KoxuiL+eJ5pg3ll+bC6flVv61L3LKZg==} + engines: {node: '>=20.18.0'} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -3167,6 +3176,8 @@ snapshots: dotenv@16.5.0: {} + dts-resolver@2.1.2: {} + eastasianwidth@0.2.0: {} emoji-regex@8.0.0: {} From f1ff88f7c9ab3d6d6a79a147bb90be68176e53ac Mon Sep 17 00:00:00 2001 From: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> Date: Wed, 24 Sep 2025 17:15:31 -0400 Subject: [PATCH 14/19] lockfile --- pnpm-lock.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d2274292..658c56257 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1217,6 +1217,9 @@ packages: oxc-resolver: optional: true + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -3215,6 +3218,8 @@ snapshots: dts-resolver@2.1.2: {} + duplexer@0.1.2: {} + eastasianwidth@0.2.0: {} emoji-regex@8.0.0: {} From 5742b167fda5922297174523b21b5a0b44857d79 Mon Sep 17 00:00:00 2001 From: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> Date: Thu, 25 Sep 2025 18:50:09 -0400 Subject: [PATCH 15/19] tweak addon w/o args type --- packages/cli/lib/install.ts | 5 ++--- packages/core/addon/config.ts | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/cli/lib/install.ts b/packages/cli/lib/install.ts index b88b294ac..151e24a42 100644 --- a/packages/cli/lib/install.ts +++ b/packages/cli/lib/install.ts @@ -5,8 +5,7 @@ import type { OptionValues, Question, SvApi, - AddonSetupResult, - AddonWithoutExplicitArgs + AddonSetupResult } from '@sveltejs/cli-core'; import pc from 'picocolors'; import * as p from '@clack/prompts'; @@ -82,7 +81,7 @@ export async function applyAddons({ } export function setupAddons( - addons: AddonWithoutExplicitArgs[], + addons: Array>, workspace: Workspace ): Record { const addonSetupResults: Record = {}; diff --git a/packages/core/addon/config.ts b/packages/core/addon/config.ts index c1bb99775..656b39b4a 100644 --- a/packages/core/addon/config.ts +++ b/packages/core/addon/config.ts @@ -62,8 +62,7 @@ export function defineAddon(config: Addon): export type AddonSetupResult = { dependsOn: string[]; unsupported: string[]; runsAfter: string[] }; -export type AddonWithoutExplicitArgs = Addon>; -export type AddonConfigWithoutExplicitArgs = Addon>; +export type AddonWithoutExplicitArgs = Addon>>; export type Tests = { expectProperty: (selector: string, property: string, expectedValue: string) => Promise; From 8bebc97e79381fdbc12aa70518002be46802ce51 Mon Sep 17 00:00:00 2001 From: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> Date: Thu, 25 Sep 2025 18:55:25 -0400 Subject: [PATCH 16/19] convert and expose officialAddons map --- packages/addons/_config/official.ts | 6 +++--- packages/cli/commands/add/index.ts | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/addons/_config/official.ts b/packages/addons/_config/official.ts index f99b91d06..d3c136b31 100644 --- a/packages/addons/_config/official.ts +++ b/packages/addons/_config/official.ts @@ -15,7 +15,7 @@ import vitest from '../vitest-addon/index.ts'; // The order of addons here determines the order they are displayed inside the CLI // We generally try to order them by perceived popularity -export const officialAddons = [ +export const officialAddons = { prettier, eslint, vitest, @@ -28,10 +28,10 @@ export const officialAddons = [ mdsvex, paraglide, storybook -] as AddonWithoutExplicitArgs[]; +} as const; export function getAddonDetails(id: string): AddonWithoutExplicitArgs { - const details = officialAddons.find((a) => a.id === id); + const details = Object.values(officialAddons).find((a) => a.id === id); if (!details) { throw new Error(`Invalid add-on: ${id}`); } diff --git a/packages/cli/commands/add/index.ts b/packages/cli/commands/add/index.ts index f5945575d..21fa3c547 100644 --- a/packages/cli/commands/add/index.ts +++ b/packages/cli/commands/add/index.ts @@ -7,7 +7,7 @@ import * as pkg from 'empathic/package'; import * as p from '@clack/prompts'; import { Command } from 'commander'; import { - officialAddons, + officialAddons as _officialAddons, getAddonDetails, communityAddonIds, getCommunityAddon @@ -28,6 +28,7 @@ import { import { verifyCleanWorkingDirectory, verifyUnsupportedAddons } from './verifiers.ts'; import { type AddonMap, applyAddons, setupAddons } from '../../lib/install.ts'; +const officialAddons = Object.values(_officialAddons); const aliases = officialAddons.map((c) => c.alias).filter((v) => v !== undefined); const addonOptions = getAddonOptionFlags(); const communityDetails: AddonWithoutExplicitArgs[] = []; @@ -404,7 +405,7 @@ export async function runAddCommand( } for (const id of selected) { - const addon = officialAddons.find((addon) => addon.id === id)!; + const addon = getAddonDetails(id); selectedAddons.push({ type: 'official', addon }); } } @@ -422,7 +423,7 @@ export async function runAddCommand( for (const depId of missingDependencies) { // TODO: this will have to be adjusted when we work on community add-ons - const dependency = officialAddons.find((a) => a.id === depId); + const dependency = getAddonDetails(depId); if (!dependency) throw new Error(`'${addon.id}' depends on an invalid add-on: '${depId}'`); // prompt to install the dependent From 3c815a26c0a65588b89603389ad6c923a970a97c Mon Sep 17 00:00:00 2001 From: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> Date: Thu, 25 Sep 2025 18:55:39 -0400 Subject: [PATCH 17/19] attempt to use tsc instead of oxc --- packages/cli/lib/tsconfig.json | 4 ++-- tsdown.config.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/cli/lib/tsconfig.json b/packages/cli/lib/tsconfig.json index 0b1481243..6fff10a76 100644 --- a/packages/cli/lib/tsconfig.json +++ b/packages/cli/lib/tsconfig.json @@ -1,8 +1,8 @@ { "extends": "../../../tsconfig.json", "compilerOptions": { - "checkJs": false, - "isolatedDeclarations": true, + // "checkJs": false, + // "isolatedDeclarations": true, "declaration": true }, // we'll only want to enforce `isolatedDeclarations` on the library portion of the CLI diff --git a/tsdown.config.ts b/tsdown.config.ts index 27d833181..5b4beb89f 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -13,7 +13,7 @@ export default defineConfig({ entry: ['lib/index.ts', 'lib/testing.ts', 'bin.ts'], sourcemap: !process.env.CI, dts: { - oxc: true, + oxc: false, // setting `resolve: true` seems to anger Rolldown due to our `postcss` dep resolve: Object.keys(pkg.devDependencies) }, From b8a217408ed6c93e7c78b94e19d95ae6c8cb6ddc Mon Sep 17 00:00:00 2001 From: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> Date: Fri, 26 Sep 2025 22:45:56 -0400 Subject: [PATCH 18/19] undo and use simple type --- packages/addons/_config/official.ts | 21 ++++++++++++++++++--- packages/cli/lib/tsconfig.json | 4 ++-- tsdown.config.ts | 11 +++-------- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/packages/addons/_config/official.ts b/packages/addons/_config/official.ts index d3c136b31..8dec45af1 100644 --- a/packages/addons/_config/official.ts +++ b/packages/addons/_config/official.ts @@ -1,4 +1,4 @@ -import type { AddonWithoutExplicitArgs } from '@sveltejs/cli-core'; +import type { Addon, AddonWithoutExplicitArgs } from '@sveltejs/cli-core'; import devtoolsJson from '../devtools-json/index.ts'; import drizzle from '../drizzle/index.ts'; @@ -13,9 +13,24 @@ import sveltekitAdapter from '../sveltekit-adapter/index.ts'; import tailwindcss from '../tailwindcss/index.ts'; import vitest from '../vitest-addon/index.ts'; +type OfficialAddons = { + prettier: Addon; + eslint: Addon; + vitest: Addon; + playwright: Addon; + tailwindcss: Addon; + sveltekitAdapter: Addon; + devtoolsJson: Addon; + drizzle: Addon; + lucia: Addon; + mdsvex: Addon; + paraglide: Addon; + storybook: Addon; +}; + // The order of addons here determines the order they are displayed inside the CLI // We generally try to order them by perceived popularity -export const officialAddons = { +export const officialAddons: OfficialAddons = { prettier, eslint, vitest, @@ -28,7 +43,7 @@ export const officialAddons = { mdsvex, paraglide, storybook -} as const; +}; export function getAddonDetails(id: string): AddonWithoutExplicitArgs { const details = Object.values(officialAddons).find((a) => a.id === id); diff --git a/packages/cli/lib/tsconfig.json b/packages/cli/lib/tsconfig.json index 6fff10a76..0b1481243 100644 --- a/packages/cli/lib/tsconfig.json +++ b/packages/cli/lib/tsconfig.json @@ -1,8 +1,8 @@ { "extends": "../../../tsconfig.json", "compilerOptions": { - // "checkJs": false, - // "isolatedDeclarations": true, + "checkJs": false, + "isolatedDeclarations": true, "declaration": true }, // we'll only want to enforce `isolatedDeclarations` on the library portion of the CLI diff --git a/tsdown.config.ts b/tsdown.config.ts index 5b4beb89f..6a80f6b24 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -13,7 +13,7 @@ export default defineConfig({ entry: ['lib/index.ts', 'lib/testing.ts', 'bin.ts'], sourcemap: !process.env.CI, dts: { - oxc: false, + oxc: true, // setting `resolve: true` seems to anger Rolldown due to our `postcss` dep resolve: Object.keys(pkg.devDependencies) }, @@ -21,9 +21,7 @@ export default defineConfig({ { name: 'evaluate-community-addon-ids', transform: { - filter: { - id: /_config[/\\]community\.ts$/ - }, + filter: { id: /_config[/\\]community\.ts$/ }, handler(code, id) { const ms = new MagicString(code, { filename: id }); const start = code.indexOf('export const communityAddonIds'); @@ -31,10 +29,7 @@ export default defineConfig({ const ids = fs.readdirSync('community-addons').map((p) => path.parse(p).name); const generated = `export const communityAddonIds = ${JSON.stringify(ids)}`; ms.overwrite(start, end, generated); - return { - code: ms.toString(), - map: ms.generateMap() - }; + return { code: ms.toString(), map: ms.generateMap() }; } } } From b3755c64a49eef75cd9c7317d309905034a49465 Mon Sep 17 00:00:00 2001 From: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> Date: Mon, 29 Sep 2025 12:44:08 -0400 Subject: [PATCH 19/19] fix all addons test --- packages/addons/_tests/all-addons/test.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/addons/_tests/all-addons/test.ts b/packages/addons/_tests/all-addons/test.ts index 845f468ff..2665a3cbc 100644 --- a/packages/addons/_tests/all-addons/test.ts +++ b/packages/addons/_tests/all-addons/test.ts @@ -5,16 +5,19 @@ import { officialAddons } from '../../index.ts'; import type { AddonMap, OptionMap } from 'sv'; const windowsCI = process.env.CI && process.platform === 'win32'; -const addons = officialAddons.reduce((addonMap, addon) => { +const addons = Object.values(officialAddons).reduce((addonMap, addon) => { if (addon.id === 'storybook' && windowsCI) return addonMap; addonMap[addon.id] = addon; return addonMap; }, {}); -const defaultOptions = officialAddons.reduce>((options, addon) => { - options[addon.id] = {}; - return options; -}, {}); +const defaultOptions = Object.values(officialAddons).reduce>( + (options, addon) => { + options[addon.id] = {}; + return options; + }, + {} +); const { test, variants, prepareServer } = setupTest(addons);