@openapi-typescript-infra/service 6.7.0 → 6.9.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/build/openapi.js +12 -3
- package/build/openapi.js.map +1 -1
- package/build/telemetry/requestLogger.js +11 -5
- package/build/telemetry/requestLogger.js.map +1 -1
- package/build/types.d.ts +1 -1
- package/package.json +6 -6
- package/src/openapi.ts +11 -3
- package/src/telemetry/requestLogger.ts +11 -5
- package/src/types.ts +2 -2
package/build/openapi.js
CHANGED
|
@@ -15,8 +15,15 @@ function stripExtension(filename) {
|
|
|
15
15
|
return filename.slice(0, filename.lastIndexOf('.'));
|
|
16
16
|
}
|
|
17
17
|
export async function openApi(app, rootDirectory, codepath, pattern, openApiOptions) {
|
|
18
|
-
const apiSpec =
|
|
19
|
-
|
|
18
|
+
const apiSpec = openApiOptions?.apiSpec
|
|
19
|
+
? undefined
|
|
20
|
+
: path.resolve(rootDirectory, `./api/${app.locals.name}.yaml`);
|
|
21
|
+
if (apiSpec) {
|
|
22
|
+
app.locals.logger.debug({ apiSpec, codepath }, 'Serving OpenAPI');
|
|
23
|
+
}
|
|
24
|
+
else if (openApiOptions?.apiSpec) {
|
|
25
|
+
app.locals.logger.debug({ codepath }, 'Serving OpenAPI');
|
|
26
|
+
}
|
|
20
27
|
const basePath = path.resolve(rootDirectory, `${codepath}/handlers`);
|
|
21
28
|
// Because of the weirdness of ESM/CJS interop, and the synchronous nature of
|
|
22
29
|
// the OpenAPI resolver, we need to preload all the modules we might need
|
|
@@ -47,7 +54,9 @@ export async function openApi(app, rootDirectory, codepath, pattern, openApiOpti
|
|
|
47
54
|
delete global.window;
|
|
48
55
|
}
|
|
49
56
|
try {
|
|
50
|
-
app.locals.openApiSpecification = await new OpenAPIFramework({
|
|
57
|
+
app.locals.openApiSpecification = await new OpenAPIFramework({
|
|
58
|
+
apiDoc: (openApiOptions?.apiSpec ?? apiSpec),
|
|
59
|
+
})
|
|
51
60
|
.initialize({ visitApi() { } })
|
|
52
61
|
.then((docs) => docs.apiDoc)
|
|
53
62
|
.catch((error) => {
|
package/build/openapi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,gBAAgB,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AAIrF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,MAAM,qBAAqB,GAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,oCAAoC;KAC9C,CAAC,CAAC;AACL,CAAC,CAAC;AAIF,SAAS,cAAc,CAAC,QAAgB;IACtC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAG3B,GAA4B,EAC5B,aAAqB,EACrB,QAAgB,EAChB,OAAe,EACf,cAAkC;IAElC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,12 +93,16 @@ function finishLog(app, error, req, res, histogram) {
|
|
|
93
93
|
endLog.resBody = bodyString;
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
const msg = service.getLogFields?.(req, endLog)
|
|
96
|
+
const msg = service.getLogFields?.(req, endLog);
|
|
97
|
+
if (msg === false) {
|
|
98
|
+
res[LOGGED_SEMAPHORE] = true;
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
97
101
|
if (unexpectedError) {
|
|
98
|
-
logger.error(endLog, msg);
|
|
102
|
+
logger.error(endLog, msg || url);
|
|
99
103
|
}
|
|
100
104
|
else {
|
|
101
|
-
logger.info(endLog, msg);
|
|
105
|
+
logger.info(endLog, msg || url);
|
|
102
106
|
}
|
|
103
107
|
res[LOGGED_SEMAPHORE] = true;
|
|
104
108
|
}
|
|
@@ -142,8 +146,10 @@ export function loggerMiddleware(app, histogram, config) {
|
|
|
142
146
|
sid: req.session?.id,
|
|
143
147
|
c: req.headers.correlationid || undefined,
|
|
144
148
|
};
|
|
145
|
-
const msg = service.getLogFields?.(req, preLog)
|
|
146
|
-
|
|
149
|
+
const msg = service.getLogFields?.(req, preLog);
|
|
150
|
+
if (msg !== false) {
|
|
151
|
+
logger.info(preLog, msg || url);
|
|
152
|
+
}
|
|
147
153
|
}
|
|
148
154
|
const logWriter = (err) => finishLog(app, err, req, res, histogram);
|
|
149
155
|
res.on('finish', logWriter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestLogger.js","sourceRoot":"","sources":["../../src/telemetry/requestLogger.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"requestLogger.js","sourceRoot":"","sources":["../../src/telemetry/requestLogger.ts"],"names":[],"mappings":"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"}
|
package/build/types.d.ts
CHANGED
|
@@ -52,7 +52,7 @@ export interface Service<SLocals extends AnyServiceLocals = ServiceLocals<Config
|
|
|
52
52
|
healthy?: (app: ServiceExpress<SLocals>) => boolean | Promise<boolean>;
|
|
53
53
|
onRequest?(req: RequestWithApp<SLocals>, res: Response<unknown, RLocals>): void | Promise<void>;
|
|
54
54
|
authorize?(req: RequestWithApp<SLocals>, res: Response<unknown, RLocals>): boolean | Promise<boolean>;
|
|
55
|
-
getLogFields?(req: RequestWithApp<SLocals>, values: Record<string, string | string[] | number | undefined>): string | undefined;
|
|
55
|
+
getLogFields?(req: RequestWithApp<SLocals>, values: Record<string, string | string[] | number | undefined>): string | false | undefined;
|
|
56
56
|
attachRepl?(app: ServiceExpress<SLocals>, repl: REPLServer): void;
|
|
57
57
|
}
|
|
58
58
|
export type ServiceFactory<SLocals extends AnyServiceLocals = ServiceLocals<ConfigurationSchema>, RLocals extends RequestLocals = RequestLocals> = () => Service<SLocals, RLocals>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openapi-typescript-infra/service",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.9.0",
|
|
4
4
|
"description": "An opinionated framework for building configuration driven services - web, api, or ob. Uses OpenAPI, pino logging, express, confit, Typescript and vitest.",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"dotenv": "^17.3.1",
|
|
96
96
|
"express": "^5.2.1",
|
|
97
97
|
"express-openapi-validator": "^5.6.2",
|
|
98
|
-
"glob": "^13.0.
|
|
98
|
+
"glob": "^13.0.6",
|
|
99
99
|
"import-in-the-middle": "^2.0.6",
|
|
100
100
|
"minimist": "^1.2.8",
|
|
101
101
|
"moderndash": "^4.0.0",
|
|
@@ -105,8 +105,8 @@
|
|
|
105
105
|
"request-ip": "^3.3.0"
|
|
106
106
|
},
|
|
107
107
|
"devDependencies": {
|
|
108
|
-
"@commitlint/cli": "^20.4.
|
|
109
|
-
"@commitlint/config-conventional": "^20.4.
|
|
108
|
+
"@commitlint/cli": "^20.4.2",
|
|
109
|
+
"@commitlint/config-conventional": "^20.4.2",
|
|
110
110
|
"@openapi-typescript-infra/cpconfig": "^1.1.0",
|
|
111
111
|
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
112
112
|
"@semantic-release/exec": "^7.1.0",
|
|
@@ -115,13 +115,13 @@
|
|
|
115
115
|
"@types/cookie-parser": "^1.4.10",
|
|
116
116
|
"@types/express": "^5.0.6",
|
|
117
117
|
"@types/minimist": "^1.2.5",
|
|
118
|
-
"@types/node": "^25.
|
|
118
|
+
"@types/node": "^25.3.0",
|
|
119
119
|
"@types/request-ip": "^0.0.41",
|
|
120
120
|
"@types/supertest": "^6.0.3",
|
|
121
121
|
"@typescript-eslint/eslint-plugin": "^8.56.0",
|
|
122
122
|
"@typescript-eslint/parser": "^8.56.0",
|
|
123
123
|
"cpconfig": "^1.4.4",
|
|
124
|
-
"eslint": "^9.39.
|
|
124
|
+
"eslint": "^9.39.3",
|
|
125
125
|
"eslint-config-prettier": "^10.1.8",
|
|
126
126
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
127
127
|
"eslint-plugin-import": "^2.32.0",
|
package/src/openapi.ts
CHANGED
|
@@ -33,8 +33,14 @@ export async function openApi<
|
|
|
33
33
|
pattern: string,
|
|
34
34
|
openApiOptions?: Partial<OAPIOpts>,
|
|
35
35
|
) {
|
|
36
|
-
const apiSpec =
|
|
37
|
-
|
|
36
|
+
const apiSpec = openApiOptions?.apiSpec
|
|
37
|
+
? undefined
|
|
38
|
+
: path.resolve(rootDirectory, `./api/${app.locals.name}.yaml`);
|
|
39
|
+
if (apiSpec) {
|
|
40
|
+
app.locals.logger.debug({ apiSpec, codepath }, 'Serving OpenAPI');
|
|
41
|
+
} else if (openApiOptions?.apiSpec) {
|
|
42
|
+
app.locals.logger.debug({ codepath }, 'Serving OpenAPI');
|
|
43
|
+
}
|
|
38
44
|
|
|
39
45
|
const basePath = path.resolve(rootDirectory, `${codepath}/handlers`);
|
|
40
46
|
// Because of the weirdness of ESM/CJS interop, and the synchronous nature of
|
|
@@ -82,7 +88,9 @@ export async function openApi<
|
|
|
82
88
|
}
|
|
83
89
|
|
|
84
90
|
try {
|
|
85
|
-
app.locals.openApiSpecification = await new OpenAPIFramework({
|
|
91
|
+
app.locals.openApiSpecification = await new OpenAPIFramework({
|
|
92
|
+
apiDoc: (openApiOptions?.apiSpec ?? apiSpec) as string,
|
|
93
|
+
})
|
|
86
94
|
.initialize({ visitApi() {} })
|
|
87
95
|
.then((docs) => docs.apiDoc)
|
|
88
96
|
.catch((error) => {
|
|
@@ -140,11 +140,15 @@ function finishLog<SLocals extends AnyServiceLocals = ServiceLocals<Configuratio
|
|
|
140
140
|
endLog.resBody = bodyString;
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
-
const msg = service.getLogFields?.(req as RequestWithApp<SLocals>, endLog)
|
|
143
|
+
const msg = service.getLogFields?.(req as RequestWithApp<SLocals>, endLog);
|
|
144
|
+
if (msg === false) {
|
|
145
|
+
res[LOGGED_SEMAPHORE] = true;
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
144
148
|
if (unexpectedError) {
|
|
145
|
-
logger.error(endLog, msg);
|
|
149
|
+
logger.error(endLog, msg || url);
|
|
146
150
|
} else {
|
|
147
|
-
logger.info(endLog, msg);
|
|
151
|
+
logger.info(endLog, msg || url);
|
|
148
152
|
}
|
|
149
153
|
|
|
150
154
|
res[LOGGED_SEMAPHORE] = true;
|
|
@@ -200,8 +204,10 @@ export function loggerMiddleware<
|
|
|
200
204
|
sid: (req as WithIdentifiedSession).session?.id,
|
|
201
205
|
c: req.headers.correlationid || undefined,
|
|
202
206
|
};
|
|
203
|
-
const msg = service.getLogFields?.(req as RequestWithApp<SLocals>, preLog)
|
|
204
|
-
|
|
207
|
+
const msg = service.getLogFields?.(req as RequestWithApp<SLocals>, preLog);
|
|
208
|
+
if (msg !== false) {
|
|
209
|
+
logger.info(preLog, msg || url);
|
|
210
|
+
}
|
|
205
211
|
}
|
|
206
212
|
|
|
207
213
|
const logWriter = (err?: Error) => finishLog(app, err, req, res, histogram);
|
package/src/types.ts
CHANGED
|
@@ -106,11 +106,11 @@ export interface Service<
|
|
|
106
106
|
// Add or redact any fields for logging. Note this will be called twice per request,
|
|
107
107
|
// once at the start and once at the end. Modify the values directly. Return a
|
|
108
108
|
// string to control the "msg" field of the logs, or return undefined to leave it
|
|
109
|
-
// as the default, which is the request URL.
|
|
109
|
+
// as the default, which is the request URL. Return false to suppress the log entirely.
|
|
110
110
|
getLogFields?(
|
|
111
111
|
req: RequestWithApp<SLocals>,
|
|
112
112
|
values: Record<string, string | string[] | number | undefined>,
|
|
113
|
-
): string | undefined;
|
|
113
|
+
): string | false | undefined;
|
|
114
114
|
|
|
115
115
|
// The repl is a useful tool for diagnosing issues in non-dev environments.
|
|
116
116
|
// The attachRepl method provides a way to add custom functionality
|