From 2c61b0206a7d8687d08b9e46ee8acbc3993238f4 Mon Sep 17 00:00:00 2001 From: dominikg Date: Fri, 4 Mar 2022 17:41:12 +0100 Subject: [PATCH 1/3] test: add unit test for define plugin --- .../src/node/__tests__/plugins/define.spec.ts | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 packages/vite/src/node/__tests__/plugins/define.spec.ts diff --git a/packages/vite/src/node/__tests__/plugins/define.spec.ts b/packages/vite/src/node/__tests__/plugins/define.spec.ts new file mode 100644 index 00000000000000..9a65f8f3a51cea --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/define.spec.ts @@ -0,0 +1,39 @@ +import { definePlugin } from '../../plugins/define' +import { resolveConfig } from '../../config' + +async function createDefinePluginTransform( + define: Record = {}, + build = true, + ssr = false +) { + const config = await resolveConfig({ define }, build ? 'build' : 'serve') + const instance = definePlugin(config) + return async (code: string) => { + const result = await instance.transform.call({}, code, 'foo.ts', { ssr }) + return result?.code || result + } +} + +describe('definePlugin', () => { + test('replaces custom define', async () => { + const transform = await createDefinePluginTransform({ + __APP_VERSION__: JSON.stringify('1.0') + }) + expect(await transform('const version = __APP_VERSION__ ;')).toBe( + 'const version = "1.0" ;' + ) + expect(await transform('const version = __APP_VERSION__;')).toBe( + 'const version = "1.0";' + ) + }) + + test('replaces import.meta.env.SSR with false', async () => { + const transform = await createDefinePluginTransform() + expect(await transform('const isSSR = import.meta.env.SSR ;')).toBe( + 'const isSSR = false ;' + ) + expect(await transform('const isSSR = import.meta.env.SSR;')).toBe( + 'const isSSR = false;' + ) + }) +}) From 042f79ec412321048952e2c610738561a8ffb6d6 Mon Sep 17 00:00:00 2001 From: patak-dev Date: Fri, 4 Mar 2022 20:46:26 +0100 Subject: [PATCH 2/3] fix: revert #6340 --- .../define/__tests__/define.spec.ts | 9 ----- packages/playground/define/index.html | 6 --- packages/playground/define/vite.config.js | 5 +-- packages/vite/src/node/plugins/define.ts | 39 +++++++------------ 4 files changed, 16 insertions(+), 43 deletions(-) diff --git a/packages/playground/define/__tests__/define.spec.ts b/packages/playground/define/__tests__/define.spec.ts index f417026ebd186d..f5eb78ea4e2766 100644 --- a/packages/playground/define/__tests__/define.spec.ts +++ b/packages/playground/define/__tests__/define.spec.ts @@ -20,13 +20,4 @@ test('string', async () => { expect(await page.textContent('.spread-array')).toBe( JSON.stringify([...defines.__STRING__]) ) - expect(await page.textContent('.import-file')).not.toBe( - `import * from "${defines.__IMPORT_FILE_NAME__}"` - ) - expect(await page.textContent('.export-file')).not.toBe( - `export * from "${defines.__EXPORT_FILE_NAME__}"` - ) - expect(await page.textContent('.path')).not.toBe( - `import * from "xxxx/${defines.PATH}"` - ) }) diff --git a/packages/playground/define/index.html b/packages/playground/define/index.html index a285764dd9e0b4..bf6a9c59689396 100644 --- a/packages/playground/define/index.html +++ b/packages/playground/define/index.html @@ -9,9 +9,6 @@

Define

process as property:

spread object:

spread array:

-

import file:

-

export file:

-

path: