-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathvite.config.js
More file actions
68 lines (65 loc) · 1.91 KB
/
vite.config.js
File metadata and controls
68 lines (65 loc) · 1.91 KB
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
67
68
import { defineConfig } from "vite";
import solidPlugin from "vite-plugin-solid";
import hexColorTransform from "@lightningtv/vite-hex-transform";
import legacy from "@vitejs/plugin-legacy";
import path from "path";
import deviceConfigPlugin from "./devices/deviceConfigPlugin.js";
const envDir = "./environments";
export default defineConfig(({ mode }) => {
// Get environment variables
// const env = loadEnv(mode, path.join(__dirname, envDir));
return {
envDir,
define: {
__DEV__: mode !== "production",
},
plugins: [
deviceConfigPlugin(process.env.TARGET_DEVICE),
hexColorTransform({
include: ["src/**/*.{ts,tsx,js,jsx}"],
}),
solidPlugin({
solid: {
moduleName: "@lightningtv/solid",
generate: "universal",
},
}),
legacy({
targets: ["defaults", "Chrome >= 49"],
// additionalLegacyPolyfills: ["whatwg-fetch", "es6-proxy-polyfill"],
modernPolyfills: [
// Safari 11 has modules, but throws > ReferenceError: Can't find variable: globalThis
"es.global-this",
],
}),
],
resolve: {
alias: {
theme: path.resolve(__dirname, "./theme.js"),
"@": path.resolve(__dirname, "./src"),
"#devices": path.resolve(__dirname, "./devices"),
},
dedupe: ["solid-js", "@lightningtv/solid", "@lightningtv/core", "@lightningjs/renderer"],
},
optimizeDeps: {
exclude: ["@lightningtv/solid", "@lightningtv/core", "@lightningjs/renderer"],
},
server: {
hmr: true,
headers: {
"Cross-Origin-Opener-Policy": "same-origin",
"Cross-Origin-Embedder-Policy": "require-corp",
},
},
test: {
browser: {
enabled: true,
headless: false,
provider: "playwright",
name: "webkit",
},
testTransformMode: { web: ["/.[jt]sx?$/"] },
globals: true,
},
};
});