hazo_core 1.0.4 → 1.2.1
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.
- package/dist/config/describe_config_env.d.ts +16 -0
- package/dist/config/describe_config_env.d.ts.map +1 -0
- package/dist/config/describe_config_env.js +23 -0
- package/dist/config/describe_config_env.js.map +1 -0
- package/dist/config/index.d.ts +19 -6
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +80 -10
- package/dist/config/index.js.map +1 -1
- package/dist/errors/base.js +17 -3
- package/dist/errors/base.js.map +1 -1
- package/dist/index.client.d.ts +1 -1
- package/dist/index.client.d.ts.map +1 -1
- package/dist/index.client.js +1 -1
- package/dist/index.client.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/singleton/global_singleton.d.ts +13 -0
- package/dist/singleton/global_singleton.d.ts.map +1 -0
- package/dist/singleton/global_singleton.js +33 -0
- package/dist/singleton/global_singleton.js.map +1 -0
- package/dist/singleton/index.d.ts +11 -1
- package/dist/singleton/index.d.ts.map +1 -1
- package/dist/singleton/index.js +10 -2
- package/dist/singleton/index.js.map +1 -1
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface ConfigEnvEntry {
|
|
2
|
+
section: string;
|
|
3
|
+
key: string;
|
|
4
|
+
envAliases: string[];
|
|
5
|
+
prefixedEnv: string;
|
|
6
|
+
secret: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Returns a flat list of documented env-var entries for a package config.
|
|
10
|
+
*
|
|
11
|
+
* @param pkg - Package name e.g. 'hazo_connect'
|
|
12
|
+
* @param envAliases - Same alias map passed to loadConfig
|
|
13
|
+
* @param sections - Array of section.key strings to document (derive from schema shape or pass manually)
|
|
14
|
+
*/
|
|
15
|
+
export declare function describeConfigEnv(pkg: string, envAliases: Record<string, string[]>, sections: string[]): ConfigEnvEntry[];
|
|
16
|
+
//# sourceMappingURL=describe_config_env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"describe_config_env.d.ts","sourceRoot":"","sources":["../../src/config/describe_config_env.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACpC,QAAQ,EAAE,MAAM,EAAE,GACjB,cAAc,EAAE,CAalB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Purpose: Introspect a loadConfig schema+aliases map to produce human-readable env-var docs.
|
|
2
|
+
/**
|
|
3
|
+
* Returns a flat list of documented env-var entries for a package config.
|
|
4
|
+
*
|
|
5
|
+
* @param pkg - Package name e.g. 'hazo_connect'
|
|
6
|
+
* @param envAliases - Same alias map passed to loadConfig
|
|
7
|
+
* @param sections - Array of section.key strings to document (derive from schema shape or pass manually)
|
|
8
|
+
*/
|
|
9
|
+
export function describeConfigEnv(pkg, envAliases, sections) {
|
|
10
|
+
const prefix = pkg.toUpperCase();
|
|
11
|
+
const SECRET_WORDS = ['password', 'key', 'token', 'secret', 'uri', 'url'];
|
|
12
|
+
return sections.map((dotKey) => {
|
|
13
|
+
const [section = '', key = ''] = dotKey.split('.');
|
|
14
|
+
return {
|
|
15
|
+
section,
|
|
16
|
+
key,
|
|
17
|
+
envAliases: envAliases[dotKey] ?? [],
|
|
18
|
+
prefixedEnv: `${prefix}_${section.toUpperCase()}_${key.toUpperCase()}`,
|
|
19
|
+
secret: SECRET_WORDS.some((w) => key.toLowerCase().includes(w)),
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=describe_config_env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"describe_config_env.js","sourceRoot":"","sources":["../../src/config/describe_config_env.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAU9F;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,UAAoC,EACpC,QAAkB;IAElB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7B,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO;YACL,OAAO;YACP,GAAG;YACH,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE;YACpC,WAAW,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE;YACtE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAChE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -9,16 +9,28 @@ interface LoadConfigOptions<T> {
|
|
|
9
9
|
schema: ZodSchema<T>;
|
|
10
10
|
/** Defaults to getCurrentEnv() */
|
|
11
11
|
env?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Per-key env-var aliases. Key format: 'section.key' → array of bare env var names.
|
|
14
|
+
* Aliases are checked BEFORE the prefixed HAZO_<PKG>_<SECTION>_<KEY> scan.
|
|
15
|
+
* e.g. { 'redis.url': ['REDIS_URL'], 'redis.password': ['REDIS_PASSWORD'] }
|
|
16
|
+
*/
|
|
17
|
+
envAliases?: Record<string, string[]>;
|
|
12
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Reset the dotenv-loaded flag. Exported for test use only.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resetDotenvLoaded(): void;
|
|
13
23
|
/**
|
|
14
24
|
* Load, merge, validate, and cache a package config.
|
|
15
25
|
*
|
|
16
26
|
* Load order (per §8 + D-003 + D-020 hook 2):
|
|
17
|
-
* 1.
|
|
18
|
-
* 2. <configDir>/hazo_<pkg>_config
|
|
19
|
-
* 3.
|
|
20
|
-
* 4.
|
|
21
|
-
* 5.
|
|
27
|
+
* 1. .env.local / .env auto-load (once per process, override: false)
|
|
28
|
+
* 2. <configDir>/hazo_<pkg>_config.ini (base)
|
|
29
|
+
* 3. <configDir>/hazo_<pkg>_config.<env>.ini (env overlay, skipped when env is 'development')
|
|
30
|
+
* 4. envAliases overrides (bare env var names, first match wins)
|
|
31
|
+
* 5. HAZO_<PKG>_<SECTION>_<KEY> env-var overrides
|
|
32
|
+
* 6. Zod validation — throws HazoConfigError on failure
|
|
33
|
+
* 7. Cache under `${pkg}:${resolvedEnv}`
|
|
22
34
|
*/
|
|
23
35
|
export declare function loadConfig<T>(opts: LoadConfigOptions<T>): T;
|
|
24
36
|
/**
|
|
@@ -31,5 +43,6 @@ export declare function reloadConfig(pkg: string): void;
|
|
|
31
43
|
* Each package keeps its schema in src/config/schema.ts.
|
|
32
44
|
*/
|
|
33
45
|
export declare function defineConfig<T extends ZodRawShape>(shape: T): z.ZodObject<T>;
|
|
34
|
-
export {};
|
|
46
|
+
export { describeConfigEnv } from './describe_config_env.js';
|
|
47
|
+
export type { ConfigEnvEntry } from './describe_config_env.js';
|
|
35
48
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,UAAU,iBAAiB,CAAC,CAAC;IAC3B,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACrB,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvC;AAmBD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAiHD;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAuC3D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAM9C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAE5E;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import dotenv from 'dotenv';
|
|
1
2
|
import { z } from 'zod';
|
|
2
3
|
import * as path from 'node:path';
|
|
3
4
|
import { parseIniFile, mergeIni } from './ini_parser.js';
|
|
@@ -5,6 +6,25 @@ import { fromZodConfig } from '../errors/from_zod.js';
|
|
|
5
6
|
import { getCurrentEnv } from '../utils/env.js';
|
|
6
7
|
// Cache: `${pkg}:${env}` → parsed + validated config
|
|
7
8
|
const configCache = new Map();
|
|
9
|
+
// Guard to ensure dotenv is only loaded once per process
|
|
10
|
+
let dotenvLoaded = false;
|
|
11
|
+
/**
|
|
12
|
+
* Load .env.local then .env into process.env, without overriding already-set env vars.
|
|
13
|
+
* Called once at the start of loadConfig. Idempotent.
|
|
14
|
+
*/
|
|
15
|
+
function ensureDotenvLoaded() {
|
|
16
|
+
if (dotenvLoaded)
|
|
17
|
+
return;
|
|
18
|
+
dotenvLoaded = true;
|
|
19
|
+
dotenv.config({ path: path.resolve(process.cwd(), '.env.local'), override: false });
|
|
20
|
+
dotenv.config({ path: path.resolve(process.cwd(), '.env'), override: false });
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Reset the dotenv-loaded flag. Exported for test use only.
|
|
24
|
+
*/
|
|
25
|
+
export function resetDotenvLoaded() {
|
|
26
|
+
dotenvLoaded = false;
|
|
27
|
+
}
|
|
8
28
|
/**
|
|
9
29
|
* Normalize a package name to the UPPER_SNAKE form used in env-var prefixes.
|
|
10
30
|
* e.g. 'hazo_llm_api' → 'HAZO_LLM_API'
|
|
@@ -15,15 +35,57 @@ function pkgToEnvPrefix(pkg) {
|
|
|
15
35
|
/**
|
|
16
36
|
* Apply env-var overrides to a merged INI object.
|
|
17
37
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
38
|
+
* Resolution order per config key:
|
|
39
|
+
* 1. Declared alias env var (first match among aliases, checked in order)
|
|
40
|
+
* 2. Prefixed env var (HAZO_<PKG>_<SECTION>_<KEY>)
|
|
41
|
+
* 3. INI value / schema default
|
|
20
42
|
*
|
|
21
43
|
* Per D-003 and D-020 hook 6.
|
|
22
44
|
*/
|
|
23
|
-
function applyEnvVarOverrides(merged, pkg) {
|
|
45
|
+
function applyEnvVarOverrides(merged, pkg, envAliases) {
|
|
24
46
|
const prefix = `${pkgToEnvPrefix(pkg)}_`;
|
|
25
47
|
const result = { ...merged };
|
|
26
48
|
const overrideKeys = [];
|
|
49
|
+
// 1. Apply declared aliases first (highest precedence after system env)
|
|
50
|
+
if (envAliases) {
|
|
51
|
+
for (const [dotKey, aliases] of Object.entries(envAliases)) {
|
|
52
|
+
const [sectionRaw, keyRaw] = dotKey.split('.');
|
|
53
|
+
if (!sectionRaw || !keyRaw)
|
|
54
|
+
continue;
|
|
55
|
+
const section = sectionRaw.toLowerCase();
|
|
56
|
+
const key = keyRaw.toLowerCase();
|
|
57
|
+
for (const alias of aliases) {
|
|
58
|
+
const envValue = process.env[alias];
|
|
59
|
+
if (envValue !== undefined) {
|
|
60
|
+
if (typeof result[section] !== 'object' || result[section] === null) {
|
|
61
|
+
result[section] = {};
|
|
62
|
+
}
|
|
63
|
+
result[section][key] = envValue;
|
|
64
|
+
overrideKeys.push(`${section}.${key} (alias: ${alias})`);
|
|
65
|
+
break; // first matching alias wins
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// 2. Apply prefixed env-var overrides (only if not already overridden by an alias)
|
|
71
|
+
// Build a set of keys already set by aliases so we can skip them
|
|
72
|
+
const aliasedKeys = new Set();
|
|
73
|
+
if (envAliases) {
|
|
74
|
+
for (const [dotKey, aliases] of Object.entries(envAliases)) {
|
|
75
|
+
const [sectionRaw, keyRaw] = dotKey.split('.');
|
|
76
|
+
if (!sectionRaw || !keyRaw)
|
|
77
|
+
continue;
|
|
78
|
+
const section = sectionRaw.toLowerCase();
|
|
79
|
+
const key = keyRaw.toLowerCase();
|
|
80
|
+
// Only mark as aliased if an alias actually fired
|
|
81
|
+
for (const alias of aliases) {
|
|
82
|
+
if (process.env[alias] !== undefined) {
|
|
83
|
+
aliasedKeys.add(`${section}.${key}`);
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
27
89
|
for (const [envKey, envValue] of Object.entries(process.env)) {
|
|
28
90
|
if (envValue === undefined)
|
|
29
91
|
continue;
|
|
@@ -44,6 +106,9 @@ function applyEnvVarOverrides(merged, pkg) {
|
|
|
44
106
|
const keyUpper = parts.slice(1).join('_');
|
|
45
107
|
const section = sectionUpper.toLowerCase();
|
|
46
108
|
const key = keyUpper.toLowerCase();
|
|
109
|
+
// Skip if an alias already set this key
|
|
110
|
+
if (aliasedKeys.has(`${section}.${key}`))
|
|
111
|
+
continue;
|
|
47
112
|
// Ensure section exists
|
|
48
113
|
if (typeof result[section] !== 'object' || result[section] === null) {
|
|
49
114
|
result[section] = {};
|
|
@@ -60,13 +125,17 @@ function applyEnvVarOverrides(merged, pkg) {
|
|
|
60
125
|
* Load, merge, validate, and cache a package config.
|
|
61
126
|
*
|
|
62
127
|
* Load order (per §8 + D-003 + D-020 hook 2):
|
|
63
|
-
* 1.
|
|
64
|
-
* 2. <configDir>/hazo_<pkg>_config
|
|
65
|
-
* 3.
|
|
66
|
-
* 4.
|
|
67
|
-
* 5.
|
|
128
|
+
* 1. .env.local / .env auto-load (once per process, override: false)
|
|
129
|
+
* 2. <configDir>/hazo_<pkg>_config.ini (base)
|
|
130
|
+
* 3. <configDir>/hazo_<pkg>_config.<env>.ini (env overlay, skipped when env is 'development')
|
|
131
|
+
* 4. envAliases overrides (bare env var names, first match wins)
|
|
132
|
+
* 5. HAZO_<PKG>_<SECTION>_<KEY> env-var overrides
|
|
133
|
+
* 6. Zod validation — throws HazoConfigError on failure
|
|
134
|
+
* 7. Cache under `${pkg}:${resolvedEnv}`
|
|
68
135
|
*/
|
|
69
136
|
export function loadConfig(opts) {
|
|
137
|
+
// Load .env.local / .env into process.env before anything else
|
|
138
|
+
ensureDotenvLoaded();
|
|
70
139
|
const resolvedEnv = opts.env ?? getCurrentEnv();
|
|
71
140
|
const cacheKey = `${opts.pkg}:${resolvedEnv}`;
|
|
72
141
|
if (configCache.has(cacheKey)) {
|
|
@@ -82,8 +151,8 @@ export function loadConfig(opts) {
|
|
|
82
151
|
const overlay = parseIniFile(overlayFile);
|
|
83
152
|
merged = mergeIni(merged, overlay);
|
|
84
153
|
}
|
|
85
|
-
// 3. Env-var overrides
|
|
86
|
-
merged = applyEnvVarOverrides(merged, opts.pkg);
|
|
154
|
+
// 3. Env-var overrides (aliases first, then prefixed)
|
|
155
|
+
merged = applyEnvVarOverrides(merged, opts.pkg, opts.envAliases);
|
|
87
156
|
// 4. Zod validation
|
|
88
157
|
const result = opts.schema.safeParse(merged);
|
|
89
158
|
if (!result.success) {
|
|
@@ -114,4 +183,5 @@ export function reloadConfig(pkg) {
|
|
|
114
183
|
export function defineConfig(shape) {
|
|
115
184
|
return z.object(shape);
|
|
116
185
|
}
|
|
186
|
+
export { describeConfigEnv } from './describe_config_env.js';
|
|
117
187
|
//# sourceMappingURL=index.js.map
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
package/dist/errors/base.js
CHANGED
|
@@ -147,7 +147,21 @@ export class HazoError extends Error {
|
|
|
147
147
|
value[HAZO_ERROR_SYMBOL] === true);
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
|
-
//
|
|
151
|
-
//
|
|
152
|
-
|
|
150
|
+
// Tag the class itself with the shared (Symbol.for) marker. Because the symbol is
|
|
151
|
+
// resolved via Symbol.for it is identical across every hazo_core evaluation, so two
|
|
152
|
+
// HazoError classes produced by separate evaluations — duplicate installed copies, or
|
|
153
|
+
// the server and client entry points loaded into one realm by a bundler (Turbopack in
|
|
154
|
+
// dev) — both carry it and can be recognised as interchangeable.
|
|
155
|
+
HazoError[HAZO_ERROR_SYMBOL] = true;
|
|
156
|
+
// Register once at module load — never again, so no repeated console.warn on each error
|
|
157
|
+
// instance. Two distinct-but-equivalent HazoError classes are a benign collision (the
|
|
158
|
+
// symbol marker makes HazoError.is() work across them regardless of which wins), so the
|
|
159
|
+
// `equivalent` predicate keeps the original silently instead of logging a spurious
|
|
160
|
+
// "already registered with a different value" warning.
|
|
161
|
+
registerSingleton('hazo_core:error_class', HazoError, {
|
|
162
|
+
equivalent: (a, b) => typeof a === 'function' &&
|
|
163
|
+
typeof b === 'function' &&
|
|
164
|
+
a[HAZO_ERROR_SYMBOL] === true &&
|
|
165
|
+
b[HAZO_ERROR_SYMBOL] === true,
|
|
166
|
+
});
|
|
153
167
|
//# sourceMappingURL=base.js.map
|
package/dist/errors/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/errors/base.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/errors/base.ts"],"names":[],"mappings":"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"}
|
package/dist/index.client.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { HazoError, HazoValidationError, HazoAuthError, HazoNotFoundError, HazoC
|
|
|
12
12
|
export type { HazoErrorOptions, HazoValidationErrorOptions, ValidationIssue, HazoAuthErrorOptions, HazoNotFoundErrorOptions, HazoConflictErrorOptions, HazoConfigErrorOptions, HazoExternalErrorOptions, HazoRateLimitErrorOptions, HazoUnavailableErrorOptions, HazoInternalErrorOptions, } from './errors/index.js';
|
|
13
13
|
export { setBrowserCorrelationId, getContext, getCorrelationId, withContext, } from './context/client.js';
|
|
14
14
|
export type { HazoContext } from './context/types.js';
|
|
15
|
-
export { generateRequestId, optional_import, safeJsonParse, sleep, formatBytes, formatDateShort, formatDateLong, formatDateSlash, formatCurrency, formatNumber, formatBoolean, getInitials, format_date, format_date_range, DEFAULT_DATE_FORMAT, getCurrentEnv, } from './utils/index.js';
|
|
15
|
+
export { generateRequestId, generateId, optional_import, safeJsonParse, sleep, formatBytes, formatDateShort, formatDateLong, formatDateSlash, formatCurrency, formatNumber, formatBoolean, getInitials, format_date, format_date_range, DEFAULT_DATE_FORMAT, getCurrentEnv, } from './utils/index.js';
|
|
16
16
|
export type { DateFormat } from './utils/index.js';
|
|
17
17
|
export { fetchWithRequestId } from './http/fetch_with_request_id.client.js';
|
|
18
18
|
export { get_origin_url, create_redirect_url } from './http/get_origin_url.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../src/index.client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG3F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGvE,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,KAAK,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../src/index.client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG3F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGvE,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,KAAK,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.client.js
CHANGED
|
@@ -15,7 +15,7 @@ export { HazoError, HazoValidationError, HazoAuthError, HazoNotFoundError, HazoC
|
|
|
15
15
|
// Context (browser — mutable ref, NOT AsyncLocalStorage)
|
|
16
16
|
export { setBrowserCorrelationId, getContext, getCorrelationId, withContext, } from './context/client.js';
|
|
17
17
|
// Safe utils (no Node deps)
|
|
18
|
-
export { generateRequestId, optional_import, safeJsonParse, sleep, formatBytes, formatDateShort, formatDateLong, formatDateSlash, formatCurrency, formatNumber, formatBoolean, getInitials, format_date, format_date_range, DEFAULT_DATE_FORMAT, getCurrentEnv, } from './utils/index.js';
|
|
18
|
+
export { generateRequestId, generateId, optional_import, safeJsonParse, sleep, formatBytes, formatDateShort, formatDateLong, formatDateSlash, formatCurrency, formatNumber, formatBoolean, getInitials, format_date, format_date_range, DEFAULT_DATE_FORMAT, getCurrentEnv, } from './utils/index.js';
|
|
19
19
|
// HTTP — browser-safe variants (Fetch API, no AsyncLocalStorage)
|
|
20
20
|
export { fetchWithRequestId } from './http/fetch_with_request_id.client.js';
|
|
21
21
|
export { get_origin_url, create_redirect_url } from './http/get_origin_url.js';
|
package/dist/index.client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","sourceRoot":"","sources":["../src/index.client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,2BAA2B;AAC3B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE3F,sDAAsD;AACtD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEvE,4DAA4D;AAC5D,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAe3B,yDAAyD;AACzD,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAG7B,4BAA4B;AAC5B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,KAAK,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAG1B,iEAAiE;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,yEAAyE;AACzE,6EAA6E;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.client.js","sourceRoot":"","sources":["../src/index.client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,2BAA2B;AAC3B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE3F,sDAAsD;AACtD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEvE,4DAA4D;AAC5D,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAe3B,yDAAyD;AACzD,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAG7B,4BAA4B;AAC5B,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,KAAK,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAG1B,iEAAiE;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,yEAAyE;AACzE,6EAA6E;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
* Browser-safe consumers should use 'hazo_core/client' instead.
|
|
6
6
|
*/
|
|
7
7
|
export { REQUEST_ID_HEADER, HAZO_ERROR_SYMBOL, HAZO_SINGLETONS_KEY } from './constants.js';
|
|
8
|
-
export { registerSingleton, getSingleton } from './singleton/index.js';
|
|
9
|
-
export { getCurrentEnv, generateRequestId, optional_import, safeJsonParse, sleep, formatBytes, formatDateShort, formatDateLong, formatDateSlash, formatCurrency, formatNumber, formatBoolean, getInitials, format_date, format_date_range, DEFAULT_DATE_FORMAT, } from './utils/index.js';
|
|
8
|
+
export { registerSingleton, getSingleton, globalSingleton, resetGlobalSingleton } from './singleton/index.js';
|
|
9
|
+
export { getCurrentEnv, generateRequestId, generateId, optional_import, safeJsonParse, sleep, formatBytes, formatDateShort, formatDateLong, formatDateSlash, formatCurrency, formatNumber, formatBoolean, getInitials, format_date, format_date_range, DEFAULT_DATE_FORMAT, } from './utils/index.js';
|
|
10
10
|
export type { DateFormat } from './utils/index.js';
|
|
11
11
|
export { HazoError, HazoValidationError, HazoAuthError, HazoNotFoundError, HazoConflictError, HazoConfigError, HazoExternalError, HazoRateLimitError, HazoUnavailableError, HazoInternalError, fromZodValidation, fromZodConfig, } from './errors/index.js';
|
|
12
12
|
export type { HazoErrorOptions, HazoValidationErrorOptions, ValidationIssue, HazoAuthErrorOptions, HazoNotFoundErrorOptions, HazoConflictErrorOptions, HazoConfigErrorOptions, HazoExternalErrorOptions, HazoRateLimitErrorOptions, HazoUnavailableErrorOptions, HazoInternalErrorOptions, } from './errors/index.js';
|
|
13
13
|
export { withContext, getContext, getCorrelationId, } from './context/index.js';
|
|
14
14
|
export type { HazoContext } from './context/index.js';
|
|
15
|
-
export { loadConfig, defineConfig, reloadConfig } from './config/index.js';
|
|
15
|
+
export { loadConfig, defineConfig, reloadConfig, describeConfigEnv, resetDotenvLoaded } from './config/index.js';
|
|
16
|
+
export type { ConfigEnvEntry } from './config/index.js';
|
|
16
17
|
export { createLogger } from './logger/index.js';
|
|
17
18
|
export type { HazoCoreLogger } from './logger/index.js';
|
|
18
19
|
export { createDebug } from './debug/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG3F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG3F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG9G,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,KAAK,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACjH,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
// Constants
|
|
8
8
|
export { REQUEST_ID_HEADER, HAZO_ERROR_SYMBOL, HAZO_SINGLETONS_KEY } from './constants.js';
|
|
9
9
|
// Singleton registry
|
|
10
|
-
export { registerSingleton, getSingleton } from './singleton/index.js';
|
|
10
|
+
export { registerSingleton, getSingleton, globalSingleton, resetGlobalSingleton } from './singleton/index.js';
|
|
11
11
|
// Utilities
|
|
12
|
-
export { getCurrentEnv, generateRequestId, optional_import, safeJsonParse, sleep, formatBytes, formatDateShort, formatDateLong, formatDateSlash, formatCurrency, formatNumber, formatBoolean, getInitials, format_date, format_date_range, DEFAULT_DATE_FORMAT, } from './utils/index.js';
|
|
12
|
+
export { getCurrentEnv, generateRequestId, generateId, optional_import, safeJsonParse, sleep, formatBytes, formatDateShort, formatDateLong, formatDateSlash, formatCurrency, formatNumber, formatBoolean, getInitials, format_date, format_date_range, DEFAULT_DATE_FORMAT, } from './utils/index.js';
|
|
13
13
|
// Errors
|
|
14
14
|
export { HazoError, HazoValidationError, HazoAuthError, HazoNotFoundError, HazoConflictError, HazoConfigError, HazoExternalError, HazoRateLimitError, HazoUnavailableError, HazoInternalError, fromZodValidation, fromZodConfig, } from './errors/index.js';
|
|
15
15
|
// Context (server — AsyncLocalStorage)
|
|
16
16
|
export { withContext, getContext, getCorrelationId, } from './context/index.js';
|
|
17
17
|
// Config
|
|
18
|
-
export { loadConfig, defineConfig, reloadConfig } from './config/index.js';
|
|
18
|
+
export { loadConfig, defineConfig, reloadConfig, describeConfigEnv, resetDotenvLoaded } from './config/index.js';
|
|
19
19
|
// Logger
|
|
20
20
|
export { createLogger } from './logger/index.js';
|
|
21
21
|
// Debug
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE3F,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE3F,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE9G,YAAY;AACZ,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,KAAK,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,SAAS;AACT,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAe3B,uCAAuC;AACvC,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGjH,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO;AACP,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get or create a globalThis-pinned async singleton.
|
|
3
|
+
*
|
|
4
|
+
* - Concurrent callers share one in-flight promise (no duplicate connects).
|
|
5
|
+
* - On rejection: evicts the promise so the next call retries.
|
|
6
|
+
* - Keys should be version-qualified, e.g. 'hazo_connect:redis:v1'.
|
|
7
|
+
*/
|
|
8
|
+
export declare function globalSingleton<T>(key: string, factory: () => Promise<T>): Promise<T>;
|
|
9
|
+
/**
|
|
10
|
+
* Evict a singleton (for tests and graceful shutdown).
|
|
11
|
+
*/
|
|
12
|
+
export declare function resetGlobalSingleton(key: string): void;
|
|
13
|
+
//# sourceMappingURL=global_singleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global_singleton.d.ts","sourceRoot":"","sources":["../../src/singleton/global_singleton.ts"],"names":[],"mappings":"AAUA;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAS3F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Purpose: globalThis-pinned async singleton — survives Next.js hot-reload / duplicate module copies.
|
|
2
|
+
const PROMISES_KEY = Symbol.for('hazo.singleton.promises');
|
|
3
|
+
function getPromiseMap() {
|
|
4
|
+
const g = globalThis;
|
|
5
|
+
if (!g[PROMISES_KEY])
|
|
6
|
+
g[PROMISES_KEY] = new Map();
|
|
7
|
+
return g[PROMISES_KEY];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Get or create a globalThis-pinned async singleton.
|
|
11
|
+
*
|
|
12
|
+
* - Concurrent callers share one in-flight promise (no duplicate connects).
|
|
13
|
+
* - On rejection: evicts the promise so the next call retries.
|
|
14
|
+
* - Keys should be version-qualified, e.g. 'hazo_connect:redis:v1'.
|
|
15
|
+
*/
|
|
16
|
+
export async function globalSingleton(key, factory) {
|
|
17
|
+
const map = getPromiseMap();
|
|
18
|
+
if (map.has(key))
|
|
19
|
+
return map.get(key);
|
|
20
|
+
const p = factory().catch((err) => {
|
|
21
|
+
map.delete(key); // evict on failure so next call retries
|
|
22
|
+
throw err;
|
|
23
|
+
});
|
|
24
|
+
map.set(key, p);
|
|
25
|
+
return p;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Evict a singleton (for tests and graceful shutdown).
|
|
29
|
+
*/
|
|
30
|
+
export function resetGlobalSingleton(key) {
|
|
31
|
+
getPromiseMap().delete(key);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=global_singleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global_singleton.js","sourceRoot":"","sources":["../../src/singleton/global_singleton.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAEtG,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAE3D,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,UAA8C,CAAC;IACzD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QAAE,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;IAClD,OAAO,CAAC,CAAC,YAAY,CAAkC,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAI,GAAW,EAAE,OAAyB;IAC7E,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAgB,CAAC;IACrD,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,wCAAwC;QAC1D,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,aAAa,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -8,12 +8,22 @@
|
|
|
8
8
|
* silent. A genuine collision — a *different* value under an existing key — is warned
|
|
9
9
|
* about once per key, so it can never flood the logs.
|
|
10
10
|
*
|
|
11
|
+
* Some singletons are produced fresh by each module evaluation yet are *semantically*
|
|
12
|
+
* the same — e.g. the `HazoError` class, which is redefined when a bundler loads the
|
|
13
|
+
* server and client entry points into one realm, or when two copies of the package
|
|
14
|
+
* are installed. These differ by reference but are interchangeable. Pass
|
|
15
|
+
* `options.equivalent` to recognise that case: when it returns `true` for the existing
|
|
16
|
+
* and incoming values the original is kept silently, with no warning.
|
|
17
|
+
*
|
|
11
18
|
* @returns The registered value (either the new one or the pre-existing one)
|
|
12
19
|
*/
|
|
13
|
-
export declare function registerSingleton<T>(key: string, value: T
|
|
20
|
+
export declare function registerSingleton<T>(key: string, value: T, options?: {
|
|
21
|
+
equivalent?: (existing: unknown, value: T) => boolean;
|
|
22
|
+
}): T;
|
|
14
23
|
/**
|
|
15
24
|
* Retrieve a previously registered singleton value by key.
|
|
16
25
|
* Returns undefined if the key has never been registered.
|
|
17
26
|
*/
|
|
18
27
|
export declare function getSingleton<T>(key: string): T | undefined;
|
|
28
|
+
export { globalSingleton, resetGlobalSingleton } from './global_singleton.js';
|
|
19
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/singleton/index.ts"],"names":[],"mappings":"AA4BA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/singleton/index.ts"],"names":[],"mappings":"AA4BA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAA;CAAE,GAClE,CAAC,CAiBH;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAM1D;AAED,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/singleton/index.js
CHANGED
|
@@ -32,13 +32,20 @@ function getWarnedKeys() {
|
|
|
32
32
|
* silent. A genuine collision — a *different* value under an existing key — is warned
|
|
33
33
|
* about once per key, so it can never flood the logs.
|
|
34
34
|
*
|
|
35
|
+
* Some singletons are produced fresh by each module evaluation yet are *semantically*
|
|
36
|
+
* the same — e.g. the `HazoError` class, which is redefined when a bundler loads the
|
|
37
|
+
* server and client entry points into one realm, or when two copies of the package
|
|
38
|
+
* are installed. These differ by reference but are interchangeable. Pass
|
|
39
|
+
* `options.equivalent` to recognise that case: when it returns `true` for the existing
|
|
40
|
+
* and incoming values the original is kept silently, with no warning.
|
|
41
|
+
*
|
|
35
42
|
* @returns The registered value (either the new one or the pre-existing one)
|
|
36
43
|
*/
|
|
37
|
-
export function registerSingleton(key, value) {
|
|
44
|
+
export function registerSingleton(key, value, options) {
|
|
38
45
|
const registry = getRegistry();
|
|
39
46
|
if (Object.prototype.hasOwnProperty.call(registry, key)) {
|
|
40
47
|
const existing = registry[key];
|
|
41
|
-
if (existing !== value) {
|
|
48
|
+
if (existing !== value && !options?.equivalent?.(existing, value)) {
|
|
42
49
|
const warned = getWarnedKeys();
|
|
43
50
|
if (!warned.has(key)) {
|
|
44
51
|
warned.add(key);
|
|
@@ -61,4 +68,5 @@ export function getSingleton(key) {
|
|
|
61
68
|
}
|
|
62
69
|
return undefined;
|
|
63
70
|
}
|
|
71
|
+
export { globalSingleton, resetGlobalSingleton } from './global_singleton.js';
|
|
64
72
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/singleton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAItD;;;GAGG;AACH,SAAS,WAAW;IAClB,MAAM,CAAC,GAAG,UAAqC,CAAC;IAChD,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC5B,CAAC,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAsB,CAAC;IACpE,CAAC;IACD,OAAO,CAAC,CAAC,mBAAmB,CAAsB,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,UAAqC,CAAC;IAChD,MAAM,EAAE,GAAG,GAAG,mBAAmB,SAAS,CAAC;IAC3C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAAE,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,OAAO,CAAC,CAAC,EAAE,CAAgB,CAAC;AAC9B,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/singleton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAItD;;;GAGG;AACH,SAAS,WAAW;IAClB,MAAM,CAAC,GAAG,UAAqC,CAAC;IAChD,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC5B,CAAC,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAsB,CAAC;IACpE,CAAC;IACD,OAAO,CAAC,CAAC,mBAAmB,CAAsB,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,UAAqC,CAAC;IAChD,MAAM,EAAE,GAAG,GAAG,mBAAmB,SAAS,CAAC;IAC3C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAAE,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,OAAO,CAAC,CAAC,EAAE,CAAgB,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,KAAQ,EACR,OAAmE;IAEnE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,QAAQ,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChB,OAAO,CAAC,IAAI,CACV,uCAAuC,GAAG,qEAAqE,CAChH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,QAAa,CAAC;IACvB,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAI,GAAW;IACzC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,QAAQ,CAAC,GAAG,CAAM,CAAC;IAC5B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -5,6 +5,11 @@ export { getCurrentEnv } from './env.js';
|
|
|
5
5
|
* Per D-001 and D-006.
|
|
6
6
|
*/
|
|
7
7
|
export declare function generateRequestId(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Generate a non-prefixed UUID v7 (time-ordered) for entity IDs persisted to
|
|
10
|
+
* DB rows or JSON blobs. Use generateRequestId() for HTTP correlation IDs.
|
|
11
|
+
*/
|
|
12
|
+
export declare function generateId(): string;
|
|
8
13
|
/**
|
|
9
14
|
* Attempt a dynamic import of `pkg`. Returns null if the package is not
|
|
10
15
|
* installed or fails to load for any reason.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAMD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CASvE;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAMjE;AAMD;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAMD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAW/D;AAMD,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAU7C;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAO3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAQ1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAM3D;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,MAAM,CAOvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAKjE;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAElD;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhD"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAMD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CASvE;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAMjE;AAMD;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAMD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAW/D;AAMD,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAU7C;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAO3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAQ1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAM3D;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,MAAM,CAOvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAKjE;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAElD;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhD"}
|
package/dist/utils/index.js
CHANGED
|
@@ -14,6 +14,13 @@ export { getCurrentEnv } from './env.js';
|
|
|
14
14
|
export function generateRequestId() {
|
|
15
15
|
return `req_${uuidv7()}`;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Generate a non-prefixed UUID v7 (time-ordered) for entity IDs persisted to
|
|
19
|
+
* DB rows or JSON blobs. Use generateRequestId() for HTTP correlation IDs.
|
|
20
|
+
*/
|
|
21
|
+
export function generateId() {
|
|
22
|
+
return uuidv7();
|
|
23
|
+
}
|
|
17
24
|
// ---------------------------------------------------------------------------
|
|
18
25
|
// Dynamic import helper
|
|
19
26
|
// ---------------------------------------------------------------------------
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,+FAA+F;AAC/F,OAAO,KAAK,OAAO,MAAM,MAAM,CAAC;AAChC,MAAM,MAAM,GAAkB,OAAmD,CAAC,IAAI,CAAC,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,MAAM,EAAE,EAAE,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,MAAM,EAAE,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAI,GAAW;IAClD,IAAI,CAAC;QACH,6EAA6E;QAC7E,2EAA2E;QAC3E,4DAA4D;QAC5D,OAAO,CAAC,MAAM,MAAM,CAAC,2BAA2B,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAM,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,aAAa,CAAc,IAAY;IACrD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;IACrD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAElC,MAAM,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAExE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/D,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAE9E,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,SAAS,MAAM,CAAC,IAAmB;IACjC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAmB;IACjD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;QACnC,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAmB;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;QACnC,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAmB;IACjD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7B,OAAO,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,QAAQ,GAAG,KAAK;IAC7D,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACpC,KAAK,EAAE,UAAU;QACjB,QAAQ;QACR,qBAAqB,EAAE,CAAC;QACxB,qBAAqB,EAAE,CAAC;KACzB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,QAAiB;IACvD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACpC,qBAAqB,EAAE,QAAQ;QAC/B,qBAAqB,EAAE,QAAQ;KAChC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5B,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI;SACR,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;SACrC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hazo_core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Foundation package for all hazo_* packages — errors, correlation ID, config, logger, debug, singletons, utils",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"SETUP_CHECKLIST.md"
|
|
32
32
|
],
|
|
33
33
|
"scripts": {
|
|
34
|
-
"build": "tsc -p tsconfig.build.json",
|
|
34
|
+
"build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json",
|
|
35
35
|
"test": "vitest run",
|
|
36
36
|
"test:watch": "vitest",
|
|
37
37
|
"prepublishOnly": "npm run build"
|
|
@@ -58,9 +58,10 @@
|
|
|
58
58
|
},
|
|
59
59
|
"homepage": "https://github.com/pub12/hazo/tree/main/hazo_core#readme",
|
|
60
60
|
"dependencies": {
|
|
61
|
+
"dotenv": "^16.4.5",
|
|
61
62
|
"ini": "^4.1.0",
|
|
62
63
|
"uuid": "^11.0.0",
|
|
63
|
-
"zod": "^
|
|
64
|
+
"zod": "^4.1.12"
|
|
64
65
|
},
|
|
65
66
|
"devDependencies": {
|
|
66
67
|
"@types/node": "^22.10.0",
|
|
@@ -69,7 +70,7 @@
|
|
|
69
70
|
},
|
|
70
71
|
"peerDependencies": {
|
|
71
72
|
"hazo_debug": "^3.1.1",
|
|
72
|
-
"hazo_logs": "^2.0.
|
|
73
|
+
"hazo_logs": "^2.0.3"
|
|
73
74
|
},
|
|
74
75
|
"peerDependenciesMeta": {
|
|
75
76
|
"hazo_logs": {
|