diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/esbuild-config.js | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/config/esbuild-config.js b/config/esbuild-config.js index 52d1a59..5cef85f 100644 --- a/config/esbuild-config.js +++ b/config/esbuild-config.js | |||
@@ -9,28 +9,12 @@ const isDevelopment = mode === 'development'; | |||
9 | /** @type {string} */ | 9 | /** @type {string} */ |
10 | const modeString = JSON.stringify(mode); | 10 | const modeString = JSON.stringify(mode); |
11 | 11 | ||
12 | /** @type {Record<string, string>} */ | ||
13 | const defineEnv = { | ||
14 | 'import.meta.env.DEV': JSON.stringify(isDevelopment), | ||
15 | 'import.meta.env.MODE': modeString, | ||
16 | 'import.meta.env.PROD': JSON.stringify(!isDevelopment), | ||
17 | 'process.env.NODE_ENV': modeString, | ||
18 | 'process.env.MODE': modeString, | ||
19 | }; | ||
20 | |||
21 | /** | 12 | /** |
22 | * @param {import('esbuild').BuildOptions} config | 13 | * @param {import('esbuild').BuildOptions} config |
23 | * @param {Record<string, string>} [metaEnvVars] | 14 | * @param {Record<string, unknown>} [extraMetaEnvVars] |
24 | * @returns {import('esbuild').BuildOptions} | 15 | * @returns {import('esbuild').BuildOptions} |
25 | */ | 16 | */ |
26 | export function getConfig(config, metaEnvVars) { | 17 | export function getConfig(config, extraMetaEnvVars) { |
27 | /** @type {Record<string, string>} */ | ||
28 | const defineMeta = {}; | ||
29 | if (metaEnvVars) { | ||
30 | for (const varName in metaEnvVars) { | ||
31 | defineMeta[`import.meta.env.${varName}`] = JSON.stringify(metaEnvVars[varName]); | ||
32 | } | ||
33 | } | ||
34 | return { | 18 | return { |
35 | logLevel: 'info', | 19 | logLevel: 'info', |
36 | bundle: true, | 20 | bundle: true, |
@@ -42,9 +26,14 @@ export function getConfig(config, metaEnvVars) { | |||
42 | ...config, | 26 | ...config, |
43 | sourcemap: isDevelopment ? (config.sourcemap || true) : false, | 27 | sourcemap: isDevelopment ? (config.sourcemap || true) : false, |
44 | define: { | 28 | define: { |
45 | ...defineEnv, | 29 | 'process.env.NODE_ENV': modeString, |
46 | ...defineMeta, | 30 | 'process.env.MODE': modeString, |
47 | ...config.define, | 31 | 'import.meta.env': JSON.stringify({ |
32 | DEV: isDevelopment, | ||
33 | MODE: mode, | ||
34 | PROD: !isDevelopment, | ||
35 | ...extraMetaEnvVars, | ||
36 | }), | ||
48 | }, | 37 | }, |
49 | plugins: [ | 38 | plugins: [ |
50 | ...(config.plugins || []), | 39 | ...(config.plugins || []), |