@rudderjs/vite 2.2.1 → 2.4.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.
- package/dist/commands/routes-sync.d.ts +19 -0
- package/dist/commands/routes-sync.d.ts.map +1 -0
- package/dist/commands/routes-sync.js +36 -0
- package/dist/commands/routes-sync.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/routes-scanner.d.ts +68 -0
- package/dist/routes-scanner.d.ts.map +1 -0
- package/dist/routes-scanner.js +182 -0
- package/dist/routes-scanner.js.map +1 -0
- package/dist/views-scanner.d.ts.map +1 -1
- package/dist/views-scanner.js +109 -1
- package/dist/views-scanner.js.map +1 -1
- package/package.json +9 -4
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Register the `routes:sync` command with the rudder CLI.
|
|
3
|
+
*
|
|
4
|
+
* Regenerates `pages/__view/routes.d.ts` from `routes/*.ts` without booting
|
|
5
|
+
* the app or starting Vite. Useful when:
|
|
6
|
+
*
|
|
7
|
+
* - Running `tsc` in CI before any Vite step (typecheck-before-build order)
|
|
8
|
+
* - On a fresh clone / scaffolded app, before the first `pnpm dev` or `pnpm build`
|
|
9
|
+
* - After adding a `.name('foo')` chain in `routes/web.ts` and you want
|
|
10
|
+
* `route('foo', ...)` to type-check without restarting the dev server
|
|
11
|
+
*
|
|
12
|
+
* Idempotent — `writeIfChanged` skips the write when content is unchanged.
|
|
13
|
+
*/
|
|
14
|
+
export declare function registerRoutesSyncCommand(rudder: {
|
|
15
|
+
command(name: string, handler: (args: string[]) => void | Promise<void>): {
|
|
16
|
+
description(text: string): unknown;
|
|
17
|
+
};
|
|
18
|
+
}): void;
|
|
19
|
+
//# sourceMappingURL=routes-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes-sync.d.ts","sourceRoot":"","sources":["../../src/commands/routes-sync.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE;IAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG;QAAE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;CAAE,GAC3H,IAAI,CAuBN"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { syncRoutesFromDisk } from '../routes-scanner.js';
|
|
2
|
+
/**
|
|
3
|
+
* Register the `routes:sync` command with the rudder CLI.
|
|
4
|
+
*
|
|
5
|
+
* Regenerates `pages/__view/routes.d.ts` from `routes/*.ts` without booting
|
|
6
|
+
* the app or starting Vite. Useful when:
|
|
7
|
+
*
|
|
8
|
+
* - Running `tsc` in CI before any Vite step (typecheck-before-build order)
|
|
9
|
+
* - On a fresh clone / scaffolded app, before the first `pnpm dev` or `pnpm build`
|
|
10
|
+
* - After adding a `.name('foo')` chain in `routes/web.ts` and you want
|
|
11
|
+
* `route('foo', ...)` to type-check without restarting the dev server
|
|
12
|
+
*
|
|
13
|
+
* Idempotent — `writeIfChanged` skips the write when content is unchanged.
|
|
14
|
+
*/
|
|
15
|
+
export function registerRoutesSyncCommand(rudder) {
|
|
16
|
+
rudder.command('routes:sync', async (args) => {
|
|
17
|
+
const jsonFlag = args.includes('--json');
|
|
18
|
+
try {
|
|
19
|
+
const result = syncRoutesFromDisk();
|
|
20
|
+
if (jsonFlag) {
|
|
21
|
+
console.log(JSON.stringify(result, null, 2));
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (!result.routesDirExists) {
|
|
25
|
+
console.log('No routes/ directory found — nothing to scan.');
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
console.log(`✓ Scanned ${result.routeCount} named route${result.routeCount === 1 ? '' : 's'} → pages/__view/routes.d.ts`);
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
console.error('routes:sync failed:', err instanceof Error ? err.message : err);
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
}).description('Regenerate the RouteRegistry augmentation from routes/*.ts');
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=routes-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes-sync.js","sourceRoot":"","sources":["../../src/commands/routes-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAA4H;IAE5H,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,IAAc,EAAE,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAExC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAA;YAEnC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC5C,OAAM;YACR,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;gBAC5D,OAAM;YACR,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,UAAU,eAAe,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,6BAA6B,CAAC,CAAA;QAC3H,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAC,CAAC,WAAW,CAAC,4DAA4D,CAAC,CAAA;AAC9E,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAiDlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,QAAQ,IAAI,MAAM,EAAE,CA6MnC;AAED,eAAe,QAAQ,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { viewsScannerPlugin } from './views-scanner.js';
|
|
3
|
+
import { routesScannerPlugin } from './routes-scanner.js';
|
|
3
4
|
// ─── SSR / build externals ─────────────────────────────────
|
|
4
5
|
const SSR_EXTERNALS = [
|
|
5
6
|
// @rudderjs/view — linked package, Vite's SSR module runner can't resolve
|
|
@@ -75,6 +76,7 @@ const SSR_NO_EXTERNALS = [
|
|
|
75
76
|
export function rudderjs() {
|
|
76
77
|
return [
|
|
77
78
|
viewsScannerPlugin(),
|
|
79
|
+
routesScannerPlugin(),
|
|
78
80
|
{
|
|
79
81
|
// Inject x-real-ip header from the Node socket so downstream Hono
|
|
80
82
|
// middleware can read the client IP. Vike's universal-middleware
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* routes/* scanner — extracts `.name('foo')` chains from `routes/*.ts` and
|
|
3
|
+
* emits a `RouteRegistry` augmentation so `route('foo', ...)` calls type-check.
|
|
4
|
+
*
|
|
5
|
+
* The scanner is regex-based on purpose: routes/*.ts files are small, predictable
|
|
6
|
+
* shapes, and pulling in a TS AST parser for this would dwarf the win. Three
|
|
7
|
+
* patterns are recognised:
|
|
8
|
+
*
|
|
9
|
+
* Route.get('/users/:id', handler).name('users.show')
|
|
10
|
+
* router.post('/posts', handler).name('posts.store')
|
|
11
|
+
* router.get('/users/:id', handler, middleware).name('users.show')
|
|
12
|
+
*
|
|
13
|
+
* Multi-line chains are tolerated via `[\s\S]*?` between the verb call and the
|
|
14
|
+
* `.name(...)`. The scanner reads each file, applies the regex, and dedups
|
|
15
|
+
* across files — first-write-wins, which mirrors `Router.registerNamed()`'s
|
|
16
|
+
* runtime behaviour (registering a name twice would throw at boot).
|
|
17
|
+
*
|
|
18
|
+
* Limitations (intentional, documented):
|
|
19
|
+
* - Variable paths (`router.get(loginPath, ...).name('login')`) are skipped.
|
|
20
|
+
* The scanner sees no literal string and falls through silently.
|
|
21
|
+
* - Variable names (`.name(LOGIN_ROUTE_NAME)`) are skipped, same reason.
|
|
22
|
+
* - Routes registered inside helper functions (e.g. `registerAuthRoutes(router)`)
|
|
23
|
+
* are NOT visible to the scanner — those live under each package's src
|
|
24
|
+
* tree and run at boot time. Apps that need them in `RouteRegistry` hand-augment
|
|
25
|
+
* the interface; the scanner's emit MERGES with manual augmentations via
|
|
26
|
+
* declaration merging.
|
|
27
|
+
*
|
|
28
|
+
* Output: `pages/__view/routes.d.ts` (sibling to the existing views `registry.d.ts`).
|
|
29
|
+
* The single shared `pages/__view/` directory keeps both registries together —
|
|
30
|
+
* conceptually they're both "type augmentations the scanner emits for app code".
|
|
31
|
+
*/
|
|
32
|
+
import type { Plugin } from 'vite';
|
|
33
|
+
export interface DiscoveredNamedRoute {
|
|
34
|
+
/** Named route id, e.g. `'users.show'` */
|
|
35
|
+
name: string;
|
|
36
|
+
/** URL pattern with `:params`, e.g. `'/users/:id'` */
|
|
37
|
+
path: string;
|
|
38
|
+
/** HTTP verb in lowercase, e.g. `'get'`. Surfaces in diagnostics only. */
|
|
39
|
+
verb: string;
|
|
40
|
+
/** Source file (relative to cwd) — surfaces in conflict warnings only. */
|
|
41
|
+
source: string;
|
|
42
|
+
}
|
|
43
|
+
export declare function scanRouteFiles(routesDir: string): DiscoveredNamedRoute[];
|
|
44
|
+
export declare function routesRegistrySource(routes: DiscoveredNamedRoute[]): string;
|
|
45
|
+
export interface RoutesSyncResult {
|
|
46
|
+
routesDirExists: boolean;
|
|
47
|
+
routeCount: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* One-shot scan + emit, runnable outside of Vite (CLI tooling, CI scripts
|
|
51
|
+
* that need the augmentation file on disk before tsc runs). Idempotent —
|
|
52
|
+
* read-compare-then-write via `writeIfChanged`.
|
|
53
|
+
*/
|
|
54
|
+
export declare function syncRoutesFromDisk(cwd?: string): RoutesSyncResult;
|
|
55
|
+
export interface RoutesScannerOptions {
|
|
56
|
+
/**
|
|
57
|
+
* App-relative directory to scan for named-route declarations. Defaults to
|
|
58
|
+
* `routes/`. Files matched: `*.ts`, `*.mts`, `*.tsx`, `*.js`, `*.mjs`.
|
|
59
|
+
*/
|
|
60
|
+
routesDir?: string;
|
|
61
|
+
/**
|
|
62
|
+
* App-relative output path for the augmentation `.d.ts`. Defaults to
|
|
63
|
+
* `pages/__view/routes.d.ts` — same parent dir as the views registry.
|
|
64
|
+
*/
|
|
65
|
+
outFile?: string;
|
|
66
|
+
}
|
|
67
|
+
export declare function routesScannerPlugin(opts?: RoutesScannerOptions): Plugin;
|
|
68
|
+
//# sourceMappingURL=routes-scanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes-scanner.d.ts","sourceRoot":"","sources":["../src/routes-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAqBlC,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAA;CACf;AA0BD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,EAAE,CA8BxE;AAID,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAqB3E;AAkBD,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,OAAO,CAAA;IACxB,UAAU,EAAO,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAsB,GAAG,gBAAgB,CAShF;AAED,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAI,MAAM,CAAA;CACnB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,oBAAyB,GAAG,MAAM,CA4B3E"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* routes/* scanner — extracts `.name('foo')` chains from `routes/*.ts` and
|
|
3
|
+
* emits a `RouteRegistry` augmentation so `route('foo', ...)` calls type-check.
|
|
4
|
+
*
|
|
5
|
+
* The scanner is regex-based on purpose: routes/*.ts files are small, predictable
|
|
6
|
+
* shapes, and pulling in a TS AST parser for this would dwarf the win. Three
|
|
7
|
+
* patterns are recognised:
|
|
8
|
+
*
|
|
9
|
+
* Route.get('/users/:id', handler).name('users.show')
|
|
10
|
+
* router.post('/posts', handler).name('posts.store')
|
|
11
|
+
* router.get('/users/:id', handler, middleware).name('users.show')
|
|
12
|
+
*
|
|
13
|
+
* Multi-line chains are tolerated via `[\s\S]*?` between the verb call and the
|
|
14
|
+
* `.name(...)`. The scanner reads each file, applies the regex, and dedups
|
|
15
|
+
* across files — first-write-wins, which mirrors `Router.registerNamed()`'s
|
|
16
|
+
* runtime behaviour (registering a name twice would throw at boot).
|
|
17
|
+
*
|
|
18
|
+
* Limitations (intentional, documented):
|
|
19
|
+
* - Variable paths (`router.get(loginPath, ...).name('login')`) are skipped.
|
|
20
|
+
* The scanner sees no literal string and falls through silently.
|
|
21
|
+
* - Variable names (`.name(LOGIN_ROUTE_NAME)`) are skipped, same reason.
|
|
22
|
+
* - Routes registered inside helper functions (e.g. `registerAuthRoutes(router)`)
|
|
23
|
+
* are NOT visible to the scanner — those live under each package's src
|
|
24
|
+
* tree and run at boot time. Apps that need them in `RouteRegistry` hand-augment
|
|
25
|
+
* the interface; the scanner's emit MERGES with manual augmentations via
|
|
26
|
+
* declaration merging.
|
|
27
|
+
*
|
|
28
|
+
* Output: `pages/__view/routes.d.ts` (sibling to the existing views `registry.d.ts`).
|
|
29
|
+
* The single shared `pages/__view/` directory keeps both registries together —
|
|
30
|
+
* conceptually they're both "type augmentations the scanner emits for app code".
|
|
31
|
+
*/
|
|
32
|
+
import fs from 'node:fs';
|
|
33
|
+
import path from 'node:path';
|
|
34
|
+
// ─── Regex ─────────────────────────────────────────────────
|
|
35
|
+
/**
|
|
36
|
+
* Match `(Route|router).<verb>('path', ...).name('foo')` chains.
|
|
37
|
+
*
|
|
38
|
+
* Captures:
|
|
39
|
+
* [1] verb — get / post / put / patch / delete / all / head / options
|
|
40
|
+
* [2] path — first literal-string arg to the verb call
|
|
41
|
+
* [3] name — literal-string arg to .name()
|
|
42
|
+
*
|
|
43
|
+
* Multi-line tolerant — the `[\s\S]` body between the verb's open string
|
|
44
|
+
* and `.name(...)` is laundered through a negative lookahead that bails the
|
|
45
|
+
* moment ANOTHER `Route.<verb>(` or `router.<verb>(` appears. Without that,
|
|
46
|
+
* a non-`.name()`'d chain followed later in the file by a different chain
|
|
47
|
+
* that DOES `.name()` would silently bridge — the path from chain A would
|
|
48
|
+
* end up paired with the name from chain B.
|
|
49
|
+
*/
|
|
50
|
+
const ROUTE_NAME_RE = /\b(?:Route|router)\s*\.\s*(get|post|put|patch|delete|all|head|options)\s*\(\s*['"`]([^'"`]+)['"`](?:(?!\b(?:Route|router)\s*\.\s*(?:get|post|put|patch|delete|all|head|options)\s*\()[\s\S])*?\.name\s*\(\s*['"`]([^'"`]+)['"`]\s*\)/g;
|
|
51
|
+
// ─── File discovery + scan ─────────────────────────────────
|
|
52
|
+
function readFileSafe(absPath) {
|
|
53
|
+
try {
|
|
54
|
+
return fs.readFileSync(absPath, 'utf8');
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function walkRouteFiles(dir) {
|
|
61
|
+
if (!fs.existsSync(dir))
|
|
62
|
+
return [];
|
|
63
|
+
const out = [];
|
|
64
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
65
|
+
const full = path.join(dir, entry.name);
|
|
66
|
+
if (entry.isDirectory()) {
|
|
67
|
+
out.push(...walkRouteFiles(full));
|
|
68
|
+
}
|
|
69
|
+
else if (/\.(?:ts|mts|tsx|js|mjs)$/.test(entry.name)) {
|
|
70
|
+
out.push(full);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return out;
|
|
74
|
+
}
|
|
75
|
+
export function scanRouteFiles(routesDir) {
|
|
76
|
+
const seen = new Map();
|
|
77
|
+
const files = walkRouteFiles(routesDir).sort(); // sort for stable output
|
|
78
|
+
const cwd = process.cwd();
|
|
79
|
+
for (const abs of files) {
|
|
80
|
+
const source = readFileSafe(abs);
|
|
81
|
+
if (source === null)
|
|
82
|
+
continue;
|
|
83
|
+
const relSource = path.relative(cwd, abs).replace(/\\/g, '/');
|
|
84
|
+
let match;
|
|
85
|
+
ROUTE_NAME_RE.lastIndex = 0;
|
|
86
|
+
while ((match = ROUTE_NAME_RE.exec(source)) !== null) {
|
|
87
|
+
const [, verb, pathPattern, name] = match;
|
|
88
|
+
if (!verb || !pathPattern || !name)
|
|
89
|
+
continue;
|
|
90
|
+
const existing = seen.get(name);
|
|
91
|
+
if (existing && existing.path !== pathPattern) {
|
|
92
|
+
// Conflicting registration — warn but keep first-write (matches the
|
|
93
|
+
// runtime's first-write-wins behaviour: the second .name() call would
|
|
94
|
+
// currently overwrite; we follow runtime semantics by keeping the
|
|
95
|
+
// first occurrence in the scan order).
|
|
96
|
+
console.warn(`[RudderJS] Named route "${name}" registered with conflicting paths: ` +
|
|
97
|
+
`"${existing.path}" (${existing.source}) vs "${pathPattern}" (${relSource}). ` +
|
|
98
|
+
`Keeping the first; rename one of them to fix.`);
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
seen.set(name, { name, path: pathPattern, verb: verb.toLowerCase(), source: relSource });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return [...seen.values()].sort((a, b) => a.name.localeCompare(b.name));
|
|
105
|
+
}
|
|
106
|
+
// ─── Emission ──────────────────────────────────────────────
|
|
107
|
+
export function routesRegistrySource(routes) {
|
|
108
|
+
// Quoting strategy: name and path are scanned from literal string args, so
|
|
109
|
+
// they're guaranteed to contain only the chars the source had between quotes.
|
|
110
|
+
// We emit them with single quotes; if a path contains a single quote that
|
|
111
|
+
// would already be a syntax error in the source file, so the regex couldn't
|
|
112
|
+
// have matched it.
|
|
113
|
+
const entries = routes
|
|
114
|
+
.map(r => ` '${r.name}': '${r.path}'`)
|
|
115
|
+
.join('\n');
|
|
116
|
+
const body = entries ? `\n${entries}\n ` : '\n ';
|
|
117
|
+
return `// AUTO-GENERATED by @rudderjs/vite — do not edit.
|
|
118
|
+
// Maps named-route ids → URL patterns for typed route() calls.
|
|
119
|
+
// Re-generated on every scan; only routes with a literal path AND literal name
|
|
120
|
+
// at the call site are picked up. Hand-augment RouteRegistry yourself for
|
|
121
|
+
// runtime-registered routes (e.g. registerAuthRoutes from @rudderjs/auth).
|
|
122
|
+
declare module '@rudderjs/router' {
|
|
123
|
+
interface RouteRegistry {${body}}
|
|
124
|
+
}
|
|
125
|
+
export {}
|
|
126
|
+
`;
|
|
127
|
+
}
|
|
128
|
+
function writeIfChanged(file, contents) {
|
|
129
|
+
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
130
|
+
if (fs.existsSync(file)) {
|
|
131
|
+
if (fs.readFileSync(file, 'utf8') === contents)
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
fs.writeFileSync(file, contents);
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
// ─── Plugin ────────────────────────────────────────────────
|
|
138
|
+
const DEFAULT_ROUTES_DIR = 'routes';
|
|
139
|
+
const DEFAULT_OUT_FILE = path.join('pages', '__view', 'routes.d.ts');
|
|
140
|
+
/**
|
|
141
|
+
* One-shot scan + emit, runnable outside of Vite (CLI tooling, CI scripts
|
|
142
|
+
* that need the augmentation file on disk before tsc runs). Idempotent —
|
|
143
|
+
* read-compare-then-write via `writeIfChanged`.
|
|
144
|
+
*/
|
|
145
|
+
export function syncRoutesFromDisk(cwd = process.cwd()) {
|
|
146
|
+
const routesDir = path.join(cwd, DEFAULT_ROUTES_DIR);
|
|
147
|
+
const outFile = path.join(cwd, DEFAULT_OUT_FILE);
|
|
148
|
+
if (!fs.existsSync(routesDir)) {
|
|
149
|
+
return { routesDirExists: false, routeCount: 0 };
|
|
150
|
+
}
|
|
151
|
+
const routes = scanRouteFiles(routesDir);
|
|
152
|
+
writeIfChanged(outFile, routesRegistrySource(routes));
|
|
153
|
+
return { routesDirExists: true, routeCount: routes.length };
|
|
154
|
+
}
|
|
155
|
+
export function routesScannerPlugin(opts = {}) {
|
|
156
|
+
const cwd = process.cwd();
|
|
157
|
+
const routesDir = path.resolve(cwd, opts.routesDir ?? DEFAULT_ROUTES_DIR);
|
|
158
|
+
const outFile = path.resolve(cwd, opts.outFile ?? DEFAULT_OUT_FILE);
|
|
159
|
+
function sync() {
|
|
160
|
+
const routes = scanRouteFiles(routesDir);
|
|
161
|
+
writeIfChanged(outFile, routesRegistrySource(routes));
|
|
162
|
+
}
|
|
163
|
+
// Eager sync at plugin construction so tests + first dev start get the
|
|
164
|
+
// augmentation without waiting for buildStart. Mirrors views-scanner pattern.
|
|
165
|
+
sync();
|
|
166
|
+
return {
|
|
167
|
+
name: 'rudderjs:routes-scanner',
|
|
168
|
+
buildStart() { sync(); },
|
|
169
|
+
configureServer(server) {
|
|
170
|
+
// Watch routes/ for adds/changes/renames and rescan.
|
|
171
|
+
server.watcher.add(routesDir);
|
|
172
|
+
const onChange = (file) => {
|
|
173
|
+
if (file.startsWith(routesDir))
|
|
174
|
+
sync();
|
|
175
|
+
};
|
|
176
|
+
server.watcher.on('add', onChange);
|
|
177
|
+
server.watcher.on('change', onChange);
|
|
178
|
+
server.watcher.on('unlink', onChange);
|
|
179
|
+
},
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=routes-scanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes-scanner.js","sourceRoot":"","sources":["../src/routes-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views-scanner.d.ts","sourceRoot":"","sources":["../src/views-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,KAAK,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"views-scanner.d.ts","sourceRoot":"","sources":["../src/views-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,KAAK,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAA;AA+nBtD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,eAAe,EAAE,OAAO,CAAA;IACxB,0EAA0E;IAC1E,SAAS,EAAQ,SAAS,GAAG,IAAI,CAAA;IACjC,kCAAkC;IAClC,SAAS,EAAQ,MAAM,CAAA;IACvB,qDAAqD;IACrD,UAAU,EAAO,MAAM,CAAA;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG,eAAe,CA6B9E;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAuC3C"}
|
package/dist/views-scanner.js
CHANGED
|
@@ -130,6 +130,53 @@ function readHasPropsExport(absPath) {
|
|
|
130
130
|
return false;
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Detect the `export const prerender = …` declaration and capture everything
|
|
135
|
+
* after the identifier on the same line. Two-pass so type annotations like
|
|
136
|
+
* `: () => Promise<string[]>` (whose `=>` arrow contains a literal `=` that
|
|
137
|
+
* a single-regex match would interpret as the assignment operator) parse
|
|
138
|
+
* correctly.
|
|
139
|
+
*
|
|
140
|
+
* Anchored at start-of-line (via the `m` flag's `^`) so the literal characters
|
|
141
|
+
* `export const prerender = [...]` appearing inside a string elsewhere in the
|
|
142
|
+
* file (e.g. a documentation snippet on a /demos card) don't false-positive
|
|
143
|
+
* as the actual top-level export. Top-level exports in TS/JS are at the start
|
|
144
|
+
* of a logical line; Vue dual-script blocks place their `export` at the start
|
|
145
|
+
* of a line within the `<script>` block too, so this still picks them up.
|
|
146
|
+
*
|
|
147
|
+
* A multi-line type annotation or RHS isn't supported — the assumption is that
|
|
148
|
+
* the export declaration fits on one line, matching real-world author style.
|
|
149
|
+
*/
|
|
150
|
+
const PRERENDER_DECL_RE = /^export\s+const\s+prerender\b([^\n]*)/m;
|
|
151
|
+
/** Static opt-in: `= true` (with or without `: boolean` annotation). */
|
|
152
|
+
const PRERENDER_STATIC_RHS_RE = /=\s*true\b/;
|
|
153
|
+
/**
|
|
154
|
+
* Dynamic opt-in: RHS starts with an array literal, a paren (arrow function
|
|
155
|
+
* or call expression), or a `function` / `async function` keyword. The `=` is
|
|
156
|
+
* required before each alternative so trailing `(`s in type annotations
|
|
157
|
+
* (e.g. `() => Promise<string[]>`) don't false-positive as the value.
|
|
158
|
+
*
|
|
159
|
+
* Variable-reference RHS (`= MY_LIST` or `= MY_LIST.slice()`) is intentionally
|
|
160
|
+
* not picked up — opt-in is explicit; users wrap in a function or inline.
|
|
161
|
+
*/
|
|
162
|
+
const PRERENDER_DYNAMIC_RHS_RE = /=\s*(?:\[|\(|async\s+\(|async\s+function\b|function\b)/;
|
|
163
|
+
function readPrerenderOpt(absPath) {
|
|
164
|
+
try {
|
|
165
|
+
const text = fs.readFileSync(absPath, 'utf8');
|
|
166
|
+
const m = text.match(PRERENDER_DECL_RE);
|
|
167
|
+
if (!m)
|
|
168
|
+
return 'off';
|
|
169
|
+
const rest = m[1] ?? '';
|
|
170
|
+
if (PRERENDER_STATIC_RHS_RE.test(rest))
|
|
171
|
+
return 'static';
|
|
172
|
+
if (PRERENDER_DYNAMIC_RHS_RE.test(rest))
|
|
173
|
+
return 'dynamic';
|
|
174
|
+
return 'off';
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
return 'off';
|
|
178
|
+
}
|
|
179
|
+
}
|
|
133
180
|
function discover(viewsRoot, pagesRoot, framework) {
|
|
134
181
|
const exts = EXTENSIONS_BY_FRAMEWORK[framework];
|
|
135
182
|
return walk(viewsRoot, exts).map(rel => {
|
|
@@ -141,7 +188,8 @@ function discover(viewsRoot, pagesRoot, framework) {
|
|
|
141
188
|
const outDir = path.join(pagesRoot, '__view', ...id.split('.'));
|
|
142
189
|
const url = readRouteOverride(absPath) ?? '/' + id.replace(/\./g, '/');
|
|
143
190
|
const hasProps = readHasPropsExport(absPath);
|
|
144
|
-
|
|
191
|
+
const prerender = readPrerenderOpt(absPath);
|
|
192
|
+
return { id, absPath, importPath, outDir, url, hasProps, prerender };
|
|
145
193
|
});
|
|
146
194
|
}
|
|
147
195
|
// ─── Stub generators ───────────────────────────────────────
|
|
@@ -284,6 +332,32 @@ const DATA_FILE_SOURCE = `// AUTO-GENERATED by @rudderjs/vite — do not edit.
|
|
|
284
332
|
import type { PageContextServer } from 'vike/types'
|
|
285
333
|
export const data = (_pageContext: PageContextServer): null => null
|
|
286
334
|
`;
|
|
335
|
+
const PRERENDER_FILE_SOURCE = `// AUTO-GENERATED by @rudderjs/vite — do not edit.
|
|
336
|
+
// Opts this view into Vike's build-time static prerender pipeline.
|
|
337
|
+
// Source: \`export const prerender = true\` in the corresponding app/Views/ file.
|
|
338
|
+
export default true
|
|
339
|
+
`;
|
|
340
|
+
/**
|
|
341
|
+
* Codegen for `+onBeforePrerenderStart.ts` — Vike's per-page hook that
|
|
342
|
+
* enumerates URLs to prerender for parameterized routes. We re-export the
|
|
343
|
+
* user's `prerender` symbol from the view file and wrap it in an async
|
|
344
|
+
* function regardless of its declared form (array, sync function, or async
|
|
345
|
+
* function) — `() => Promise<X[]>` accepts all three at runtime.
|
|
346
|
+
*
|
|
347
|
+
* The hook is paired with `+prerender.ts` (Vike requires both — the boolean
|
|
348
|
+
* opts the page into prerender, the hook supplies the URL list). Emitted
|
|
349
|
+
* only when the view's prerender mode is `'dynamic'`.
|
|
350
|
+
*/
|
|
351
|
+
function onBeforePrerenderStartSource(view) {
|
|
352
|
+
return `// AUTO-GENERATED by @rudderjs/vite — do not edit.
|
|
353
|
+
// Source: \`export const prerender = [...] | (...) => ...\` in ${view.importPath}
|
|
354
|
+
import type { OnBeforePrerenderStartAsync } from 'vike/types'
|
|
355
|
+
import { prerender as source } from '${view.importPath}'
|
|
356
|
+
|
|
357
|
+
export const onBeforePrerenderStart: OnBeforePrerenderStartAsync<unknown> =
|
|
358
|
+
async () => (typeof source === 'function' ? await source() : source)
|
|
359
|
+
`;
|
|
360
|
+
}
|
|
287
361
|
function routeFileSource(view) {
|
|
288
362
|
// CRITICAL: the route URL must match the controller route the user registers
|
|
289
363
|
// (e.g. `Route.get('/home', () => view('home'))`). Vike's client router does
|
|
@@ -425,6 +499,40 @@ function generate(generatedRoot, pagesRoot, views, framework) {
|
|
|
425
499
|
writeIfChanged(path.join(v.outDir, stub.filename), stub.contents);
|
|
426
500
|
writeIfChanged(path.join(v.outDir, '+route.ts'), routeFileSource(v));
|
|
427
501
|
writeIfChanged(path.join(v.outDir, '+data.ts'), DATA_FILE_SOURCE);
|
|
502
|
+
syncPrerenderArtifacts(v);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Reconcile `+prerender.ts` + `+onBeforePrerenderStart.ts` against the view's
|
|
507
|
+
* current prerender mode:
|
|
508
|
+
*
|
|
509
|
+
* - `'off'` → both files absent
|
|
510
|
+
* - `'static'` → only `+prerender.ts` present
|
|
511
|
+
* - `'dynamic'` → both files present (Vike needs both to enumerate parameterized URLs)
|
|
512
|
+
*
|
|
513
|
+
* Drives switching between modes (static ↔ dynamic ↔ off) on disk symmetric
|
|
514
|
+
* to the source export's shape, so removing or changing the export in a view
|
|
515
|
+
* file drops or rewrites the generated artifacts on the next scan.
|
|
516
|
+
*/
|
|
517
|
+
function syncPrerenderArtifacts(view) {
|
|
518
|
+
const prerenderFile = path.join(view.outDir, '+prerender.ts');
|
|
519
|
+
const hookFile = path.join(view.outDir, '+onBeforePrerenderStart.ts');
|
|
520
|
+
if (view.prerender === 'off') {
|
|
521
|
+
if (fs.existsSync(prerenderFile))
|
|
522
|
+
fs.rmSync(prerenderFile, { force: true });
|
|
523
|
+
if (fs.existsSync(hookFile))
|
|
524
|
+
fs.rmSync(hookFile, { force: true });
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
527
|
+
writeIfChanged(prerenderFile, PRERENDER_FILE_SOURCE);
|
|
528
|
+
if (view.prerender === 'dynamic') {
|
|
529
|
+
writeIfChanged(hookFile, onBeforePrerenderStartSource(view));
|
|
530
|
+
}
|
|
531
|
+
else if (fs.existsSync(hookFile)) {
|
|
532
|
+
// Mode switched dynamic → static: the hook is no longer wanted (Vike
|
|
533
|
+
// would otherwise try to import a `prerender` symbol the view no longer
|
|
534
|
+
// exports as a function/array).
|
|
535
|
+
fs.rmSync(hookFile, { force: true });
|
|
428
536
|
}
|
|
429
537
|
}
|
|
430
538
|
function cleanStale(generatedRoot, current) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views-scanner.js","sourceRoot":"","sources":["../src/views-scanner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"views-scanner.js","sourceRoot":"","sources":["../src/views-scanner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderjs/vite",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -46,6 +46,11 @@
|
|
|
46
46
|
"import": "./dist/commands/view-sync.js",
|
|
47
47
|
"default": "./dist/commands/view-sync.js",
|
|
48
48
|
"types": "./dist/commands/view-sync.d.ts"
|
|
49
|
+
},
|
|
50
|
+
"./commands/routes-sync": {
|
|
51
|
+
"import": "./dist/commands/routes-sync.js",
|
|
52
|
+
"default": "./dist/commands/routes-sync.js",
|
|
53
|
+
"types": "./dist/commands/routes-sync.d.ts"
|
|
49
54
|
}
|
|
50
55
|
},
|
|
51
56
|
"peerDependencies": {
|
|
@@ -54,7 +59,7 @@
|
|
|
54
59
|
"@vitejs/plugin-react": ">=4.0.0",
|
|
55
60
|
"@vitejs/plugin-vue": ">=5.0.0",
|
|
56
61
|
"vike-solid": ">=0.8.0",
|
|
57
|
-
"@rudderjs/core": "^1.
|
|
62
|
+
"@rudderjs/core": "^1.2.0"
|
|
58
63
|
},
|
|
59
64
|
"peerDependenciesMeta": {
|
|
60
65
|
"@rudderjs/core": {
|
|
@@ -78,7 +83,7 @@
|
|
|
78
83
|
"vike": "^0.4.239",
|
|
79
84
|
"vike-solid": "^0.8.1",
|
|
80
85
|
"vite": "^7.1.0",
|
|
81
|
-
"@rudderjs/core": "^1.
|
|
86
|
+
"@rudderjs/core": "^1.2.0"
|
|
82
87
|
},
|
|
83
88
|
"author": "Suleiman Shahbari",
|
|
84
89
|
"scripts": {
|
|
@@ -86,7 +91,7 @@
|
|
|
86
91
|
"dev": "tsc -p tsconfig.build.json --watch",
|
|
87
92
|
"typecheck": "tsc --noEmit",
|
|
88
93
|
"lint": "eslint src",
|
|
89
|
-
"test": "tsc -p tsconfig.test.json &&
|
|
94
|
+
"test": "tsc -p tsconfig.test.json && cd dist-test && node --test",
|
|
90
95
|
"clean": "rm -rf dist"
|
|
91
96
|
}
|
|
92
97
|
}
|