@equinor/fusion-framework-vite-plugin-spa 3.1.11 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,22 @@
1
1
  import { loadEnv } from 'vite';
2
2
  import { resolve } from 'node:path';
3
3
  /**
4
- * Loads environment variables for a Vite project based on the provided configuration and environment.
4
+ * Loads environment variables from `.env` files for the Fusion SPA plugin.
5
5
  *
6
- * @see {@link http://vite.dev/guide/env-and-mode.html#env-files}
6
+ * @remarks
7
+ * Delegates to Vite's {@link https://vite.dev/guide/env-and-mode.html#env-files | loadEnv}
8
+ * using the resolved project root and env directory. Only variables whose
9
+ * name starts with {@link namespace} are returned.
7
10
  *
8
- * @param config - The user configuration object, which includes properties such as `root` and `envDir`.
9
- * - `root`: The root directory of the project. Defaults to the current working directory if not specified.
10
- * - `envDir`: The directory containing environment files. If not specified, defaults to the root directory.
11
- * @param env - The environment configuration object.
12
- * - `mode`: The mode in which the application is running (e.g., 'development', 'production').
13
- * @returns A record of environment variables prefixed with `FUSION_SPA_`.
11
+ * Values loaded here override any matching keys produced by
12
+ * {@link PluginOptions.generateTemplateEnv}.
13
+ *
14
+ * @param config - Vite user configuration (`root`, `envDir`).
15
+ * @param env - Vite configuration environment containing the current `mode`.
16
+ * @param namespace - Variable name prefix to filter on.
17
+ * @returns A flat record of matching environment variable names to their string values.
18
+ *
19
+ * @defaultValue namespace — `'FUSION_SPA_'`
14
20
  */
15
21
  export function loadEnvironment(config, env, namespace = 'FUSION_SPA_') {
16
22
  // resolve the root directory
@@ -1 +1 @@
1
- {"version":3,"file":"load-env.js","sourceRoot":"","sources":["../../../src/util/load-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,OAAO,EAAmB,MAAM,MAAM,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAkB,EAClB,GAAc,EACd,SAAS,GAAG,aAAa;IAEzB,6BAA6B;IAC7B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3D,oCAAoC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACnF,0DAA0D;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"load-env.js","sourceRoot":"","sources":["../../../src/util/load-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,OAAO,EAAmB,MAAM,MAAM,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAkB,EAClB,GAAc,EACd,SAAS,GAAG,aAAa;IAEzB,6BAA6B;IAC7B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3D,oCAAoC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACnF,0DAA0D;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,eAAe,eAAe,CAAC"}
@@ -1,32 +1,26 @@
1
1
  /**
2
- * Converts a nested object into a flat object with keys in snake_case and uppercase.
3
- * Nested keys are prefixed with their parent keys, separated by underscores.
4
- * Non-object values are stringified.
2
+ * Flattens a nested object into a single-level record with
3
+ * `UPPER_SNAKE_CASE` keys suitable for Vite's `config.define`.
5
4
  *
6
- * @param obj - The input object to be flattened and converted.
7
- * @param prefix - An optional prefix to prepend to the keys (default is an empty string).
8
- * @returns A flat object with snake_case, uppercase keys and stringified values.
5
+ * @remarks
6
+ * Used internally by the Fusion SPA plugin to convert the object
7
+ * returned by {@link PluginOptions.generateTemplateEnv} into
8
+ * `import.meta.env.*` defines.
9
9
  *
10
- * @example
11
- * ```typescript
12
- * const input = {
13
- * someKey: "value",
14
- * nestedObject: {
15
- * anotherKey: 42,
16
- * deepNested: {
17
- * finalKey: true
18
- * }
19
- * }
20
- * };
10
+ * - camelCase keys are converted to UPPER_SNAKE_CASE.
11
+ * - Nested objects are recursively flattened with `_` separators.
12
+ * - Arrays and primitives are JSON-stringified.
13
+ *
14
+ * @param obj - The object to flatten.
15
+ * @param prefix - Key prefix prepended to every output key.
16
+ * @returns A flat record mapping `PREFIX_KEY` strings to JSON-stringified values.
21
17
  *
22
- * const result = objectToEnv(input);
23
- * console.log(result);
24
- * // Output:
25
- * // {
26
- * // SOME_KEY: "\"value\"",
27
- * // NESTED_OBJECT_ANOTHER_KEY: "42",
28
- * // NESTED_OBJECT_DEEP_NESTED_FINAL_KEY: "true"
29
- * // }
18
+ * @defaultValue prefix `'FUSION_SPA'`
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * objectToEnv({ portal: { id: 'my-portal' } }, 'FUSION_SPA');
23
+ * // => { FUSION_SPA_PORTAL_ID: '"my-portal"' }
30
24
  * ```
31
25
  */
32
26
  export function objectToEnv(obj, prefix = 'FUSION_SPA') {
@@ -1 +1 @@
1
- {"version":3,"file":"object-to-env.js","sourceRoot":"","sources":["../../../src/util/object-to-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,MAAM,GAAG,YAAY;IAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACzD,gDAAgD;QAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAE9D,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEhF,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,qCAAqC;YACrC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,8BAA8B;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"object-to-env.js","sourceRoot":"","sources":["../../../src/util/object-to-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,MAAM,GAAG,YAAY;IAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACzD,gDAAgD;QAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAE9D,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEhF,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,qCAAqC;YACrC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,8BAA8B;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,eAAe,WAAW,CAAC"}
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '3.1.11';
2
+ export const version = '4.0.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}