hazo_core 1.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.
- package/README.md +84 -0
- package/SETUP_CHECKLIST.md +114 -0
- package/config/hazo_core_config.ini +14 -0
- package/dist/config/index.d.ts +35 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +117 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/ini_parser.d.ts +10 -0
- package/dist/config/ini_parser.d.ts.map +1 -0
- package/dist/config/ini_parser.js +45 -0
- package/dist/config/ini_parser.js.map +1 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +4 -0
- package/dist/constants.js.map +1 -0
- package/dist/context/client.d.ts +27 -0
- package/dist/context/client.d.ts.map +1 -0
- package/dist/context/client.js +66 -0
- package/dist/context/client.js.map +1 -0
- package/dist/context/index.d.ts +9 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +8 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/server.d.ts +23 -0
- package/dist/context/server.d.ts.map +1 -0
- package/dist/context/server.js +52 -0
- package/dist/context/server.js.map +1 -0
- package/dist/context/types.d.ts +14 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/types.js +2 -0
- package/dist/context/types.js.map +1 -0
- package/dist/debug/index.d.ts +20 -0
- package/dist/debug/index.d.ts.map +1 -0
- package/dist/debug/index.js +78 -0
- package/dist/debug/index.js.map +1 -0
- package/dist/errors/auth.d.ts +14 -0
- package/dist/errors/auth.d.ts.map +1 -0
- package/dist/errors/auth.js +19 -0
- package/dist/errors/auth.js.map +1 -0
- package/dist/errors/base.d.ts +89 -0
- package/dist/errors/base.d.ts.map +1 -0
- package/dist/errors/base.js +152 -0
- package/dist/errors/base.js.map +1 -0
- package/dist/errors/config.d.ts +18 -0
- package/dist/errors/config.d.ts.map +1 -0
- package/dist/errors/config.js +14 -0
- package/dist/errors/config.js.map +1 -0
- package/dist/errors/conflict.d.ts +9 -0
- package/dist/errors/conflict.d.ts.map +1 -0
- package/dist/errors/conflict.js +14 -0
- package/dist/errors/conflict.js.map +1 -0
- package/dist/errors/external.d.ts +9 -0
- package/dist/errors/external.d.ts.map +1 -0
- package/dist/errors/external.js +14 -0
- package/dist/errors/external.js.map +1 -0
- package/dist/errors/from_zod.d.ts +33 -0
- package/dist/errors/from_zod.d.ts.map +1 -0
- package/dist/errors/from_zod.js +63 -0
- package/dist/errors/from_zod.js.map +1 -0
- package/dist/errors/index.d.ts +22 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +12 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/internal.d.ts +14 -0
- package/dist/errors/internal.d.ts.map +1 -0
- package/dist/errors/internal.js +14 -0
- package/dist/errors/internal.js.map +1 -0
- package/dist/errors/not_found.d.ts +9 -0
- package/dist/errors/not_found.d.ts.map +1 -0
- package/dist/errors/not_found.js +15 -0
- package/dist/errors/not_found.js.map +1 -0
- package/dist/errors/rate_limit.d.ts +9 -0
- package/dist/errors/rate_limit.d.ts.map +1 -0
- package/dist/errors/rate_limit.js +14 -0
- package/dist/errors/rate_limit.js.map +1 -0
- package/dist/errors/unavailable.d.ts +9 -0
- package/dist/errors/unavailable.d.ts.map +1 -0
- package/dist/errors/unavailable.js +14 -0
- package/dist/errors/unavailable.js.map +1 -0
- package/dist/errors/validation.d.ts +15 -0
- package/dist/errors/validation.d.ts.map +1 -0
- package/dist/errors/validation.js +17 -0
- package/dist/errors/validation.js.map +1 -0
- package/dist/http/fetch_with_request_id.d.ts +14 -0
- package/dist/http/fetch_with_request_id.d.ts.map +1 -0
- package/dist/http/fetch_with_request_id.js +29 -0
- package/dist/http/fetch_with_request_id.js.map +1 -0
- package/dist/http/get_origin_url.d.ts +23 -0
- package/dist/http/get_origin_url.d.ts.map +1 -0
- package/dist/http/get_origin_url.js +61 -0
- package/dist/http/get_origin_url.js.map +1 -0
- package/dist/http/request_id_middleware.d.ts +38 -0
- package/dist/http/request_id_middleware.d.ts.map +1 -0
- package/dist/http/request_id_middleware.js +57 -0
- package/dist/http/request_id_middleware.js.map +1 -0
- package/dist/index.client.d.ts +16 -0
- package/dist/index.client.d.ts.map +1 -0
- package/dist/index.client.js +19 -0
- package/dist/index.client.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/logger/index.d.ts +29 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +125 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/singleton/index.d.ts +16 -0
- package/dist/singleton/index.d.ts.map +1 -0
- package/dist/singleton/index.js +42 -0
- package/dist/singleton/index.js.map +1 -0
- package/dist/utils/dates.d.ts +45 -0
- package/dist/utils/dates.d.ts.map +1 -0
- package/dist/utils/dates.js +79 -0
- package/dist/utils/dates.js.map +1 -0
- package/dist/utils/env.d.ts +7 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +9 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/index.d.ts +69 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +174 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
// uuid v11+ exports v7; uuid v8 does not. At build time uuid@^11.0.0 will be installed.
|
|
2
|
+
// The type assertion avoids the TS2305 error when checked against the wrong installed version.
|
|
3
|
+
import * as uuidPkg from 'uuid';
|
|
4
|
+
const uuidv7 = uuidPkg['v7'];
|
|
5
|
+
export { getCurrentEnv } from './env.js';
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Request ID generation
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
/**
|
|
10
|
+
* Generate a new request/correlation ID.
|
|
11
|
+
* Format: 'req_' + UUID v7 (time-ordered, sortable in logs and DB indexes).
|
|
12
|
+
* Per D-001 and D-006.
|
|
13
|
+
*/
|
|
14
|
+
export function generateRequestId() {
|
|
15
|
+
return `req_${uuidv7()}`;
|
|
16
|
+
}
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// Dynamic import helper
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
/**
|
|
21
|
+
* Attempt a dynamic import of `pkg`. Returns null if the package is not
|
|
22
|
+
* installed or fails to load for any reason.
|
|
23
|
+
*
|
|
24
|
+
* Useful for optional peer dependencies that provide enhanced behavior when
|
|
25
|
+
* present but are not required.
|
|
26
|
+
*/
|
|
27
|
+
export async function optional_import(pkg) {
|
|
28
|
+
try {
|
|
29
|
+
return (await import(pkg));
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// JSON helpers
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
/**
|
|
39
|
+
* JSON.parse that returns null instead of throwing on malformed input.
|
|
40
|
+
*/
|
|
41
|
+
export function safeJsonParse(json) {
|
|
42
|
+
try {
|
|
43
|
+
return JSON.parse(json);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
// Async helpers
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
/**
|
|
53
|
+
* Promise-based delay. Useful in tests and retry loops.
|
|
54
|
+
*/
|
|
55
|
+
export function sleep(ms) {
|
|
56
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
57
|
+
}
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
// Byte formatting
|
|
60
|
+
// ---------------------------------------------------------------------------
|
|
61
|
+
/**
|
|
62
|
+
* Format a byte count into a human-readable string.
|
|
63
|
+
* @example formatBytes(1536) → "1.5 KB"
|
|
64
|
+
* @example formatBytes(1073741824) → "1 GB"
|
|
65
|
+
*/
|
|
66
|
+
export function formatBytes(bytes, decimals = 2) {
|
|
67
|
+
if (bytes === 0)
|
|
68
|
+
return '0 Bytes';
|
|
69
|
+
const k = 1024;
|
|
70
|
+
const dm = decimals < 0 ? 0 : decimals;
|
|
71
|
+
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
72
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
73
|
+
const value = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));
|
|
74
|
+
return `${value} ${sizes[i]}`;
|
|
75
|
+
}
|
|
76
|
+
// ---------------------------------------------------------------------------
|
|
77
|
+
// Multi-format date utilities (format_date, format_date_range, DateFormat)
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
export { format_date, format_date_range, DEFAULT_DATE_FORMAT, } from './dates.js';
|
|
80
|
+
// ---------------------------------------------------------------------------
|
|
81
|
+
// Date formatters
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
function toDate(date) {
|
|
84
|
+
return typeof date === 'string' ? new Date(date) : date;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Format a date as "28 May 2026"
|
|
88
|
+
*/
|
|
89
|
+
export function formatDateShort(date) {
|
|
90
|
+
const d = toDate(date);
|
|
91
|
+
return d.toLocaleDateString('en-AU', {
|
|
92
|
+
day: 'numeric',
|
|
93
|
+
month: 'short',
|
|
94
|
+
year: 'numeric',
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Format a date as "Wednesday, 28 May 2026"
|
|
99
|
+
*/
|
|
100
|
+
export function formatDateLong(date) {
|
|
101
|
+
const d = toDate(date);
|
|
102
|
+
return d.toLocaleDateString('en-AU', {
|
|
103
|
+
weekday: 'long',
|
|
104
|
+
day: 'numeric',
|
|
105
|
+
month: 'long',
|
|
106
|
+
year: 'numeric',
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Format a date as "28/05/2026"
|
|
111
|
+
*/
|
|
112
|
+
export function formatDateSlash(date) {
|
|
113
|
+
const d = toDate(date);
|
|
114
|
+
const day = String(d.getDate()).padStart(2, '0');
|
|
115
|
+
const month = String(d.getMonth() + 1).padStart(2, '0');
|
|
116
|
+
const year = d.getFullYear();
|
|
117
|
+
return `${day}/${month}/${year}`;
|
|
118
|
+
}
|
|
119
|
+
// ---------------------------------------------------------------------------
|
|
120
|
+
// Number / currency formatters
|
|
121
|
+
// ---------------------------------------------------------------------------
|
|
122
|
+
/**
|
|
123
|
+
* Format a number as currency.
|
|
124
|
+
* @example formatCurrency(1234.56) → "$1,234.56"
|
|
125
|
+
* @example formatCurrency(1234.56, 'GBP') → "£1,234.56"
|
|
126
|
+
*/
|
|
127
|
+
export function formatCurrency(amount, currency = 'AUD') {
|
|
128
|
+
return new Intl.NumberFormat('en-AU', {
|
|
129
|
+
style: 'currency',
|
|
130
|
+
currency,
|
|
131
|
+
minimumFractionDigits: 2,
|
|
132
|
+
maximumFractionDigits: 2,
|
|
133
|
+
}).format(amount);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Format a number with optional decimal places.
|
|
137
|
+
* @example formatNumber(1234567.89) → "1,234,567.89"
|
|
138
|
+
* @example formatNumber(1234567.89, 0) → "1,234,568"
|
|
139
|
+
*/
|
|
140
|
+
export function formatNumber(n, decimals) {
|
|
141
|
+
return new Intl.NumberFormat('en-AU', {
|
|
142
|
+
minimumFractionDigits: decimals,
|
|
143
|
+
maximumFractionDigits: decimals,
|
|
144
|
+
}).format(n);
|
|
145
|
+
}
|
|
146
|
+
// ---------------------------------------------------------------------------
|
|
147
|
+
// Boolean formatter
|
|
148
|
+
// ---------------------------------------------------------------------------
|
|
149
|
+
/**
|
|
150
|
+
* Format a boolean as a human-readable string.
|
|
151
|
+
* @example formatBoolean(true) → "Yes"
|
|
152
|
+
* @example formatBoolean(false) → "No"
|
|
153
|
+
*/
|
|
154
|
+
export function formatBoolean(val) {
|
|
155
|
+
return val ? 'Yes' : 'No';
|
|
156
|
+
}
|
|
157
|
+
// ---------------------------------------------------------------------------
|
|
158
|
+
// Name initials
|
|
159
|
+
// ---------------------------------------------------------------------------
|
|
160
|
+
/**
|
|
161
|
+
* Extract initials from a name.
|
|
162
|
+
* @example getInitials('John Doe') → 'JD'
|
|
163
|
+
* @example getInitials('Alice') → 'A'
|
|
164
|
+
* @example getInitials('Mary Jane Watson') → 'MJW'
|
|
165
|
+
*/
|
|
166
|
+
export function getInitials(name) {
|
|
167
|
+
return name
|
|
168
|
+
.trim()
|
|
169
|
+
.split(/\s+/)
|
|
170
|
+
.filter((part) => part.length > 0)
|
|
171
|
+
.map((part) => part[0].toUpperCase())
|
|
172
|
+
.join('');
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAI,GAAW;IAClD,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAM,CAAC;IAClC,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
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hazo_core",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Foundation package for all hazo_* packages — errors, correlation ID, config, logger, debug, singletons, utils",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"node": "./dist/index.js",
|
|
12
|
+
"default": "./dist/index.client.js"
|
|
13
|
+
},
|
|
14
|
+
"./client": {
|
|
15
|
+
"types": "./dist/index.client.d.ts",
|
|
16
|
+
"import": "./dist/index.client.js"
|
|
17
|
+
},
|
|
18
|
+
"./errors": {
|
|
19
|
+
"types": "./dist/errors/index.d.ts",
|
|
20
|
+
"import": "./dist/errors/index.js"
|
|
21
|
+
},
|
|
22
|
+
"./context": {
|
|
23
|
+
"types": "./dist/context/index.d.ts",
|
|
24
|
+
"import": "./dist/context/index.js"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"dist",
|
|
29
|
+
"config",
|
|
30
|
+
"README.md",
|
|
31
|
+
"SETUP_CHECKLIST.md"
|
|
32
|
+
],
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "tsc -p tsconfig.build.json",
|
|
35
|
+
"test": "vitest run",
|
|
36
|
+
"test:watch": "vitest",
|
|
37
|
+
"prepublishOnly": "npm run build"
|
|
38
|
+
},
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": "git+https://github.com/pub12/hazo.git"
|
|
42
|
+
},
|
|
43
|
+
"keywords": [
|
|
44
|
+
"hazo",
|
|
45
|
+
"core",
|
|
46
|
+
"errors",
|
|
47
|
+
"correlation-id",
|
|
48
|
+
"config",
|
|
49
|
+
"logger"
|
|
50
|
+
],
|
|
51
|
+
"author": "Pubs Abayasiri",
|
|
52
|
+
"license": "MIT",
|
|
53
|
+
"engines": {
|
|
54
|
+
"node": ">=20.0.0"
|
|
55
|
+
},
|
|
56
|
+
"bugs": {
|
|
57
|
+
"url": "https://github.com/pub12/hazo/issues"
|
|
58
|
+
},
|
|
59
|
+
"homepage": "https://github.com/pub12/hazo/tree/main/hazo_core#readme",
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"ini": "^4.1.0",
|
|
62
|
+
"uuid": "^11.0.0",
|
|
63
|
+
"zod": "^3.23.0"
|
|
64
|
+
},
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"@types/node": "^22.10.0",
|
|
67
|
+
"typescript": "^5.7.2",
|
|
68
|
+
"vitest": "^4.0.15"
|
|
69
|
+
},
|
|
70
|
+
"peerDependencies": {
|
|
71
|
+
"hazo_debug": "^3.1.0",
|
|
72
|
+
"hazo_logs": "^2.0.0"
|
|
73
|
+
},
|
|
74
|
+
"peerDependenciesMeta": {
|
|
75
|
+
"hazo_logs": {
|
|
76
|
+
"optional": true
|
|
77
|
+
},
|
|
78
|
+
"hazo_debug": {
|
|
79
|
+
"optional": true
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|