Skip to content

Commit

Permalink
test: fix playground config variants (#13725)
Browse files Browse the repository at this point in the history
  • Loading branch information
patak-dev authored Jul 7, 2023
1 parent df492fa commit 8f109a6
Show file tree
Hide file tree
Showing 22 changed files with 77 additions and 85 deletions.
1 change: 0 additions & 1 deletion playground/assets/__tests__/relative-base/vite.config.js

This file was deleted.

1 change: 0 additions & 1 deletion playground/assets/__tests__/runtime-base/vite.config.js

This file was deleted.

1 change: 0 additions & 1 deletion playground/assets/__tests__/url-base/vite.config.js

This file was deleted.

2 changes: 0 additions & 2 deletions playground/css/__tests__/no-css-minify/vite.config.js

This file was deleted.

2 changes: 0 additions & 2 deletions playground/css/__tests__/same-file-name/vite.config.js

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion playground/preload/__tests__/resolve-deps/vite.config.js

This file was deleted.

37 changes: 21 additions & 16 deletions playground/vitestSetup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import os from 'node:os'
import fs from 'fs-extra'
import { chromium } from 'playwright-chromium'
import type {
ConfigEnv,
InlineConfig,
Logger,
PluginOption,
Expand Down Expand Up @@ -197,27 +198,31 @@ beforeAll(async (s) => {
}
})

function loadConfigFromDir(dir: string) {
return loadConfigFromFile(
{
command: isBuild ? 'build' : 'serve',
mode: isBuild ? 'production' : 'development',
},
undefined,
dir,
)
}

export async function startDefaultServe(): Promise<void> {
let config: UserConfig | null = null
// config file near the *.spec.ts
const res = await loadConfigFromDir(dirname(testPath))
if (res) {
config = res.config

const configEnv: ConfigEnv = {
command: isBuild ? 'build' : 'serve',
mode: isBuild ? 'production' : 'development',
}

// config file named by convention as the *.spec.ts folder
const variantName = path.basename(dirname(testPath))
if (variantName !== '__tests__') {
const configVariantPath = path.resolve(
rootDir,
`vite.config-${variantName}.js`,
)
if (fs.existsSync(configVariantPath)) {
const res = await loadConfigFromFile(configEnv, configVariantPath)
if (res) {
config = res.config
}
}
}
// config file from test root dir
if (!config) {
const res = await loadConfigFromDir(rootDir)
const res = await loadConfigFromFile(configEnv, undefined, rootDir)
if (res) {
config = res.config
}
Expand Down
1 change: 0 additions & 1 deletion playground/worker/__tests__/es/vite.config.js

This file was deleted.

1 change: 0 additions & 1 deletion playground/worker/__tests__/iife/vite.config.js

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion playground/worker/__tests__/relative-base/vite.config.js

This file was deleted.

2 changes: 0 additions & 2 deletions playground/worker/__tests__/sourcemap-hidden/vite.config.js

This file was deleted.

2 changes: 0 additions & 2 deletions playground/worker/__tests__/sourcemap-inline/vite.config.js

This file was deleted.

2 changes: 0 additions & 2 deletions playground/worker/__tests__/sourcemap/vite.config.js

This file was deleted.

2 changes: 2 additions & 0 deletions playground/worker/vite.config-sourcemap-hidden.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import sourcemap from './worker-sourcemap-config.js'
export default sourcemap('hidden')
2 changes: 2 additions & 0 deletions playground/worker/vite.config-sourcemap-inline.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import sourcemap from './worker-sourcemap-config.js'
export default sourcemap('inline')
52 changes: 2 additions & 50 deletions playground/worker/vite.config-sourcemap.js
Original file line number Diff line number Diff line change
@@ -1,50 +1,2 @@
import { defineConfig } from 'vite'
import workerPluginTestPlugin from './worker-plugin-test-plugin'

/** @param {boolean | 'inline' | 'hidden' | 'sourcemap'} sourcemap */
export default (sourcemap) => {
sourcemap =
/** @type {'inline' | 'hidden' | 'sourcemap'} */ (
process.env.WORKER_MODE
) || sourcemap

if (sourcemap === 'sourcemap') {
sourcemap = true
}

const typeName =
typeof sourcemap === 'boolean' ? 'sourcemap' : 'sourcemap-' + sourcemap

return defineConfig({
base: `/iife-${typeName}/`,
resolve: {
alias: {
'@': __dirname,
},
},
worker: {
format: 'iife',
plugins: [workerPluginTestPlugin()],
rollupOptions: {
output: {
assetFileNames: 'assets/[name]-worker_asset[hash].[ext]',
chunkFileNames: 'assets/[name]-worker_chunk[hash].js',
entryFileNames: 'assets/[name]-worker_entry[hash].js',
},
},
},
build: {
outDir: `dist/iife-${typeName}/`,
sourcemap: sourcemap,
rollupOptions: {
output: {
assetFileNames: 'assets/[name]-[hash].[ext]',
chunkFileNames: 'assets/[name]-[hash].js',
entryFileNames: 'assets/[name]-[hash].js',
},
},
},
plugins: [workerPluginTestPlugin()],
cacheDir: `node_modules/.vite-sourcemap-${typeName}`,
})
}
import sourcemap from './worker-sourcemap-config.js'
export default sourcemap(true)
50 changes: 50 additions & 0 deletions playground/worker/worker-sourcemap-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import { defineConfig } from 'vite'
import workerPluginTestPlugin from './worker-plugin-test-plugin'

/** @param {boolean | 'inline' | 'hidden' | 'sourcemap'} sourcemap */
export default (sourcemap) => {
sourcemap =
/** @type {'inline' | 'hidden' | 'sourcemap'} */ (
process.env.WORKER_MODE
) || sourcemap

if (sourcemap === 'sourcemap') {
sourcemap = true
}

const typeName =
typeof sourcemap === 'boolean' ? 'sourcemap' : 'sourcemap-' + sourcemap

return defineConfig({
base: `/iife-${typeName}/`,
resolve: {
alias: {
'@': __dirname,
},
},
worker: {
format: 'iife',
plugins: [workerPluginTestPlugin()],
rollupOptions: {
output: {
assetFileNames: 'assets/[name]-worker_asset[hash].[ext]',
chunkFileNames: 'assets/[name]-worker_chunk[hash].js',
entryFileNames: 'assets/[name]-worker_entry[hash].js',
},
},
},
build: {
outDir: `dist/iife-${typeName}/`,
sourcemap: sourcemap,
rollupOptions: {
output: {
assetFileNames: 'assets/[name]-[hash].[ext]',
chunkFileNames: 'assets/[name]-[hash].js',
entryFileNames: 'assets/[name]-[hash].js',
},
},
},
plugins: [workerPluginTestPlugin()],
cacheDir: `node_modules/.vite-sourcemap-${typeName}`,
})
}

0 comments on commit 8f109a6

Please sign in to comment.