-
Notifications
You must be signed in to change notification settings - Fork 2
/
web-test-runner.config.mjs
66 lines (62 loc) · 1.56 KB
/
web-test-runner.config.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import { fileURLToPath } from 'node:url'
import process from 'node:process'
import { fromRollup } from '@web/dev-server-rollup'
import rollupReplace from '@rollup/plugin-replace'
import rollupPostcss from 'rollup-plugin-postcss'
import { esbuildPlugin } from '@web/dev-server-esbuild'
const tsConfigFileURL = fileURLToPath(new URL('./tsconfig.json', import.meta.url))
const replace = fromRollup(rollupReplace)
const postcss = fromRollup(rollupPostcss)
const filteredLogs = ['Lit is in dev mode']
export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({
nodeResolve: true,
puppeteer: true,
debug: false,
files: [
'components/**/__tests__/*.test.js',
'components/**/__tests__/*.test.ts',
],
coverage: true,
coverageConfig: {
include: ['components/**/*.tsx'],
},
filterBrowserLogs(log) {
for (const arg of log.args) {
if (
typeof arg === 'string'
&& filteredLogs.some(l => arg.includes(l))
) {
return false
}
}
return true
},
mimeTypes: {
'components/**/*.less': 'js',
'components/**/*.css': 'js',
},
plugins: [
postcss(
{
include: [
'components/**/*.less',
'components/**/*.css',
],
modules: false,
},
),
esbuildPlugin({
ts: true,
tsconfig: tsConfigFileURL,
tsx: true,
json: true,
define: {
'process.env.NODE_ENV': `'${process.env.NODE_ENV}'`,
},
}),
replace({
'preventAssignment': true,
'process.env.NODE_ENV': '"development"',
}),
],
})