@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 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 = path.resolve(rootDirectory, `./api/${app.locals.name}.yaml`);
19
- app.locals.logger.debug({ apiSpec, codepath }, 'Serving OpenAPI');
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({ apiDoc: apiSpec })
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) => {
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
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) || url;
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) || url;
146
- logger.info(preLog, msg);
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.7.0",
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.5",
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.1",
109
- "@commitlint/config-conventional": "^20.4.1",
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.2.3",
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.2",
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 = path.resolve(rootDirectory, `./api/${app.locals.name}.yaml`);
37
- app.locals.logger.debug({ apiSpec, codepath }, 'Serving OpenAPI');
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({ apiDoc: apiSpec })
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) || url;
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) || url;
204
- logger.info(preLog, msg);
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