From 052b7c9231fd5bac7be88e5fd3543855c3ac4ba6 Mon Sep 17 00:00:00 2001 From: sapphi-red <49056869+sapphi-red@users.noreply.github.com> Date: Thu, 12 Mar 2026 20:44:08 +0900 Subject: [PATCH] fix(dev): always use ESM Oxc runtime --- package.json | 2 +- packages/vite/package.json | 1 - packages/vite/src/node/plugins/index.ts | 3 + packages/vite/src/node/plugins/oxc.ts | 23 +- .../__tests__/fixtures/oxc-runtime-helper.ts | 6 + .../runtime/__tests__/server-runtime.spec.ts | 10 + pnpm-lock.yaml | 227 +++--------------- 7 files changed, 50 insertions(+), 222 deletions(-) create mode 100644 packages/vite/src/node/ssr/runtime/__tests__/fixtures/oxc-runtime-helper.ts diff --git a/package.json b/package.json index eda0aaa448d80f..90c635a864df9b 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "picocolors": "^1.1.1", "playwright-chromium": "^1.58.2", "prettier": "3.8.1", - "rolldown": "1.0.0-rc.9", + "rolldown": "../rolldown/packages/rolldown", "rollup": "^4.59.0", "simple-git-hooks": "^2.13.1", "tsx": "^4.21.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index 2fc0fb82e35002..5802a398185d67 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -73,7 +73,6 @@ }, "//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!", "dependencies": { - "@oxc-project/runtime": "0.115.0", "lightningcss": "^1.32.0", "picomatch": "^4.0.3", "postcss": "^8.5.8", diff --git a/packages/vite/src/node/plugins/index.ts b/packages/vite/src/node/plugins/index.ts index 2f7cb28f2723ee..662a2659162dff 100644 --- a/packages/vite/src/node/plugins/index.ts +++ b/packages/vite/src/node/plugins/index.ts @@ -4,6 +4,7 @@ import { viteAliasPlugin as nativeAliasPlugin, viteJsonPlugin as nativeJsonPlugin, viteWasmFallbackPlugin as nativeWasmFallbackPlugin, + oxcRuntimePlugin, } from 'rolldown/experimental' import type { PluginHookUtils, ResolvedConfig } from '../config' import { @@ -94,6 +95,8 @@ export async function resolvePlugins( htmlInlineProxyPlugin(config), cssPlugin(config), esbuildBannerFooterCompatPlugin(config), + // @oxc-project/runtime resolution is handled by rolldown in build + config.oxc !== false && !isBundled ? oxcRuntimePlugin() : null, config.oxc !== false ? oxcPlugin(config) : null, nativeJsonPlugin({ ...config.json, minify: isBuild }), wasmHelperPlugin(), diff --git a/packages/vite/src/node/plugins/oxc.ts b/packages/vite/src/node/plugins/oxc.ts index e0e30e8224d7b9..ede897068e17a9 100644 --- a/packages/vite/src/node/plugins/oxc.ts +++ b/packages/vite/src/node/plugins/oxc.ts @@ -7,7 +7,6 @@ import { transformSync } from 'rolldown/utils' import { viteTransformPlugin as nativeTransformPlugin } from 'rolldown/experimental' import type { RolldownError, RolldownLog, SourceMap } from 'rolldown' import colors from 'picocolors' -import { prefixRegex } from 'rolldown/filter' import type { FSWatcher } from '#dep-types/chokidar' import { createFilter, ensureWatchedFile, normalizePath } from '../utils' import type { ResolvedConfig } from '../config' @@ -15,7 +14,7 @@ import type { Plugin } from '../plugin' import { cleanUrl } from '../../shared/utils' import { type Environment, perEnvironmentPlugin } from '..' import type { ViteDevServer } from '../server' -import { JS_TYPES_RE, VITE_PACKAGE_DIR } from '../constants' +import { JS_TYPES_RE } from '../constants' import type { Logger } from '../logger' import { type ESBuildOptions, getTSConfigResolutionCache } from './esbuild' @@ -299,9 +298,6 @@ export function oxcPlugin(config: ResolvedConfig): Plugin { return result } - const runtimeResolveBase = normalizePath( - path.join(VITE_PACKAGE_DIR, 'package.json'), - ) let server: ViteDevServer @@ -310,23 +306,6 @@ export function oxcPlugin(config: ResolvedConfig): Plugin { configureServer(_server) { server = _server }, - // @oxc-project/runtime resolution is handled by rolldown in build - ...(config.command === 'serve' - ? { - resolveId: { - filter: { - id: prefixRegex('@oxc-project/runtime/'), - }, - async handler(id, _importer, opts) { - // @oxc-project/runtime imports will be injected by Oxc transform - // since it's injected by the transform, @oxc-project/runtime should be resolved to the one Vite depends on - const resolved = await this.resolve(id, runtimeResolveBase, opts) - return resolved - }, - order: 'pre', - }, - } - : {}), async transform(code, id) { if (filter(id) || filter(cleanUrl(id)) || jsxRefreshFilter?.(id)) { const modifiedOxcTransformOptions = getModifiedOxcTransformOptions( diff --git a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/oxc-runtime-helper.ts b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/oxc-runtime-helper.ts new file mode 100644 index 00000000000000..c4e5d4d23c5fec --- /dev/null +++ b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/oxc-runtime-helper.ts @@ -0,0 +1,6 @@ +function html(strings: TemplateStringsArray, ...values: unknown[]) { + return strings.join('') +} +export const result = html`` diff --git a/packages/vite/src/node/ssr/runtime/__tests__/server-runtime.spec.ts b/packages/vite/src/node/ssr/runtime/__tests__/server-runtime.spec.ts index 5114dab3b593bc..b659dd67f9f6c3 100644 --- a/packages/vite/src/node/ssr/runtime/__tests__/server-runtime.spec.ts +++ b/packages/vite/src/node/ssr/runtime/__tests__/server-runtime.spec.ts @@ -12,6 +12,7 @@ describe('module runner initialization', async () => { const it = await createModuleRunnerTester({ resolve: { external: ['tinyglobby'], + noExternal: ['@oxc-project/runtime'], }, }) @@ -396,6 +397,15 @@ describe('module runner initialization', async () => { ) }) + it('oxc runtime helpers are loadable', async ({ runner }) => { + const mod = await runner.import('/fixtures/oxc-runtime-helper.ts') + expect(mod.result).toMatchInlineSnapshot(` + "" + `) + }) + it(`handle Object variable`, async ({ runner }) => { const mod = await runner.import('/fixtures/top-level-object.js') expect(mod).toMatchInlineSnapshot(` diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f9624cbd9f5dbe..a1458e195732d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - rolldown: 1.0.0-rc.9 + rolldown: ../rolldown/packages/rolldown vite: workspace:* debug: npm:obug@^1.0.2 @@ -96,8 +96,8 @@ importers: specifier: 3.8.1 version: 3.8.1 rolldown: - specifier: 1.0.0-rc.9 - version: 1.0.0-rc.9 + specifier: ../rolldown/packages/rolldown + version: link:../rolldown/packages/rolldown rollup: specifier: ^4.59.0 version: 4.59.0 @@ -237,9 +237,6 @@ importers: packages/vite: dependencies: - '@oxc-project/runtime': - specifier: 0.115.0 - version: 0.115.0 lightningcss: specifier: ^1.32.0 version: 1.32.0 @@ -250,8 +247,8 @@ importers: specifier: ^8.5.8 version: 8.5.8 rolldown: - specifier: 1.0.0-rc.9 - version: 1.0.0-rc.9 + specifier: ../rolldown/packages/rolldown + version: link:../rolldown/packages/rolldown tinyglobby: specifier: ^0.2.15 version: 0.2.15 @@ -390,7 +387,7 @@ importers: version: 2.0.3 rolldown-plugin-dts: specifier: ^0.22.2 - version: 0.22.2(rolldown@1.0.0-rc.9)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3)) + version: 0.22.2(rolldown@packages+rolldown+packages+rolldown)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3)) rollup: specifier: ^4.59.0 version: 4.59.0 @@ -554,8 +551,8 @@ importers: specifier: ^1.6.1 version: 1.6.1 rolldown: - specifier: 1.0.0-rc.9 - version: 1.0.0-rc.9 + specifier: ../rolldown/packages/rolldown + version: link:../rolldown/packages/rolldown playground/alias: dependencies: @@ -3096,13 +3093,6 @@ packages: cpu: [x64] os: [win32] - '@oxc-project/runtime@0.115.0': - resolution: {integrity: sha512-Rg8Wlt5dCbXhQnsXPrkOjL1DTSvXLgb2R/KYfnf1/K+R0k6UMLEmbQXPM+kwrWqSmWA2t0B1EtHy2/3zikQpvQ==} - engines: {node: ^20.19.0 || >=22.12.0} - - '@oxc-project/types@0.115.0': - resolution: {integrity: sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==} - '@parcel/watcher-android-arm64@2.5.6': resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} engines: {node: '>= 10.0.0'} @@ -3267,110 +3257,12 @@ packages: '@rive-app/canvas-lite@2.35.1': resolution: {integrity: sha512-Hm5dp9dmIj+3UoZiyTVi42QvO5bRtg5MrWIfidgZiX3L+oM/H94YfhPpX8Ktp6WXZtnHjh7zGy4v5hYkOlfiYA==} - '@rolldown/binding-android-arm64@1.0.0-rc.9': - resolution: {integrity: sha512-lcJL0bN5hpgJfSIz/8PIf02irmyL43P+j1pTCfbD1DbLkmGRuFIA4DD3B3ZOvGqG0XiVvRznbKtN0COQVaKUTg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - - '@rolldown/binding-darwin-arm64@1.0.0-rc.9': - resolution: {integrity: sha512-J7Zk3kLYFsLtuH6U+F4pS2sYVzac0qkjcO5QxHS7OS7yZu2LRs+IXo+uvJ/mvpyUljDJ3LROZPoQfgBIpCMhdQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - - '@rolldown/binding-darwin-x64@1.0.0-rc.9': - resolution: {integrity: sha512-iwtmmghy8nhfRGeNAIltcNXzD0QMNaaA5U/NyZc1Ia4bxrzFByNMDoppoC+hl7cDiUq5/1CnFthpT9n+UtfFyg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - - '@rolldown/binding-freebsd-x64@1.0.0-rc.9': - resolution: {integrity: sha512-DLFYI78SCiZr5VvdEplsVC2Vx53lnA4/Ga5C65iyldMVaErr86aiqCoNBLl92PXPfDtUYjUh+xFFor40ueNs4Q==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9': - resolution: {integrity: sha512-CsjTmTwd0Hri6iTw/DRMK7kOZ7FwAkrO4h8YWKoX/kcj833e4coqo2wzIFywtch/8Eb5enQ/lwLM7w6JX1W5RQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9': - resolution: {integrity: sha512-2x9O2JbSPxpxMDhP9Z74mahAStibTlrBMW0520+epJH5sac7/LwZW5Bmg/E6CXuEF53JJFW509uP+lSedaUNxg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.9': - resolution: {integrity: sha512-JA1QRW31ogheAIRhIg9tjMfsYbglXXYGNPLdPEYrwFxdbkQCAzvpSCSHCDWNl4hTtrol8WeboCSEpjdZK8qrCg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9': - resolution: {integrity: sha512-aOKU9dJheda8Kj8Y3w9gnt9QFOO+qKPAl8SWd7JPHP+Cu0EuDAE5wokQubLzIDQWg2myXq2XhTpOVS07qqvT+w==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9': - resolution: {integrity: sha512-OalO94fqj7IWRn3VdXWty75jC5dk4C197AWEuMhIpvVv2lw9fiPhud0+bW2ctCxb3YoBZor71QHbY+9/WToadA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.9': - resolution: {integrity: sha512-cVEl1vZtBsBZna3YMjGXNvnYYrOJ7RzuWvZU0ffvJUexWkukMaDuGhUXn0rjnV0ptzGVkvc+vW9Yqy6h8YX4pg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-x64-musl@1.0.0-rc.9': - resolution: {integrity: sha512-UzYnKCIIc4heAKgI4PZ3dfBGUZefGCJ1TPDuLHoCzgrMYPb5Rv6TLFuYtyM4rWyHM7hymNdsg5ik2C+UD9VDbA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - - '@rolldown/binding-openharmony-arm64@1.0.0-rc.9': - resolution: {integrity: sha512-+6zoiF+RRyf5cdlFQP7nm58mq7+/2PFaY2DNQeD4B87N36JzfF/l9mdBkkmTvSYcYPE8tMh/o3cRlsx1ldLfog==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - - '@rolldown/binding-wasm32-wasi@1.0.0-rc.9': - resolution: {integrity: sha512-rgFN6sA/dyebil3YTlL2evvi/M+ivhfnyxec7AccTpRPccno/rPoNlqybEZQBkcbZu8Hy+eqNJCqfBR8P7Pg8g==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9': - resolution: {integrity: sha512-lHVNUG/8nlF1IQk1C0Ci574qKYyty2goMiPlRqkC5R+3LkXDkL5Dhx8ytbxq35m+pkHVIvIxviD+TWLdfeuadA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.9': - resolution: {integrity: sha512-G0oA4+w1iY5AGi5HcDTxWsoxF509hrFIPB2rduV5aDqS9FtDg1CAfa7V34qImbjfhIcA8C+RekocJZA96EarwQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - '@rolldown/debug@1.0.0-rc.8': resolution: {integrity: sha512-iGpSMPXCXn1E1wodl3voNvhOvWVgqZt6vf9LDX+B79/snmGo7kO7xygWIgpLx+uIzvW+lH7u4X+GwcOolGDOqw==} '@rolldown/pluginutils@1.0.0-rc.2': resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} - '@rolldown/pluginutils@1.0.0-rc.9': - resolution: {integrity: sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw==} - '@rollup/plugin-alias@6.0.0': resolution: {integrity: sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==} engines: {node: '>=20.19.0'} @@ -6884,7 +6776,7 @@ packages: peerDependencies: '@ts-macro/tsc': ^0.3.6 '@typescript/native-preview': '>=7.0.0-dev.20250601.1' - rolldown: 1.0.0-rc.9 + rolldown: ^1.0.0-rc.3 typescript: ^5.0.0 || ^6.0.0-beta vue-tsc: ~3.2.0 peerDependenciesMeta: @@ -6897,11 +6789,6 @@ packages: vue-tsc: optional: true - rolldown@1.0.0-rc.9: - resolution: {integrity: sha512-9EbgWge7ZH+yqb4d2EnELAntgPTWbfL8ajiTW+SyhJEC4qhBbkCKbqFV4Ge4zmu5ziQuVbWxb/XwLZ+RIO7E8Q==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - rollup-plugin-license@3.7.0: resolution: {integrity: sha512-RvvOIF+GH3fBR3wffgc/vmjQn6qOn72WjppWVDp/v+CLpT0BbcRBdSkPeeIOL6U5XccdYgSIMjUyXgxlKEEFcw==} engines: {node: '>=14.0.0'} @@ -9228,10 +9115,6 @@ snapshots: '@oxc-minify/binding-win32-x64-msvc@0.115.0': optional: true - '@oxc-project/runtime@0.115.0': {} - - '@oxc-project/types@0.115.0': {} - '@parcel/watcher-android-arm64@2.5.6': optional: true @@ -9376,59 +9259,10 @@ snapshots: '@rive-app/canvas-lite@2.35.1': {} - '@rolldown/binding-android-arm64@1.0.0-rc.9': - optional: true - - '@rolldown/binding-darwin-arm64@1.0.0-rc.9': - optional: true - - '@rolldown/binding-darwin-x64@1.0.0-rc.9': - optional: true - - '@rolldown/binding-freebsd-x64@1.0.0-rc.9': - optional: true - - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9': - optional: true - - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9': - optional: true - - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.9': - optional: true - - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9': - optional: true - - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9': - optional: true - - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.9': - optional: true - - '@rolldown/binding-linux-x64-musl@1.0.0-rc.9': - optional: true - - '@rolldown/binding-openharmony-arm64@1.0.0-rc.9': - optional: true - - '@rolldown/binding-wasm32-wasi@1.0.0-rc.9': - dependencies: - '@napi-rs/wasm-runtime': 1.1.1 - optional: true - - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9': - optional: true - - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.9': - optional: true - '@rolldown/debug@1.0.0-rc.8': {} '@rolldown/pluginutils@1.0.0-rc.2': {} - '@rolldown/pluginutils@1.0.0-rc.9': {} - '@rollup/plugin-alias@6.0.0(rollup@4.59.0)': optionalDependencies: rollup: 4.59.0 @@ -13130,7 +12964,7 @@ snapshots: rfdc@1.4.1: {} - rolldown-plugin-dts@0.22.2(rolldown@1.0.0-rc.9)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3)): + rolldown-plugin-dts@0.22.2(rolldown@packages+rolldown+packages+rolldown)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3)): dependencies: '@babel/generator': 8.0.0-rc.1 '@babel/helper-validator-identifier': 8.0.0-rc.1 @@ -13141,33 +12975,30 @@ snapshots: dts-resolver: 2.1.3 get-tsconfig: 4.13.6 obug: 2.1.1 - rolldown: 1.0.0-rc.9 + rolldown: link:packages/rolldown/packages/rolldown optionalDependencies: typescript: 5.9.3 vue-tsc: 3.2.5(typescript@5.9.3) transitivePeerDependencies: - oxc-resolver - rolldown@1.0.0-rc.9: + rolldown-plugin-dts@0.22.2(rolldown@rolldown+packages+rolldown)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3)): dependencies: - '@oxc-project/types': 0.115.0 - '@rolldown/pluginutils': 1.0.0-rc.9 + '@babel/generator': 8.0.0-rc.1 + '@babel/helper-validator-identifier': 8.0.0-rc.1 + '@babel/parser': 8.0.0-rc.1 + '@babel/types': 8.0.0-rc.1 + ast-kit: 3.0.0-beta.1 + birpc: 4.0.0 + dts-resolver: 2.1.3 + get-tsconfig: 4.13.6 + obug: 2.1.1 + rolldown: link:../rolldown/packages/rolldown optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.9 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.9 - '@rolldown/binding-darwin-x64': 1.0.0-rc.9 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.9 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.9 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.9 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.9 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.9 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.9 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.9 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.9 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.9 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.9 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.9 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.9 + typescript: 5.9.3 + vue-tsc: 3.2.5(typescript@5.9.3) + transitivePeerDependencies: + - oxc-resolver rollup-plugin-license@3.7.0(picomatch@4.0.3)(rollup@4.59.0): dependencies: @@ -13777,8 +13608,8 @@ snapshots: import-without-cache: 0.2.5 obug: 2.1.1 picomatch: 4.0.3 - rolldown: 1.0.0-rc.9 - rolldown-plugin-dts: 0.22.2(rolldown@1.0.0-rc.9)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3)) + rolldown: link:../rolldown/packages/rolldown + rolldown-plugin-dts: 0.22.2(rolldown@rolldown+packages+rolldown)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3)) semver: 7.7.3 tinyexec: 1.0.2 tinyglobby: 0.2.15 @@ -13954,7 +13785,7 @@ snapshots: unrun@0.2.27: dependencies: - rolldown: 1.0.0-rc.9 + rolldown: link:../rolldown/packages/rolldown unstorage@1.17.4: dependencies: