diff --git a/.changeset/slimy-sloths-fry.md b/.changeset/slimy-sloths-fry.md new file mode 100644 index 0000000000..b2d81f1d7b --- /dev/null +++ b/.changeset/slimy-sloths-fry.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Fixes an issue where using `getViteConfig()` returns incorrect and duplicate configuration diff --git a/packages/astro/src/core/middleware/vite-plugin.ts b/packages/astro/src/core/middleware/vite-plugin.ts index bb7b54e727..7ac8bf2ed1 100644 --- a/packages/astro/src/core/middleware/vite-plugin.ts +++ b/packages/astro/src/core/middleware/vite-plugin.ts @@ -21,9 +21,8 @@ export function vitePluginMiddleware({ settings }: { settings: AstroSettings }): return { name: '@astro/plugin-middleware', - config(opts, { command }) { + config(_, { command }) { isCommandBuild = command === 'build'; - return opts; }, async resolveId(id) { if (id === MIDDLEWARE_MODULE_ID) { diff --git a/packages/astro/test/config-vite.test.js b/packages/astro/test/config-vite.test.js index 6f9b20599d..3212172d2f 100644 --- a/packages/astro/test/config-vite.test.js +++ b/packages/astro/test/config-vite.test.js @@ -2,6 +2,8 @@ import assert from 'node:assert/strict'; import { before, describe, it } from 'node:test'; import * as cheerio from 'cheerio'; import { loadFixture } from './test-utils.js'; +import { getViteConfig } from '../dist/config/index.js' +import { resolveConfig } from 'vite'; describe('Vite Config', async () => { let fixture; @@ -21,3 +23,14 @@ describe('Vite Config', async () => { assert.match($('link').attr('href'), /\/assets\/testing-[a-z\d]+\.css/); }); }); + +describe("getViteConfig", () => { + it("Does not change the default config.", async () => { + const command = "serve"; + const mode = "test"; + const configFn = getViteConfig({}); + const config = await configFn({ command, mode }); + const resolvedConfig = await resolveConfig(config, command, mode); + assert.deepStrictEqual(resolvedConfig.resolve.conditions, ["astro"]); + }) +});