@equinor/fusion-framework-vite-plugin-spa 4.0.13 → 4.0.14

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/esm/html/bootstrap.js +3 -2
  3. package/dist/esm/html/bootstrap.js.map +1 -1
  4. package/dist/esm/html/create-portal-entry-point.js +5 -0
  5. package/dist/esm/html/create-portal-entry-point.js.map +1 -1
  6. package/dist/esm/html/{index.html.js → html.js} +1 -1
  7. package/dist/esm/html/html.js.map +1 -0
  8. package/dist/esm/html/register-service-worker.js +10 -0
  9. package/dist/esm/html/register-service-worker.js.map +1 -1
  10. package/dist/esm/html/sw.js +6 -0
  11. package/dist/esm/html/sw.js.map +1 -1
  12. package/dist/esm/plugin.js +4 -2
  13. package/dist/esm/plugin.js.map +1 -1
  14. package/dist/esm/util/{load-env.js → load-environment.js} +1 -1
  15. package/dist/esm/util/load-environment.js.map +1 -0
  16. package/dist/esm/util/object-to-env.js +2 -0
  17. package/dist/esm/util/object-to-env.js.map +1 -1
  18. package/dist/esm/version.js +1 -1
  19. package/dist/html/bootstrap.js +723 -219
  20. package/dist/html/bootstrap.js.map +1 -1
  21. package/dist/html/sw.js +6 -0
  22. package/dist/html/sw.js.map +1 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/dist/types/html/{index.html.d.ts → html.d.ts} +1 -1
  25. package/dist/types/version.d.ts +1 -1
  26. package/package.json +7 -7
  27. package/src/html/bootstrap.ts +4 -3
  28. package/src/html/create-portal-entry-point.ts +5 -0
  29. package/src/html/register-service-worker.ts +10 -0
  30. package/src/html/sw.ts +6 -0
  31. package/src/plugin.ts +4 -2
  32. package/src/util/object-to-env.ts +2 -0
  33. package/src/version.ts +1 -1
  34. package/dist/esm/html/index.html.js.map +0 -1
  35. package/dist/esm/util/load-env.js.map +0 -1
  36. /package/dist/types/util/{load-env.d.ts → load-environment.d.ts} +0 -0
  37. /package/src/html/{index.html.ts → html.ts} +0 -0
  38. /package/src/util/{load-env.ts → load-environment.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @equinor/fusion-framework-vite-plugin-spa
2
2
 
3
+ ## 4.0.14
4
+
5
+ ### Patch Changes
6
+
7
+ - 80c3e4a: Internal: renamed several source files to align with filename conventions and added a missing intent comment for object-merge logic; no public API changes.
8
+ - 80c3e4a: Internal: added intent comments to satisfy `fusion-lint` rules (control-flow, iterator/rxjs chains, TSDoc `@template` tags, and single-export-per-file), and referenced tracking issues (#5065, #5066) for pre-existing TODO comments. `InvalidRouteError` was moved to its own module (`invalid-route-error.ts`) in `api-service` to satisfy `single-export-per-file`. No behavior changes.
9
+ - Updated dependencies [80c3e4a]
10
+ - Updated dependencies [80c3e4a]
11
+ - Updated dependencies [80c3e4a]
12
+ - Updated dependencies [80c3e4a]
13
+ - Updated dependencies [80c3e4a]
14
+ - Updated dependencies [80c3e4a]
15
+ - Updated dependencies [80c3e4a]
16
+ - Updated dependencies [80c3e4a]
17
+ - Updated dependencies [80c3e4a]
18
+ - Updated dependencies [80c3e4a]
19
+ - Updated dependencies [80c3e4a]
20
+ - Updated dependencies [80c3e4a]
21
+ - Updated dependencies [80c3e4a]
22
+ - Updated dependencies [80c3e4a]
23
+ - Updated dependencies [80c3e4a]
24
+ - Updated dependencies [80c3e4a]
25
+ - @equinor/fusion-framework-module-http@8.0.4
26
+ - @equinor/fusion-framework-module-msal@10.0.2
27
+ - @equinor/fusion-framework-module-service-discovery@10.0.2
28
+ - @equinor/fusion-framework-module@6.1.1
29
+ - @equinor/fusion-framework-module-telemetry@7.0.1
30
+
3
31
  ## 4.0.13
4
32
 
5
33
  ### Patch Changes
@@ -51,6 +51,7 @@ enableTelemetry(configurator, {
51
51
  },
52
52
  // biome-ignore lint/suspicious/noExplicitAny: we need to use any here to allow dynamic properties
53
53
  };
54
+ // Only attach user metadata when the auth module has resolved an account
54
55
  if (modules?.auth) {
55
56
  metadata.fusion.user = {
56
57
  id: modules.auth.account?.homeAccountId,
@@ -115,8 +116,8 @@ enableTelemetry(configurator, {
115
116
  document.body.innerHTML = '';
116
117
  document.body.appendChild(el);
117
118
  const portalEntryPoint = createPortalEntryPoint(portalProxy ? '/portal-proxy' : undefined, portal_manifest.build.assetPath, portal_manifest.build.templateEntry);
118
- // @todo: should test if the entrypoint is external or internal
119
- // @todo: add proper return type
119
+ // TODO(#5066): should test if the entrypoint is external or internal
120
+ // TODO(#5066): add proper return type
120
121
  const { render } = await measurement
121
122
  .clone()
122
123
  .resolve(importWithoutVite(portalEntryPoint), {
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/html/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/html/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,15 @@
6
6
  */
7
7
  export const createPortalEntryPoint = (...segments) => {
8
8
  const normalized = segments
9
+ // Drop undefined/null segments before further processing
9
10
  .filter((segment) => segment !== undefined && segment !== null)
11
+ // Trim stray whitespace from each segment
10
12
  .map((segment) => segment.trim())
13
+ // Drop any segments that became empty after trimming
11
14
  .filter(Boolean)
15
+ // Strip leading slashes from every segment (and trailing slashes from the first)
12
16
  .map((segment, index) => {
17
+ // The first segment may have a trailing slash (e.g. a base URL) that needs stripping
13
18
  if (index === 0) {
14
19
  return segment.replace(/\/+$/g, '');
15
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-portal-entry-point.js","sourceRoot":"","sources":["../../../src/html/create-portal-entry-point.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAG,QAA0C,EAAU,EAAE;IAC9F,MAAM,UAAU,GAAG,QAAQ;SACxB,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC;SACjF,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAChC,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACtB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEL,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"create-portal-entry-point.js","sourceRoot":"","sources":["../../../src/html/create-portal-entry-point.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAG,QAA0C,EAAU,EAAE;IAC9F,MAAM,UAAU,GAAG,QAAQ;QACzB,yDAAyD;SACxD,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC;QAClF,0CAA0C;SACzC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACjC,qDAAqD;SACpD,MAAM,CAAC,OAAO,CAAC;QAChB,iFAAiF;SAChF,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACtB,qFAAqF;QACrF,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEL,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC"}
@@ -51,4 +51,4 @@ export const html = `
51
51
  </html>
52
52
  `;
53
53
  export default html;
54
- //# sourceMappingURL=index.html.js.map
54
+ //# sourceMappingURL=html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../../src/html/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;wDAMoC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B9D,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -31,6 +31,7 @@ import { TelemetryLevel } from '@equinor/fusion-framework-module-telemetry';
31
31
  */
32
32
  export async function registerServiceWorker(framework) {
33
33
  const telemetry = framework.telemetry;
34
+ // Bail out early when the browser has no service worker support at all
34
35
  if ('serviceWorker' in navigator === false) {
35
36
  const exception = new Error('Service workers are not supported in this browser.');
36
37
  exception.name = 'ServiceWorkerNotSupported';
@@ -41,6 +42,7 @@ export async function registerServiceWorker(framework) {
41
42
  throw exception;
42
43
  }
43
44
  const resourceConfigs = import.meta.env.FUSION_SPA_SERVICE_WORKER_RESOURCES;
45
+ // The worker needs a resource config to know which requests to intercept
44
46
  if (!resourceConfigs) {
45
47
  const exception = new Error('Service worker config is not defined.');
46
48
  exception.name = 'ServiceWorkerConfigNotDefined';
@@ -64,10 +66,12 @@ export async function registerServiceWorker(framework) {
64
66
  navigator.serviceWorker.startMessages();
65
67
  // listen for messages from the service worker (set up before registration)
66
68
  navigator.serviceWorker.addEventListener('message', async (event) => {
69
+ // Only the GET_TOKEN message type requests a token from this handler
67
70
  if (event.data.type === 'GET_TOKEN') {
68
71
  try {
69
72
  // extract scopes from the event data
70
73
  const scopes = event.data.scopes;
74
+ // Scopes must be a real array before they can be used to request a token
71
75
  if (!scopes || !Array.isArray(scopes)) {
72
76
  const error = new Error('Invalid scopes provided');
73
77
  error.name = 'InvalidScopesProvided';
@@ -75,6 +79,7 @@ export async function registerServiceWorker(framework) {
75
79
  }
76
80
  // request a token from the MSAL module
77
81
  const token = await framework.auth.acquireToken({ request: { scopes } });
82
+ // A missing token means acquisition failed and the worker can't proceed
78
83
  if (!token) {
79
84
  const error = new Error('Failed to acquire token');
80
85
  error.name = 'FailedToAcquireToken';
@@ -120,9 +125,11 @@ export async function registerServiceWorker(framework) {
120
125
  if (registration.waiting) {
121
126
  sendConfigToServiceWorker(registration.waiting);
122
127
  }
128
+ // A worker still installing needs to reach the 'activated' state before it can receive config
123
129
  if (registration.installing) {
124
130
  registration.installing.addEventListener('statechange', (event) => {
125
131
  const worker = event.target;
132
+ // Only send config once the worker has fully activated
126
133
  if (worker.state === 'activated') {
127
134
  sendConfigToServiceWorker(worker);
128
135
  }
@@ -130,6 +137,7 @@ export async function registerServiceWorker(framework) {
130
137
  }
131
138
  // Listen for controller changes (happens during hard refresh or updates)
132
139
  navigator.serviceWorker.addEventListener('controllerchange', () => {
140
+ // Only send config once this page is actually controlled by a worker
133
141
  if (navigator.serviceWorker.controller) {
134
142
  sendConfigToServiceWorker(navigator.serviceWorker.controller);
135
143
  }
@@ -143,6 +151,7 @@ export async function registerServiceWorker(framework) {
143
151
  });
144
152
  // ensure we have an active service worker before sending config
145
153
  const activeWorker = readyRegistration.active;
154
+ // Without an active worker there's nothing to send config to
146
155
  if (!activeWorker) {
147
156
  console.error('[Service Worker Registration] Service worker is not active after ready state');
148
157
  return;
@@ -162,6 +171,7 @@ export async function registerServiceWorker(framework) {
162
171
  navigator.serviceWorker.addEventListener('controllerchange', onControllerChange);
163
172
  // Polling fallback and timeout to prevent infinite waiting
164
173
  checkInterval = setInterval(() => {
174
+ // Stop polling once a controller has taken over
165
175
  if (navigator.serviceWorker.controller)
166
176
  finish();
167
177
  }, 200);
@@ -1 +1 @@
1
- {"version":3,"file":"register-service-worker.js","sourceRoot":"","sources":["../../../src/html/register-service-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-service-worker.js","sourceRoot":"","sources":["../../../src/html/register-service-worker.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ function getScopeKey(scopes) {
42
42
  */
43
43
  function isTokenValid(scopes) {
44
44
  const scopeKey = getScopeKey(scopes);
45
+ // No cached entry at all means there's nothing to validate
45
46
  if (!tokenCache.has(scopeKey)) {
46
47
  return false;
47
48
  }
@@ -73,6 +74,7 @@ async function requestTokenFromClient(scopes) {
73
74
  const messageChannel = new MessageChannel();
74
75
  const token = await new Promise((resolve, reject) => {
75
76
  messageChannel.port1.onmessage = (event) => {
77
+ // Reject when the client reports it couldn't provide a token
76
78
  if (event.data.error) {
77
79
  reject(event.data.error);
78
80
  }
@@ -80,6 +82,7 @@ async function requestTokenFromClient(scopes) {
80
82
  };
81
83
  clients[0].postMessage({ type: 'GET_TOKEN', scopes }, [messageChannel.port2]);
82
84
  });
85
+ // A resolved but empty response means the client didn't actually return a token
83
86
  if (!token) {
84
87
  throw new Error('No token received');
85
88
  }
@@ -102,6 +105,7 @@ async function getToken(scopes) {
102
105
  }
103
106
  const scopeKey = getScopeKey(scopes);
104
107
  const { accessToken } = tokenCache.get(scopeKey) || {};
108
+ // A missing accessToken here means the client failed to provide a usable token
105
109
  if (!accessToken) {
106
110
  throw new Error('No access token found');
107
111
  }
@@ -124,6 +128,7 @@ async function getToken(scopes) {
124
128
  * - The comparison is performed using fully resolved absolute URLs.
125
129
  */
126
130
  function getMatchingConfig(url) {
131
+ // Find the first configured resource whose resolved base URL prefixes the request URL
127
132
  return resourceConfigurations.find((config) => {
128
133
  const configUrl = new URL(config.url, config.url.startsWith('/') ? self.location.origin : undefined).href;
129
134
  const requestUrl = new URL(url, self.location.origin).href;
@@ -141,6 +146,7 @@ self.addEventListener('activate', (event) => {
141
146
  // Handle configuration from main thread
142
147
  self.addEventListener('message', async (event) => {
143
148
  const { type, config } = event.data;
149
+ // Only the INIT_CONFIG message carries resource configuration to apply
144
150
  if (type === 'INIT_CONFIG') {
145
151
  resourceConfigurations = config;
146
152
  // CRITICAL: Force skipWaiting() and claim clients to ensure this service worker takes control
@@ -1 +1 @@
1
- {"version":3,"file":"sw.js","sourceRoot":"","sources":["../../../src/html/sw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sw.js","sourceRoot":"","sources":["../../../src/html/sw.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { normalizePath } from 'vite';
2
2
  import { fileURLToPath } from 'node:url';
3
- import defaultTemplate from './html/index.html.js';
3
+ import defaultTemplate from './html/html.js';
4
4
  import { objectToEnv } from './util/object-to-env.js';
5
- import { loadEnvironment } from './util/load-env.js';
5
+ import { loadEnvironment } from './util/load-environment.js';
6
6
  /**
7
7
  * Built-in defaults applied when no matching value is provided by
8
8
  * {@link PluginOptions.generateTemplateEnv} or `.env` files.
@@ -73,10 +73,12 @@ export const plugin = (options) => {
73
73
  // load environment variables from files
74
74
  const loadedEnv = loadEnvironment(config, configEnv, templateEnvPrefix);
75
75
  log?.debug('plugin loaded environment\n', pluginEnv);
76
+ // Loaded env values override plugin-configured defaults
76
77
  const env = { ...pluginEnv, ...loadedEnv };
77
78
  log?.debug('plugin environment\n', env);
78
79
  // define environment variables
79
80
  config.define ??= {};
81
+ // Convert each env entry into a valid JS expression for Vite's config.define
80
82
  for (const [key, value] of Object.entries(env)) {
81
83
  // All values must be valid JavaScript expressions for Vite's config.define
82
84
  // Try to parse as JSON first (handles booleans, numbers, objects, arrays)
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -27,4 +27,4 @@ export function loadEnvironment(config, env, namespace = 'FUSION_SPA_') {
27
27
  return loadEnv(env.mode, envDir, namespace);
28
28
  }
29
29
  export default loadEnvironment;
30
- //# sourceMappingURL=load-env.js.map
30
+ //# sourceMappingURL=load-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-environment.js","sourceRoot":"","sources":["../../../src/util/load-environment.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"}
@@ -24,10 +24,12 @@
24
24
  * ```
25
25
  */
26
26
  export function objectToEnv(obj, prefix = 'FUSION_SPA') {
27
+ // Build up the flat env record one entry at a time, recursing into nested objects
27
28
  return Object.entries(obj).reduce((result, [key, value]) => {
28
29
  // Convert camelCase to snake_case and uppercase
29
30
  const snakeKey = key.replace(/([A-Z])/g, '_$1').toUpperCase();
30
31
  const newPrefix = prefix ? `${prefix.replace(/_$/, '')}_${snakeKey}` : snakeKey;
32
+ // Nested (non-array) objects are flattened recursively under the extended prefix
31
33
  if (value && typeof value === 'object' && !Array.isArray(value)) {
32
34
  // Recursively flatten nested objects
33
35
  return Object.assign(result, objectToEnv(value, newPrefix));
@@ -1 +1 @@
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
+ {"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,kFAAkF;IAClF,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,iFAAiF;QACjF,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 = '4.0.13';
2
+ export const version = '4.0.14';
3
3
  //# sourceMappingURL=version.js.map