2025-06-16 17:16:40 +02:00
|
|
|
/** @param {{staticUrl: string | null, version: string, mode: EnvMode | null, dist: boolean, domainConfigs: DomainConfigMap, networkDebugging:boolean, clientName?: string}} params
|
2023-09-26 18:03:30 +02:00
|
|
|
* @return {env}
|
|
|
|
*/
|
2021-10-15 15:42:12 +02:00
|
|
|
export function create(params) {
|
2025-04-28 16:36:06 +02:00
|
|
|
const { staticUrl, version, mode, dist, domainConfigs, networkDebugging, clientName } = params
|
2017-08-15 13:54:22 +02:00
|
|
|
|
2025-03-10 16:19:11 +01:00
|
|
|
if (version == null || mode == null || dist == null || networkDebugging == null) {
|
2021-10-18 11:46:24 +02:00
|
|
|
throw new Error(`Invalid env parameters: ${JSON.stringify(params)}`)
|
2021-10-15 15:42:12 +02:00
|
|
|
}
|
2017-08-15 13:54:22 +02:00
|
|
|
return {
|
2023-10-11 17:50:52 +02:00
|
|
|
staticUrl: staticUrl?.toString(),
|
2021-10-15 15:42:12 +02:00
|
|
|
versionNumber: version,
|
|
|
|
dist,
|
|
|
|
mode: mode ?? "Browser",
|
|
|
|
timeout: 20000,
|
2023-09-26 18:03:30 +02:00
|
|
|
domainConfigs,
|
2024-07-05 19:02:03 +02:00
|
|
|
platformId: null,
|
2025-03-10 16:19:11 +01:00
|
|
|
networkDebugging,
|
2025-04-28 16:36:06 +02:00
|
|
|
clientName,
|
2017-08-15 13:54:22 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-09-26 18:03:30 +02:00
|
|
|
/** @param {env} env */
|
2019-09-13 13:49:11 +02:00
|
|
|
export function preludeEnvPlugin(env) {
|
|
|
|
return {
|
|
|
|
name: "prelude-env",
|
|
|
|
banner() {
|
2021-02-23 17:52:24 +01:00
|
|
|
return `globalThis.env = ${JSON.stringify(env, null, 2)};`
|
2022-12-27 15:37:40 +01:00
|
|
|
},
|
2019-09-13 13:49:11 +02:00
|
|
|
}
|
2022-12-27 15:37:40 +01:00
|
|
|
}
|