@holo-js/config 0.2.6 → 0.3.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/dist/chunk-SAQGYMAD.mjs +62 -0
- package/dist/index.d.ts +20 -918
- package/dist/index.mjs +33 -1768
- package/dist/registry.d.ts +18 -0
- package/dist/registry.mjs +12 -0
- package/package.json +6 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,47 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
redis: NormalizedHoloRedisConfig;
|
|
5
|
-
cache: NormalizedHoloCacheConfig;
|
|
6
|
-
cors: NormalizedHoloCorsConfig;
|
|
7
|
-
storage: NormalizedHoloStorageConfig;
|
|
8
|
-
queue: NormalizedHoloQueueConfig;
|
|
9
|
-
broadcast: NormalizedHoloBroadcastConfig;
|
|
10
|
-
mail: NormalizedHoloMailConfig;
|
|
11
|
-
notifications: NormalizedHoloNotificationsConfig;
|
|
12
|
-
media: HoloMediaConfig;
|
|
13
|
-
session: NormalizedHoloSessionConfig;
|
|
14
|
-
security: NormalizedHoloSecurityConfig;
|
|
15
|
-
auth: NormalizedHoloAuthConfig;
|
|
16
|
-
}
|
|
1
|
+
import { HoloProjectPaths, HoloProjectConfig, NormalizedHoloRedisConfig } from '@holo-js/kernel';
|
|
2
|
+
export { HoloConfigNormalizer, HoloConfigNormalizerContext, composeRegisteredConfig, configRegistryInternals, registerConfigNormalizer, resetConfigNormalizers } from './registry.js';
|
|
3
|
+
|
|
17
4
|
type HoloConfigMap = object;
|
|
5
|
+
type HoloConfigMetadataKey = 'all' | 'custom' | 'environment' | 'loadedFiles' | 'warnings';
|
|
6
|
+
type HoloCustomConfig<TCustom extends HoloConfigMap> = Omit<TCustom, HoloConfigMetadataKey>;
|
|
7
|
+
type HoloConfigValues<TCustom extends HoloConfigMap = HoloConfigMap> = Readonly<HoloConfigRegistry & HoloCustomConfig<TCustom>>;
|
|
18
8
|
interface LoadedEnvironment {
|
|
19
9
|
readonly name: HoloAppEnv;
|
|
20
10
|
readonly values: Readonly<Record<string, string>>;
|
|
21
11
|
readonly loadedFiles: readonly string[];
|
|
22
12
|
readonly warnings: readonly string[];
|
|
23
13
|
}
|
|
24
|
-
|
|
25
|
-
readonly app: NormalizedHoloAppConfig;
|
|
26
|
-
readonly database: NormalizedHoloDatabaseConfig;
|
|
27
|
-
readonly redis: NormalizedHoloRedisConfig;
|
|
28
|
-
readonly cache: NormalizedHoloCacheConfig;
|
|
29
|
-
readonly cors: NormalizedHoloCorsConfig;
|
|
30
|
-
readonly storage: NormalizedHoloStorageConfig;
|
|
31
|
-
readonly queue: NormalizedHoloQueueConfig;
|
|
32
|
-
readonly broadcast: NormalizedHoloBroadcastConfig;
|
|
33
|
-
readonly notifications: NormalizedHoloNotificationsConfig;
|
|
34
|
-
readonly mail: NormalizedHoloMailConfig;
|
|
35
|
-
readonly media: HoloMediaConfig;
|
|
36
|
-
readonly session: NormalizedHoloSessionConfig;
|
|
37
|
-
readonly security: NormalizedHoloSecurityConfig;
|
|
38
|
-
readonly auth: NormalizedHoloAuthConfig;
|
|
14
|
+
type LoadedHoloConfig<TCustom extends HoloConfigMap = HoloConfigMap> = Omit<HoloConfigValues<TCustom>, HoloConfigMetadataKey> & {
|
|
39
15
|
readonly custom: Readonly<TCustom>;
|
|
40
|
-
readonly all:
|
|
16
|
+
readonly all: HoloConfigValues<TCustom>;
|
|
41
17
|
readonly environment: LoadedEnvironment;
|
|
42
18
|
readonly loadedFiles: readonly string[];
|
|
43
19
|
readonly warnings: readonly string[];
|
|
44
|
-
}
|
|
20
|
+
};
|
|
45
21
|
type ConfigFileName = keyof HoloConfigRegistry | (string & {});
|
|
46
22
|
type Primitive = string | number | boolean | bigint | symbol | null | undefined;
|
|
47
23
|
type NonTraversable = Primitive | readonly unknown[] | ((...args: never[]) => unknown);
|
|
@@ -54,43 +30,6 @@ type DotPath<T> = T extends NonTraversable ? never : {
|
|
|
54
30
|
type ValueAtPath<T, TPath extends string> = TPath extends `${infer THead}.${infer TTail}` ? THead extends keyof T ? ValueAtPath<T[THead], TTail> : never : TPath extends keyof T ? T[TPath] : never;
|
|
55
31
|
type DefineConfigValue<TConfig extends object> = Readonly<TConfig>;
|
|
56
32
|
|
|
57
|
-
interface HoloProjectPaths {
|
|
58
|
-
models: string;
|
|
59
|
-
migrations: string;
|
|
60
|
-
generatedSchema: string;
|
|
61
|
-
seeders: string;
|
|
62
|
-
observers: string;
|
|
63
|
-
factories: string;
|
|
64
|
-
commands: string;
|
|
65
|
-
jobs: string;
|
|
66
|
-
authorizationPolicies: string;
|
|
67
|
-
authorizationAbilities: string;
|
|
68
|
-
}
|
|
69
|
-
interface HoloProjectConnectionConfig {
|
|
70
|
-
driver?: SupportedDatabaseDriver;
|
|
71
|
-
url?: string;
|
|
72
|
-
host?: string;
|
|
73
|
-
port?: number | string;
|
|
74
|
-
username?: string;
|
|
75
|
-
password?: string;
|
|
76
|
-
database?: string;
|
|
77
|
-
filename?: string;
|
|
78
|
-
schema?: string;
|
|
79
|
-
ssl?: boolean | Record<string, unknown>;
|
|
80
|
-
logging?: boolean;
|
|
81
|
-
}
|
|
82
|
-
interface HoloProjectDatabaseConfig {
|
|
83
|
-
defaultConnection?: string;
|
|
84
|
-
connections?: Record<string, HoloProjectConnectionConfig | string>;
|
|
85
|
-
}
|
|
86
|
-
interface HoloProjectConfig {
|
|
87
|
-
paths?: Partial<HoloProjectPaths>;
|
|
88
|
-
database?: HoloProjectDatabaseConfig;
|
|
89
|
-
models?: readonly string[];
|
|
90
|
-
migrations?: readonly string[];
|
|
91
|
-
seeders?: readonly string[];
|
|
92
|
-
}
|
|
93
|
-
type SupportedDatabaseDriver = 'sqlite' | 'postgres' | 'mysql';
|
|
94
33
|
type HoloAppEnv = 'development' | 'production' | 'test';
|
|
95
34
|
interface HoloAppConfig extends HoloProjectConfig {
|
|
96
35
|
name?: string;
|
|
@@ -98,681 +37,7 @@ interface HoloAppConfig extends HoloProjectConfig {
|
|
|
98
37
|
url?: string;
|
|
99
38
|
debug?: boolean;
|
|
100
39
|
env?: HoloAppEnv;
|
|
101
|
-
|
|
102
|
-
type HoloDatabaseConnectionConfig = HoloProjectConnectionConfig;
|
|
103
|
-
type HoloDatabaseConfig = HoloProjectDatabaseConfig;
|
|
104
|
-
interface HoloRedisConnectionConfig {
|
|
105
|
-
readonly url?: string;
|
|
106
|
-
readonly clusters?: readonly HoloRedisClusterNodeConfig[];
|
|
107
|
-
readonly socketPath?: string;
|
|
108
|
-
readonly host?: string;
|
|
109
|
-
readonly port?: number | string;
|
|
110
|
-
readonly username?: string;
|
|
111
|
-
readonly password?: string;
|
|
112
|
-
readonly db?: number | string;
|
|
113
|
-
}
|
|
114
|
-
interface HoloRedisClusterNodeConfig {
|
|
115
|
-
readonly url?: string;
|
|
116
|
-
readonly socketPath?: string;
|
|
117
|
-
readonly host?: string;
|
|
118
|
-
readonly port?: number | string;
|
|
119
|
-
}
|
|
120
|
-
interface HoloRedisConfig {
|
|
121
|
-
readonly default?: string;
|
|
122
|
-
readonly connections?: Readonly<Record<string, HoloRedisConnectionConfig>>;
|
|
123
|
-
}
|
|
124
|
-
interface NormalizedHoloRedisConnectionConfig {
|
|
125
|
-
readonly name: string;
|
|
126
|
-
readonly url?: string;
|
|
127
|
-
readonly clusters?: readonly NormalizedHoloRedisClusterNodeConfig[];
|
|
128
|
-
readonly socketPath?: string;
|
|
129
|
-
readonly host: string;
|
|
130
|
-
readonly port: number;
|
|
131
|
-
readonly username?: string;
|
|
132
|
-
readonly password?: string;
|
|
133
|
-
readonly db: number;
|
|
134
|
-
}
|
|
135
|
-
interface NormalizedHoloRedisClusterNodeConfig {
|
|
136
|
-
readonly url?: string;
|
|
137
|
-
readonly socketPath?: string;
|
|
138
|
-
readonly host: string;
|
|
139
|
-
readonly port: number;
|
|
140
|
-
}
|
|
141
|
-
interface NormalizedHoloRedisConfig {
|
|
142
|
-
readonly default: string;
|
|
143
|
-
readonly connections: Readonly<Record<string, NormalizedHoloRedisConnectionConfig>>;
|
|
144
|
-
}
|
|
145
|
-
type StorageDriver = 'local' | 'public' | 's3';
|
|
146
|
-
type StorageVisibility = 'private' | 'public';
|
|
147
|
-
interface BaseDiskConfig {
|
|
148
|
-
driver: StorageDriver;
|
|
149
|
-
visibility?: StorageVisibility;
|
|
150
|
-
root?: string;
|
|
151
|
-
url?: string;
|
|
152
|
-
[key: string]: unknown;
|
|
153
|
-
}
|
|
154
|
-
interface LocalDiskConfig extends BaseDiskConfig {
|
|
155
|
-
driver: 'local' | 'public';
|
|
156
|
-
}
|
|
157
|
-
interface S3DiskConfig extends BaseDiskConfig {
|
|
158
|
-
driver: 's3';
|
|
159
|
-
bucket?: string;
|
|
160
|
-
region?: string;
|
|
161
|
-
endpoint?: string;
|
|
162
|
-
accessKeyId?: string;
|
|
163
|
-
secretAccessKey?: string;
|
|
164
|
-
sessionToken?: string;
|
|
165
|
-
forcePathStyleEndpoint?: boolean;
|
|
166
|
-
}
|
|
167
|
-
type DiskConfig = LocalDiskConfig | S3DiskConfig;
|
|
168
|
-
interface HoloStorageConfig {
|
|
169
|
-
defaultDisk?: string;
|
|
170
|
-
routePrefix?: string;
|
|
171
|
-
disks?: Record<string, DiskConfig>;
|
|
172
|
-
}
|
|
173
|
-
interface HoloMediaConfig {
|
|
174
|
-
[key: string]: unknown;
|
|
175
|
-
}
|
|
176
|
-
type BroadcastConnectionDriver = 'holo' | 'pusher' | 'log' | 'null';
|
|
177
|
-
type BroadcastConnectionScheme = 'http' | 'https';
|
|
178
|
-
interface BroadcastConnectionOptionsConfig {
|
|
179
|
-
readonly host?: string;
|
|
180
|
-
readonly port?: number | string;
|
|
181
|
-
readonly scheme?: BroadcastConnectionScheme;
|
|
182
|
-
readonly useTLS?: boolean;
|
|
183
|
-
readonly cluster?: string;
|
|
184
|
-
}
|
|
185
|
-
interface BroadcastWorkerScalingConfig {
|
|
186
|
-
readonly driver: 'redis';
|
|
187
|
-
readonly connection?: string;
|
|
188
|
-
}
|
|
189
|
-
interface BroadcastWorkerConfig {
|
|
190
|
-
readonly host?: string;
|
|
191
|
-
readonly port?: number | string;
|
|
192
|
-
readonly path?: string;
|
|
193
|
-
readonly publicHost?: string;
|
|
194
|
-
readonly publicPort?: number | string;
|
|
195
|
-
readonly publicScheme?: BroadcastConnectionScheme;
|
|
196
|
-
readonly healthPath?: string;
|
|
197
|
-
readonly statsPath?: string;
|
|
198
|
-
readonly scaling?: false | BroadcastWorkerScalingConfig;
|
|
199
|
-
}
|
|
200
|
-
type BroadcastConnectionConfigValue = string | number | boolean | object | undefined;
|
|
201
|
-
interface BaseBroadcastConnectionConfig {
|
|
202
|
-
readonly driver: BroadcastConnectionDriver | (string & {});
|
|
203
|
-
readonly options?: BroadcastConnectionOptionsConfig;
|
|
204
|
-
readonly clientOptions?: Readonly<Record<string, unknown>>;
|
|
205
|
-
readonly [key: string]: BroadcastConnectionConfigValue;
|
|
206
|
-
}
|
|
207
|
-
interface HoloBroadcastConnectionConfig extends BaseBroadcastConnectionConfig {
|
|
208
|
-
readonly driver: 'holo';
|
|
209
|
-
readonly key?: string;
|
|
210
|
-
readonly secret?: string;
|
|
211
|
-
readonly appId?: string | number;
|
|
212
|
-
}
|
|
213
|
-
interface PusherBroadcastConnectionConfig extends BaseBroadcastConnectionConfig {
|
|
214
|
-
readonly driver: 'pusher';
|
|
215
|
-
readonly key?: string;
|
|
216
|
-
readonly secret?: string;
|
|
217
|
-
readonly appId?: string | number;
|
|
218
|
-
}
|
|
219
|
-
interface LogBroadcastConnectionConfig extends BaseBroadcastConnectionConfig {
|
|
220
|
-
readonly driver: 'log';
|
|
221
|
-
}
|
|
222
|
-
interface NullBroadcastConnectionConfig extends BaseBroadcastConnectionConfig {
|
|
223
|
-
readonly driver: 'null';
|
|
224
|
-
}
|
|
225
|
-
type HoloBroadcastConnection = HoloBroadcastConnectionConfig | PusherBroadcastConnectionConfig | LogBroadcastConnectionConfig | NullBroadcastConnectionConfig | BaseBroadcastConnectionConfig;
|
|
226
|
-
interface HoloBroadcastConfig {
|
|
227
|
-
readonly default?: string;
|
|
228
|
-
readonly connections?: Readonly<Record<string, HoloBroadcastConnection>>;
|
|
229
|
-
readonly worker?: BroadcastWorkerConfig;
|
|
230
|
-
}
|
|
231
|
-
interface NormalizedBroadcastConnectionOptionsConfig {
|
|
232
|
-
readonly host: string;
|
|
233
|
-
readonly port: number;
|
|
234
|
-
readonly scheme: BroadcastConnectionScheme;
|
|
235
|
-
readonly useTLS: boolean;
|
|
236
|
-
readonly cluster?: string;
|
|
237
|
-
}
|
|
238
|
-
interface NormalizedBroadcastWorkerScalingConfig {
|
|
239
|
-
readonly driver: 'redis';
|
|
240
|
-
readonly connection: string;
|
|
241
|
-
}
|
|
242
|
-
interface NormalizedBroadcastWorkerConfig {
|
|
243
|
-
readonly host: string;
|
|
244
|
-
readonly port: number;
|
|
245
|
-
readonly path: string;
|
|
246
|
-
readonly publicHost?: string;
|
|
247
|
-
readonly publicPort?: number;
|
|
248
|
-
readonly publicScheme: BroadcastConnectionScheme;
|
|
249
|
-
readonly healthPath: string;
|
|
250
|
-
readonly statsPath: string;
|
|
251
|
-
readonly scaling: false | NormalizedBroadcastWorkerScalingConfig;
|
|
252
|
-
}
|
|
253
|
-
interface NormalizedBaseBroadcastConnectionConfig {
|
|
254
|
-
readonly name: string;
|
|
255
|
-
readonly driver: string;
|
|
256
|
-
readonly clientOptions: Readonly<Record<string, unknown>>;
|
|
257
|
-
}
|
|
258
|
-
interface NormalizedHoloBroadcastConnectionConfig extends NormalizedBaseBroadcastConnectionConfig {
|
|
259
|
-
readonly driver: 'holo';
|
|
260
|
-
readonly key: string;
|
|
261
|
-
readonly secret: string;
|
|
262
|
-
readonly appId: string;
|
|
263
|
-
readonly options: NormalizedBroadcastConnectionOptionsConfig;
|
|
264
|
-
}
|
|
265
|
-
interface NormalizedPusherBroadcastConnectionConfig extends NormalizedBaseBroadcastConnectionConfig {
|
|
266
|
-
readonly driver: 'pusher';
|
|
267
|
-
readonly key: string;
|
|
268
|
-
readonly secret: string;
|
|
269
|
-
readonly appId: string;
|
|
270
|
-
readonly options: NormalizedBroadcastConnectionOptionsConfig;
|
|
271
|
-
}
|
|
272
|
-
interface NormalizedLogBroadcastConnectionConfig extends NormalizedBaseBroadcastConnectionConfig {
|
|
273
|
-
readonly driver: 'log';
|
|
274
|
-
}
|
|
275
|
-
interface NormalizedNullBroadcastConnectionConfig extends NormalizedBaseBroadcastConnectionConfig {
|
|
276
|
-
readonly driver: 'null';
|
|
277
|
-
}
|
|
278
|
-
type NormalizedHoloBroadcastConnection = NormalizedHoloBroadcastConnectionConfig | NormalizedPusherBroadcastConnectionConfig | NormalizedLogBroadcastConnectionConfig | NormalizedNullBroadcastConnectionConfig | NormalizedBaseBroadcastConnectionConfig;
|
|
279
|
-
interface NormalizedHoloBroadcastConfig {
|
|
280
|
-
readonly default: string;
|
|
281
|
-
readonly connections: Readonly<Record<string, NormalizedHoloBroadcastConnection>>;
|
|
282
|
-
readonly worker: NormalizedBroadcastWorkerConfig;
|
|
283
|
-
}
|
|
284
|
-
type CacheDriver = 'memory' | 'file' | 'redis' | 'database';
|
|
285
|
-
interface CacheMemoryDriverConfig {
|
|
286
|
-
readonly driver: 'memory';
|
|
287
|
-
readonly maxEntries?: number | string;
|
|
288
|
-
readonly prefix?: string;
|
|
289
|
-
}
|
|
290
|
-
interface CacheFileDriverConfig {
|
|
291
|
-
readonly driver: 'file';
|
|
292
|
-
readonly path?: string;
|
|
293
|
-
readonly prefix?: string;
|
|
294
|
-
}
|
|
295
|
-
interface CacheRedisDriverConfig {
|
|
296
|
-
readonly driver: 'redis';
|
|
297
|
-
readonly connection?: string;
|
|
298
|
-
readonly prefix?: string;
|
|
299
|
-
}
|
|
300
|
-
interface CacheDatabaseDriverConfig {
|
|
301
|
-
readonly driver: 'database';
|
|
302
|
-
readonly connection?: string;
|
|
303
|
-
readonly table?: string;
|
|
304
|
-
readonly lockTable?: string;
|
|
305
|
-
readonly prefix?: string;
|
|
306
|
-
}
|
|
307
|
-
type CacheDriverConfig = CacheMemoryDriverConfig | CacheFileDriverConfig | CacheRedisDriverConfig | CacheDatabaseDriverConfig;
|
|
308
|
-
interface HoloCacheConfig {
|
|
309
|
-
readonly default?: string;
|
|
310
|
-
readonly prefix?: string;
|
|
311
|
-
readonly drivers?: Readonly<Record<string, CacheDriverConfig>>;
|
|
312
|
-
}
|
|
313
|
-
interface NormalizedCacheMemoryDriverConfig {
|
|
314
|
-
readonly name: string;
|
|
315
|
-
readonly driver: 'memory';
|
|
316
|
-
readonly prefix: string;
|
|
317
|
-
readonly maxEntries?: number;
|
|
318
|
-
}
|
|
319
|
-
interface NormalizedCacheFileDriverConfig {
|
|
320
|
-
readonly name: string;
|
|
321
|
-
readonly driver: 'file';
|
|
322
|
-
readonly path: string;
|
|
323
|
-
readonly prefix: string;
|
|
324
|
-
}
|
|
325
|
-
interface NormalizedCacheRedisDriverConfig {
|
|
326
|
-
readonly name: string;
|
|
327
|
-
readonly driver: 'redis';
|
|
328
|
-
readonly connection: string;
|
|
329
|
-
readonly prefix: string;
|
|
330
|
-
}
|
|
331
|
-
interface NormalizedCacheDatabaseDriverConfig {
|
|
332
|
-
readonly name: string;
|
|
333
|
-
readonly driver: 'database';
|
|
334
|
-
readonly connection: string;
|
|
335
|
-
readonly table: string;
|
|
336
|
-
readonly lockTable: string;
|
|
337
|
-
readonly prefix: string;
|
|
338
|
-
}
|
|
339
|
-
type NormalizedCacheDriverConfig = NormalizedCacheMemoryDriverConfig | NormalizedCacheFileDriverConfig | NormalizedCacheRedisDriverConfig | NormalizedCacheDatabaseDriverConfig;
|
|
340
|
-
interface NormalizedHoloCacheConfig {
|
|
341
|
-
readonly default: string;
|
|
342
|
-
readonly prefix: string;
|
|
343
|
-
readonly drivers: Readonly<Record<string, NormalizedCacheDriverConfig>>;
|
|
344
|
-
}
|
|
345
|
-
type SessionCookieSameSite = 'lax' | 'strict' | 'none';
|
|
346
|
-
interface HoloSessionCookieConfig {
|
|
347
|
-
readonly name?: string;
|
|
348
|
-
readonly path?: string;
|
|
349
|
-
readonly domain?: string;
|
|
350
|
-
readonly secure?: boolean;
|
|
351
|
-
readonly httpOnly?: boolean;
|
|
352
|
-
readonly sameSite?: SessionCookieSameSite;
|
|
353
|
-
readonly partitioned?: boolean;
|
|
354
|
-
readonly maxAge?: number | string;
|
|
355
|
-
}
|
|
356
|
-
interface SessionFileStoreConfig {
|
|
357
|
-
readonly driver: 'file';
|
|
358
|
-
readonly path?: string;
|
|
359
|
-
}
|
|
360
|
-
interface SessionDatabaseStoreConfig {
|
|
361
|
-
readonly driver: 'database';
|
|
362
|
-
readonly connection?: string;
|
|
363
|
-
readonly table?: string;
|
|
364
|
-
}
|
|
365
|
-
interface SessionRedisStoreConfig {
|
|
366
|
-
readonly driver: 'redis';
|
|
367
|
-
readonly connection?: string;
|
|
368
|
-
readonly prefix?: string;
|
|
369
|
-
}
|
|
370
|
-
type SessionStoreConfig = SessionFileStoreConfig | SessionDatabaseStoreConfig | SessionRedisStoreConfig;
|
|
371
|
-
interface HoloSessionConfig {
|
|
372
|
-
readonly driver?: string;
|
|
373
|
-
readonly stores?: Readonly<Record<string, SessionStoreConfig>>;
|
|
374
|
-
readonly cookie?: HoloSessionCookieConfig;
|
|
375
|
-
readonly idleTimeout?: number | string;
|
|
376
|
-
readonly absoluteLifetime?: number | string;
|
|
377
|
-
readonly rememberMeLifetime?: number | string;
|
|
378
|
-
}
|
|
379
|
-
interface NormalizedHoloSessionCookieConfig {
|
|
380
|
-
readonly name: string;
|
|
381
|
-
readonly path: string;
|
|
382
|
-
readonly domain?: string;
|
|
383
|
-
readonly secure: boolean;
|
|
384
|
-
readonly httpOnly: boolean;
|
|
385
|
-
readonly sameSite: SessionCookieSameSite;
|
|
386
|
-
readonly partitioned: boolean;
|
|
387
|
-
readonly maxAge: number;
|
|
388
|
-
}
|
|
389
|
-
interface NormalizedSessionFileStoreConfig {
|
|
390
|
-
readonly name: string;
|
|
391
|
-
readonly driver: 'file';
|
|
392
|
-
readonly path: string;
|
|
393
|
-
}
|
|
394
|
-
interface NormalizedSessionDatabaseStoreConfig {
|
|
395
|
-
readonly name: string;
|
|
396
|
-
readonly driver: 'database';
|
|
397
|
-
readonly connection: string;
|
|
398
|
-
readonly table: string;
|
|
399
|
-
}
|
|
400
|
-
interface NormalizedSessionRedisStoreConfig {
|
|
401
|
-
readonly name: string;
|
|
402
|
-
readonly driver: 'redis';
|
|
403
|
-
readonly connection: string;
|
|
404
|
-
readonly url?: string;
|
|
405
|
-
readonly clusters?: readonly NormalizedHoloRedisClusterNodeConfig[];
|
|
406
|
-
readonly host: string;
|
|
407
|
-
readonly port: number;
|
|
408
|
-
readonly username?: string;
|
|
409
|
-
readonly password?: string;
|
|
410
|
-
readonly db: number;
|
|
411
|
-
readonly prefix: string;
|
|
412
|
-
}
|
|
413
|
-
type NormalizedSessionStoreConfig = NormalizedSessionFileStoreConfig | NormalizedSessionDatabaseStoreConfig | NormalizedSessionRedisStoreConfig;
|
|
414
|
-
interface NormalizedHoloSessionConfig {
|
|
415
|
-
readonly driver: string;
|
|
416
|
-
readonly stores: Readonly<Record<string, NormalizedSessionStoreConfig>>;
|
|
417
|
-
readonly cookie: NormalizedHoloSessionCookieConfig;
|
|
418
|
-
readonly idleTimeout: number;
|
|
419
|
-
readonly absoluteLifetime: number;
|
|
420
|
-
readonly rememberMeLifetime: number;
|
|
421
|
-
}
|
|
422
|
-
interface HoloCorsConfig {
|
|
423
|
-
readonly paths?: readonly string[];
|
|
424
|
-
readonly origins?: readonly string[];
|
|
425
|
-
readonly methods?: readonly string[];
|
|
426
|
-
readonly headers?: readonly string[];
|
|
427
|
-
readonly credentials?: boolean;
|
|
428
|
-
readonly maxAge?: number | string;
|
|
429
|
-
readonly statefulDomains?: readonly string[];
|
|
430
|
-
}
|
|
431
|
-
interface NormalizedHoloCorsConfig {
|
|
432
|
-
readonly paths: readonly string[];
|
|
433
|
-
readonly origins: readonly string[];
|
|
434
|
-
readonly methods: readonly string[];
|
|
435
|
-
readonly headers: readonly string[];
|
|
436
|
-
readonly credentials: boolean;
|
|
437
|
-
readonly maxAge: number;
|
|
438
|
-
readonly statefulDomains: readonly string[];
|
|
439
|
-
}
|
|
440
|
-
type SecurityRateLimitDriver = 'memory' | 'file' | 'redis';
|
|
441
|
-
interface HoloSecurityCsrfConfig {
|
|
442
|
-
readonly enabled?: boolean;
|
|
443
|
-
readonly field?: string;
|
|
444
|
-
readonly header?: string;
|
|
445
|
-
readonly cookie?: string;
|
|
446
|
-
readonly except?: readonly string[];
|
|
447
|
-
}
|
|
448
|
-
interface NormalizedHoloSecurityCsrfConfig {
|
|
449
|
-
readonly enabled: boolean;
|
|
450
|
-
readonly field: string;
|
|
451
|
-
readonly header: string;
|
|
452
|
-
readonly cookie: string;
|
|
453
|
-
readonly except: readonly string[];
|
|
454
|
-
}
|
|
455
|
-
interface SecurityRateLimitContext<TValues extends Readonly<Record<string, unknown>> | undefined = Readonly<Record<string, unknown>> | undefined> {
|
|
456
|
-
readonly request: Request;
|
|
457
|
-
readonly values?: TValues;
|
|
458
|
-
}
|
|
459
|
-
interface SecurityRateLimitKeyResolver<TValues extends Readonly<Record<string, unknown>> | undefined = Readonly<Record<string, unknown>> | undefined> {
|
|
460
|
-
(context: SecurityRateLimitContext<TValues>): string | Promise<string>;
|
|
461
|
-
}
|
|
462
|
-
interface SecurityLimiterConfig<TValues extends Readonly<Record<string, unknown>> | undefined = Readonly<Record<string, unknown>> | undefined> {
|
|
463
|
-
readonly maxAttempts: number | string;
|
|
464
|
-
readonly decaySeconds: number | string;
|
|
465
|
-
readonly key?: SecurityRateLimitKeyResolver<TValues>;
|
|
466
|
-
}
|
|
467
|
-
interface NormalizedSecurityLimiterConfig<TValues extends Readonly<Record<string, unknown>> | undefined = Readonly<Record<string, unknown>> | undefined> {
|
|
468
|
-
readonly name: string;
|
|
469
|
-
readonly maxAttempts: number;
|
|
470
|
-
readonly decaySeconds: number;
|
|
471
|
-
readonly key?: SecurityRateLimitKeyResolver<TValues>;
|
|
472
|
-
}
|
|
473
|
-
interface SecurityRateLimitMemoryConfig {
|
|
474
|
-
readonly driver?: 'memory';
|
|
475
|
-
}
|
|
476
|
-
interface SecurityRateLimitFileConfig {
|
|
477
|
-
readonly path?: string;
|
|
478
|
-
}
|
|
479
|
-
interface SecurityRateLimitRedisConnectionConfig {
|
|
480
|
-
readonly url?: string;
|
|
481
|
-
readonly clusters?: readonly HoloRedisClusterNodeConfig[];
|
|
482
|
-
readonly host?: string;
|
|
483
|
-
readonly port?: number | string;
|
|
484
|
-
readonly password?: string;
|
|
485
|
-
readonly username?: string;
|
|
486
|
-
readonly db?: number | string;
|
|
487
|
-
}
|
|
488
|
-
interface SecurityRateLimitRedisConfig {
|
|
489
|
-
readonly connection?: string;
|
|
490
|
-
readonly prefix?: string;
|
|
491
|
-
}
|
|
492
|
-
interface HoloSecurityRateLimitConfig {
|
|
493
|
-
readonly driver?: SecurityRateLimitDriver;
|
|
494
|
-
readonly memory?: SecurityRateLimitMemoryConfig;
|
|
495
|
-
readonly file?: SecurityRateLimitFileConfig;
|
|
496
|
-
readonly redis?: SecurityRateLimitRedisConfig;
|
|
497
|
-
readonly limiters?: Readonly<Record<string, SecurityLimiterConfig>>;
|
|
498
|
-
}
|
|
499
|
-
interface NormalizedSecurityRateLimitMemoryConfig {
|
|
500
|
-
readonly driver: 'memory';
|
|
501
|
-
}
|
|
502
|
-
interface NormalizedSecurityRateLimitFileConfig {
|
|
503
|
-
readonly path: string;
|
|
504
|
-
}
|
|
505
|
-
interface NormalizedSecurityRateLimitRedisConfig {
|
|
506
|
-
readonly url?: string;
|
|
507
|
-
readonly clusters?: readonly NormalizedHoloRedisClusterNodeConfig[];
|
|
508
|
-
readonly host: string;
|
|
509
|
-
readonly port: number;
|
|
510
|
-
readonly password?: string;
|
|
511
|
-
readonly username?: string;
|
|
512
|
-
readonly db: number;
|
|
513
|
-
readonly connection: string;
|
|
514
|
-
readonly prefix: string;
|
|
515
|
-
}
|
|
516
|
-
interface NormalizedHoloSecurityRateLimitConfig {
|
|
517
|
-
readonly driver: SecurityRateLimitDriver;
|
|
518
|
-
readonly memory: NormalizedSecurityRateLimitMemoryConfig;
|
|
519
|
-
readonly file: NormalizedSecurityRateLimitFileConfig;
|
|
520
|
-
readonly redis: NormalizedSecurityRateLimitRedisConfig;
|
|
521
|
-
readonly limiters: Readonly<Record<string, NormalizedSecurityLimiterConfig>>;
|
|
522
|
-
}
|
|
523
|
-
interface HoloSecurityConfig {
|
|
524
|
-
readonly csrf?: boolean | HoloSecurityCsrfConfig;
|
|
525
|
-
readonly rateLimit?: HoloSecurityRateLimitConfig;
|
|
526
|
-
}
|
|
527
|
-
interface NormalizedHoloSecurityConfig {
|
|
528
|
-
readonly csrf: NormalizedHoloSecurityCsrfConfig;
|
|
529
|
-
readonly rateLimit: NormalizedHoloSecurityRateLimitConfig;
|
|
530
|
-
}
|
|
531
|
-
type AuthGuardDriver = 'session' | 'token';
|
|
532
|
-
interface AuthGuardConfig {
|
|
533
|
-
readonly driver: AuthGuardDriver;
|
|
534
|
-
readonly provider?: string;
|
|
535
|
-
}
|
|
536
|
-
interface AuthProviderConfig {
|
|
537
|
-
readonly model: string;
|
|
538
|
-
readonly identifiers?: readonly string[];
|
|
539
|
-
}
|
|
540
|
-
interface AuthPasswordBrokerConfig {
|
|
541
|
-
readonly provider?: string;
|
|
542
|
-
readonly table?: string;
|
|
543
|
-
readonly expire?: number | string;
|
|
544
|
-
readonly throttle?: number | string;
|
|
545
|
-
readonly route?: string;
|
|
546
|
-
}
|
|
547
|
-
interface AuthEmailVerificationConfig {
|
|
548
|
-
readonly required?: boolean;
|
|
549
|
-
readonly route?: string;
|
|
550
|
-
}
|
|
551
|
-
interface AuthPersonalAccessTokenConfig {
|
|
552
|
-
readonly defaultAbilities?: readonly string[];
|
|
553
|
-
}
|
|
554
|
-
interface AuthSocialProviderConfig {
|
|
555
|
-
readonly runtime?: string;
|
|
556
|
-
readonly clientId?: string;
|
|
557
|
-
readonly clientSecret?: string;
|
|
558
|
-
readonly redirectUri?: string;
|
|
559
|
-
readonly scopes?: readonly string[];
|
|
560
|
-
readonly guard?: string;
|
|
561
|
-
readonly mapToProvider?: string;
|
|
562
|
-
readonly encryptTokens?: boolean;
|
|
563
|
-
}
|
|
564
|
-
interface AuthWorkosProviderConfig {
|
|
565
|
-
readonly clientId?: string;
|
|
566
|
-
readonly apiKey?: string;
|
|
567
|
-
readonly redirectUri?: string;
|
|
568
|
-
readonly guard?: string;
|
|
569
|
-
readonly mapToProvider?: string;
|
|
570
|
-
}
|
|
571
|
-
interface AuthHostedIdentityRecord {
|
|
572
|
-
readonly provider: string;
|
|
573
|
-
readonly providerUserId: string;
|
|
574
|
-
readonly guard: string;
|
|
575
|
-
readonly authProvider: string;
|
|
576
|
-
readonly userId: string | number;
|
|
577
|
-
readonly email?: string;
|
|
578
|
-
readonly emailVerified: boolean;
|
|
579
|
-
readonly profile: Readonly<Record<string, unknown>>;
|
|
580
|
-
readonly linkedAt: Date;
|
|
581
|
-
readonly updatedAt: Date;
|
|
582
|
-
}
|
|
583
|
-
interface AuthHostedIdentityStore {
|
|
584
|
-
findByProviderUserId(provider: string, providerUserId: string): Promise<AuthHostedIdentityRecord | null>;
|
|
585
|
-
findByUserId(provider: string, authProvider: string, userId: string | number): Promise<AuthHostedIdentityRecord | null>;
|
|
586
|
-
claim?(record: AuthHostedIdentityRecord): Promise<AuthHostedIdentityRecord>;
|
|
587
|
-
save(record: AuthHostedIdentityRecord): Promise<void>;
|
|
588
|
-
}
|
|
589
|
-
interface HoloAuthWorkosConfig {
|
|
590
|
-
readonly provider?: string;
|
|
591
|
-
readonly identityStore?: AuthHostedIdentityStore;
|
|
592
|
-
readonly [provider: string]: AuthHostedIdentityStore | AuthWorkosProviderConfig | string | undefined;
|
|
593
|
-
}
|
|
594
|
-
interface AuthClerkProviderConfig {
|
|
595
|
-
readonly publishableKey?: string;
|
|
596
|
-
readonly secretKey?: string;
|
|
597
|
-
readonly apiUrl?: string;
|
|
598
|
-
readonly frontendApi?: string;
|
|
599
|
-
readonly redirectUri?: string;
|
|
600
|
-
readonly sessionCookie?: string;
|
|
601
|
-
readonly authorizedParties?: readonly string[];
|
|
602
|
-
readonly guard?: string;
|
|
603
|
-
readonly mapToProvider?: string;
|
|
604
|
-
}
|
|
605
|
-
interface HoloAuthClerkConfig {
|
|
606
|
-
readonly provider?: string;
|
|
607
|
-
readonly identityStore?: AuthHostedIdentityStore;
|
|
608
|
-
readonly [provider: string]: AuthHostedIdentityStore | AuthClerkProviderConfig | string | undefined;
|
|
609
|
-
}
|
|
610
|
-
interface HoloAuthConfig {
|
|
611
|
-
readonly defaults?: {
|
|
612
|
-
readonly guard?: string;
|
|
613
|
-
readonly passwords?: string;
|
|
614
|
-
};
|
|
615
|
-
readonly guards?: Readonly<Record<string, AuthGuardConfig>>;
|
|
616
|
-
readonly providers?: Readonly<Record<string, AuthProviderConfig>>;
|
|
617
|
-
readonly passwords?: Readonly<Record<string, AuthPasswordBrokerConfig>>;
|
|
618
|
-
readonly emailVerification?: boolean | AuthEmailVerificationConfig;
|
|
619
|
-
readonly personalAccessTokens?: AuthPersonalAccessTokenConfig;
|
|
620
|
-
readonly socialEncryptionKey?: string;
|
|
621
|
-
readonly social?: Readonly<Record<string, AuthSocialProviderConfig>>;
|
|
622
|
-
readonly workos?: HoloAuthWorkosConfig;
|
|
623
|
-
readonly clerk?: HoloAuthClerkConfig;
|
|
624
|
-
}
|
|
625
|
-
interface NormalizedAuthGuardConfig {
|
|
626
|
-
readonly name: string;
|
|
627
|
-
readonly driver: AuthGuardDriver;
|
|
628
|
-
readonly provider: string;
|
|
629
|
-
}
|
|
630
|
-
interface NormalizedAuthProviderConfig {
|
|
631
|
-
readonly name: string;
|
|
632
|
-
readonly model: string;
|
|
633
|
-
readonly identifiers: readonly string[];
|
|
634
|
-
}
|
|
635
|
-
interface NormalizedAuthPasswordBrokerConfig {
|
|
636
|
-
readonly name: string;
|
|
637
|
-
readonly provider: string;
|
|
638
|
-
readonly table: string;
|
|
639
|
-
readonly expire: number;
|
|
640
|
-
readonly throttle: number;
|
|
641
|
-
readonly route: string;
|
|
642
|
-
}
|
|
643
|
-
interface NormalizedAuthSocialProviderConfig {
|
|
644
|
-
readonly name: string;
|
|
645
|
-
readonly runtime?: string;
|
|
646
|
-
readonly clientId?: string;
|
|
647
|
-
readonly clientSecret?: string;
|
|
648
|
-
readonly redirectUri?: string;
|
|
649
|
-
readonly scopes: readonly string[];
|
|
650
|
-
readonly guard?: string;
|
|
651
|
-
readonly mapToProvider?: string;
|
|
652
|
-
readonly encryptTokens: boolean;
|
|
653
|
-
}
|
|
654
|
-
interface NormalizedAuthWorkosProviderConfig {
|
|
655
|
-
readonly name: string;
|
|
656
|
-
readonly clientId?: string;
|
|
657
|
-
readonly apiKey?: string;
|
|
658
|
-
readonly redirectUri?: string;
|
|
659
|
-
readonly sessionCookie: string;
|
|
660
|
-
readonly guard?: string;
|
|
661
|
-
readonly mapToProvider?: string;
|
|
662
|
-
}
|
|
663
|
-
interface NormalizedHoloAuthWorkosConfig {
|
|
664
|
-
readonly provider?: string;
|
|
665
|
-
readonly identityStore?: AuthHostedIdentityStore;
|
|
666
|
-
readonly [provider: string]: AuthHostedIdentityStore | NormalizedAuthWorkosProviderConfig | string | undefined;
|
|
667
|
-
}
|
|
668
|
-
interface NormalizedAuthClerkProviderConfig {
|
|
669
|
-
readonly name: string;
|
|
670
|
-
readonly publishableKey?: string;
|
|
671
|
-
readonly secretKey?: string;
|
|
672
|
-
readonly apiUrl?: string;
|
|
673
|
-
readonly frontendApi?: string;
|
|
674
|
-
readonly redirectUri?: string;
|
|
675
|
-
readonly sessionCookie: string;
|
|
676
|
-
readonly authorizedParties: readonly string[];
|
|
677
|
-
readonly guard?: string;
|
|
678
|
-
readonly mapToProvider?: string;
|
|
679
|
-
}
|
|
680
|
-
interface NormalizedHoloAuthClerkConfig {
|
|
681
|
-
readonly provider?: string;
|
|
682
|
-
readonly identityStore?: AuthHostedIdentityStore;
|
|
683
|
-
readonly [provider: string]: AuthHostedIdentityStore | NormalizedAuthClerkProviderConfig | string | undefined;
|
|
684
|
-
}
|
|
685
|
-
interface NormalizedHoloAuthConfig {
|
|
686
|
-
readonly defaults: {
|
|
687
|
-
readonly guard: string;
|
|
688
|
-
readonly passwords: string;
|
|
689
|
-
};
|
|
690
|
-
readonly guards: Readonly<Record<string, NormalizedAuthGuardConfig>>;
|
|
691
|
-
readonly providers: Readonly<Record<string, NormalizedAuthProviderConfig>>;
|
|
692
|
-
readonly passwords: Readonly<Record<string, NormalizedAuthPasswordBrokerConfig>>;
|
|
693
|
-
readonly emailVerification: {
|
|
694
|
-
readonly required: boolean;
|
|
695
|
-
readonly route: string;
|
|
696
|
-
};
|
|
697
|
-
readonly personalAccessTokens: {
|
|
698
|
-
readonly defaultAbilities: readonly string[];
|
|
699
|
-
};
|
|
700
|
-
readonly socialEncryptionKey?: string;
|
|
701
|
-
readonly social: Readonly<Record<string, NormalizedAuthSocialProviderConfig>>;
|
|
702
|
-
readonly workos: NormalizedHoloAuthWorkosConfig;
|
|
703
|
-
readonly clerk: NormalizedHoloAuthClerkConfig;
|
|
704
|
-
}
|
|
705
|
-
interface QueueRedisConnectionConfig {
|
|
706
|
-
readonly driver: 'redis';
|
|
707
|
-
readonly connection?: string;
|
|
708
|
-
readonly queue?: string;
|
|
709
|
-
readonly retryAfter?: number | string;
|
|
710
|
-
readonly blockFor?: number | string;
|
|
711
|
-
}
|
|
712
|
-
interface QueueDatabaseConnectionConfig {
|
|
713
|
-
readonly driver: 'database';
|
|
714
|
-
readonly queue?: string;
|
|
715
|
-
readonly retryAfter?: number | string;
|
|
716
|
-
readonly sleep?: number | string;
|
|
717
|
-
readonly connection?: string;
|
|
718
|
-
readonly table?: string;
|
|
719
|
-
}
|
|
720
|
-
interface QueueFailedStoreConfig {
|
|
721
|
-
readonly driver?: 'database';
|
|
722
|
-
readonly connection?: string;
|
|
723
|
-
readonly table?: string;
|
|
724
|
-
}
|
|
725
|
-
interface QueueSyncConnectionConfig {
|
|
726
|
-
readonly driver: 'sync';
|
|
727
|
-
readonly queue?: string;
|
|
728
|
-
}
|
|
729
|
-
type QueueConnectionConfig = QueueSyncConnectionConfig | QueueRedisConnectionConfig | QueueDatabaseConnectionConfig;
|
|
730
|
-
interface HoloQueueConfig {
|
|
731
|
-
readonly default?: string;
|
|
732
|
-
readonly failed?: false | QueueFailedStoreConfig;
|
|
733
|
-
readonly connections?: Readonly<Record<string, QueueConnectionConfig>>;
|
|
734
|
-
}
|
|
735
|
-
interface NormalizedQueueFailedStoreConfig {
|
|
736
|
-
readonly driver: 'database';
|
|
737
|
-
readonly connection: string;
|
|
738
|
-
readonly table: string;
|
|
739
|
-
}
|
|
740
|
-
interface NormalizedQueueSyncConnectionConfig {
|
|
741
|
-
readonly name: string;
|
|
742
|
-
readonly driver: 'sync';
|
|
743
|
-
readonly queue: string;
|
|
744
|
-
}
|
|
745
|
-
interface NormalizedQueueRedisConnectionConfig {
|
|
746
|
-
readonly name: string;
|
|
747
|
-
readonly driver: 'redis';
|
|
748
|
-
readonly connection: string;
|
|
749
|
-
readonly queue: string;
|
|
750
|
-
readonly retryAfter: number;
|
|
751
|
-
readonly blockFor: number;
|
|
752
|
-
readonly redis: {
|
|
753
|
-
readonly url?: string;
|
|
754
|
-
readonly clusters?: readonly NormalizedHoloRedisClusterNodeConfig[];
|
|
755
|
-
readonly host: string;
|
|
756
|
-
readonly port: number;
|
|
757
|
-
readonly password?: string;
|
|
758
|
-
readonly username?: string;
|
|
759
|
-
readonly db: number;
|
|
760
|
-
};
|
|
761
|
-
}
|
|
762
|
-
interface NormalizedQueueDatabaseConnectionConfig {
|
|
763
|
-
readonly name: string;
|
|
764
|
-
readonly driver: 'database';
|
|
765
|
-
readonly queue: string;
|
|
766
|
-
readonly retryAfter: number;
|
|
767
|
-
readonly sleep: number;
|
|
768
|
-
readonly connection: string;
|
|
769
|
-
readonly table: string;
|
|
770
|
-
}
|
|
771
|
-
type NormalizedQueueConnectionConfig = NormalizedQueueSyncConnectionConfig | NormalizedQueueRedisConnectionConfig | NormalizedQueueDatabaseConnectionConfig;
|
|
772
|
-
interface NormalizedHoloQueueConfig {
|
|
773
|
-
readonly default: string;
|
|
774
|
-
readonly failed: false | NormalizedQueueFailedStoreConfig;
|
|
775
|
-
readonly connections: Readonly<Record<string, NormalizedQueueConnectionConfig>>;
|
|
40
|
+
plugins?: readonly string[];
|
|
776
41
|
}
|
|
777
42
|
interface NormalizedHoloAppConfig {
|
|
778
43
|
readonly name: string;
|
|
@@ -780,175 +45,17 @@ interface NormalizedHoloAppConfig {
|
|
|
780
45
|
readonly url: string;
|
|
781
46
|
readonly debug: boolean;
|
|
782
47
|
readonly env: HoloAppEnv;
|
|
48
|
+
readonly plugins: readonly string[];
|
|
783
49
|
readonly paths: Readonly<HoloProjectPaths>;
|
|
784
50
|
readonly models: readonly string[];
|
|
785
51
|
readonly migrations: readonly string[];
|
|
786
52
|
readonly seeders: readonly string[];
|
|
787
53
|
}
|
|
788
|
-
interface NormalizedHoloDatabaseConfig {
|
|
789
|
-
readonly defaultConnection?: string;
|
|
790
|
-
readonly connections: Readonly<Record<string, HoloDatabaseConnectionConfig | string>>;
|
|
791
|
-
}
|
|
792
|
-
interface NormalizedHoloStorageConfig {
|
|
793
|
-
readonly defaultDisk?: string;
|
|
794
|
-
readonly routePrefix: string;
|
|
795
|
-
readonly disks: Readonly<Record<string, DiskConfig>>;
|
|
796
|
-
}
|
|
797
|
-
interface HoloNotificationsConfig {
|
|
798
|
-
readonly table?: string;
|
|
799
|
-
readonly queue?: {
|
|
800
|
-
readonly connection?: string;
|
|
801
|
-
readonly queue?: string;
|
|
802
|
-
readonly afterCommit?: boolean;
|
|
803
|
-
};
|
|
804
|
-
}
|
|
805
|
-
interface NormalizedHoloNotificationsConfig {
|
|
806
|
-
readonly table: string;
|
|
807
|
-
readonly queue: {
|
|
808
|
-
readonly connection?: string;
|
|
809
|
-
readonly queue?: string;
|
|
810
|
-
readonly afterCommit: boolean;
|
|
811
|
-
};
|
|
812
|
-
}
|
|
813
|
-
interface HoloMailAddressConfig {
|
|
814
|
-
readonly email: string;
|
|
815
|
-
readonly name?: string;
|
|
816
|
-
}
|
|
817
|
-
interface HoloMailQueueConfig {
|
|
818
|
-
readonly queued?: boolean;
|
|
819
|
-
readonly connection?: string;
|
|
820
|
-
readonly queue?: string;
|
|
821
|
-
readonly afterCommit?: boolean;
|
|
822
|
-
}
|
|
823
|
-
interface HoloMailPreviewConfig {
|
|
824
|
-
readonly allowedEnvironments?: readonly HoloAppEnv[];
|
|
825
|
-
}
|
|
826
|
-
interface HoloMailMarkdownConfig {
|
|
827
|
-
readonly wrapper?: string;
|
|
828
|
-
}
|
|
829
|
-
interface BaseMailDriverConfig {
|
|
830
|
-
readonly driver: string;
|
|
831
|
-
readonly from?: HoloMailAddressConfig;
|
|
832
|
-
readonly replyTo?: HoloMailAddressConfig;
|
|
833
|
-
readonly queue?: HoloMailQueueConfig;
|
|
834
|
-
}
|
|
835
|
-
interface PreviewMailDriverConfig extends BaseMailDriverConfig {
|
|
836
|
-
readonly driver: 'preview';
|
|
837
|
-
readonly path?: string;
|
|
838
|
-
}
|
|
839
|
-
interface LogMailDriverConfig extends BaseMailDriverConfig {
|
|
840
|
-
readonly driver: 'log';
|
|
841
|
-
readonly logBodies?: boolean;
|
|
842
|
-
}
|
|
843
|
-
interface FakeMailDriverConfig extends BaseMailDriverConfig {
|
|
844
|
-
readonly driver: 'fake';
|
|
845
|
-
}
|
|
846
|
-
interface SmtpMailDriverConfig extends BaseMailDriverConfig {
|
|
847
|
-
readonly driver: 'smtp';
|
|
848
|
-
readonly host?: string;
|
|
849
|
-
readonly port?: number | string;
|
|
850
|
-
readonly secure?: boolean;
|
|
851
|
-
readonly user?: string;
|
|
852
|
-
readonly password?: string;
|
|
853
|
-
}
|
|
854
|
-
type HoloMailMailerConfig = PreviewMailDriverConfig | LogMailDriverConfig | FakeMailDriverConfig | SmtpMailDriverConfig | (BaseMailDriverConfig & Record<string, unknown>);
|
|
855
|
-
interface HoloMailConfig {
|
|
856
|
-
readonly default?: string;
|
|
857
|
-
readonly from?: HoloMailAddressConfig;
|
|
858
|
-
readonly replyTo?: HoloMailAddressConfig;
|
|
859
|
-
readonly queue?: HoloMailQueueConfig;
|
|
860
|
-
readonly preview?: HoloMailPreviewConfig;
|
|
861
|
-
readonly markdown?: HoloMailMarkdownConfig;
|
|
862
|
-
readonly mailers?: Readonly<Record<string, HoloMailMailerConfig>>;
|
|
863
|
-
}
|
|
864
|
-
interface NormalizedHoloMailAddressConfig {
|
|
865
|
-
readonly email: string;
|
|
866
|
-
readonly name?: string;
|
|
867
|
-
}
|
|
868
|
-
interface NormalizedHoloMailQueueConfig {
|
|
869
|
-
readonly queued: boolean;
|
|
870
|
-
readonly connection?: string;
|
|
871
|
-
readonly queue?: string;
|
|
872
|
-
readonly afterCommit: boolean;
|
|
873
|
-
}
|
|
874
|
-
interface NormalizedHoloMailPreviewConfig {
|
|
875
|
-
readonly allowedEnvironments: readonly HoloAppEnv[];
|
|
876
|
-
}
|
|
877
|
-
interface NormalizedHoloMailMarkdownConfig {
|
|
878
|
-
readonly wrapper?: string;
|
|
879
|
-
}
|
|
880
|
-
interface NormalizedBaseMailDriverConfig {
|
|
881
|
-
readonly name: string;
|
|
882
|
-
readonly driver: string;
|
|
883
|
-
readonly from?: NormalizedHoloMailAddressConfig;
|
|
884
|
-
readonly replyTo?: NormalizedHoloMailAddressConfig;
|
|
885
|
-
readonly queue: NormalizedHoloMailQueueConfig;
|
|
886
|
-
}
|
|
887
|
-
interface NormalizedPreviewMailDriverConfig extends NormalizedBaseMailDriverConfig {
|
|
888
|
-
readonly driver: 'preview';
|
|
889
|
-
readonly path: string;
|
|
890
|
-
}
|
|
891
|
-
interface NormalizedLogMailDriverConfig extends NormalizedBaseMailDriverConfig {
|
|
892
|
-
readonly driver: 'log';
|
|
893
|
-
readonly logBodies: boolean;
|
|
894
|
-
}
|
|
895
|
-
interface NormalizedFakeMailDriverConfig extends NormalizedBaseMailDriverConfig {
|
|
896
|
-
readonly driver: 'fake';
|
|
897
|
-
}
|
|
898
|
-
interface NormalizedSmtpMailDriverConfig extends NormalizedBaseMailDriverConfig {
|
|
899
|
-
readonly driver: 'smtp';
|
|
900
|
-
readonly host: string;
|
|
901
|
-
readonly port: number;
|
|
902
|
-
readonly secure: boolean;
|
|
903
|
-
readonly user?: string;
|
|
904
|
-
readonly password?: string;
|
|
905
|
-
}
|
|
906
|
-
type NormalizedHoloMailMailerConfig = NormalizedPreviewMailDriverConfig | NormalizedLogMailDriverConfig | NormalizedFakeMailDriverConfig | NormalizedSmtpMailDriverConfig | NormalizedBaseMailDriverConfig;
|
|
907
|
-
interface NormalizedHoloMailConfig {
|
|
908
|
-
readonly default: string;
|
|
909
|
-
readonly from?: NormalizedHoloMailAddressConfig;
|
|
910
|
-
readonly replyTo?: NormalizedHoloMailAddressConfig;
|
|
911
|
-
readonly queue: NormalizedHoloMailQueueConfig;
|
|
912
|
-
readonly preview: NormalizedHoloMailPreviewConfig;
|
|
913
|
-
readonly markdown: NormalizedHoloMailMarkdownConfig;
|
|
914
|
-
readonly mailers: Readonly<Record<string, NormalizedHoloMailMailerConfig>>;
|
|
915
|
-
}
|
|
916
54
|
|
|
917
55
|
declare const DEFAULT_APP_NAME = "Holo";
|
|
918
56
|
declare const holoAppDefaults: Readonly<NormalizedHoloAppConfig>;
|
|
919
|
-
declare const holoDatabaseDefaults: Readonly<NormalizedHoloDatabaseConfig>;
|
|
920
|
-
declare const holoRedisDefaults: Readonly<NormalizedHoloRedisConfig>;
|
|
921
|
-
declare const holoStorageDefaults: Readonly<NormalizedHoloStorageConfig>;
|
|
922
|
-
declare const holoNotificationsDefaults: Readonly<NormalizedHoloNotificationsConfig>;
|
|
923
|
-
declare const holoBroadcastDefaults: Readonly<NormalizedHoloBroadcastConfig>;
|
|
924
|
-
declare const holoCacheDefaults: Readonly<NormalizedHoloCacheConfig>;
|
|
925
|
-
type CacheNormalizationOptions = {
|
|
926
|
-
readonly database?: NormalizedHoloDatabaseConfig;
|
|
927
|
-
readonly redis?: NormalizedHoloRedisConfig;
|
|
928
|
-
};
|
|
929
|
-
declare const holoMailDefaults: Readonly<NormalizedHoloMailConfig>;
|
|
930
|
-
declare const DEFAULT_SESSION_COOKIE_NAME = "holo_session";
|
|
931
|
-
declare const holoSessionDefaults: Readonly<NormalizedHoloSessionConfig>;
|
|
932
|
-
declare const holoCorsDefaults: Readonly<NormalizedHoloCorsConfig>;
|
|
933
|
-
declare const holoSecurityDefaults: Readonly<NormalizedHoloSecurityConfig>;
|
|
934
|
-
declare const holoAuthDefaults: Readonly<NormalizedHoloAuthConfig>;
|
|
935
|
-
declare function normalizeCacheConfig(config?: HoloCacheConfig, options?: CacheNormalizationOptions): NormalizedHoloCacheConfig;
|
|
936
|
-
declare function normalizeCorsConfig(config?: HoloCorsConfig): NormalizedHoloCorsConfig;
|
|
937
|
-
declare const holoQueueDefaultsNormalized: Readonly<NormalizedHoloQueueConfig>;
|
|
938
57
|
declare function normalizeAppEnv(value: string | undefined, fallback?: HoloAppEnv): HoloAppEnv;
|
|
939
58
|
declare function normalizeAppConfig(config?: HoloAppConfig): NormalizedHoloAppConfig;
|
|
940
|
-
declare function normalizeSessionConfig(config?: HoloSessionConfig, redisConfig?: NormalizedHoloRedisConfig): NormalizedHoloSessionConfig;
|
|
941
|
-
declare function normalizeSecurityConfig(config?: HoloSecurityConfig, redisConfig?: NormalizedHoloRedisConfig): NormalizedHoloSecurityConfig;
|
|
942
|
-
declare function normalizeAuthConfig(config?: HoloAuthConfig, _options?: {
|
|
943
|
-
readonly appKey?: string;
|
|
944
|
-
}): NormalizedHoloAuthConfig;
|
|
945
|
-
declare function normalizeDatabaseConfig(config?: HoloDatabaseConfig): NormalizedHoloDatabaseConfig;
|
|
946
|
-
declare function normalizeStorageConfig(config?: HoloStorageConfig): NormalizedHoloStorageConfig;
|
|
947
|
-
declare function normalizeBroadcastConfig(config?: HoloBroadcastConfig): NormalizedHoloBroadcastConfig;
|
|
948
|
-
declare function normalizeMailConfig(config?: HoloMailConfig): NormalizedHoloMailConfig;
|
|
949
|
-
declare function normalizeNotificationsConfig(config?: HoloNotificationsConfig): NormalizedHoloNotificationsConfig;
|
|
950
|
-
declare function normalizeRedisConfig(config?: HoloRedisConfig): NormalizedHoloRedisConfig;
|
|
951
|
-
declare function normalizeQueueConfigForHolo(config?: HoloQueueConfig, redisConfig?: NormalizedHoloRedisConfig): NormalizedHoloQueueConfig;
|
|
952
59
|
|
|
953
60
|
type RuntimeConfigMap = HoloConfigRegistry & HoloConfigMap;
|
|
954
61
|
type UseConfigAccessor<TConfig extends RuntimeConfigMap> = {
|
|
@@ -1006,6 +113,7 @@ type ConfigCachePayload = {
|
|
|
1006
113
|
readonly configFiles: readonly string[];
|
|
1007
114
|
readonly config: RawConfigMap;
|
|
1008
115
|
readonly deferredConfigNames: readonly ConfigFileName[];
|
|
116
|
+
readonly normalizerConfigNames?: readonly ConfigFileName[];
|
|
1009
117
|
};
|
|
1010
118
|
declare function resolveConfigExport<TConfig extends object>(moduleValue: unknown): TConfig;
|
|
1011
119
|
declare function getConfigExtensionPriority(fileName: string): number;
|
|
@@ -1014,6 +122,7 @@ declare function splitCacheableConfig(rawConfig: RawConfigMap): {
|
|
|
1014
122
|
readonly deferredConfigNames: readonly ConfigFileName[];
|
|
1015
123
|
};
|
|
1016
124
|
declare function getDeferredConfigNames(payload: ConfigCachePayload): readonly ConfigFileName[];
|
|
125
|
+
declare function getNormalizerConfigNames(payload: Pick<ConfigCachePayload, 'normalizerConfigNames'>): readonly ConfigFileName[];
|
|
1017
126
|
declare function resolveConfigCachePath(projectRoot: string): string;
|
|
1018
127
|
declare function writeConfigCache(projectRoot: string, options?: {
|
|
1019
128
|
envName?: string;
|
|
@@ -1027,24 +136,17 @@ declare function loadConfigDirectory<TCustom extends HoloConfigMap = HoloConfigM
|
|
|
1027
136
|
}): Promise<LoadedHoloConfig<TCustom>>;
|
|
1028
137
|
declare function defineConfig<TConfig extends object>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1029
138
|
declare function defineAppConfig<TConfig extends HoloAppConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1030
|
-
declare function defineDatabaseConfig<TConfig extends HoloDatabaseConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1031
|
-
declare function defineRedisConfig<TConfig extends HoloRedisConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1032
|
-
declare function defineCacheConfig<TConfig extends HoloCacheConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1033
|
-
declare function defineStorageConfig<TConfig extends HoloStorageConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1034
|
-
declare function defineQueueConfig<TConfig extends HoloQueueConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1035
|
-
declare function defineBroadcastConfig<TConfig extends HoloBroadcastConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1036
|
-
declare function defineMailConfig<TConfig extends HoloMailConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1037
|
-
declare function defineNotificationsConfig<const TConfig extends HoloNotificationsConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1038
|
-
declare function defineMediaConfig<TConfig extends HoloMediaConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1039
|
-
declare function defineSessionConfig<TConfig extends HoloSessionConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1040
|
-
declare function defineSecurityConfig<TConfig extends HoloSecurityConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1041
|
-
declare function defineCorsConfig<TConfig extends HoloCorsConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1042
|
-
declare function defineAuthConfig<TConfig extends HoloAuthConfig>(config: TConfig): DefineConfigValue<TConfig>;
|
|
1043
139
|
declare const loaderInternals: {
|
|
1044
140
|
getDeferredConfigNames: typeof getDeferredConfigNames;
|
|
141
|
+
getNormalizerConfigNames: typeof getNormalizerConfigNames;
|
|
1045
142
|
getConfigExtensionPriority: typeof getConfigExtensionPriority;
|
|
1046
143
|
resolveConfigExport: typeof resolveConfigExport;
|
|
1047
144
|
splitCacheableConfig: typeof splitCacheableConfig;
|
|
1048
145
|
};
|
|
1049
146
|
|
|
1050
|
-
|
|
147
|
+
interface HoloConfigRegistry {
|
|
148
|
+
app: NormalizedHoloAppConfig;
|
|
149
|
+
redis: NormalizedHoloRedisConfig;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export { type ConfigFileName, DEFAULT_APP_NAME, type DefineConfigValue, type DotPath, type HoloAppConfig, type HoloAppEnv, type HoloConfigMap, type HoloConfigRegistry, type HoloConfigValues, type LoadedEnvironment, type LoadedHoloConfig, type NormalizedHoloAppConfig, type ValueAtPath, clearConfigCache, config, configureConfigRuntime, configureEnvRuntime, createConfigAccessors, defineAppConfig, defineConfig, env, holoAppDefaults, isEnvPlaceholder, loadConfigDirectory, loadEnvironment, loaderInternals, normalizeAppConfig, normalizeAppEnv, resetConfigRuntime, resolveAppEnvironment, resolveConfigCachePath, resolveEnvPlaceholders, resolveEnvironmentFileOrder, useConfig, writeConfigCache };
|