@@ -32,6 +32,79 @@ async function initRouteService(config: UserConfig) {
3232describe ( 'RouteService' , async ( ) => {
3333 it ( 'basic' , async ( ) => {
3434 const { routeData, routeCode } = await initRouteService ( { } ) ;
35+ expect ( routeData ) . toMatchInlineSnapshot ( `
36+ Map {
37+ "/a" => {
38+ "absolutePath": "<ROOT>/packages/core/src/node/route/fixtures/basic/a.mdx",
39+ "lang": "",
40+ "pageName": "a",
41+ "relativePath": "a.mdx",
42+ "routePath": "/a",
43+ "version": "",
44+ },
45+ "/guide/b" => {
46+ "absolutePath": "<ROOT>/packages/core/src/node/route/fixtures/basic/guide/b.mdx",
47+ "lang": "",
48+ "pageName": "guide_b",
49+ "relativePath": "guide/b.mdx",
50+ "routePath": "/guide/b",
51+ "version": "",
52+ },
53+ "/guide/d" => {
54+ "absolutePath": "<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md",
55+ "lang": "",
56+ "pageName": "guide_d",
57+ "relativePath": "guide/d.md",
58+ "routePath": "/guide/d",
59+ "version": "",
60+ },
61+ "/" => {
62+ "absolutePath": "<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx",
63+ "lang": "",
64+ "pageName": "index",
65+ "relativePath": "index.mdx",
66+ "routePath": "/",
67+ "version": "",
68+ },
69+ }
70+ ` ) ;
71+
72+ expect ( routeCode ) . toMatchInlineSnapshot ( `
73+ "
74+ import React from 'react';
75+ import { lazyWithPreload } from "react-lazy-with-preload";
76+ const Route0 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/a.mdx'))
77+ const Route1 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/guide/b.mdx'))
78+ const Route2 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md'))
79+ const Route3 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx'))
80+ export const routes = [
81+ { path: '/a', element: React.createElement(Route0), filePath: 'a.mdx', preload: async () => {
82+ await Route0.preload();
83+ return import("<ROOT>/packages/core/src/node/route/fixtures/basic/a.mdx");
84+ }, lang: '', version: '' },
85+ { path: '/guide/b', element: React.createElement(Route1), filePath: 'guide/b.mdx', preload: async () => {
86+ await Route1.preload();
87+ return import("<ROOT>/packages/core/src/node/route/fixtures/basic/guide/b.mdx");
88+ }, lang: '', version: '' },
89+ { path: '/guide/d', element: React.createElement(Route2), filePath: 'guide/d.md', preload: async () => {
90+ await Route2.preload();
91+ return import("<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md");
92+ }, lang: '', version: '' },
93+ { path: '/', element: React.createElement(Route3), filePath: 'index.mdx', preload: async () => {
94+ await Route3.preload();
95+ return import("<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx");
96+ }, lang: '', version: '' }
97+ ];
98+ "
99+ ` ) ;
100+ } ) ;
101+
102+ it ( 'RouteService with route.extensions' , async ( ) => {
103+ const { routeData, routeCode } = await initRouteService ( {
104+ route : {
105+ extensions : [ '.mdx' , '.md' , '.tsx' ] ,
106+ } ,
107+ } ) ;
35108 expect ( routeData ) . toMatchInlineSnapshot ( `
36109 Map {
37110 "/a" => {
@@ -58,6 +131,14 @@ describe('RouteService', async () => {
58131 "routePath": "/guide/c",
59132 "version": "",
60133 },
134+ "/guide/d" => {
135+ "absolutePath": "<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md",
136+ "lang": "",
137+ "pageName": "guide_d",
138+ "relativePath": "guide/d.md",
139+ "routePath": "/guide/d",
140+ "version": "",
141+ },
61142 "/" => {
62143 "absolutePath": "<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx",
63144 "lang": "",
@@ -68,15 +149,15 @@ describe('RouteService', async () => {
68149 },
69150 }
70151 ` ) ;
71-
72152 expect ( routeCode ) . toMatchInlineSnapshot ( `
73153 "
74154 import React from 'react';
75155 import { lazyWithPreload } from "react-lazy-with-preload";
76156 const Route0 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/a.mdx'))
77157 const Route1 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/guide/b.mdx'))
78158 const Route2 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/guide/c.tsx'))
79- const Route3 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx'))
159+ const Route3 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md'))
160+ const Route4 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx'))
80161 export const routes = [
81162 { path: '/a', element: React.createElement(Route0), filePath: 'a.mdx', preload: async () => {
82163 await Route0.preload();
@@ -90,8 +171,12 @@ describe('RouteService', async () => {
90171 await Route2.preload();
91172 return import("<ROOT>/packages/core/src/node/route/fixtures/basic/guide/c.tsx");
92173 }, lang: '', version: '' },
93- { path: '/', element: React.createElement(Route3), filePath: 'index.mdx ', preload: async () => {
174+ { path: '/guide/d ', element: React.createElement(Route3), filePath: 'guide/d.md ', preload: async () => {
94175 await Route3.preload();
176+ return import("<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md");
177+ }, lang: '', version: '' },
178+ { path: '/', element: React.createElement(Route4), filePath: 'index.mdx', preload: async () => {
179+ await Route4.preload();
95180 return import("<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx");
96181 }, lang: '', version: '' }
97182 ];
@@ -115,12 +200,12 @@ describe('RouteService', async () => {
115200 "routePath": "/a",
116201 "version": "",
117202 },
118- "/guide/c " => {
119- "absolutePath": "<ROOT>/packages/core/src/node/route/fixtures/basic/guide/c.tsx ",
203+ "/guide/d " => {
204+ "absolutePath": "<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md ",
120205 "lang": "",
121- "pageName": "guide_c ",
122- "relativePath": "guide/c.tsx ",
123- "routePath": "/guide/c ",
206+ "pageName": "guide_d ",
207+ "relativePath": "guide/d.md ",
208+ "routePath": "/guide/d ",
124209 "version": "",
125210 },
126211 "/" => {
@@ -138,16 +223,16 @@ describe('RouteService', async () => {
138223 import React from 'react';
139224 import { lazyWithPreload } from "react-lazy-with-preload";
140225 const Route0 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/a.mdx'))
141- const Route1 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/guide/c.tsx '))
226+ const Route1 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md '))
142227 const Route2 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx'))
143228 export const routes = [
144229 { path: '/a', element: React.createElement(Route0), filePath: 'a.mdx', preload: async () => {
145230 await Route0.preload();
146231 return import("<ROOT>/packages/core/src/node/route/fixtures/basic/a.mdx");
147232 }, lang: '', version: '' },
148- { path: '/guide/c ', element: React.createElement(Route1), filePath: 'guide/c.tsx ', preload: async () => {
233+ { path: '/guide/d ', element: React.createElement(Route1), filePath: 'guide/d.md ', preload: async () => {
149234 await Route1.preload();
150- return import("<ROOT>/packages/core/src/node/route/fixtures/basic/guide/c.tsx ");
235+ return import("<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md ");
151236 }, lang: '', version: '' },
152237 { path: '/', element: React.createElement(Route2), filePath: 'index.mdx', preload: async () => {
153238 await Route2.preload();
@@ -182,6 +267,14 @@ describe('RouteService', async () => {
182267 "routePath": "/guide/b",
183268 "version": "",
184269 },
270+ "/guide/d" => {
271+ "absolutePath": "<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md",
272+ "lang": "",
273+ "pageName": "guide_d",
274+ "relativePath": "guide/d.md",
275+ "routePath": "/guide/d",
276+ "version": "",
277+ },
185278 "/" => {
186279 "absolutePath": "<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx",
187280 "lang": "",
@@ -198,7 +291,8 @@ describe('RouteService', async () => {
198291 import { lazyWithPreload } from "react-lazy-with-preload";
199292 const Route0 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/a.mdx'))
200293 const Route1 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/guide/b.mdx'))
201- const Route2 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx'))
294+ const Route2 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md'))
295+ const Route3 = lazyWithPreload(() => import('<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx'))
202296 export const routes = [
203297 { path: '/a', element: React.createElement(Route0), filePath: 'a.mdx', preload: async () => {
204298 await Route0.preload();
@@ -208,8 +302,12 @@ describe('RouteService', async () => {
208302 await Route1.preload();
209303 return import("<ROOT>/packages/core/src/node/route/fixtures/basic/guide/b.mdx");
210304 }, lang: '', version: '' },
211- { path: '/', element: React.createElement(Route2), filePath: 'index.mdx ', preload: async () => {
305+ { path: '/guide/d ', element: React.createElement(Route2), filePath: 'guide/d.md ', preload: async () => {
212306 await Route2.preload();
307+ return import("<ROOT>/packages/core/src/node/route/fixtures/basic/guide/d.md");
308+ }, lang: '', version: '' },
309+ { path: '/', element: React.createElement(Route3), filePath: 'index.mdx', preload: async () => {
310+ await Route3.preload();
213311 return import("<ROOT>/packages/core/src/node/route/fixtures/basic/index.mdx");
214312 }, lang: '', version: '' }
215313 ];
0 commit comments