@openapi-typescript-infra/service 1.2.1 → 2.0.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.
Files changed (42) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +1 -1
  3. package/.prettierrc.js +1 -1
  4. package/.trunk/configs/.markdownlint.yaml +10 -0
  5. package/.trunk/configs/.yamllint.yaml +10 -0
  6. package/.trunk/trunk.yaml +35 -0
  7. package/CHANGELOG.md +12 -0
  8. package/README.md +10 -10
  9. package/build/express-app/app.js +4 -3
  10. package/build/express-app/app.js.map +1 -1
  11. package/build/express-app/modules.d.ts +2 -0
  12. package/build/express-app/modules.js +28 -0
  13. package/build/express-app/modules.js.map +1 -0
  14. package/build/express-app/route-loader.js +4 -12
  15. package/build/express-app/route-loader.js.map +1 -1
  16. package/build/openapi.d.ts +1 -1
  17. package/build/openapi.js +26 -6
  18. package/build/openapi.js.map +1 -1
  19. package/build/telemetry/index.js +3 -1
  20. package/build/telemetry/index.js.map +1 -1
  21. package/build/tsconfig.build.tsbuildinfo +1 -1
  22. package/package.json +51 -43
  23. package/src/express-app/app.ts +21 -20
  24. package/src/express-app/modules.ts +27 -0
  25. package/src/express-app/route-loader.ts +5 -16
  26. package/src/openapi.ts +43 -7
  27. package/src/telemetry/index.ts +3 -1
  28. package/tsconfig.build.json +2 -1
  29. package/tsconfig.json +2 -1
  30. package/vitest.config.ts +19 -0
  31. package/.husky/commit-msg +0 -4
  32. package/.husky/pre-commit +0 -6
  33. package/__tests__/config.test.ts +0 -32
  34. package/__tests__/fake-serv/api/fake-serv.yaml +0 -48
  35. package/__tests__/fake-serv/config/config.json +0 -16
  36. package/__tests__/fake-serv/src/handlers/hello.ts +0 -10
  37. package/__tests__/fake-serv/src/index.ts +0 -35
  38. package/__tests__/fake-serv/src/routes/error.ts +0 -13
  39. package/__tests__/fake-serv/src/routes/index.ts +0 -22
  40. package/__tests__/fake-serv/src/routes/other/world.ts +0 -7
  41. package/__tests__/fake-serv.test.ts +0 -74
  42. package/jest.config.js +0 -14
package/.eslintignore CHANGED
@@ -6,3 +6,4 @@ coconfig.?s
6
6
  src/generated
7
7
  node_modules
8
8
  migrations/
9
+ .yarn/
package/.eslintrc.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * Instead, edit the coconfig.js or coconfig.ts file in your project root.
4
4
  *
5
5
  * See https://github.com/gas-buddy/coconfig for more information.
6
- * @version coconfig@0.12.2
6
+ * @version coconfig@0.13.3
7
7
  */
8
8
  const configModule = require('@openapi-typescript-infra/coconfig');
9
9
 
package/.prettierrc.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * Instead, edit the coconfig.js or coconfig.ts file in your project root.
4
4
  *
5
5
  * See https://github.com/gas-buddy/coconfig for more information.
6
- * @version coconfig@0.12.2
6
+ * @version coconfig@0.13.3
7
7
  */
8
8
  const configModule = require('@openapi-typescript-infra/coconfig');
9
9
 
@@ -0,0 +1,10 @@
1
+ # Autoformatter friendly markdownlint config (all formatting rules disabled)
2
+ default: true
3
+ blank_lines: false
4
+ bullet: false
5
+ html: false
6
+ indentation: false
7
+ line_length: false
8
+ spaces: false
9
+ url: false
10
+ whitespace: false
@@ -0,0 +1,10 @@
1
+ rules:
2
+ quoted-strings:
3
+ required: only-when-needed
4
+ extra-allowed: ['{|}']
5
+ empty-values:
6
+ forbid-in-block-mappings: true
7
+ forbid-in-flow-mappings: true
8
+ key-duplicates: {}
9
+ octal-values:
10
+ forbid-implicit-octal: true
@@ -0,0 +1,35 @@
1
+ version: 0.1
2
+ cli:
3
+ version: 1.13.0
4
+ plugins:
5
+ sources:
6
+ - id: trunk
7
+ ref: v1.1.1
8
+ uri: https://github.com/trunk-io/plugins
9
+ lint:
10
+ enabled:
11
+ - actionlint@1.6.25
12
+ - checkov@2.4.1
13
+ - eslint@8.47.0
14
+ - git-diff-check
15
+ - markdownlint@0.35.0
16
+ - osv-scanner@1.3.6
17
+ - prettier@3.0.2
18
+ - trivy@0.44.1
19
+ - trufflehog@3.48.0
20
+ - yamllint@1.32.0
21
+ ignore:
22
+ - linters: [ALL]
23
+ paths:
24
+ - .yarn/**
25
+ - yarn.lock
26
+ runtimes:
27
+ enabled:
28
+ - node@18.12.1
29
+ - python@3.10.8
30
+ actions:
31
+ enabled:
32
+ - trunk-announce
33
+ - trunk-check-pre-push
34
+ - trunk-fmt-pre-commit
35
+ - trunk-upgrade-available
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # [2.0.0](https://github.com/openapi-typescript-infra/service/compare/v1.2.2...v2.0.0) (2023-08-17)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **test:** move to vitest ([360c0ae](https://github.com/openapi-typescript-infra/service/commit/360c0ae8f4dfcf8ac0650980543340f97e72da5b))
7
+
8
+
9
+ ### BREAKING CHANGES
10
+
11
+ * **test:** module loading mechanics have changed
12
+
1
13
  1.0.0
2
14
  =====
3
15
 
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Node CI](https://github.com/openapi-typescript-infra/service/actions/workflows/nodejs.yml/badge.svg)](https://github.com/openapi-typescript-infra/service/actions/workflows/nodejs.yml)
4
4
 
5
- An opinionated framework for building high scale services - web, api, or job. Uses OpenAPI, pino, express, confit, Typescript and jest.
5
+ An opinionated framework for building high scale services - web, api, or job. Uses OpenAPI, pino, express, confit, Typescript and vitest.
6
6
 
7
7
  This module creates an environment that makes it simpler to host a REST service
8
8
  (less repetition, more enterprise grade features). Wherever possible, we use off
@@ -12,18 +12,18 @@ microservice environment.
12
12
 
13
13
  The module takes care of configuration-driven:
14
14
 
15
- * body logging
16
- * json parsing
17
- * error handling
18
- * hosted OpenAPI documents/handlers
19
- * traditional routing
20
- * graceful shutdown
21
- * health checks
22
- * Telemetry and instrumentation
15
+ - body logging
16
+ - json parsing
17
+ - error handling
18
+ - hosted OpenAPI documents/handlers
19
+ - traditional routing
20
+ - graceful shutdown
21
+ - health checks
22
+ - Telemetry and instrumentation
23
23
 
24
24
  services built with this module use Typescript with Node 18, which involves transpilation.
25
25
  This module takes that into account across the development and production experience. It does
26
- not currently use ESM for the most part, because between OpenTelemetry, Jest, eslint and the
26
+ not currently use ESM for the most part, because between OpenTelemetry, eslint and the
27
27
  package ecosystem, that is currently a pipe dream, or at least something that requires incredibly
28
28
  precise configuration, which is not the intent.
29
29
 
@@ -59,7 +59,7 @@ async function endMetrics(app) {
59
59
  logger.info('Metrics shutdown');
60
60
  }
61
61
  async function startApp(startOptions) {
62
- const { service, rootDirectory, codepath = 'build', name, } = startOptions;
62
+ const { service, rootDirectory, codepath = 'build', name } = startOptions;
63
63
  const shouldPrettyPrint = (0, env_1.isDev)() && !process.env.NO_PRETTY_LOGS;
64
64
  const destination = pino_1.pino.destination({
65
65
  dest: process.env.LOG_TO_FILE || process.stdout.fd,
@@ -206,11 +206,12 @@ async function startApp(startOptions) {
206
206
  next();
207
207
  });
208
208
  }
209
+ const codePattern = codepath === 'src' ? '**/*.ts' : '**/*.js';
209
210
  if (routing?.routes) {
210
- await (0, route_loader_1.loadRoutes)(app, path_1.default.resolve(rootDirectory, codepath, config.get('routing:routes') || 'routes'), codepath === 'src' ? '**/*.ts' : '**/*.js');
211
+ await (0, route_loader_1.loadRoutes)(app, path_1.default.resolve(rootDirectory, codepath, config.get('routing:routes') || 'routes'), codePattern);
211
212
  }
212
213
  if (routing?.openapi) {
213
- app.use((0, openapi_1.openApi)(app, rootDirectory, codepath, options.openApiOptions));
214
+ app.use(await (0, openapi_1.openApi)(app, rootDirectory, codepath, codePattern, options.openApiOptions));
214
215
  }
215
216
  // Putting this here allows more flexible middleware insertion
216
217
  await serviceImpl.start(app);
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/express-app/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/express-app/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function loadModule(path: string): Promise<Record<string, unknown>>;
2
+ export declare function getFilesInDir(pattern: string, dir: string): Promise<string[]>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFilesInDir = exports.loadModule = void 0;
4
+ const glob_1 = require("glob");
5
+ async function loadModule(path) {
6
+ try {
7
+ return require(path);
8
+ }
9
+ catch (error) {
10
+ if (error.message.includes('Cannot use import statement outside a module')) {
11
+ return import(path);
12
+ }
13
+ throw error;
14
+ }
15
+ }
16
+ exports.loadModule = loadModule;
17
+ async function getFilesInDir(pattern, dir) {
18
+ const files = await new Promise((accept, reject) => {
19
+ (0, glob_1.glob)(pattern, {
20
+ nodir: true,
21
+ strict: true,
22
+ cwd: dir,
23
+ }, (error, matches) => (error ? reject(error) : accept(matches)));
24
+ });
25
+ return files;
26
+ }
27
+ exports.getFilesInDir = getFilesInDir;
28
+ //# sourceMappingURL=modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../src/express-app/modules.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAErB,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,IAAI;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;KACtB;IAAC,OAAO,KAAK,EAAE;QACd,IAAK,KAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAAE;YACrF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;SACrB;QACD,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AATD,gCASC;AAEM,KAAK,UAAU,aAAa,CAAC,OAAe,EAAE,GAAW;IAC9D,MAAM,KAAK,GAAa,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QAC3D,IAAA,WAAI,EACF,OAAO,EACP;YACE,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,GAAG;SACT,EACD,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAC9D,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAbD,sCAaC"}
@@ -5,22 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.loadRoutes = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
- const glob_1 = require("glob");
9
8
  const express_1 = __importDefault(require("express"));
9
+ const modules_1 = require("./modules");
10
10
  async function loadRoutes(app, routingDir, pattern) {
11
- const files = await new Promise((accept, reject) => {
12
- (0, glob_1.glob)(pattern, {
13
- nodir: true,
14
- strict: true,
15
- cwd: routingDir,
16
- }, (error, matches) => (error ? reject(error) : accept(matches)));
17
- });
11
+ const files = await (0, modules_1.getFilesInDir)(pattern, routingDir);
18
12
  await Promise.all(files.map(async (filename) => {
19
13
  const routeBase = path_1.default.dirname(filename);
20
14
  const modulePath = path_1.default.resolve(routingDir, filename);
21
- // Need to use require for loading .ts files
22
- // eslint-disable-next-line import/no-dynamic-require, global-require, @typescript-eslint/no-var-requires
23
- const module = require(modulePath);
15
+ const module = await (0, modules_1.loadModule)(modulePath);
24
16
  const mounter = module.default || module.route;
25
17
  if (typeof mounter === 'function') {
26
18
  const childRouter = express_1.default.Router();
@@ -34,7 +26,7 @@ async function loadRoutes(app, routingDir, pattern) {
34
26
  pathParts.push(fn);
35
27
  }
36
28
  const finalPath = pathParts.join('/') || '/';
37
- app.locals.logger.debug({ path: finalPath, source: filename }, 'Registering route');
29
+ app.locals.logger.debug({ path: finalPath, source: filename }, 'Registering routes');
38
30
  app.use(finalPath, childRouter);
39
31
  }
40
32
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"route-loader.js","sourceRoot":"","sources":["../../src/express-app/route-loader.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,+BAA4B;AAC5B,sDAA8B;AAIvB,KAAK,UAAU,UAAU,CAAC,GAAmB,EAAE,UAAkB,EAAE,OAAe;IACvF,MAAM,KAAK,GAAa,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QAC3D,IAAA,WAAI,EACF,OAAO,EACP;YACE,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,UAAU;SAChB,EACD,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAC9D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC3B,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACtD,4CAA4C;QAC5C,yGAAyG;QACzG,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;QAC/C,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;YACjC,MAAM,WAAW,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,SAAS,KAAK,GAAG,EAAE;gBACrB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC3B;YACD,MAAM,EAAE,GAAG,cAAI,CAAC,KAAK,CAAC,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;gBAChC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACpB;YACD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,mBAAmB,CAAC,CAAC;YACpF,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SACjC;aAAM;YACL,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,kCAAkC,CAAC,CAAC;SAC1E;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAxCD,gCAwCC"}
1
+ {"version":3,"file":"route-loader.js","sourceRoot":"","sources":["../../src/express-app/route-loader.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,sDAA8B;AAI9B,uCAAsD;AAE/C,KAAK,UAAU,UAAU,CAAC,GAAmB,EAAE,UAAkB,EAAE,OAAe;IACvF,MAAM,KAAK,GAAG,MAAM,IAAA,uBAAa,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEvD,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC3B,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;QAC/C,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;YACjC,MAAM,WAAW,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,SAAS,KAAK,GAAG,EAAE;gBACrB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC3B;YACD,MAAM,EAAE,GAAG,cAAI,CAAC,KAAK,CAAC,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;gBAChC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACpB;YACD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,oBAAoB,CAAC,CAAC;YACrF,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SACjC;aAAM;YACL,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,kCAAkC,CAAC,CAAC;SAC1E;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AA5BD,gCA4BC"}
@@ -1,5 +1,5 @@
1
1
  import * as OpenApiValidator from 'express-openapi-validator';
2
2
  import type { ServiceExpress } from './types';
3
3
  type OAPIOpts = Parameters<typeof OpenApiValidator.middleware>[0];
4
- export declare function openApi(app: ServiceExpress, rootDirectory: string, codepath: string, openApiOptions?: Partial<OAPIOpts>): import("express-openapi-validator/dist/framework/types").OpenApiRequestHandler[];
4
+ export declare function openApi(app: ServiceExpress, rootDirectory: string, codepath: string, pattern: string, openApiOptions?: Partial<OAPIOpts>): Promise<import("express-openapi-validator/dist/framework/types").OpenApiRequestHandler[]>;
5
5
  export {};
package/build/openapi.js CHANGED
@@ -30,6 +30,7 @@ exports.openApi = void 0;
30
30
  const path_1 = __importDefault(require("path"));
31
31
  const lodash_1 = __importDefault(require("lodash"));
32
32
  const OpenApiValidator = __importStar(require("express-openapi-validator"));
33
+ const modules_1 = require("./express-app/modules");
33
34
  const notImplementedHandler = (req, res) => {
34
35
  res.status(501).json({
35
36
  code: 'NotImplemented',
@@ -37,9 +38,27 @@ const notImplementedHandler = (req, res) => {
37
38
  message: 'This method is not yet implemented',
38
39
  });
39
40
  };
40
- function openApi(app, rootDirectory, codepath, openApiOptions) {
41
+ async function openApi(app, rootDirectory, codepath, pattern, openApiOptions) {
41
42
  const apiSpec = path_1.default.resolve(rootDirectory, `./api/${app.locals.name}.yaml`);
42
43
  app.locals.logger.debug({ apiSpec, codepath }, 'Serving OpenAPI');
44
+ const basePath = path_1.default.resolve(rootDirectory, `${codepath}/handlers`);
45
+ // Because of the weirdness of ESM/CJS interop, and the synchronous nature of
46
+ // the OpenAPI resolver, we need to preload all the modules we might need
47
+ const moduleFiles = await (0, modules_1.getFilesInDir)(pattern, path_1.default.resolve(rootDirectory, `${codepath}/handlers`));
48
+ const preloadedModules = await Promise.all(moduleFiles.map((file) => {
49
+ const fullPath = path_1.default.join(basePath, file);
50
+ return (0, modules_1.loadModule)(fullPath).catch((error) => {
51
+ app.locals.logger.warn({ file: fullPath, message: error.message }, 'Could not load potential API handler');
52
+ return undefined;
53
+ });
54
+ }));
55
+ const modulesByPath = moduleFiles.reduce((acc, file, index) => {
56
+ const m = preloadedModules[index];
57
+ if (m) {
58
+ acc[`/${path_1.default.basename(file, path_1.default.extname(file))}`] = m;
59
+ }
60
+ return acc;
61
+ }, {});
43
62
  const defaultOptions = {
44
63
  apiSpec,
45
64
  ignoreUndocumented: true,
@@ -48,15 +67,16 @@ function openApi(app, rootDirectory, codepath, openApiOptions) {
48
67
  coerceTypes: 'array',
49
68
  },
50
69
  operationHandlers: {
51
- basePath: path_1.default.resolve(rootDirectory, `${codepath}/handlers`),
70
+ basePath,
52
71
  resolver(basePath, route) {
53
72
  const pathKey = route.openApiRoute.substring(route.basePath.length);
54
73
  const modulePath = path_1.default.join(basePath, pathKey);
55
74
  try {
56
- // eslint-disable-next-line import/no-dynamic-require, global-require, @typescript-eslint/no-var-requires
57
- const module = require(modulePath);
58
- const method = Object.keys(module).find((m) => m.toUpperCase() === route.method);
59
- if (!method) {
75
+ const module = modulesByPath[pathKey];
76
+ const method = module
77
+ ? Object.keys(module).find((m) => m.toUpperCase() === route.method)
78
+ : undefined;
79
+ if (!module || !method) {
60
80
  throw new Error(`Could not find a [${route.method}] function in ${modulePath} when trying to route [${route.method} ${route.expressRoute}].`);
61
81
  }
62
82
  return module[method];
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,oDAAuB;AACvB,4EAA8D;AAK9D,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,SAAgB,OAAO,CACrB,GAAmB,EACnB,aAAqB,EACrB,QAAgB,EAChB,cAAkC;IAElC,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC;IAC7E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAElE,MAAM,cAAc,GAAa;QAC/B,OAAO;QACP,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE;YAChB,2BAA2B,EAAE,IAAI;YACjC,WAAW,EAAE,OAAO;SACrB;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,cAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,QAAQ,WAAW,CAAC;YAC7D,QAAQ,CAAC,QAAgB,EAAE,KAAuE;gBAChG,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACpE,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAEhD,IAAI;oBACF,yGAAyG;oBACzG,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;oBACnC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;oBACjF,IAAI,CAAC,MAAM,EAAE;wBACX,MAAM,IAAI,KAAK,CACb,qBAAqB,KAAK,CAAC,MAAM,iBAAiB,UAAU,0BAA0B,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAC7H,CAAC;qBACH;oBACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;iBACvB;gBAAC,OAAO,KAAK,EAAE;oBACd,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CACrB;wBACE,KAAK,EAAG,KAAe,CAAC,OAAO;wBAC/B,OAAO;wBACP,UAAU,EAAE,cAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;qBACrD,EACD,mCAAmC,CACpC,CAAC;oBACF,OAAO,qBAAqB,CAAC;iBAC9B;YACH,CAAC;SACF;KACF,CAAC;IAEF,OAAO,gBAAgB,CAAC,UAAU,CAAC,gBAAC,CAAC,YAAY,CAAC,cAAc,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3F,CAAC;AAhDD,0BAgDC"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,9 @@ function getExporter() {
37
37
  url: process.env.OTLP_EXPORTER || 'http://otlp-exporter:4318/v1/traces',
38
38
  });
39
39
  }
40
- return new opentelemetry.tracing.ConsoleSpanExporter();
40
+ if (process.env.ENABLE_CONSOLE_OLTP_EXPORTER) {
41
+ return new opentelemetry.tracing.ConsoleSpanExporter();
42
+ }
41
43
  }
42
44
  async function startWithTelemetry(options) {
43
45
  const sdk = new opentelemetry.NodeSDK({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA2E;AAC3E,wFAA6E;AAC7E,uEAAyD;AAUzD,yDAA6D;AAE7D,+DAA+D;AAC/D,UAAI,CAAC,SAAS,CAAC,IAAI,uBAAiB,EAAE,EAAE,kBAAY,CAAC,IAAI,CAAC,CAAC;AAE3D,SAAS,WAAW;IAClB,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB;QAClC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EACrF;QACA,OAAO,IAAI,6CAAiB,CAAC;YAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,qCAAqC;SACxE,CAAC,CAAC;KACJ;IACD,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;AACzD,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAGtC,OAAqC;IACrC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC;QACpC,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,mBAAmB,EAAE,IAAI;QACzB,aAAa,EAAE,WAAW,EAAE;QAC5B,gBAAgB,EAAE,CAAC,IAAA,0CAAuB,GAAE,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAElB,oFAAoF;IACpF,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAG3D,CAAC;IACF,yGAAyG;IACzG,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC;IAC/D,MAAM,YAAY,GAAiC;QACjD,GAAG,OAAO;QACV,OAAO;QACP,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAsB;KAClD,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC;AAjCD,gDAiCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA2E;AAC3E,wFAA6E;AAC7E,uEAAyD;AAUzD,yDAA6D;AAE7D,+DAA+D;AAC/D,UAAI,CAAC,SAAS,CAAC,IAAI,uBAAiB,EAAE,EAAE,kBAAY,CAAC,IAAI,CAAC,CAAC;AAE3D,SAAS,WAAW;IAClB,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB;QAClC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EACrF;QACA,OAAO,IAAI,6CAAiB,CAAC;YAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,qCAAqC;SACxE,CAAC,CAAC;KACJ;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE;QAC5C,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;KACxD;AACH,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAGtC,OAAqC;IACrC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC;QACpC,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,mBAAmB,EAAE,IAAI;QACzB,aAAa,EAAE,WAAW,EAAE;QAC5B,gBAAgB,EAAE,CAAC,IAAA,0CAAuB,GAAE,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAElB,oFAAoF;IACpF,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAG3D,CAAC;IACF,yGAAyG;IACzG,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC;IAC/D,MAAM,YAAY,GAAiC;QACjD,GAAG,OAAO;QACV,OAAO;QACP,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAsB;KAClD,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC;AAjCD,gDAiCC"}