Skip to content

Commit 6592876

Browse files
committed
fix(builder): apply plugins in build mode
1 parent b60908e commit 6592876

File tree

3 files changed

+19
-9
lines changed

3 files changed

+19
-9
lines changed

packages/dobs/src/builder/index.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,13 @@ const _middlewares = _config?.middlewares;
6666
6767
const _app = _dobs_http();
6868
69-
_server_entry(_app);
69+
(async function() {
70+
_server_entry(_app);
7071
71-
_app.use(...[..._middlewares, _internal._buildInternalMiddleware({${rawRoutes.join(',\n')}}, _config)]);
72+
_app.use(...[..._middlewares, await _internal._buildInternalMiddleware({${rawRoutes.join(',\n')}}, _config)]);
7273
73-
_app.listen(process.env.PORT ?? _config.port, () => {console.log("server is running on " + (process.env.PORT ?? _config.port))});
74+
_app.listen(process.env.PORT ?? _config.port, () => {console.log("server is running on " + (process.env.PORT ?? _config.port))});
75+
})();
7476
`,
7577
);
7678

packages/dobs/src/builder/middleware.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,34 @@ import { Middleware } from '@dobsjs/http';
33
import { createInternalRouter } from '~/dobs/server/router';
44
import { convertPathToRegex } from '~/dobs/shared/urlPath';
55
import { ResolvedServerConfig } from '~/dobs/config';
6+
import { createPluginRunner } from '../plugin';
67

78
interface Route {
89
regex: RegExp;
910
params: string[];
1011
relativePath: string;
1112
}
1213

13-
export function _buildInternalMiddleware(
14+
export async function _buildInternalMiddleware(
1415
routes: Record<string, any>,
1516
cfg: ResolvedServerConfig,
16-
): Middleware {
17+
): Promise<Middleware> {
1718
const builtRoutes: Route[] = Object.keys(routes).map((file) => {
1819
const normalized = file.replace(/\\/g, '/').replace(/^\/?/, '');
1920
return { ...convertPathToRegex(normalized), relativePath: normalized };
2021
});
22+
const runner = createPluginRunner(cfg.plugins);
2123

2224
const builtMap = new Map<string, string>();
2325
const preloadedModules = new Map<string, any>(
24-
Object.entries(routes).map(([k, v]) => [
25-
k.replace(/\\/g, '/').replace(/^\/?/, ''),
26-
v,
27-
]),
26+
await Promise.all(
27+
Object.entries(routes).map(async ([k, v]) => {
28+
return [
29+
k.replace(/\\/g, '/').replace(/^\/?/, ''),
30+
await runner.execute('generateRoute', v),
31+
] as const;
32+
}),
33+
),
2834
);
2935

3036
return createInternalRouter(cfg, builtRoutes, builtMap, preloadedModules);

packages/dobs/src/server/router.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ export function createInternalRouter(
117117
const params = matchUrlToRoute(url, route);
118118
req.params = params;
119119

120+
console.log(pageModule);
121+
120122
try {
121123
const method = (req.method || '').toLowerCase();
122124
const handlers: PageType = pageModule; // await pluginRunner.execute('generateRoute', pageModule);

0 commit comments

Comments
 (0)