@quvel-kit/core 1.3.1 → 1.3.2

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 +1 @@
1
- {"version":3,"file":"envConfig.d.ts","sourceRoot":"","sources":["../../src/utils/envConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqC;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,OAAO,GAAE,gBAAqB;IAK1C;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAc/C;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAUhC;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAqBpD;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;IAcvD;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE;IAa5D;;OAEG;IACH,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAmBrD;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;;;;;;;OAQG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAWtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,gBAAgB,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,SAAS,CA8BX"}
1
+ {"version":3,"file":"envConfig.d.ts","sourceRoot":"","sources":["../../src/build/envConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqC;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,OAAO,GAAE,gBAAqB;IAK1C;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAc/C;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAUhC;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAqBpD;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;IAcvD;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE;IAa5D;;OAEG;IACH,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAmBrD;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;;;;;;;OAQG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAWtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,gBAAgB,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,SAAS,CA8BX"}
@@ -6,4 +6,5 @@
6
6
  */
7
7
  export { config } from './quasarConfig.js';
8
8
  export { loadEnvFiles } from './loadEnv.js';
9
+ export { EnvConfig, createEnvConfig, type EnvConfigOptions, } from './envConfig.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,SAAS,EACT,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC"}
@@ -6,3 +6,4 @@
6
6
  */
7
7
  export { config } from './quasarConfig.js';
8
8
  export { loadEnvFiles } from './loadEnv.js';
9
+ export { EnvConfig, createEnvConfig, } from './envConfig.js';
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Configuration utilities for Quasar applications
5
5
  */
6
- import { EnvConfig } from '../utils/envConfig.js';
6
+ import { EnvConfig } from './envConfig.js';
7
7
  import { loadEnvFiles } from './loadEnv.js';
8
8
  // Determine which env files to load based on NODE_ENV
9
9
  const nodeEnv = process.env.NODE_ENV || 'development';
@@ -1 +1 @@
1
- {"version":3,"file":"axios.d.ts","sourceRoot":"","sources":["../../src/utils/axios.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAqB,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAqCrD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CASnE;AAoBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,aAAa,CAmD1G"}
1
+ {"version":3,"file":"axios.d.ts","sourceRoot":"","sources":["../../src/utils/axios.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAqB,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAsCrD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CASnE;AAoBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,aAAa,CAmD1G"}
@@ -5,17 +5,18 @@
5
5
  */
6
6
  import axios from 'axios';
7
7
  import { getSsrKeyHeader } from './headers.js';
8
+ import { getEnv } from './env.js';
8
9
  /**
9
10
  * Get default XSRF cookie name
10
11
  */
11
12
  function getDefaultXsrfCookieName() {
12
- return import.meta.env.XSRF_COOKIE_NAME || 'XSRF-TOKEN';
13
+ return getEnv('XSRF_COOKIE_NAME', 'XSRF-TOKEN');
13
14
  }
14
15
  /**
15
16
  * Get default session cookie name
16
17
  */
17
18
  function getDefaultSessionCookieName() {
18
- return import.meta.env.SESSION_COOKIE_NAME || 'laravel_session';
19
+ return getEnv('SESSION_COOKIE_NAME', 'laravel_session');
19
20
  }
20
21
  /**
21
22
  * Get XSRF cookie name from AppConfig or SSR context or default
@@ -71,7 +72,7 @@ function parseSsrCookies(ssrServiceOptions) {
71
72
  * Handles SSR context, XSRF tokens, session cookies, and base URL resolution
72
73
  */
73
74
  export function createApiInstance(ssrContext, appConfig) {
74
- const baseURL = appConfig?.app?.url || import.meta.env.VITE_API_URL || '';
75
+ const baseURL = appConfig?.app?.url || getEnv('VITE_API_URL') || '';
75
76
  if (!baseURL) {
76
77
  throw new Error('No API URL configured. Set VITE_API_URL or configure app.url in AppConfig');
77
78
  }
@@ -99,8 +100,8 @@ export function createApiInstance(ssrContext, appConfig) {
99
100
  const cookies = parseSsrCookies(ssrContext);
100
101
  const sessionToken = cookies[sessionCookie];
101
102
  const xsrfToken = cookies[xsrfCookieName];
102
- instance.defaults.maxRedirects = Number(import.meta.env.SSR_AXIOS_MAX_REDIRECTS || 0);
103
- instance.defaults.timeout = Number(import.meta.env.SSR_AXIOS_TIMEOUT || 5000);
103
+ instance.defaults.maxRedirects = getEnv('SSR_AXIOS_MAX_REDIRECTS', 0, Number);
104
+ instance.defaults.timeout = getEnv('SSR_AXIOS_TIMEOUT', 5000, Number);
104
105
  if (isValidSessionToken(sessionToken)) {
105
106
  instance.defaults.headers.Cookie = `${sessionCookie}=${sessionToken}`;
106
107
  if (xsrfToken) {
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Isomorphic Environment Variable Access
3
+ *
4
+ * Provides safe access to environment variables in both browser and SSR contexts.
5
+ * - Browser (Vite): Uses import.meta.env (only VITE_* vars exposed)
6
+ * - SSR (Node.js): Uses process.env
7
+ */
8
+ /**
9
+ * Get environment variable value in an isomorphic way
10
+ *
11
+ * @param key - Environment variable name
12
+ * @param defaultValue - Optional default value
13
+ * @param cast - Optional cast function to convert the value
14
+ * @returns The environment variable value or default
15
+ */
16
+ export declare function getEnv<T = string>(key: string, defaultValue?: T, cast?: (value: string) => T): T | undefined;
17
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,GAAG,MAAM,EAC/B,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,CAAC,EAChB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAC1B,CAAC,GAAG,SAAS,CAmBf"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Isomorphic Environment Variable Access
3
+ *
4
+ * Provides safe access to environment variables in both browser and SSR contexts.
5
+ * - Browser (Vite): Uses import.meta.env (only VITE_* vars exposed)
6
+ * - SSR (Node.js): Uses process.env
7
+ */
8
+ /**
9
+ * Get environment variable value in an isomorphic way
10
+ *
11
+ * @param key - Environment variable name
12
+ * @param defaultValue - Optional default value
13
+ * @param cast - Optional cast function to convert the value
14
+ * @returns The environment variable value or default
15
+ */
16
+ export function getEnv(key, defaultValue, cast) {
17
+ let value;
18
+ if (typeof import.meta !== 'undefined' && import.meta.env) {
19
+ value = import.meta.env[key];
20
+ }
21
+ else if (typeof process !== 'undefined' && process.env) {
22
+ value = process.env[key];
23
+ }
24
+ if (value === undefined) {
25
+ return defaultValue;
26
+ }
27
+ if (cast) {
28
+ return cast(value);
29
+ }
30
+ return value;
31
+ }
@@ -5,7 +5,7 @@
5
5
  * and path resolution.
6
6
  */
7
7
  export { deepMerge, mergeConfigs, } from './deepMerge.js';
8
- export { EnvConfig, createEnvConfig, type EnvConfigOptions, } from './envConfig.js';
8
+ export { getEnv, } from './env.js';
9
9
  export { moduleResource, moduleResources, type ModuleResourceOptions, } from './paths.js';
10
10
  export { getAcceptLanguageHeader, getTraceIdHeader, getTenantIdHeader, getSsrKeyHeader, getPlatformHeader, getDeviceIdHeader, getPushTokenHeader, } from './headers.js';
11
11
  export { createApiInstance, isValidSessionToken, } from './axios.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,SAAS,EACT,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,SAAS,EACT,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,EACd,eAAe,EACf,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,SAAS,EACT,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,MAAM,GACP,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,cAAc,EACd,eAAe,EACf,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * and path resolution.
6
6
  */
7
7
  export { deepMerge, mergeConfigs, } from './deepMerge.js';
8
- export { EnvConfig, createEnvConfig, } from './envConfig.js';
8
+ export { getEnv, } from './env.js';
9
9
  export { moduleResource, moduleResources, } from './paths.js';
10
10
  export { getAcceptLanguageHeader, getTraceIdHeader, getTenantIdHeader, getSsrKeyHeader, getPlatformHeader, getDeviceIdHeader, getPushTokenHeader, } from './headers.js';
11
11
  export { createApiInstance, isValidSessionToken, } from './axios.js';
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAyB,MAAM,2BAA2B,CAAC;AAClG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKvD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC3B,eAAe,CAmBjB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CASvD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAQtC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,GAAE,QAAwB,GAAG,OAAO,CAE7F"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAyB,MAAM,2BAA2B,CAAC;AAClG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC3B,eAAe,CAmBjB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CASvD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAQtC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,GAAE,QAAwB,GAAG,OAAO,CAE7F"}
@@ -1,16 +1,17 @@
1
1
  import { ConsoleLogger } from '../services/logger/ConsoleLogger.js';
2
2
  import { NullLogger } from '../services/logger/NullLogger.js';
3
3
  import { LogLevel as LogLevelEnum, LoggerType as LoggerTypeEnum } from '../types/logging.types.js';
4
+ import { getEnv } from './env.js';
4
5
  /**
5
6
  * Create a logger instance based on configuration
6
7
  */
7
8
  export function createLogger(config) {
8
- const loggerType = import.meta.env?.VITE_LOGGER || LoggerTypeEnum.NULL;
9
+ const loggerType = getEnv('VITE_LOGGER', LoggerTypeEnum.NULL) ?? LoggerTypeEnum.NULL;
9
10
  const logLevel = getLogLevel();
10
11
  const traceInfo = config?.trace ?? {
11
12
  id: '',
12
13
  timestamp: new Date().toISOString(),
13
- environment: import.meta.env?.MODE || 'development',
14
+ environment: getEnv('MODE', 'development') ?? 'development',
14
15
  tenant: null,
15
16
  runtime: 'client',
16
17
  };
@@ -40,7 +41,7 @@ export const LOG_LEVEL_PRIORITY = {
40
41
  * Defaults to INFO if not specified or invalid
41
42
  */
42
43
  export function getLogLevel() {
43
- const configLevel = import.meta.env?.VITE_LOG_LEVEL?.toLowerCase();
44
+ const configLevel = getEnv('VITE_LOG_LEVEL')?.toLowerCase();
44
45
  if (configLevel && Object.values(LogLevelEnum).includes(configLevel)) {
45
46
  return configLevel;
46
47
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quvel-kit/core",
3
- "version": "1.3.1",
3
+ "version": "1.3.2",
4
4
  "description": "Core utilities for Quvel UI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
File without changes
File without changes