web: Fix issues surrounding Vite/ESBuild types.
This commit is contained in:
		| @ -1,3 +1,4 @@ | ||||
| /// <reference types="../types/esbuild.js" /> | ||||
| /** | ||||
|  * @file ESBuild script for building the authentik web UI. | ||||
|  * | ||||
| @ -9,7 +10,6 @@ import { | ||||
|     NodeEnvironment, | ||||
|     readBuildIdentifier, | ||||
|     resolvePackage, | ||||
|     serializeEnvironmentVars, | ||||
| } from "@goauthentik/monorepo"; | ||||
| import { DistDirectory, DistDirectoryName, EntryPoint, PackageRoot } from "@goauthentik/web/paths"; | ||||
| import { deepmerge } from "deepmerge-ts"; | ||||
| @ -20,15 +20,10 @@ import * as fs from "node:fs/promises"; | ||||
| import * as path from "node:path"; | ||||
|  | ||||
| import { mdxPlugin } from "./esbuild/build-mdx-plugin.mjs"; | ||||
| import { createBundleDefinitions } from "./esbuild/environment.mjs"; | ||||
|  | ||||
| const logPrefix = "[Build]"; | ||||
|  | ||||
| const definitions = serializeEnvironmentVars({ | ||||
|     NODE_ENV: NodeEnvironment, | ||||
|     CWD: process.cwd(), | ||||
|     AK_API_BASE_PATH: process.env.AK_API_BASE_PATH, | ||||
| }); | ||||
|  | ||||
| const patternflyPath = resolvePackage("@patternfly/patternfly"); | ||||
|  | ||||
| /** | ||||
| @ -86,7 +81,7 @@ const BASE_ESBUILD_OPTIONS = { | ||||
|             root: MonoRepoRoot, | ||||
|         }), | ||||
|     ], | ||||
|     define: definitions, | ||||
|     define: createBundleDefinitions(), | ||||
|     format: "esm", | ||||
|     logOverride: { | ||||
|         /** | ||||
|  | ||||
							
								
								
									
										29
									
								
								web/scripts/esbuild/environment.mjs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								web/scripts/esbuild/environment.mjs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| /** | ||||
|  * @file ESBuild environment utilities. | ||||
|  */ | ||||
| import { AuthentikVersion, NodeEnvironment, serializeEnvironmentVars } from "@goauthentik/monorepo"; | ||||
|  | ||||
| /** | ||||
|  * Creates a mapping of environment variables to their respective runtime constants. | ||||
|  */ | ||||
| export function createBundleDefinitions() { | ||||
|     const SerializedNodeEnvironment = /** @type {`"development"` | `"production"`} */ ( | ||||
|         JSON.stringify(NodeEnvironment) | ||||
|     ); | ||||
|  | ||||
|     /** | ||||
|      * @satisfies {Record<ESBuildImportEnvKey, string>} | ||||
|      */ | ||||
|     const envRecord = { | ||||
|         AK_VERSION: AuthentikVersion, | ||||
|         AK_API_BASE_PATH: process.env.AK_API_BASE_PATH ?? "", | ||||
|     }; | ||||
|  | ||||
|     return { | ||||
|         ...serializeEnvironmentVars(envRecord), | ||||
|         // We need to explicitly set this for NPM packages that use `process` | ||||
|         // to determine their environment. | ||||
|         "process.env.NODE_ENV": SerializedNodeEnvironment, | ||||
|         "import.meta.env.NODE_ENV": SerializedNodeEnvironment, | ||||
|     }; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Teffen Ellis
					Teffen Ellis