From d2a8609e04ab01edeadb8dd032978d902aa99296 Mon Sep 17 00:00:00 2001 From: Anders Chen Date: Tue, 26 Aug 2025 22:19:52 +0800 Subject: [PATCH 1/2] Changes required to unbreak vite-rolldown --- vite-plugin-ruby/src/index.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/vite-plugin-ruby/src/index.ts b/vite-plugin-ruby/src/index.ts index 5248a5f7..b43ea004 100644 --- a/vite-plugin-ruby/src/index.ts +++ b/vite-plugin-ruby/src/index.ts @@ -44,6 +44,10 @@ function config (userConfig: UserConfig, env: ConfigEnv): UserConfig { if (typeof rollupInput === 'string') rollupInput = { [rollupInput]: rollupInput } + // Detect if we're using rolldown + const isUsingRolldown = this.meta && this.meta.rolldownVersion; + const optionsKey = isUsingRolldown ? "rolldownOptions" : "rollupOptions"; + const build = { emptyOutDir: userConfig.build?.emptyOutDir ?? (ssrBuild || isLocal), sourcemap: !isLocal, @@ -51,7 +55,7 @@ function config (userConfig: UserConfig, env: ConfigEnv): UserConfig { assetsDir, manifest: !ssrBuild, outDir, - rollupOptions: { + [optionsKey]: { ...rollupOptions, input: { ...rollupInput, @@ -101,6 +105,7 @@ function configureServer (server: ViteDevServer) { function outputOptions (assetsDir: string, ssrBuild: boolean) { // Internal: Avoid nesting entrypoints unnecessarily. const outputFileName = (ext: string) => ({ name }: { name: string }) => { + if (typeof name === "undefined") return ""; const shortName = basename(name).split('.')[0] return posix.join(assetsDir, `${shortName}-[hash].${ext}`) } From 871db64cf4ecec0bc0118f6168d163aa00d7a1dc Mon Sep 17 00:00:00 2001 From: Anders Chen Date: Wed, 27 Aug 2025 11:58:04 +0800 Subject: [PATCH 2/2] Fix TS errors --- vite-plugin-ruby/src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/vite-plugin-ruby/src/index.ts b/vite-plugin-ruby/src/index.ts index b43ea004..d022bb85 100644 --- a/vite-plugin-ruby/src/index.ts +++ b/vite-plugin-ruby/src/index.ts @@ -45,6 +45,7 @@ function config (userConfig: UserConfig, env: ConfigEnv): UserConfig { rollupInput = { [rollupInput]: rollupInput } // Detect if we're using rolldown + // @ts-ignore - Vite plugin context provides meta information const isUsingRolldown = this.meta && this.meta.rolldownVersion; const optionsKey = isUsingRolldown ? "rolldownOptions" : "rollupOptions";