From 235fe97c28e5c01a8cacbd7a3a35e453ca235e63 Mon Sep 17 00:00:00 2001 From: Siyaman Date: Fri, 20 Feb 2026 12:40:24 -0800 Subject: [PATCH] fix: types for vite-plugin Fix type error "Plugin return type is 'readonly' and cannot be assigned to the mutable type 'PluginOption[]" --- .changeset/thirty-trains-show.md | 5 +++++ packages/react-plugin-vite/src/index.test.ts | 5 +++++ packages/react-plugin-vite/src/index.ts | 4 ++-- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 .changeset/thirty-trains-show.md diff --git a/.changeset/thirty-trains-show.md b/.changeset/thirty-trains-show.md new file mode 100644 index 0000000..4c52f36 --- /dev/null +++ b/.changeset/thirty-trains-show.md @@ -0,0 +1,5 @@ +--- +'@webspatial/vite-plugin': patch +--- + +Fix type error for vite-plugin diff --git a/packages/react-plugin-vite/src/index.test.ts b/packages/react-plugin-vite/src/index.test.ts index 2265539..230e40f 100644 --- a/packages/react-plugin-vite/src/index.test.ts +++ b/packages/react-plugin-vite/src/index.test.ts @@ -1,4 +1,5 @@ import plugin from './index' +import { defineConfig } from 'vite' import { describe, it, expect, beforeEach, vi } from 'vitest' import { DEFAULT_BASE, AVP } from '@webspatial/shared' @@ -103,4 +104,8 @@ describe('@webspatial/vite-plugin default export', () => { expect(cfg.base).toBe('/x') expect(cfg.resolve.alias[0].replacement).toBe('@webspatial/react-sdk/web') }) + + it('plugin interface satisfies Vite', () => { + defineConfig({ plugins: [plugin()] }) + }) }) diff --git a/packages/react-plugin-vite/src/index.ts b/packages/react-plugin-vite/src/index.ts index ef81644..32665ab 100644 --- a/packages/react-plugin-vite/src/index.ts +++ b/packages/react-plugin-vite/src/index.ts @@ -1,4 +1,4 @@ -import { ConfigEnv, UserConfig, mergeConfig } from 'vite' +import { ConfigEnv, UserConfig, mergeConfig, Plugin } from 'vite' import { AVP, DEFAULT_BASE, @@ -110,5 +110,5 @@ export default function (options: WebSpatialOptions = {}) { } }, }, - ] as const + ] as const satisfies Plugin[] }