@@ -1816,6 +1816,7 @@ describe("mapFeatures", () => {
18161816 "",
18171817 "const config = { import: true }",
18181818 "export type { Router as ExportedTypeRouter } from 'express';",
1819+ "const importPattern = /import { Router as RegexImportRouter } from 'express'/;",
18191820 "const app = express();",
18201821 "const otherRouter = OtherRouter();",
18211822 "const commentedOutRouter = CommentedOutRouter();",
@@ -1827,6 +1828,7 @@ describe("mapFeatures", () => {
18271828 "const fromBindingRouter = FromBindingRouter();",
18281829 "const commentedTypeRouter = CommentedTypeRouter();",
18291830 "const exportedTypeRouter = ExportedTypeRouter();",
1831+ "const regexImportRouter = RegexImportRouter();",
18301832 "const typedRouter: Router = Router();",
18311833 "const projectRouter = Router({ mergeParams: true });",
18321834 "let hitCount = 0;",
@@ -1847,6 +1849,7 @@ describe("mapFeatures", () => {
18471849 "fromBindingRouter.get('/from-binding-router', listFromBindingRouter);",
18481850 "commentedTypeRouter.get('/commented-type-router', ignoredCommentedTypeRouter);",
18491851 "exportedTypeRouter.get('/exported-type-router', ignoredExportedTypeRouter);",
1852+ "regexImportRouter.get('/regex-import-router', ignoredRegexImportRouter);",
18501853 "router.post<{ Body: CreateJob }>('/typed-jobs', createTypedJob);",
18511854 "typedRouter.patch('/typed/:id', updateTyped);",
18521855 "router.route('/users').get(listUsers).delete(deleteUsers);",
@@ -1874,6 +1877,7 @@ describe("mapFeatures", () => {
18741877 "function listFromBindingRouter() {}",
18751878 "function ignoredCommentedTypeRouter() {}",
18761879 "function ignoredExportedTypeRouter() {}",
1880+ "function ignoredRegexImportRouter() {}",
18771881 "function createTypedJob() {}",
18781882 "function updateTyped() {}",
18791883 "function listUsers() {}",
@@ -1975,6 +1979,18 @@ describe("mapFeatures", () => {
19751979 await writeFixture(root, "src/fastify.test.ts", "test('fastify', () => {});\n");
19761980 await writeFixture(root, "src/fastify-plugin.test.ts", "test('fastify plugin', () => {});\n");
19771981 await writeFixture(root, "src/hono.test.ts", "test('hono', () => {});\n");
1982+ await writeFixture(
1983+ root,
1984+ "src/bom-router.ts",
1985+ [
1986+ "\uFEFFimport { Router as BomRouter } from 'express';",
1987+ "",
1988+ "const bomRouter = BomRouter();",
1989+ "bomRouter.get('/bom-router', listBomRouter);",
1990+ "function listBomRouter() {}",
1991+ "",
1992+ ].join("\n"),
1993+ );
19781994 await writeFixture(
19791995 root,
19801996 "src/mixed.tsx",
@@ -1983,8 +1999,12 @@ describe("mapFeatures", () => {
19831999 "",
19842000 "const app = express();",
19852001 "const view = <div></div>;",
2002+ "const docs = <code>import { Router as JsxImportRouter } from 'express'</code>;",
2003+ "const jsxImportRouter = JsxImportRouter();",
19862004 "app.get('/after-jsx-close', afterJsxClose);",
2005+ "jsxImportRouter.get('/jsx-import-router', ignoredJsxImportRouter);",
19872006 "function afterJsxClose() {}",
2007+ "function ignoredJsxImportRouter() {}",
19882008 "",
19892009 ].join("\n"),
19902010 );
@@ -2061,6 +2081,7 @@ describe("mapFeatures", () => {
20612081 "Express route DELETE /users",
20622082 "Express route GET /reports",
20632083 "Express route GET /projects/:projectId/items",
2084+ "Express route GET /bom-router",
20642085 "Express route GET /after-jsx-close",
20652086 "Express route GET /custom-file-real",
20662087 "Fastify route GET /status",
@@ -2081,6 +2102,8 @@ describe("mapFeatures", () => {
20812102 expect(titles).not.toContain("Express route GET /commented-out-router");
20822103 expect(titles).not.toContain("Express route GET /commented-type-router");
20832104 expect(titles).not.toContain("Express route GET /exported-type-router");
2105+ expect(titles).not.toContain("Express route GET /regex-import-router");
2106+ expect(titles).not.toContain("Express route GET /jsx-import-router");
20842107 expect(titles).not.toContain("Express route GET /custom-import-router");
20852108 expect(titles).not.toContain("Express route GET /custom-router");
20862109 expect(titles).not.toContain("Express route GET /custom-alias-router");
0 commit comments