fix(electron): define in esbuild (#8287)

This commit is contained in:
forehalo
2024-09-18 08:07:58 +00:00
parent 917640c5b0
commit 366c3b8784
@@ -16,31 +16,27 @@ export const mode = (process.env.NODE_ENV =
process.env.NODE_ENV || 'development'); process.env.NODE_ENV || 'development');
export const config = (): BuildOptions => { export const config = (): BuildOptions => {
const define: Record<string, string> = {}; const define = {
'process.env.GITHUB_SHA': process.env.GITHUB_SHA,
define['REPLACE_ME_BUILD_ENV'] = `"${process.env.BUILD_TYPE ?? 'stable'}"`; 'process.env.SENTRY_RELEASE': process.env.SENTRY_RELEASE,
'process.env.SENTRY_DSN': process.env.SENTRY_DSN,
define['BUILD_CONFIG'] = JSON.stringify( REPLACE_ME_BUILD_ENV: process.env.BUILD_TYPE ?? 'stable',
getBuildConfig({ ...Object.entries(
channel: (process.env.BUILD_TYPE as any) ?? 'canary', getBuildConfig({
distribution: 'desktop', channel: (process.env.BUILD_TYPE as any) ?? 'canary',
mode: distribution: 'desktop',
process.env.NODE_ENV === 'production' ? 'production' : 'development', mode:
static: false, process.env.NODE_ENV === 'production' ? 'production' : 'development',
}) static: false,
); })
).reduce(
if (process.env.GITHUB_SHA) { (def, [key, val]) => {
define['process.env.GITHUB_SHA'] = `"${process.env.GITHUB_SHA}"`; def[`BUILD_CONFIG.${key}`] = val;
} return def;
},
if (process.env.SENTRY_RELEASE) { {} as Record<string, any>
define['process.env.SENTRY_RELEASE'] = `"${process.env.SENTRY_RELEASE}"`; ),
} };
if (process.env.SENTRY_DSN) {
define['process.env.SENTRY_DSN'] = `"${process.env.SENTRY_DSN}"`;
}
const plugins: Plugin[] = []; const plugins: Plugin[] = [];
@@ -96,7 +92,17 @@ export const config = (): BuildOptions => {
loader: { loader: {
'.node': 'copy', '.node': 'copy',
}, },
define, define: Object.entries(define).reduce(
(def, [key, val]) => {
def[key] =
JSON.stringify(val) ??
String(
val
) /* JSON.stringify(undefined) == undefined, but we need 'undefined' */;
return def;
},
{} as Record<string, string>
),
assetNames: '[name]', assetNames: '[name]',
treeShaking: true, treeShaking: true,
sourcemap: 'linked', sourcemap: 'linked',