@ya-accelerators/web-backend-framework 0.0.100 → 0.0.102
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/@types/express.d.ts +0 -4
- package/dist/connector/google-auth/index.js +0 -30
- package/dist/connector/google-auth/index.js.map +1 -1
- package/dist/constants.d.ts +9 -0
- package/dist/constants.js +73 -4
- package/dist/constants.js.map +1 -1
- package/dist/context/audit/index.js.map +1 -1
- package/dist/context/request/index.js +0 -15
- package/dist/context/request/index.js.map +1 -1
- package/dist/coordination/lock/index.d.ts +0 -8
- package/dist/coordination/lock/index.js +0 -29
- package/dist/coordination/lock/index.js.map +1 -1
- package/dist/coordination/rate-limit/index.d.ts +0 -5
- package/dist/coordination/rate-limit/index.js +0 -23
- package/dist/coordination/rate-limit/index.js.map +1 -1
- package/dist/coordination/throttle/index.d.ts +0 -13
- package/dist/coordination/throttle/index.js +0 -13
- package/dist/coordination/throttle/index.js.map +1 -1
- package/dist/env.d.ts +1 -1
- package/dist/env.js +5 -15
- package/dist/env.js.map +1 -1
- package/dist/internal/federation/index.d.ts +1 -1
- package/dist/internal/federation/index.js +0 -20
- package/dist/internal/federation/index.js.map +1 -1
- package/dist/logger/index.js +0 -18
- package/dist/logger/index.js.map +1 -1
- package/dist/repository/prisma/index.js +5 -7
- package/dist/repository/prisma/index.js.map +1 -1
- package/dist/repository/prisma/lifecycle.js +1 -28
- package/dist/repository/prisma/lifecycle.js.map +1 -1
- package/dist/repository/prisma/rds-log-record.d.ts +10 -0
- package/dist/repository/prisma/rds-log-record.js +20 -0
- package/dist/repository/prisma/rds-log-record.js.map +1 -0
- package/dist/repository/redis/index.js +0 -4
- package/dist/repository/redis/index.js.map +1 -1
- package/dist/repository/s3/index.js +1 -25
- package/dist/repository/s3/index.js.map +1 -1
- package/dist/server/express/index.js +20 -52
- package/dist/server/express/index.js.map +1 -1
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +1 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/trpc/declaration/index.d.ts +38 -0
- package/dist/server/trpc/declaration/index.js +2 -0
- package/dist/server/trpc/declaration/index.js.map +1 -0
- package/dist/server/trpc/index.d.ts +10 -9
- package/dist/server/trpc/index.js +12 -28
- package/dist/server/trpc/index.js.map +1 -1
- package/dist/server/trpc/schema/index.js +0 -10
- package/dist/server/trpc/schema/index.js.map +1 -1
- package/dist/server/uploads/index.js +12 -12
- package/dist/server/uploads/index.js.map +1 -1
- package/dist/util/index.js +87 -96
- package/dist/util/index.js.map +1 -1
- package/package.json +13 -9
package/dist/util/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ulid } from 'ulid';
|
|
2
|
+
import { constants } from '../constants.js';
|
|
2
3
|
const PASSWORD_ALLOWED_CHARACTERS = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+=-[]{}|;:,.?/~';
|
|
3
4
|
export const Util = {
|
|
4
5
|
isArray: (maybeArray) => Array.isArray(maybeArray),
|
|
@@ -6,65 +7,10 @@ export const Util = {
|
|
|
6
7
|
isString: (arg) => typeof arg === 'string',
|
|
7
8
|
normalize: (value) => value.trim().toLowerCase(),
|
|
8
9
|
sanitize: (input, options) => {
|
|
9
|
-
const DEFAULT_SANITIZE_KEYWORDS = [
|
|
10
|
-
'authorization',
|
|
11
|
-
'proxy-authorization',
|
|
12
|
-
'cookie',
|
|
13
|
-
'set-cookie',
|
|
14
|
-
'x-api-key',
|
|
15
|
-
'apikey',
|
|
16
|
-
'api_key',
|
|
17
|
-
'api-key',
|
|
18
|
-
'token',
|
|
19
|
-
'secret',
|
|
20
|
-
'password',
|
|
21
|
-
'passwd',
|
|
22
|
-
'signature',
|
|
23
|
-
'private',
|
|
24
|
-
'session',
|
|
25
|
-
'jwt',
|
|
26
|
-
'bearer',
|
|
27
|
-
// PII keys — masked so a thrown error's logged input/result never emits subject data to the log stream.
|
|
28
|
-
// Only low-false-positive keys (substring match): bare 'name' (a direct identifier, db-schema.md) is
|
|
29
|
-
// redacted separately in `walk` on EXACT match — a substring entry here would mask serviceName/fileName/….
|
|
30
|
-
'email',
|
|
31
|
-
'fullname',
|
|
32
|
-
'isikukood',
|
|
33
|
-
'dateofbirth',
|
|
34
|
-
'phone',
|
|
35
|
-
'wage',
|
|
36
|
-
'screenedname',
|
|
37
|
-
'familyname',
|
|
38
|
-
'givenname',
|
|
39
|
-
'middlename',
|
|
40
|
-
'holdername',
|
|
41
|
-
'namekana',
|
|
42
|
-
'nickname',
|
|
43
|
-
'fax',
|
|
44
|
-
'workplaceaddress',
|
|
45
|
-
'complainantcontact',
|
|
46
|
-
'affiliatedorganization',
|
|
47
|
-
'nationalid',
|
|
48
|
-
'zipcode',
|
|
49
|
-
'taxnumber',
|
|
50
|
-
'corporateid',
|
|
51
|
-
'useragent',
|
|
52
|
-
'hostcountry',
|
|
53
|
-
'residencycountry',
|
|
54
|
-
'jobtitle',
|
|
55
|
-
'department',
|
|
56
|
-
];
|
|
57
|
-
// Exact-match-only PII keys. A substring entry would be catastrophic here — 'ip' matches recipient /
|
|
58
|
-
// description / zip / script, so it is compared whole, the same treatment bare 'name' gets in `walk`.
|
|
59
|
-
const EXACT_SANITIZE_KEYWORDS = ['ip'];
|
|
60
10
|
const normalizeKey = (k) => k.trim().toLowerCase();
|
|
61
11
|
const shouldRedactKey = (key, keywords) => keywords.some((kw) => normalizeKey(key) === kw || normalizeKey(key).includes(kw)) ||
|
|
62
|
-
|
|
12
|
+
constants.SANITIZE_EXACT_KEYS.some((kw) => normalizeKey(key) === kw);
|
|
63
13
|
const maybeTruncate = (s, max) => !max || max <= 0 ? s : s.length <= max ? s : `${s.slice(0, max)}...<truncated>`;
|
|
64
|
-
// `toJsonLikeSeen` tracks only the ANCESTOR path (added before recursing into a value's children,
|
|
65
|
-
// removed after) — so a genuine cycle is `[Circular]`, but a shared-but-acyclic reference (a DAG /
|
|
66
|
-
// diamond, e.g. two fields pointing at one object) still serializes fully on each path instead of
|
|
67
|
-
// being falsely collapsed on its second appearance.
|
|
68
14
|
const toJsonLikeSeen = new WeakSet();
|
|
69
15
|
// Objects produced from an Error: their `name` is the error class (not PII), exempt from the
|
|
70
16
|
// exact-match 'name' redaction in `walk`.
|
|
@@ -135,17 +81,84 @@ export const Util = {
|
|
|
135
81
|
toJsonLikeSeen.delete(v);
|
|
136
82
|
}
|
|
137
83
|
};
|
|
138
|
-
|
|
139
|
-
|
|
84
|
+
// The three patterns below run before any truncation does, so nothing bounds the length of what they run
|
|
85
|
+
// over, and three things keep their total cost proportional to that length. First, the opener scans the
|
|
86
|
+
// string once, and its unbounded `\w+` is reached only from an `Incorrect ` occurrence, whose trailing
|
|
87
|
+
// space keeps the runs two such occurrences produce from overlapping. Second, a keeper, where one runs,
|
|
88
|
+
// scans from its opener's end to the next opener's start, or to the string's end, and those segments are
|
|
89
|
+
// disjoint, so keeper work sums over the string once rather than once per opener. Third, the keeper
|
|
90
|
+
// quantifiers are bounded, so backtracking is capped per start position within a segment.
|
|
91
|
+
const driverOpener = /Duplicate entry '?|Incorrect (\w+) value: '?|( - )?parameters:/g;
|
|
92
|
+
const driverKeyKeeper = / for key '[A-Za-z0-9_$.-]{1,192}'/g;
|
|
93
|
+
const driverColumnKeeper = / for column '[A-Za-z0-9_$.-]{1,192}'(?: at row \d{1,9}(?!\d))?/g;
|
|
94
|
+
const INCORRECT_VALUE_TYPES = [
|
|
95
|
+
'string',
|
|
96
|
+
'integer',
|
|
97
|
+
'decimal',
|
|
98
|
+
'double',
|
|
99
|
+
'float',
|
|
100
|
+
'datetime',
|
|
101
|
+
'date',
|
|
102
|
+
'time',
|
|
103
|
+
'timestamp',
|
|
104
|
+
'year',
|
|
105
|
+
'bit',
|
|
106
|
+
'boolean',
|
|
107
|
+
'json',
|
|
108
|
+
'char',
|
|
109
|
+
'binary',
|
|
110
|
+
];
|
|
111
|
+
const lastKeeperIn = (segment, keeper) => {
|
|
112
|
+
keeper.lastIndex = 0;
|
|
113
|
+
let found = '';
|
|
114
|
+
for (let m = keeper.exec(segment); m !== null; m = keeper.exec(segment)) {
|
|
115
|
+
found = m[0];
|
|
116
|
+
}
|
|
117
|
+
return found;
|
|
118
|
+
};
|
|
119
|
+
const maskDriverValues = (text) => {
|
|
120
|
+
const openers = [];
|
|
121
|
+
driverOpener.lastIndex = 0;
|
|
122
|
+
for (let m = driverOpener.exec(text); m !== null; m = driverOpener.exec(text)) {
|
|
123
|
+
const [matched, valueType, paramsLead] = m;
|
|
124
|
+
const terminal = matched.endsWith('parameters:');
|
|
125
|
+
openers.push({
|
|
126
|
+
start: m.index,
|
|
127
|
+
end: m.index + matched.length,
|
|
128
|
+
canonical: terminal
|
|
129
|
+
? `${paramsLead ?? ''}parameters:[***]`
|
|
130
|
+
: valueType === undefined
|
|
131
|
+
? "Duplicate entry '***'"
|
|
132
|
+
: INCORRECT_VALUE_TYPES.some((type) => type === valueType.toLowerCase())
|
|
133
|
+
? `Incorrect ${valueType} value: '***'`
|
|
134
|
+
: "Incorrect value: '***'",
|
|
135
|
+
terminal,
|
|
136
|
+
keeper: valueType === undefined ? driverKeyKeeper : driverColumnKeeper,
|
|
137
|
+
});
|
|
138
|
+
if (terminal) {
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (openers.length === 0) {
|
|
143
|
+
return text;
|
|
144
|
+
}
|
|
145
|
+
let out = text.slice(0, openers[0].start);
|
|
146
|
+
for (const [i, opener] of openers.entries()) {
|
|
147
|
+
out += opener.canonical;
|
|
148
|
+
if (opener.terminal) {
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
out += lastKeeperIn(text.slice(opener.end, i + 1 < openers.length ? openers[i + 1].start : text.length), opener.keeper);
|
|
152
|
+
}
|
|
153
|
+
return out;
|
|
154
|
+
};
|
|
155
|
+
const maskInText = (text) => maskDriverValues(text)
|
|
140
156
|
.replace(/(\bpassword\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
|
|
141
157
|
.replace(/(\bpasswd\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
|
|
142
|
-
// authorization: "Bearer xxx"
|
|
143
158
|
.replace(/(\bauthorization\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
|
|
144
159
|
.replace(/(\bproxy-authorization\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
|
|
145
|
-
// cookie / set-cookie
|
|
146
160
|
.replace(/(\bcookie\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
|
|
147
161
|
.replace(/(\bset-cookie\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
|
|
148
|
-
// token / secret
|
|
149
162
|
.replace(/(\btoken\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
|
|
150
163
|
.replace(/(\bsecret\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
|
|
151
164
|
// key=value form (URL query string / form body): secrets in a logged `req.url` or error text.
|
|
@@ -153,9 +166,8 @@ export const Util = {
|
|
|
153
166
|
// the `token` inside `id_token` (the `_t` seam is word/word, so `\b` does not match there), and
|
|
154
167
|
// an OIDC id_token is a PII-bearing JWT that must not survive into logs.
|
|
155
168
|
.replace(/(\b(?:password|passwd|token|id_token|access_token|refresh_token|secret|api_key|apikey|api-key|authorization|session_state|session|jwt)=)[^&\s"'#]+/gi, '$1***')
|
|
156
|
-
// bare bearer token in free text (error message / stack / url)
|
|
157
169
|
.replace(/(\bBearer\s+)[\w.~+/-]+=*/gi, '$1***');
|
|
158
|
-
const keywords = options?.keywords ??
|
|
170
|
+
const keywords = options?.keywords ?? constants.SANITIZE_KEYWORDS;
|
|
159
171
|
const maxStringLength = options?.maxStringLength;
|
|
160
172
|
const seen = new WeakSet();
|
|
161
173
|
// A logged string carrying embedded newlines — a JSON-encoded error message (Zod issues), a
|
|
@@ -174,16 +186,9 @@ export const Util = {
|
|
|
174
186
|
return parsed;
|
|
175
187
|
}
|
|
176
188
|
}
|
|
177
|
-
catch {
|
|
178
|
-
// not JSON — fall through to a line split
|
|
179
|
-
}
|
|
189
|
+
catch { }
|
|
180
190
|
}
|
|
181
|
-
|
|
182
|
-
// A stack trace begins with a `${name}: ${message}` head before its indented `at …` frames.
|
|
183
|
-
// That head duplicates the record's own name / message (and, for a JSON error message, is a
|
|
184
|
-
// wall of escaped quotes) — keep only the frames when the string is a stack.
|
|
185
|
-
const frames = lines.filter((line) => /^\s+at\s/.test(line));
|
|
186
|
-
return frames.length > 0 ? frames : lines;
|
|
191
|
+
return s.split('\n');
|
|
187
192
|
};
|
|
188
193
|
const walk = (value, keyHint) => {
|
|
189
194
|
if (value === null) {
|
|
@@ -196,11 +201,15 @@ export const Util = {
|
|
|
196
201
|
if (keyHint && shouldRedactKey(keyHint, keywords)) {
|
|
197
202
|
return '***';
|
|
198
203
|
}
|
|
199
|
-
|
|
200
|
-
|
|
204
|
+
// Masked before the split, because the redacted span runs to the end of the whole message.
|
|
205
|
+
// Splitting first makes each line a message of its own, so the tail of a value carrying a
|
|
206
|
+
// newline lands on a line holding no marker and is emitted verbatim.
|
|
207
|
+
const masked = maskInText(value);
|
|
208
|
+
const expanded = expandMultiline(masked);
|
|
209
|
+
if (expanded !== masked) {
|
|
201
210
|
return walk(expanded);
|
|
202
211
|
}
|
|
203
|
-
return maybeTruncate(
|
|
212
|
+
return maybeTruncate(masked, maxStringLength);
|
|
204
213
|
}
|
|
205
214
|
if (typeof value === 'number') {
|
|
206
215
|
return Number.isFinite(value) ? value : String(value);
|
|
@@ -211,8 +220,6 @@ export const Util = {
|
|
|
211
220
|
if (typeof value !== 'object') {
|
|
212
221
|
return String(value);
|
|
213
222
|
}
|
|
214
|
-
// Ancestor-path tracking (add before recursing, remove after) so a shared-but-acyclic reference is
|
|
215
|
-
// not mistaken for a cycle — same reason as `toJsonLikeSeen`.
|
|
216
223
|
if (seen.has(value)) {
|
|
217
224
|
return '[Circular]';
|
|
218
225
|
}
|
|
@@ -223,13 +230,9 @@ export const Util = {
|
|
|
223
230
|
}
|
|
224
231
|
const out = {};
|
|
225
232
|
for (const [k, v] of Object.entries(value)) {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
// case-insensitive.
|
|
230
|
-
// Bare 'name' is a direct identifier (db-schema.md) redacted on exact match only — a substring
|
|
231
|
-
// keyword would mask serviceName/fileName/…; an Error-shaped object keeps its `name` (error class).
|
|
232
|
-
if (shouldRedactKey(k, keywords) || (normalizeKey(k) === 'name' && !errorShapes.has(value))) {
|
|
233
|
+
if (shouldRedactKey(k, keywords) ||
|
|
234
|
+
(constants.SANITIZE_EXACT_KEYS_EXCEPT_ERRORS.some((kw) => normalizeKey(k) === kw) &&
|
|
235
|
+
!errorShapes.has(value))) {
|
|
233
236
|
out[k] = '***';
|
|
234
237
|
continue;
|
|
235
238
|
}
|
|
@@ -260,7 +263,6 @@ export const Util = {
|
|
|
260
263
|
},
|
|
261
264
|
});
|
|
262
265
|
}),
|
|
263
|
-
// backend only
|
|
264
266
|
isValidEmail: (value) => value === undefined
|
|
265
267
|
? false
|
|
266
268
|
: /^[a-zA-Z0-9_.+-]+@([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*\.)+[a-zA-Z]{2,}$/.test(value),
|
|
@@ -285,22 +287,13 @@ export const Util = {
|
|
|
285
287
|
}
|
|
286
288
|
})
|
|
287
289
|
.join(''))).test(value),
|
|
288
|
-
// E.164 phone number format +819012345678
|
|
289
290
|
isValidPhoneE164: (value) => value !== undefined && /^\+[1-9]\d{1,14}$/.test(value),
|
|
290
|
-
// Japanese phone number 012-3456-7890
|
|
291
291
|
isValidJapanesePhoneNumber: (value) => value !== undefined && /^0\d{1,4}-\d{1,4}-\d{3,4}$/.test(value) && /^0\d{9,10}$/.test(value.replace(/-/g, '')),
|
|
292
|
-
// Corporate number (13-digit number)
|
|
293
292
|
isValidJapaneseCorporateId: (value) => (value === undefined ? false : /^[0-9]{13}$/.test(value)),
|
|
294
|
-
// Invoice number (T + 13-digit number)
|
|
295
293
|
isValidInvoiceNumber: (value) => (value === undefined ? false : /^T[0-9]{13}$/.test(value)),
|
|
296
|
-
// Zip code (3-digit + 4-digit number)
|
|
297
294
|
isValidJapaneseZipCode: (value) => (value === undefined ? false : /^\d{3}-?\d{4}$/.test(value)),
|
|
298
295
|
createOTP: (n, isNumberOnly) => {
|
|
299
296
|
const seed = isNumberOnly ? '0123456789' : 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
|
300
|
-
// Rejection sampling: discard bytes in the incomplete final block (>= the largest multiple of
|
|
301
|
-
// seed.length that fits in a byte) so every character is equiprobable — a plain `x % seed.length`
|
|
302
|
-
// slightly favours the first `256 % seed.length` characters. Matters because this also backs the
|
|
303
|
-
// initial Google Workspace password minted in the access-execution batch.
|
|
304
297
|
const limit = 256 - (256 % seed.length);
|
|
305
298
|
const out = [];
|
|
306
299
|
while (out.length < n) {
|
|
@@ -315,8 +308,6 @@ export const Util = {
|
|
|
315
308
|
createULID: ulid,
|
|
316
309
|
getHeaderValue: (headers, name) => {
|
|
317
310
|
const key = name.toLowerCase();
|
|
318
|
-
// IncomingHttpHeaders keys are already lowercased, so headers[key] resolves directly; the
|
|
319
|
-
// case-insensitive scan is the fallback for a plain record whose keys may be mixed-case.
|
|
320
311
|
const value = headers[name] ?? headers[key] ?? Object.entries(headers).find(([k]) => k.toLowerCase() === key)?.[1];
|
|
321
312
|
if (Array.isArray(value)) {
|
|
322
313
|
return value.length > 0 && value[0].length > 0 ? value[0] : undefined;
|
package/dist/util/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ya-accelerators/web-backend-framework",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.102",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "YA Technologies OÜ",
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
".": {
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
16
|
"default": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./constants": {
|
|
19
|
+
"types": "./dist/constants.d.ts",
|
|
20
|
+
"default": "./dist/constants.js"
|
|
17
21
|
}
|
|
18
22
|
},
|
|
19
23
|
"repository": {
|
|
@@ -43,17 +47,17 @@
|
|
|
43
47
|
"test:integration": "jest --testPathPatterns=integration"
|
|
44
48
|
},
|
|
45
49
|
"dependencies": {
|
|
46
|
-
"@aws-sdk/client-s3": "^3.
|
|
47
|
-
"@aws-sdk/credential-provider-node": "^3.972.
|
|
48
|
-
"@prisma/adapter-mariadb": "^7.
|
|
50
|
+
"@aws-sdk/client-s3": "^3.1104.0",
|
|
51
|
+
"@aws-sdk/credential-provider-node": "^3.972.78",
|
|
52
|
+
"@prisma/adapter-mariadb": "^7.9.1",
|
|
49
53
|
"@prisma/extension-read-replicas": "^0.5.0",
|
|
50
|
-
"@valkey/valkey-glide": "^2.
|
|
54
|
+
"@valkey/valkey-glide": "^2.5.0",
|
|
51
55
|
"cors": "^2.8.6",
|
|
52
56
|
"express": "^5.2.1",
|
|
53
|
-
"google-auth-library": "^
|
|
54
|
-
"http-proxy-middleware": "^4.
|
|
55
|
-
"jose": "^6.2.
|
|
56
|
-
"mariadb": "^3.5.
|
|
57
|
+
"google-auth-library": "^11.0.0",
|
|
58
|
+
"http-proxy-middleware": "^4.2.0",
|
|
59
|
+
"jose": "^6.2.8",
|
|
60
|
+
"mariadb": "^3.5.3",
|
|
57
61
|
"ulid": "^3.0.2"
|
|
58
62
|
},
|
|
59
63
|
"devDependencies": {
|