glasswork 1.5.0 → 1.6.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/CHANGELOG.md +62 -1
- package/README.md +6 -2
- package/dist/audit/audit-logger.d.ts +6 -1
- package/dist/audit/audit-logger.d.ts.map +1 -1
- package/dist/audit/audit-logger.js +6 -1
- package/dist/audit/audit-logger.js.map +1 -1
- package/dist/auth/assert.d.ts +4 -0
- package/dist/auth/assert.d.ts.map +1 -1
- package/dist/auth/assert.js +7 -3
- package/dist/auth/assert.js.map +1 -1
- package/dist/auth/better-auth-provider.js +13 -4
- package/dist/auth/better-auth-provider.js.map +1 -1
- package/dist/auth/errors.d.ts +17 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/errors.js +23 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth/index.d.ts +2 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/middleware.d.ts +13 -0
- package/dist/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js +19 -8
- package/dist/auth/middleware.js.map +1 -1
- package/dist/auth/types.d.ts +4 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/config/providers.d.ts.map +1 -1
- package/dist/config/providers.js +5 -4
- package/dist/config/providers.js.map +1 -1
- package/dist/core/bootstrap.d.ts +2 -2
- package/dist/core/bootstrap.d.ts.map +1 -1
- package/dist/core/bootstrap.js +142 -68
- package/dist/core/bootstrap.js.map +1 -1
- package/dist/core/contract.d.ts +9 -2
- package/dist/core/contract.d.ts.map +1 -1
- package/dist/core/contract.js +2 -1
- package/dist/core/contract.js.map +1 -1
- package/dist/core/errors.d.ts +16 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +31 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/glasswork-config.d.ts +42 -0
- package/dist/core/glasswork-config.d.ts.map +1 -0
- package/dist/core/glasswork-config.js +2 -0
- package/dist/core/glasswork-config.js.map +1 -0
- package/dist/core/index.d.ts +6 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +4 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/job-services.d.ts +16 -0
- package/dist/core/job-services.d.ts.map +1 -0
- package/dist/core/job-services.js +19 -0
- package/dist/core/job-services.js.map +1 -0
- package/dist/core/lifecycle.d.ts +29 -1
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +98 -15
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core/module-graph.d.ts +2 -0
- package/dist/core/module-graph.d.ts.map +1 -1
- package/dist/core/module-graph.js +63 -10
- package/dist/core/module-graph.js.map +1 -1
- package/dist/core/module-inspection.d.ts +44 -0
- package/dist/core/module-inspection.d.ts.map +1 -0
- package/dist/core/module-inspection.js +114 -0
- package/dist/core/module-inspection.js.map +1 -0
- package/dist/core/module-runtime.d.ts +8 -0
- package/dist/core/module-runtime.d.ts.map +1 -1
- package/dist/core/module-runtime.js +60 -6
- package/dist/core/module-runtime.js.map +1 -1
- package/dist/core/request-scope.js +1 -1
- package/dist/core/request-scope.js.map +1 -1
- package/dist/core/types.d.ts +98 -7
- package/dist/core/types.d.ts.map +1 -1
- package/dist/email/compiler/compiler.d.ts.map +1 -1
- package/dist/email/compiler/compiler.js +52 -43
- package/dist/email/compiler/compiler.js.map +1 -1
- package/dist/email/ses.d.ts +7 -0
- package/dist/email/ses.d.ts.map +1 -0
- package/dist/email/ses.js +6 -0
- package/dist/email/ses.js.map +1 -0
- package/dist/email/smtp.d.ts +7 -0
- package/dist/email/smtp.d.ts.map +1 -0
- package/dist/email/smtp.js +6 -0
- package/dist/email/smtp.js.map +1 -0
- package/dist/email/transports/ses-transport.d.ts.map +1 -1
- package/dist/email/transports/ses-transport.js +6 -4
- package/dist/email/transports/ses-transport.js.map +1 -1
- package/dist/email/transports/smtp-transport.d.ts +40 -0
- package/dist/email/transports/smtp-transport.d.ts.map +1 -0
- package/dist/email/transports/smtp-transport.js +67 -0
- package/dist/email/transports/smtp-transport.js.map +1 -0
- package/dist/http/error-handler.d.ts +7 -1
- package/dist/http/error-handler.d.ts.map +1 -1
- package/dist/http/error-handler.js +18 -6
- package/dist/http/error-handler.js.map +1 -1
- package/dist/http/error-response.dto.d.ts +6 -0
- package/dist/http/error-response.dto.d.ts.map +1 -1
- package/dist/http/error-response.dto.js +6 -0
- package/dist/http/error-response.dto.js.map +1 -1
- package/dist/http/errors.d.ts +12 -0
- package/dist/http/errors.d.ts.map +1 -1
- package/dist/http/errors.js +35 -23
- package/dist/http/errors.js.map +1 -1
- package/dist/http/index.d.ts +1 -1
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/http/index.js.map +1 -1
- package/dist/http/route-authorization.d.ts.map +1 -1
- package/dist/http/route-authorization.js +3 -3
- package/dist/http/route-authorization.js.map +1 -1
- package/dist/http/route-helpers.d.ts +2 -1
- package/dist/http/route-helpers.d.ts.map +1 -1
- package/dist/http/route-helpers.js +29 -2
- package/dist/http/route-helpers.js.map +1 -1
- package/dist/http/route-openapi-context.d.ts +15 -1
- package/dist/http/route-openapi-context.d.ts.map +1 -1
- package/dist/http/route-openapi-context.js.map +1 -1
- package/dist/http/route-response.d.ts +6 -2
- package/dist/http/route-response.d.ts.map +1 -1
- package/dist/http/route-response.js +36 -16
- package/dist/http/route-response.js.map +1 -1
- package/dist/http/route-types.d.ts +12 -4
- package/dist/http/route-types.d.ts.map +1 -1
- package/dist/http/route-types.js.map +1 -1
- package/dist/http/route-validation.d.ts.map +1 -1
- package/dist/http/route-validation.js +21 -1
- package/dist/http/route-validation.js.map +1 -1
- package/dist/jobs/drivers/eventbridge-scheduler-driver.d.ts +1 -0
- package/dist/jobs/drivers/eventbridge-scheduler-driver.d.ts.map +1 -1
- package/dist/jobs/drivers/eventbridge-scheduler-driver.js +12 -2
- package/dist/jobs/drivers/eventbridge-scheduler-driver.js.map +1 -1
- package/dist/jobs/drivers/mock-driver.d.ts +4 -0
- package/dist/jobs/drivers/mock-driver.d.ts.map +1 -1
- package/dist/jobs/drivers/mock-driver.js +10 -3
- package/dist/jobs/drivers/mock-driver.js.map +1 -1
- package/dist/jobs/drivers/sqs-driver.d.ts +1 -1
- package/dist/jobs/drivers/sqs-driver.d.ts.map +1 -1
- package/dist/jobs/drivers/sqs-driver.js +8 -2
- package/dist/jobs/drivers/sqs-driver.js.map +1 -1
- package/dist/jobs/errors.d.ts +14 -1
- package/dist/jobs/errors.d.ts.map +1 -1
- package/dist/jobs/errors.js +19 -2
- package/dist/jobs/errors.js.map +1 -1
- package/dist/jobs/index.d.ts +3 -3
- package/dist/jobs/index.d.ts.map +1 -1
- package/dist/jobs/index.js +1 -1
- package/dist/jobs/index.js.map +1 -1
- package/dist/jobs/job-service.d.ts +46 -7
- package/dist/jobs/job-service.d.ts.map +1 -1
- package/dist/jobs/job-service.js +63 -9
- package/dist/jobs/job-service.js.map +1 -1
- package/dist/jobs/scheduler.d.ts +6 -0
- package/dist/jobs/scheduler.d.ts.map +1 -0
- package/dist/jobs/scheduler.js +6 -0
- package/dist/jobs/scheduler.js.map +1 -0
- package/dist/jobs/sqs.d.ts +7 -0
- package/dist/jobs/sqs.d.ts.map +1 -0
- package/dist/jobs/sqs.js +7 -0
- package/dist/jobs/sqs.js.map +1 -0
- package/dist/jobs/types.d.ts +6 -1
- package/dist/jobs/types.d.ts.map +1 -1
- package/dist/jobs/utils.d.ts +6 -0
- package/dist/jobs/utils.d.ts.map +1 -1
- package/dist/jobs/utils.js +8 -0
- package/dist/jobs/utils.js.map +1 -1
- package/dist/middleware/rate-limit.d.ts.map +1 -1
- package/dist/middleware/rate-limit.js +5 -4
- package/dist/middleware/rate-limit.js.map +1 -1
- package/dist/observability/exception-tracking.d.ts +23 -0
- package/dist/observability/exception-tracking.d.ts.map +1 -1
- package/dist/observability/exception-tracking.js +101 -6
- package/dist/observability/exception-tracking.js.map +1 -1
- package/dist/observability/index.d.ts +1 -1
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +1 -1
- package/dist/observability/index.js.map +1 -1
- package/dist/observability/sanitizers.d.ts.map +1 -1
- package/dist/observability/sanitizers.js +2 -0
- package/dist/observability/sanitizers.js.map +1 -1
- package/dist/openapi/drift.d.ts +17 -2
- package/dist/openapi/drift.d.ts.map +1 -1
- package/dist/openapi/drift.js +79 -5
- package/dist/openapi/drift.js.map +1 -1
- package/dist/openapi/openapi.d.ts.map +1 -1
- package/dist/openapi/openapi.js +2 -1
- package/dist/openapi/openapi.js.map +1 -1
- package/dist/utils/environment.d.ts +10 -2
- package/dist/utils/environment.d.ts.map +1 -1
- package/dist/utils/environment.js +20 -3
- package/dist/utils/environment.js.map +1 -1
- package/dist/utils/module-interop.d.ts +9 -0
- package/dist/utils/module-interop.d.ts.map +1 -0
- package/dist/utils/module-interop.js +16 -0
- package/dist/utils/module-interop.js.map +1 -0
- package/dist/utils/optional-dependency.d.ts +6 -0
- package/dist/utils/optional-dependency.d.ts.map +1 -0
- package/dist/utils/optional-dependency.js +16 -0
- package/dist/utils/optional-dependency.js.map +1 -0
- package/dist/utils/serialize-prisma-types.d.ts +51 -15
- package/dist/utils/serialize-prisma-types.d.ts.map +1 -1
- package/dist/utils/serialize-prisma-types.js +47 -16
- package/dist/utils/serialize-prisma-types.js.map +1 -1
- package/package.json +56 -12
package/dist/core/bootstrap.js
CHANGED
|
@@ -7,35 +7,20 @@ import { secureHeaders } from 'hono/secure-headers';
|
|
|
7
7
|
import { createErrorHandler, defaultErrorHandler } from '../http/error-handler.js';
|
|
8
8
|
import { route, setOpenAPIContext } from '../http/route-helpers.js';
|
|
9
9
|
import { createRateLimitMiddleware } from '../middleware/rate-limit.js';
|
|
10
|
+
import { flushExceptionTracker } from '../observability/exception-tracking.js';
|
|
10
11
|
import { createContextAwarePinoLogger, createPinoHttpMiddleware, } from '../observability/pino-logger.js';
|
|
11
12
|
import { createRequestContextMiddleware } from '../observability/request-context.js';
|
|
12
13
|
import { createSanitizedExceptionTracker, createSanitizedLogger, } from '../observability/sanitizers.js';
|
|
13
14
|
import { configureOpenAPI } from '../openapi/openapi.js';
|
|
14
15
|
import { createBuiltinProcessors } from '../openapi/openapi-processors.js';
|
|
15
|
-
import { isLambda, isTest } from '../utils/environment.js';
|
|
16
|
+
import { detectEnvironment, isLambda, isTest } from '../utils/environment.js';
|
|
16
17
|
import { createLogger, createPlainLogger, getDefaultLogLevel, } from '../utils/logger.js';
|
|
17
|
-
import {
|
|
18
|
+
import { createSerializationConfig } from '../utils/serialize-prisma-types.js';
|
|
19
|
+
import { createApplicationLifecycle, executeLifecycleHooks, shutdownContainer, } from './lifecycle.js';
|
|
18
20
|
import { getProviderName } from './module.js';
|
|
19
21
|
import { collectModules, registerModuleProviders, resolveAsyncFactoryProviders, validateNoCycles, } from './module-graph.js';
|
|
20
22
|
import { ModuleRuntime } from './module-runtime.js';
|
|
21
23
|
import { HttpRequestScope } from './request-scope.js';
|
|
22
|
-
/**
|
|
23
|
-
* Detect environment from NODE_ENV or AWS Lambda context
|
|
24
|
-
*/
|
|
25
|
-
function detectEnvironment() {
|
|
26
|
-
const nodeEnv = process.env.NODE_ENV;
|
|
27
|
-
if (nodeEnv === 'production') {
|
|
28
|
-
return 'production';
|
|
29
|
-
}
|
|
30
|
-
if (nodeEnv === 'test') {
|
|
31
|
-
return 'test';
|
|
32
|
-
}
|
|
33
|
-
// Check if running in AWS Lambda
|
|
34
|
-
if (process.env.AWS_LAMBDA_FUNCTION_NAME || process.env.LAMBDA_TASK_ROOT) {
|
|
35
|
-
return 'production';
|
|
36
|
-
}
|
|
37
|
-
return 'development';
|
|
38
|
-
}
|
|
39
24
|
/**
|
|
40
25
|
* Bootstrap the application with modules.
|
|
41
26
|
*
|
|
@@ -72,8 +57,9 @@ function detectEnvironment() {
|
|
|
72
57
|
* container.register({ customService: asClass(CustomService) });
|
|
73
58
|
* ```
|
|
74
59
|
*/
|
|
75
|
-
export async function bootstrap(rootModule,
|
|
76
|
-
const
|
|
60
|
+
export async function bootstrap(rootModule, ...args) {
|
|
61
|
+
const options = args[0] ?? {};
|
|
62
|
+
const { apiBasePath = '/api', debug = false, environment = detectEnvironment(), errorHandler = defaultErrorHandler, openapi, rateLimit, middleware, logger, exceptionTracking, serialization, mode = 'runtime', providerOverrides = [], } = options;
|
|
77
63
|
// Create logger for bootstrap process
|
|
78
64
|
// Convert debug boolean to log level: debug=true -> 'debug', debug=false -> default level
|
|
79
65
|
// In test mode, use silent unless debug=true is explicitly set (for testing/debugging)
|
|
@@ -92,39 +78,74 @@ export async function bootstrap(rootModule, options = {}) {
|
|
|
92
78
|
const runtime = new ModuleRuntime(allModules, bootstrapLogger);
|
|
93
79
|
const container = runtime.container;
|
|
94
80
|
const asyncFactoryNames = runtime.asyncFactories;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
81
|
+
try {
|
|
82
|
+
const activeAsyncFactories = applyProviderOverrides(runtime, asyncFactoryNames, providerOverrides, mode, bootstrapLogger);
|
|
83
|
+
// Resolve async factories before mounting runtime routes.
|
|
84
|
+
if (mode === 'runtime' && activeAsyncFactories.length > 0) {
|
|
85
|
+
await resolveAsyncFactoryProviders(container, activeAsyncFactories, bootstrapLogger);
|
|
86
|
+
}
|
|
87
|
+
return await finishBootstrap(allModules, runtime, bootstrapLogger, {
|
|
88
|
+
environment,
|
|
89
|
+
apiBasePath,
|
|
90
|
+
mode,
|
|
91
|
+
errorHandler,
|
|
92
|
+
openapi,
|
|
93
|
+
rateLimit,
|
|
94
|
+
middleware,
|
|
95
|
+
logger,
|
|
96
|
+
exceptionTracking,
|
|
97
|
+
serialization,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
await releaseFailedBootstrap(container, mode, bootstrapLogger);
|
|
102
|
+
throw error;
|
|
99
103
|
}
|
|
100
|
-
return finishBootstrap(allModules, runtime, bootstrapLogger, {
|
|
101
|
-
environment,
|
|
102
|
-
apiBasePath,
|
|
103
|
-
mode,
|
|
104
|
-
errorHandler,
|
|
105
|
-
openapi,
|
|
106
|
-
rateLimit,
|
|
107
|
-
middleware,
|
|
108
|
-
logger,
|
|
109
|
-
exceptionTracking,
|
|
110
|
-
});
|
|
111
104
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
105
|
+
/**
|
|
106
|
+
* The caller of a failed bootstrap never receives stop(), so release what was created so
|
|
107
|
+
* far: destroy hooks and disposers of resolved providers. Cleanup errors are logged and the
|
|
108
|
+
* original error is rethrown.
|
|
109
|
+
*/
|
|
110
|
+
async function releaseFailedBootstrap(container, mode, bootstrapLogger) {
|
|
111
|
+
try {
|
|
112
|
+
if (mode === 'contract')
|
|
113
|
+
await container.dispose();
|
|
114
|
+
else
|
|
115
|
+
await shutdownContainer(container, bootstrapLogger);
|
|
118
116
|
}
|
|
117
|
+
catch (cleanupError) {
|
|
118
|
+
bootstrapLogger.error('Cleanup after failed bootstrap failed', cleanupError);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function applyProviderOverrides(runtime, asyncFactoryNames, providerOverrides, mode, bootstrapLogger) {
|
|
122
|
+
validateProviderOverrides(runtime, providerOverrides, bootstrapLogger);
|
|
123
|
+
const declares = (module, name) => module.providers?.some((local) => getProviderName(local) === name) ?? false;
|
|
119
124
|
const container = runtime.container;
|
|
120
125
|
const originalRegistrations = { ...container.registrations };
|
|
121
126
|
const overrideAsyncFactories = [];
|
|
122
127
|
for (const module of runtime.modules) {
|
|
123
|
-
const
|
|
124
|
-
|
|
128
|
+
const applies = (override) => {
|
|
129
|
+
const target = overrideTarget(override);
|
|
130
|
+
return ((target === undefined || target === module.name) &&
|
|
131
|
+
declares(module, getProviderName(override)));
|
|
132
|
+
};
|
|
133
|
+
// Module-specific overrides register last, so they win over overrides for every module.
|
|
134
|
+
const providers = [
|
|
135
|
+
...providerOverrides.filter((override) => !overrideTarget(override) && applies(override)),
|
|
136
|
+
...providerOverrides.filter((override) => overrideTarget(override) && applies(override)),
|
|
137
|
+
].map(withoutTarget);
|
|
138
|
+
const names = registerModuleProviders({
|
|
139
|
+
name: module.name,
|
|
140
|
+
providers: [
|
|
141
|
+
...new Map(providers.map((provider) => [getProviderName(provider), provider])).values(),
|
|
142
|
+
],
|
|
143
|
+
}, runtime.forModule(module), bootstrapLogger);
|
|
125
144
|
overrideAsyncFactories.push(...names.map((name) => `${module.name}/${name}`));
|
|
126
145
|
}
|
|
127
|
-
const overriddenNames = new Set(Object.
|
|
146
|
+
const overriddenNames = new Set(Object.entries(container.registrations)
|
|
147
|
+
.filter(([name, registration]) => registration !== originalRegistrations[name])
|
|
148
|
+
.map(([name]) => name));
|
|
128
149
|
const activeAsyncFactories = [
|
|
129
150
|
...new Set([
|
|
130
151
|
...asyncFactoryNames.filter((name) => !overriddenNames.has(name)),
|
|
@@ -143,7 +164,7 @@ function applyProviderOverrides(runtime, asyncFactoryNames, providerOverrides, m
|
|
|
143
164
|
return activeAsyncFactories;
|
|
144
165
|
}
|
|
145
166
|
async function finishBootstrap(allModules, runtime, bootstrapLogger, resolved) {
|
|
146
|
-
const { environment, apiBasePath, mode, errorHandler, openapi, rateLimit, middleware, logger, exceptionTracking, } = resolved;
|
|
167
|
+
const { environment, apiBasePath, mode, errorHandler, openapi, rateLimit, middleware, logger, exceptionTracking, serialization, } = resolved;
|
|
147
168
|
const container = runtime.container;
|
|
148
169
|
// Create Hono app and apply middleware
|
|
149
170
|
const { app, openAPIContext, writeOpenAPISpec, generateOpenAPI } = createApp({
|
|
@@ -155,6 +176,7 @@ async function finishBootstrap(allModules, runtime, bootstrapLogger, resolved) {
|
|
|
155
176
|
middleware,
|
|
156
177
|
logger,
|
|
157
178
|
exceptionTracking,
|
|
179
|
+
serialization,
|
|
158
180
|
bootstrapLogger,
|
|
159
181
|
});
|
|
160
182
|
// Mount module routes
|
|
@@ -171,34 +193,33 @@ async function finishBootstrap(allModules, runtime, bootstrapLogger, resolved) {
|
|
|
171
193
|
await writeOpenAPISpec?.();
|
|
172
194
|
bootstrapLogger.debug('Bootstrap complete');
|
|
173
195
|
bootstrapLogger.debug(`Environment: ${environment}`);
|
|
174
|
-
bootstrapLogger.debug(`Registered ${Object.keys(container.
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
196
|
+
bootstrapLogger.debug(`Registered ${Object.keys(container.registrations).length} services`);
|
|
197
|
+
const lifecycle = createApplicationLifecycle({
|
|
198
|
+
start: async () => {
|
|
199
|
+
bootstrapLogger.debug('Starting application (running onModuleInit)...');
|
|
200
|
+
await executeLifecycleHooks(container, 'onModuleInit', bootstrapLogger);
|
|
201
|
+
bootstrapLogger.debug('Application started successfully');
|
|
202
|
+
},
|
|
203
|
+
stop: async () => {
|
|
204
|
+
bootstrapLogger.debug('Stopping application (running onModuleDestroy and disposers)...');
|
|
205
|
+
try {
|
|
206
|
+
await shutdownContainer(container, bootstrapLogger);
|
|
207
|
+
}
|
|
208
|
+
finally {
|
|
209
|
+
await flushTracker(exceptionTracking, bootstrapLogger);
|
|
210
|
+
}
|
|
211
|
+
bootstrapLogger.debug('Application stopped successfully');
|
|
212
|
+
},
|
|
213
|
+
});
|
|
179
214
|
const start = async () => {
|
|
180
215
|
if (mode === 'contract')
|
|
181
216
|
throw new Error('Contract bootstrap has no runtime lifecycle');
|
|
182
|
-
|
|
183
|
-
bootstrapLogger.debug('Application already started, skipping onModuleInit');
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
isStarted = true;
|
|
187
|
-
bootstrapLogger.debug('Starting application (running onModuleInit)...');
|
|
188
|
-
await executeLifecycleHooks(container, 'onModuleInit', bootstrapLogger);
|
|
189
|
-
bootstrapLogger.debug('Application started successfully');
|
|
217
|
+
await lifecycle.start();
|
|
190
218
|
};
|
|
191
219
|
const stop = async () => {
|
|
192
220
|
if (mode === 'contract')
|
|
193
221
|
throw new Error('Contract bootstrap has no runtime lifecycle');
|
|
194
|
-
|
|
195
|
-
bootstrapLogger.debug('Application already stopped, skipping onModuleDestroy');
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
isStopped = true;
|
|
199
|
-
bootstrapLogger.debug('Stopping application (running onModuleDestroy)...');
|
|
200
|
-
await executeLifecycleHooks(container, 'onModuleDestroy', bootstrapLogger);
|
|
201
|
-
bootstrapLogger.debug('Application stopped successfully');
|
|
222
|
+
await lifecycle.stop();
|
|
202
223
|
};
|
|
203
224
|
// Auto-start in production/development (but not test)
|
|
204
225
|
// This ensures providers are initialized before requests come in
|
|
@@ -207,6 +228,53 @@ async function finishBootstrap(allModules, runtime, bootstrapLogger, resolved) {
|
|
|
207
228
|
}
|
|
208
229
|
return { app, container: runtime.forModule(allModules[0]), start, stop, generateOpenAPI };
|
|
209
230
|
}
|
|
231
|
+
/** Rejects overrides that match nothing, and warns when one replaces several providers. */
|
|
232
|
+
function validateProviderOverrides(runtime, providerOverrides, bootstrapLogger) {
|
|
233
|
+
const declares = (module, name) => module.providers?.some((local) => getProviderName(local) === name) ?? false;
|
|
234
|
+
for (const override of providerOverrides) {
|
|
235
|
+
const name = getProviderName(override);
|
|
236
|
+
const target = overrideTarget(override);
|
|
237
|
+
if (target === undefined) {
|
|
238
|
+
const owners = runtime.modules.filter((module) => declares(module, name));
|
|
239
|
+
if (owners.length === 0) {
|
|
240
|
+
throw new Error(`Provider override "${name}" does not match a registered provider`);
|
|
241
|
+
}
|
|
242
|
+
if (owners.length > 1) {
|
|
243
|
+
bootstrapLogger.warn(`Provider override "${name}" replaces the provider in modules ${owners
|
|
244
|
+
.map((module) => `"${module.name}"`)
|
|
245
|
+
.join(', ')}. Set module to replace it in one module only.`);
|
|
246
|
+
}
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
const module = runtime.modules.find((candidate) => candidate.name === target);
|
|
250
|
+
if (!module) {
|
|
251
|
+
throw new Error(`Provider override "${name}" targets unknown module "${target}"`);
|
|
252
|
+
}
|
|
253
|
+
if (!declares(module, name)) {
|
|
254
|
+
throw new Error(`Provider override "${name}" does not match a provider declared in module "${target}"`);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
function overrideTarget(override) {
|
|
259
|
+
if (typeof override === 'function' || !('module' in override))
|
|
260
|
+
return undefined;
|
|
261
|
+
return typeof override.module === 'string' ? override.module : override.module.name;
|
|
262
|
+
}
|
|
263
|
+
function withoutTarget(override) {
|
|
264
|
+
if (typeof override === 'function' || !('module' in override))
|
|
265
|
+
return override;
|
|
266
|
+
const { module: _module, ...provider } = override;
|
|
267
|
+
return provider;
|
|
268
|
+
}
|
|
269
|
+
/** Errors reported during shutdown should still reach the tracker; never fails stop(). */
|
|
270
|
+
async function flushTracker(exceptionTracking, bootstrapLogger) {
|
|
271
|
+
if (!exceptionTracking)
|
|
272
|
+
return;
|
|
273
|
+
const result = await flushExceptionTracker(exceptionTracking.tracker, exceptionTracking.flushTimeoutMs ?? 2000, bootstrapLogger);
|
|
274
|
+
if (!result.completed) {
|
|
275
|
+
bootstrapLogger.warn(`Exception tracker did not finish sending before stop() (${result.pending} pending)`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
210
278
|
function createContractPlaceholder(name) {
|
|
211
279
|
const fail = () => {
|
|
212
280
|
throw new Error(`Contract route registration used provider "${name}". Supply an explicit providerOverride for metadata construction.`);
|
|
@@ -235,7 +303,7 @@ function createApp(options) {
|
|
|
235
303
|
* Build the OpenAPI context with processors and security schemes
|
|
236
304
|
*/
|
|
237
305
|
function buildOpenAPIContext(options) {
|
|
238
|
-
const { openapi, rateLimit, middleware, logger } = options;
|
|
306
|
+
const { environment, openapi, rateLimit, middleware, logger, serialization } = options;
|
|
239
307
|
// Create built-in processors based on config
|
|
240
308
|
const builtinProcessors = createBuiltinProcessors({
|
|
241
309
|
corsEnabled: !!middleware?.cors,
|
|
@@ -256,6 +324,12 @@ function buildOpenAPIContext(options) {
|
|
|
256
324
|
pino: logger?.pino,
|
|
257
325
|
sanitizers: logger?.sanitizers,
|
|
258
326
|
logger: logger?.instance,
|
|
327
|
+
environment,
|
|
328
|
+
serialization: createSerializationConfig({
|
|
329
|
+
decimals: serialization?.decimals,
|
|
330
|
+
transformers: serialization?.transformers,
|
|
331
|
+
}),
|
|
332
|
+
strictTypes: serialization?.strictTypes,
|
|
259
333
|
};
|
|
260
334
|
}
|
|
261
335
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/core/contract.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import type { BootstrapOptions, ModuleConfig } from './types.js';
|
|
1
|
+
import type { BootstrapOptions, ModuleConfig, RequiresSerializationOption } from './types.js';
|
|
2
|
+
/** Bootstrap options for contract generation; `mode` is always `'contract'`. */
|
|
3
|
+
export type GenerateOpenAPIOptions = Omit<BootstrapOptions, 'mode'>;
|
|
4
|
+
/**
|
|
5
|
+
* The `options` parameter of `generateOpenAPI()`: required once `GlassworkConfig` requires the
|
|
6
|
+
* `serialization` option, like `bootstrap()`.
|
|
7
|
+
*/
|
|
8
|
+
export type GenerateOpenAPIArguments = RequiresSerializationOption extends true ? [options: GenerateOpenAPIOptions] : [options?: GenerateOpenAPIOptions];
|
|
2
9
|
/** Generates route contracts without runtime provider initialization or a server. */
|
|
3
|
-
export declare function generateOpenAPI(module: ModuleConfig,
|
|
10
|
+
export declare function generateOpenAPI(module: ModuleConfig, ...args: GenerateOpenAPIArguments): Promise<{
|
|
4
11
|
tags: import("openapi-types").OpenAPIV3.TagObject[];
|
|
5
12
|
info: {
|
|
6
13
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/core/contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/core/contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9F,gFAAgF;AAChF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,2BAA2B,SAAS,IAAI,GAC3E,CAAC,OAAO,EAAE,sBAAsB,CAAC,GACjC,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAEvC,qFAAqF;AACrF,wBAAsB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAc5F"}
|
package/dist/core/contract.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { bootstrap } from './bootstrap.js';
|
|
2
2
|
/** Generates route contracts without runtime provider initialization or a server. */
|
|
3
|
-
export async function generateOpenAPI(module,
|
|
3
|
+
export async function generateOpenAPI(module, ...args) {
|
|
4
|
+
const options = args[0] ?? {};
|
|
4
5
|
const result = await bootstrap(module, {
|
|
5
6
|
...options,
|
|
6
7
|
mode: 'contract',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/core/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/core/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAoB,EAAE,GAAG,IAA8B;IAC3F,MAAM,OAAO,GAA2B,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAC7C,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;KAClF,CAAC,CAAC;IACH,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClF,OAAO,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A provider is not visible in the module that resolves it. `path` lists the module-qualified
|
|
3
|
+
* providers (`module/provider`) that were being created when the lookup failed, outermost
|
|
4
|
+
* first.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ProviderNotAvailableError extends Error {
|
|
7
|
+
#private;
|
|
8
|
+
readonly module: string;
|
|
9
|
+
readonly provider: string;
|
|
10
|
+
readonly hint: string;
|
|
11
|
+
readonly path: string[];
|
|
12
|
+
constructor(module: string, provider: string, hint: string);
|
|
13
|
+
/** @internal Records the provider whose creation needed the missing one. */
|
|
14
|
+
requiredBy(token: string): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;;IAIhD,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM;IALvB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAM;IAE7B,YACW,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAKtB;IAED,4EAA4E;IAC5E,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI9B;CAMF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A provider is not visible in the module that resolves it. `path` lists the module-qualified
|
|
3
|
+
* providers (`module/provider`) that were being created when the lookup failed, outermost
|
|
4
|
+
* first.
|
|
5
|
+
*/
|
|
6
|
+
export class ProviderNotAvailableError extends Error {
|
|
7
|
+
module;
|
|
8
|
+
provider;
|
|
9
|
+
hint;
|
|
10
|
+
path = [];
|
|
11
|
+
constructor(module, provider, hint) {
|
|
12
|
+
super();
|
|
13
|
+
this.module = module;
|
|
14
|
+
this.provider = provider;
|
|
15
|
+
this.hint = hint;
|
|
16
|
+
this.name = 'ProviderNotAvailableError';
|
|
17
|
+
this.message = this.#format();
|
|
18
|
+
}
|
|
19
|
+
/** @internal Records the provider whose creation needed the missing one. */
|
|
20
|
+
requiredBy(token) {
|
|
21
|
+
if (this.path[0] === token)
|
|
22
|
+
return;
|
|
23
|
+
this.path.unshift(token);
|
|
24
|
+
this.message = this.#format();
|
|
25
|
+
}
|
|
26
|
+
#format() {
|
|
27
|
+
const requiredBy = this.path.length > 0 ? ` (required by ${this.path.join(' -> ')})` : '';
|
|
28
|
+
return `Provider "${this.provider}" is not available in module "${this.module}"${requiredBy}. ${this.hint}`;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAIvC,MAAM;IACN,QAAQ;IACR,IAAI;IALN,IAAI,GAAa,EAAE,CAAC;IAE7B,YACW,MAAc,EACd,QAAgB,EAChB,IAAY;QAErB,KAAK,EAAE,CAAC;sBAJC,MAAM;wBACN,QAAQ;oBACR,IAAI;QAGb,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,4EAA4E;IAC5E,UAAU,CAAC,KAAa;QACtB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK;YAAE,OAAO;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,OAAO;QACL,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,OAAO,aAAa,IAAI,CAAC,QAAQ,iCAAiC,IAAI,CAAC,MAAM,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9G,CAAC;CACF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application-wide settings that route types read at compile time.
|
|
3
|
+
*
|
|
4
|
+
* `bootstrap()` applies the runtime side through its `serialization` option. Declare the same
|
|
5
|
+
* values here so handler return types follow them: with `decimals: 'string'`, response types
|
|
6
|
+
* accept Decimal values on string fields instead of number fields; with `strictTypes: true`,
|
|
7
|
+
* every route is typed as if it set `strictTypes: true`. The `serialization` option's type
|
|
8
|
+
* follows this declaration, so the two cannot drift apart.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* // In your application's type declarations
|
|
13
|
+
* declare module 'glasswork' {
|
|
14
|
+
* interface GlassworkConfig {
|
|
15
|
+
* decimals: 'string';
|
|
16
|
+
* strictTypes: true;
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
*
|
|
20
|
+
* // bootstrap() then requires the matching option
|
|
21
|
+
* await bootstrap(AppModule, {
|
|
22
|
+
* serialization: { decimals: 'string', strictTypes: true },
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export interface GlassworkConfig {
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* How Decimal values (Prisma, Decimal.js) serialize in responses:
|
|
30
|
+
* - `'number'`: `toNumber()`, which rounds to a double
|
|
31
|
+
* - `'string'`: `toFixed()`, which keeps every digit and the stored scale in plain notation
|
|
32
|
+
*/
|
|
33
|
+
export type DecimalSerialization = 'number' | 'string';
|
|
34
|
+
/** The Decimal serialization declared in {@link GlassworkConfig}; `'number'` when not declared. */
|
|
35
|
+
export type ConfiguredDecimalSerialization = GlassworkConfig extends {
|
|
36
|
+
decimals: 'string';
|
|
37
|
+
} ? 'string' : 'number';
|
|
38
|
+
/** Whether {@link GlassworkConfig} declares `strictTypes: true` for every route. */
|
|
39
|
+
export type ConfiguredStrictTypes = GlassworkConfig extends {
|
|
40
|
+
strictTypes: true;
|
|
41
|
+
} ? true : false;
|
|
42
|
+
//# sourceMappingURL=glasswork-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glasswork-config.d.ts","sourceRoot":"","sources":["../../src/core/glasswork-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,eAAe;CAAG;AAEnC;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvD,mGAAmG;AACnG,MAAM,MAAM,8BAA8B,GAAG,eAAe,SAAS;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACvF,QAAQ,GACR,QAAQ,CAAC;AAEb,oFAAoF;AACpF,MAAM,MAAM,qBAAqB,GAAG,eAAe,SAAS;IAAE,WAAW,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glasswork-config.js","sourceRoot":"","sources":["../../src/core/glasswork-config.ts"],"names":[],"mappings":""}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -5,16 +5,19 @@
|
|
|
5
5
|
export type { AwilixContainer } from 'awilix';
|
|
6
6
|
export { type Config, type ConfigOptions, type ConfigProvider, ConfigValidationException, createConfig, type DotenvProviderOptions, dotenvProvider, type EnvProviderOptions, envProvider, objectProvider, parseArray, parseBoolean, parseJson, type SsmProviderOptions, ssmProvider, toCamelCase, toSnakeCase, validateConfig, } from '../config/index.js';
|
|
7
7
|
export { deepMerge } from '../utils/deep-merge.js';
|
|
8
|
-
export { isDevelopment, isLambda, isProduction, isTest } from '../utils/environment.js';
|
|
8
|
+
export { detectEnvironment, isDevelopment, isLambda, isProduction, isTest, } from '../utils/environment.js';
|
|
9
9
|
export { getClientIp } from '../utils/get-client-ip.js';
|
|
10
10
|
export type { Logger } from '../utils/logger.js';
|
|
11
11
|
export { createLogger, createPlainLogger, defaultLogger } from '../utils/logger.js';
|
|
12
12
|
export { omit } from '../utils/omit.js';
|
|
13
13
|
export { pick } from '../utils/pick.js';
|
|
14
14
|
export type { AcceptPrismaTypes, PrismaDecimalLike, SerializationConfig, SerializedTypes, TypeTransformer, } from '../utils/serialize-prisma-types.js';
|
|
15
|
-
export { defaultConfig, serializePrismaTypes } from '../utils/serialize-prisma-types.js';
|
|
15
|
+
export { createSerializationConfig, defaultConfig, serializePrismaTypes, } from '../utils/serialize-prisma-types.js';
|
|
16
16
|
export { bootstrap } from './bootstrap.js';
|
|
17
17
|
export { generateOpenAPI } from './contract.js';
|
|
18
|
+
export { ProviderNotAvailableError } from './errors.js';
|
|
19
|
+
export type { DecimalSerialization, GlassworkConfig } from './glasswork-config.js';
|
|
18
20
|
export { defineModule, forwardRef } from './module.js';
|
|
19
|
-
export
|
|
21
|
+
export { inspectModuleGraph, type ModuleGraph, type ModuleGraphNode, type ModuleGraphProvider, moduleGraphToMermaid, } from './module-inspection.js';
|
|
22
|
+
export type { BootstrapOptions, BootstrapResult, Constructor, Environment, ExceptionTrackingOptions, ForwardReference, LoggerOptions, MiddlewareOptions, ModuleConfig, OnModuleDestroy, OnModuleInit, OpenAPIDocumentation, OpenAPIOptions, OpenAPIProcessorContext, OpenAPIResponseObject, OpenAPIResponseProcessor, ProviderConfig, ProviderOverride, RateLimitOptions, RateLimitStorage, RouteConfigExtensions, RouteHandlers, SerializationOptions, ServiceScope, } from './types.js';
|
|
20
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,yBAAyB,EACzB,YAAY,EACZ,KAAK,qBAAqB,EAC1B,cAAc,EACd,KAAK,kBAAkB,EACvB,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EACT,KAAK,kBAAkB,EACvB,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,yBAAyB,EACzB,YAAY,EACZ,KAAK,qBAAqB,EAC1B,cAAc,EACd,KAAK,kBAAkB,EACvB,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EACT,KAAK,kBAAkB,EACvB,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,MAAM,GACP,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,YAAY,GACb,MAAM,YAAY,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -4,13 +4,15 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { ConfigValidationException, createConfig, dotenvProvider, envProvider, objectProvider, parseArray, parseBoolean, parseJson, ssmProvider, toCamelCase, toSnakeCase, validateConfig, } from '../config/index.js';
|
|
6
6
|
export { deepMerge } from '../utils/deep-merge.js';
|
|
7
|
-
export { isDevelopment, isLambda, isProduction, isTest } from '../utils/environment.js';
|
|
7
|
+
export { detectEnvironment, isDevelopment, isLambda, isProduction, isTest, } from '../utils/environment.js';
|
|
8
8
|
export { getClientIp } from '../utils/get-client-ip.js';
|
|
9
9
|
export { createLogger, createPlainLogger, defaultLogger } from '../utils/logger.js';
|
|
10
10
|
export { omit } from '../utils/omit.js';
|
|
11
11
|
export { pick } from '../utils/pick.js';
|
|
12
|
-
export { defaultConfig, serializePrismaTypes } from '../utils/serialize-prisma-types.js';
|
|
12
|
+
export { createSerializationConfig, defaultConfig, serializePrismaTypes, } from '../utils/serialize-prisma-types.js';
|
|
13
13
|
export { bootstrap } from './bootstrap.js';
|
|
14
14
|
export { generateOpenAPI } from './contract.js';
|
|
15
|
+
export { ProviderNotAvailableError } from './errors.js';
|
|
15
16
|
export { defineModule, forwardRef } from './module.js';
|
|
17
|
+
export { inspectModuleGraph, moduleGraphToMermaid, } from './module-inspection.js';
|
|
16
18
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAIL,yBAAyB,EACzB,YAAY,EAEZ,cAAc,EAEd,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EAET,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAIL,yBAAyB,EACzB,YAAY,EAEZ,cAAc,EAEd,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EAET,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,MAAM,GACP,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAQxC,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,kBAAkB,EAIlB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module cradles answer this key with a function that opens a scope in the module that
|
|
3
|
+
* declares a job. Queue drivers that run jobs in-process use it so a job resolves the same
|
|
4
|
+
* providers as it does in the worker, without exporting private services.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare const JOB_SERVICES: unique symbol;
|
|
8
|
+
/** Services for one job execution and the disposal of their scope. */
|
|
9
|
+
export interface JobServicesScope {
|
|
10
|
+
services: Record<string, unknown>;
|
|
11
|
+
dispose(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export type JobServicesResolver = (jobName: string) => JobServicesScope | undefined;
|
|
14
|
+
/** Returns the owning module's services for a job when `services` is a module cradle. */
|
|
15
|
+
export declare function resolveJobServices(services: Record<string, unknown>, jobName: string): JobServicesScope | undefined;
|
|
16
|
+
//# sourceMappingURL=job-services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-services.d.ts","sourceRoot":"","sources":["../../src/core/job-services.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,eAAsC,CAAC;AAEhE,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;AAEpF,yFAAyF;AACzF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,MAAM,GACd,gBAAgB,GAAG,SAAS,CAQ9B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module cradles answer this key with a function that opens a scope in the module that
|
|
3
|
+
* declares a job. Queue drivers that run jobs in-process use it so a job resolves the same
|
|
4
|
+
* providers as it does in the worker, without exporting private services.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export const JOB_SERVICES = Symbol.for('glasswork.jobServices');
|
|
8
|
+
/** Returns the owning module's services for a job when `services` is a module cradle. */
|
|
9
|
+
export function resolveJobServices(services, jobName) {
|
|
10
|
+
let resolver;
|
|
11
|
+
try {
|
|
12
|
+
resolver = services[JOB_SERVICES];
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
return typeof resolver === 'function' ? resolver(jobName) : undefined;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=job-services.js.map
|