All files / plainweb/src print-routes.ts

0% Statements 0/20
0% Branches 0/1
0% Functions 0/1
0% Lines 0/20

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22                                           
import type { ExpandedPlainwebConfig, MailConfig } from "config";
import expressListEndpoints from "express-list-endpoints";
import { getApp } from "get-app";
 
export async function printRoutes<T extends Record<string, unknown>>(
  config: ExpandedPlainwebConfig<T, MailConfig | undefined>,
) {
  const app = await getApp(config);
  const endpoints = expressListEndpoints(app);
  const sorted = endpoints.sort((a, b) => {
    if (a.path < b.path) return -1;
    if (a.path > b.path) return 1;
    return 0;
  });
  console.log("Routes:");
  for (const endpoint of sorted) {
    for (const method of endpoint.methods) {
      console.log(method, endpoint.path);
    }
  }
}