spiceflow 1.19.0-rsc.5 → 1.19.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/README.md +77 -0
- package/dist/any-spiceflow-types.test.js +56 -0
- package/dist/any-spiceflow-types.test.js.map +1 -1
- package/dist/context.d.ts +6 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/load-global-css.rsc.d.ts.map +1 -1
- package/dist/load-global-css.rsc.js +2 -3
- package/dist/load-global-css.rsc.js.map +1 -1
- package/dist/prevent-process-exit-if-busy.d.ts +0 -9
- package/dist/prevent-process-exit-if-busy.d.ts.map +1 -1
- package/dist/prevent-process-exit-if-busy.js +11 -19
- package/dist/prevent-process-exit-if-busy.js.map +1 -1
- package/dist/react/errors.d.ts +21 -4
- package/dist/react/errors.d.ts.map +1 -1
- package/dist/react/errors.js +35 -21
- package/dist/react/errors.js.map +1 -1
- package/dist/react/link.d.ts +2 -8
- package/dist/react/link.d.ts.map +1 -1
- package/dist/react/link.js.map +1 -1
- package/dist/react/router.d.ts +2 -3
- package/dist/react/router.d.ts.map +1 -1
- package/dist/react/router.js.map +1 -1
- package/dist/spiceflow.d.ts +3 -3
- package/dist/spiceflow.d.ts.map +1 -1
- package/dist/spiceflow.js +7 -6
- package/dist/spiceflow.js.map +1 -1
- package/dist/types.d.ts +10 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +16 -0
- package/dist/vite.js.map +1 -1
- package/dist/wait-until.d.ts +1 -0
- package/dist/wait-until.d.ts.map +1 -1
- package/dist/wait-until.js +21 -5
- package/dist/wait-until.js.map +1 -1
- package/dist/wait-until.workerd.d.ts +1 -0
- package/dist/wait-until.workerd.d.ts.map +1 -1
- package/dist/wait-until.workerd.js +4 -0
- package/dist/wait-until.workerd.js.map +1 -1
- package/dist/waitUntil.test.js +45 -0
- package/dist/waitUntil.test.js.map +1 -1
- package/package.json +2 -2
- package/src/any-spiceflow-types.test.ts +68 -1
- package/src/context.ts +12 -1
- package/src/load-global-css.rsc.ts +2 -3
- package/src/prevent-process-exit-if-busy.ts +12 -20
- package/src/react/errors.tsx +94 -24
- package/src/react/link.tsx +3 -11
- package/src/react/router.tsx +2 -16
- package/src/spiceflow.tsx +11 -24
- package/src/types.ts +22 -4
- package/src/vite.tsx +16 -0
- package/src/wait-until.ts +24 -5
- package/src/wait-until.workerd.ts +5 -0
- package/src/waitUntil.test.ts +52 -0
package/README.md
CHANGED
|
@@ -282,6 +282,40 @@ new Spiceflow().use(({ request }) => {
|
|
|
282
282
|
})
|
|
283
283
|
```
|
|
284
284
|
|
|
285
|
+
### Mounted Apps
|
|
286
|
+
|
|
287
|
+
Middleware is scoped to the app where you register it. **Parent app middleware runs for child sub-app routes too**, but **sub-app middleware does not run for parent or sibling routes**.
|
|
288
|
+
|
|
289
|
+
```ts
|
|
290
|
+
import { Spiceflow } from 'spiceflow'
|
|
291
|
+
|
|
292
|
+
const admin = new Spiceflow({ basePath: '/admin' })
|
|
293
|
+
.use(() => {
|
|
294
|
+
console.log('admin only')
|
|
295
|
+
})
|
|
296
|
+
.get('/users', () => 'users')
|
|
297
|
+
|
|
298
|
+
new Spiceflow()
|
|
299
|
+
.use(() => {
|
|
300
|
+
console.log('root')
|
|
301
|
+
})
|
|
302
|
+
.use(admin)
|
|
303
|
+
.get('/health', () => 'ok')
|
|
304
|
+
|
|
305
|
+
// GET /admin/users -> runs "root" and "admin only"
|
|
306
|
+
// GET /health -> runs only "root"
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
If you want a mounted app's middleware to run for **every** request, create that mounted app with `scoped: false`:
|
|
310
|
+
|
|
311
|
+
```ts
|
|
312
|
+
const globalMiddleware = new Spiceflow({ scoped: false }).use(({ request }) => {
|
|
313
|
+
console.log(request.parsedUrl.pathname)
|
|
314
|
+
})
|
|
315
|
+
|
|
316
|
+
new Spiceflow().use(globalMiddleware)
|
|
317
|
+
```
|
|
318
|
+
|
|
285
319
|
### Response Modification
|
|
286
320
|
|
|
287
321
|
Call `next()` to get the response from downstream handlers, then modify it before sending:
|
|
@@ -2054,6 +2088,49 @@ throw redirect('/login', {
|
|
|
2054
2088
|
|
|
2055
2089
|
</details>
|
|
2056
2090
|
|
|
2091
|
+
<details>
|
|
2092
|
+
<summary>Authentication: pages vs API routes</summary>
|
|
2093
|
+
|
|
2094
|
+
Pages and layouts should always `throw redirect('/login')` when the user is not authenticated. API routes (`.get()`, `.post()`, etc.) should return a JSON error with a 401 status instead. This keeps the experience clean: users visiting a protected page get redirected to login instead of seeing a raw JSON blob, while API consumers get a proper typed error response they can handle programmatically.
|
|
2095
|
+
|
|
2096
|
+
```tsx
|
|
2097
|
+
// Page — redirect to login
|
|
2098
|
+
.page('/dashboard', async ({ request }) => {
|
|
2099
|
+
const user = await getUser(request)
|
|
2100
|
+
if (!user) throw redirect('/login')
|
|
2101
|
+
return <Dashboard user={user} />
|
|
2102
|
+
})
|
|
2103
|
+
|
|
2104
|
+
// Layout — redirect to login (protects all nested pages)
|
|
2105
|
+
.layout('/app/*', async ({ children, request }) => {
|
|
2106
|
+
const user = await getUser(request)
|
|
2107
|
+
if (!user) throw redirect('/login')
|
|
2108
|
+
return <AppLayout>{children}</AppLayout>
|
|
2109
|
+
})
|
|
2110
|
+
|
|
2111
|
+
// API route — return JSON 401
|
|
2112
|
+
.get('/api/profile', async ({ request }) => {
|
|
2113
|
+
const user = await getUser(request)
|
|
2114
|
+
if (!user) return json({ error: 'Not authenticated' }, { status: 401 })
|
|
2115
|
+
return json({ user })
|
|
2116
|
+
})
|
|
2117
|
+
|
|
2118
|
+
// Middleware — protect all routes in a sub-app with JSON 401
|
|
2119
|
+
const api = new Spiceflow()
|
|
2120
|
+
.use(async ({ request }) => {
|
|
2121
|
+
const user = await getUser(request)
|
|
2122
|
+
if (!user) return json({ error: 'Not authenticated' }, { status: 401 })
|
|
2123
|
+
})
|
|
2124
|
+
.get('/profile', async ({ request }) => {
|
|
2125
|
+
const user = await getUser(request)
|
|
2126
|
+
return json({ user })
|
|
2127
|
+
})
|
|
2128
|
+
|
|
2129
|
+
app.use(api, { prefix: '/api' })
|
|
2130
|
+
```
|
|
2131
|
+
|
|
2132
|
+
</details>
|
|
2133
|
+
|
|
2057
2134
|
### Code Splitting
|
|
2058
2135
|
|
|
2059
2136
|
Code splitting of client components is **automatic** — you don't need `React.lazy()` or dynamic `import()`. Each `"use client"` file becomes a separate chunk, and the browser only loads the chunks needed for the current page.
|
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
// Regression tests for ergonomic `AnySpiceflow` fallbacks across public typed APIs.
|
|
2
|
+
import { rmSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
2
4
|
import { z } from 'zod';
|
|
3
5
|
import { expect, test } from 'vitest';
|
|
6
|
+
import ts from 'typescript';
|
|
4
7
|
import { createSpiceflowClient, createSpiceflowFetch } from "./client/index.js";
|
|
5
8
|
import { getRouter, redirect, useLoaderData, useRouterState } from "./react/index.js";
|
|
6
9
|
import { createHref, Spiceflow } from "./spiceflow.js";
|
|
10
|
+
function getDiagnosticsForSnippet(source) {
|
|
11
|
+
const srcDir = dirname(new URL(import.meta.url).pathname);
|
|
12
|
+
const tsconfigPath = join(srcDir, '..', 'tsconfig.json');
|
|
13
|
+
const snippetPath = join(srcDir, '__tmp-redirect-register-check.ts');
|
|
14
|
+
writeFileSync(snippetPath, source);
|
|
15
|
+
try {
|
|
16
|
+
const configFile = ts.readConfigFile(tsconfigPath, ts.sys.readFile);
|
|
17
|
+
const parsedConfig = ts.parseJsonConfigFileContent(configFile.config, ts.sys, dirname(tsconfigPath), { noEmit: true }, tsconfigPath);
|
|
18
|
+
const program = ts.createProgram({
|
|
19
|
+
rootNames: [snippetPath],
|
|
20
|
+
options: parsedConfig.options,
|
|
21
|
+
});
|
|
22
|
+
return ts
|
|
23
|
+
.getPreEmitDiagnostics(program)
|
|
24
|
+
.filter((diagnostic) => diagnostic.file?.fileName === snippetPath)
|
|
25
|
+
.map((diagnostic) => ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'));
|
|
26
|
+
}
|
|
27
|
+
finally {
|
|
28
|
+
rmSync(snippetPath);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
7
31
|
test('SpiceflowRegister: router import is typed via register pattern', () => {
|
|
8
32
|
// Tests the register mechanism by importing the typed `router` export directly.
|
|
9
33
|
// In real apps, users add `declare module 'spiceflow/react' { ... }` once
|
|
@@ -329,4 +353,36 @@ test('Link: typed app validates href paths and requires params', () => {
|
|
|
329
353
|
// @ts-expect-error - wrong param key rejected
|
|
330
354
|
expectLink({ href: '/users/:id', params: { slug: '1' } });
|
|
331
355
|
});
|
|
356
|
+
test('redirect is typed through SpiceflowRegister', () => {
|
|
357
|
+
const diagnostics = getDiagnosticsForSnippet(`
|
|
358
|
+
import { Spiceflow } from './spiceflow.tsx'
|
|
359
|
+
import { redirect } from './react/index.ts'
|
|
360
|
+
|
|
361
|
+
const app = new Spiceflow()
|
|
362
|
+
.page('/login', async () => 'login')
|
|
363
|
+
.page('/users/:id', async () => 'user')
|
|
364
|
+
|
|
365
|
+
declare module './react/router.js' {
|
|
366
|
+
interface SpiceflowRegister {
|
|
367
|
+
app: typeof app
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
redirect('/login')
|
|
372
|
+
redirect('/users/:id', { params: { id: '42' } })
|
|
373
|
+
const id = '42'
|
|
374
|
+
redirect(\`/users/\${id}\`)
|
|
375
|
+
redirect('https://example.com')
|
|
376
|
+
|
|
377
|
+
// @ts-expect-error missing params
|
|
378
|
+
redirect('/users/:id')
|
|
379
|
+
|
|
380
|
+
// @ts-expect-error wrong param key
|
|
381
|
+
redirect('/users/:id', { params: { slug: '1' } })
|
|
382
|
+
|
|
383
|
+
// @ts-expect-error invalid path
|
|
384
|
+
redirect('/missing')
|
|
385
|
+
`);
|
|
386
|
+
expect(diagnostics).toEqual([]);
|
|
387
|
+
});
|
|
332
388
|
//# sourceMappingURL=any-spiceflow-types.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any-spiceflow-types.test.js","sourceRoot":"","sources":["../src/any-spiceflow-types.test.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAErC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAQ,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE3F,OAAO,EAAgB,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAiB,CAAA;AAGrE,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC1E,gFAAgF;IAChF,0EAA0E;IAC1E,0DAA0D;IAC1D,uEAAuE;IACvE,oDAAoD;IACpD,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE;SACxB,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC;SACnC,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC;SAC3C,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACzE,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC;SACtC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC;SACzC,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAA;IAElE,MAAM,WAAW,GAAG,SAAS,EAAc,CAAA;IAE3C,wBAAwB;IACxB,2CAA2C;IAC3C,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAEhC,sDAAsD;IACtD,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAE9B,8CAA8C;IAC9C,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;IAE7C,uBAAuB;IACvB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACjD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACtE,MAAM,CACJ,WAAW,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CACrF,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC1D,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE;SACxB,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;SACvC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;SACpE,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,MAAM,GAAG,GAAmB,CAAA;IAElC,yEAAyE;IACzE,MAAM,WAAW,GAAG,oBAAoB,CAAC,uBAAuB,CAAC,CAAA;IACjE,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,qBAAqB,CAAC,uBAAuB,CAAC,CAAA;IAClE,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,IAAI,GAAG,UAAU,EAAE,CAAA;IACzB,MAAM,SAAS,GAAG,SAAS,EAAE,CAAA;IAE7B,SAAS,wBAAwB;QAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,gBAAgB,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACzB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;YAC1B,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE;SACpB,CAAC,CAAA;QACF,MAAM,WAAW,GAAkC,IAAI,CAAA;QACvD,KAAK,WAAW,CAAA;QAEhB,KAAK,UAAU,UAAU;YACvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAA;YAC1B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAA;QACrB,CAAC;QAED,UAAU,CAAA;IACZ,CAAC;IAED,SAAS,+BAA+B;QACtC,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,EAAE;YAC5C,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAChC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACzB,CAAC,CAAA;QACF,MAAM,WAAW,GAAkC,IAAI,CAAA;QACvD,KAAK,WAAW,CAAA;QAEhB,KAAK,UAAU,UAAU;YACvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAA;YAC1B,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAA;QACvB,CAAC;QAED,UAAU,CAAA;IACZ,CAAC;IAED,SAAS,8BAA8B;QACrC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAC/C,EAAE,SAAS,EAAE,IAAI,EAAE,EACnB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAC/B,CAAA;QACD,MAAM,SAAS,GAA0C,IAAI,CAAA;QAC7D,KAAK,SAAS,CAAA;QAEd,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;YACxB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,qCAAqC;QAC5C,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;YACtD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;SAC3B,CAAC,CAAA;QACF,MAAM,SAAS,GAA0C,IAAI,CAAA;QAC7D,KAAK,SAAS,CAAA;QAEd,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,yBAAyB;QAChC,MAAM,IAAI,GAAG,aAAa,EAAE,CAAA;QAC5B,MAAM,SAAS,GAAuB,IAAI,CAAA;QAC1C,KAAK,SAAS,CAAA;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,uBAAuB;QAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAA;QAC5C,MAAM,SAAS,GAAuB,IAAI,CAAA;QAC1C,KAAK,SAAS,CAAA;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,2BAA2B;QAClC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAA;QAC9B,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,UAAU,gCAAgC;QAC7C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,CAAA;QAC5C,MAAM,SAAS,GAAuB,IAAI,CAAA;QAC1C,KAAK,SAAS,CAAA;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,KAAK,UAAU,wCAAwC;QACrD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAuB,IAAI,CAAA;QAC1C,KAAK,SAAS,CAAA;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,wBAAwB,CAAA;IACxB,+BAA+B,CAAA;IAC/B,8BAA8B,CAAA;IAC9B,qCAAqC,CAAA;IACrC,yBAAyB,CAAA;IACzB,uBAAuB,CAAA;IACvB,2BAA2B,CAAA;IAC3B,gCAAgC,CAAA;IAChC,wCAAwC,CAAA;IAExC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAC5D,iCAAiC,CAClC,CAAA;IACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACnE,iCAAiC,CAClC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAC/C,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE;SACxB,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACzE,IAAI,CAAC;QACJ,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC/C,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM;KAC5B,CAAC,CAAA;IAEJ,MAAM,WAAW,GAAG,IAAI,SAAS,EAAE,CAAC,IAAI,CAAC;QACvC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QAChD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;KAC7B,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,SAAS,EAAc,CAAA;IAC5C,MAAM,cAAc,GAAG,SAAS,EAAsB,CAAA;IAEtD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CACvE,sBAAsB,CACvB,CAAA;IACD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAC7D,qBAAqB,CACtB,CAAA;IAED,8DAA8D;IAC9D,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;IAE9C,2EAA2E;IAC3E,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IAE7C,+EAA+E;IAC/E,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAE/B,SAAS,yBAAyB;QAChC,MAAM,IAAI,GAAG,aAAa,CAAa,YAAY,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QACZ,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,qBAAqB;QAC5B,MAAM,IAAI,GAAG,aAAa,CAAqB,QAAQ,CAAC,CAAA;QACxD,4DAA4D;QAC5D,IAAI,CAAC,QAAQ,CAAA;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,0BAA0B;QACjC,MAAM,KAAK,GAAG,cAAc,EAAc,CAAA;QAC1C,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC7B,kEAAkE;QAClE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,UAAU,yBAAyB;QACtC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;QAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QACZ,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QAEjB,YAAY,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;IAED,KAAK,UAAU,2BAA2B;QACxC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QACzD,4DAA4D;QAC5D,IAAI,CAAC,QAAQ,CAAA;IACf,CAAC;IAED,SAAS,4CAA4C;QACnD,wEAAwE;QACxE,MAAM,aAAa,GAAG,SAAS,EAAgB,CAAA;QAC/C,aAAa,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9D,KAAK,aAAa,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAA;IAC1D,CAAC;IAED,yBAAyB,CAAA;IACzB,qBAAqB,CAAA;IACrB,0BAA0B,CAAA;IAC1B,yBAAyB,CAAA;IACzB,2BAA2B,CAAA;IAC3B,4CAA4C,CAAA;AAC9C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACjE,yEAAyE;IACzE,yEAAyE;IACzE,0DAA0D;IAC1D,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE;SACxB,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC;SACnC,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC7B,4DAA4D;QAC5D,MAAM,MAAM,GAAG,SAAS,EAAc,CAAA;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC,CAAC;SACD,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACzC,oEAAoE;QACpE,MAAM,MAAM,GAAG,SAAS,EAAc,CAAA;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAA;QACnC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAA;IACpC,CAAC,CAAC;SACD,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC;SACtC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC;SACzC,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QACnD,iEAAiE;QACjE,MAAM,MAAM,GAAG,SAAS,EAAc,CAAA;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACpD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAG,SAAS,EAAc,CAAA;IAEtC,gCAAgC;IAChC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAC1F,oBAAoB,CACrB,CAAA;IAED,qEAAqE;IACrE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA,CAAC,wCAAwC;IACpE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA,CAAC,wCAAwC;IAE3E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAEzB,qDAAqD;IACrD,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;AAC1C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;IACvE,yEAAyE;IACzE,sFAAsF;IACtF,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE;SACxB,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC;SACnC,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC;SAC3C,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACzE,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC;SACtC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC;SACzC,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAA;IAGlE,MAAM,MAAM,GAAG,SAAS,EAAO,CAAA;IAE/B,gDAAgD;IAChD,qDAAqD;IACrD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAE3B,gEAAgE;IAChE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAEzB,wDAAwD;IACxD,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;IAExC,wBAAwB;IACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AACnE,CAAC,CAAC,CAAA;AAIF,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAC5D,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE;SACxB,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;SAClE,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SAC5E,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAA;IAEzC,MAAM,MAAM,GAAG,SAAS,EAAc,CAAA;IAEtC,SAAS,yBAAyB;QAChC,MAAM,IAAI,GAAG,aAAa,CAAa,YAAY,CAAC,CAAA;QACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA;QACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACf,yDAAyD;QACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,UAAU,yBAAyB;QACtC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;QACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA;QACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACf,yDAAyD;QACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,yBAAyB,CAAA;IACzB,yBAAyB,CAAA;AAC3B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC1D,wEAAwE;IACxE,MAAM,CAAC,GAAc,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;IAC1C,MAAM,CAAC,GAAc,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAA;IAClE,MAAM,CAAC,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IACvC,MAAM,CAAC,GAAc,EAAE,CAAA;IACvB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACpE,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE;SACxB,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC;SACnC,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC;SAC3C,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC;SACtC,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAA;IAKlE,oFAAoF;IACpF,SAAS,UAAU,CAAgC,MAAgC,IAAG,CAAC;IAEvF,qBAAqB;IACrB,UAAU,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC,CAAA;IACvC,UAAU,CAAC,EAAE,IAAI,EAAE,YAAqB,EAAE,CAAC,CAAA;IAE3C,iDAAiD;IACjD,UAAU,CAAC,EAAE,IAAI,EAAE,YAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IACjE,UAAU,CAAC,EAAE,IAAI,EAAE,kCAA2C,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IAEzG,2CAA2C;IAC3C,UAAU,CAAC,EAAE,IAAI,EAAE,cAAuB,EAAE,CAAC,CAAA;IAE7C,sDAAsD;IACtD,UAAU,CAAC,EAAE,IAAI,EAAE,YAAqB,EAAE,CAAC,CAAA;IAE3C,8CAA8C;IAC9C,UAAU,CAAC,EAAE,IAAI,EAAE,YAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;AACpE,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"any-spiceflow-types.test.js","sourceRoot":"","sources":["../src/any-spiceflow-types.test.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import type { Redirect } from './utils.js';
|
|
2
1
|
import type { RouteSchema, Prettify, ResolvePath, SingletonBase, GetRequestSchema } from './types.js';
|
|
3
2
|
import { SpiceflowRequest, WaitUntil } from './spiceflow.js';
|
|
4
3
|
import type { SpiceflowSpan, SpiceflowTracer } from './instrumentation.js';
|
|
4
|
+
type Redirect = (location: string, options?: {
|
|
5
|
+
status?: number;
|
|
6
|
+
headers?: Record<string, string>;
|
|
7
|
+
params?: Record<string, string | number | boolean>;
|
|
8
|
+
}) => Response;
|
|
5
9
|
export interface ContextResponse {
|
|
6
10
|
headers: Headers;
|
|
7
11
|
status: number;
|
|
@@ -68,4 +72,5 @@ export type MiddlewareContext<in out Singleton extends SingletonBase = {
|
|
|
68
72
|
tracer: SpiceflowTracer;
|
|
69
73
|
redirect: Redirect;
|
|
70
74
|
}>;
|
|
75
|
+
export {};
|
|
71
76
|
//# sourceMappingURL=context.d.ts.map
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-global-css.rsc.d.ts","sourceRoot":"","sources":["../src/load-global-css.rsc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-global-css.rsc.d.ts","sourceRoot":"","sources":["../src/load-global-css.rsc.ts"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,IAAI,GAAG,CAKnC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// RSC-only: loads global CSS via the vite-rsc transform.
|
|
2
|
-
// The
|
|
3
|
-
// because vite-rsc
|
|
4
|
-
// Do not use optional chaining, ternaries, or put the pattern in comments.
|
|
2
|
+
// The static-analysis token below must appear only in executable code, not
|
|
3
|
+
// comments, because vite-rsc scans raw source before asserting the RSC env.
|
|
5
4
|
import * as errore from 'errore';
|
|
6
5
|
export function loadGlobalCss() {
|
|
7
6
|
const result = errore.try(() => import.meta.viteRsc.loadCss('virtual:app-entry'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-global-css.rsc.js","sourceRoot":"","sources":["../src/load-global-css.rsc.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"load-global-css.rsc.js","sourceRoot":"","sources":["../src/load-global-css.rsc.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,2EAA2E;AAC3E,4EAA4E;AAE5E,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CACjD,CAAA;IACD,OAAO,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;AACrD,CAAC"}
|
|
@@ -2,15 +2,6 @@ interface GracefulShutdownOptions {
|
|
|
2
2
|
maxWaitSeconds?: number;
|
|
3
3
|
checkIntervalMs?: number;
|
|
4
4
|
}
|
|
5
|
-
/**
|
|
6
|
-
* Creates a Spiceflow middleware that tracks in-flight requests and prevents
|
|
7
|
-
* the process from exiting while requests are being processed.
|
|
8
|
-
*
|
|
9
|
-
* @param options - Configuration options
|
|
10
|
-
* @param options.maxWaitSeconds - Maximum time to wait for requests to complete (default: 300)
|
|
11
|
-
* @param options.checkIntervalMs - Interval to check if requests are complete (default: 250)
|
|
12
|
-
* @returns Spiceflow app that can be mounted with .use()
|
|
13
|
-
*/
|
|
14
5
|
export declare function preventProcessExitIfBusy(options?: GracefulShutdownOptions): any;
|
|
15
6
|
export {};
|
|
16
7
|
//# sourceMappingURL=prevent-process-exit-if-busy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prevent-process-exit-if-busy.d.ts","sourceRoot":"","sources":["../src/prevent-process-exit-if-busy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prevent-process-exit-if-busy.d.ts","sourceRoot":"","sources":["../src/prevent-process-exit-if-busy.ts"],"names":[],"mappings":"AAKA,UAAU,uBAAuB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,uBAA4B,GACpC,GAAG,CAiDL"}
|
|
@@ -1,44 +1,36 @@
|
|
|
1
|
+
// Middleware that tracks in-flight requests and pending waitUntil promises,
|
|
2
|
+
// preventing the process from exiting while work is still in progress.
|
|
1
3
|
import { Spiceflow } from './spiceflow.js';
|
|
2
|
-
|
|
3
|
-
* Creates a Spiceflow middleware that tracks in-flight requests and prevents
|
|
4
|
-
* the process from exiting while requests are being processed.
|
|
5
|
-
*
|
|
6
|
-
* @param options - Configuration options
|
|
7
|
-
* @param options.maxWaitSeconds - Maximum time to wait for requests to complete (default: 300)
|
|
8
|
-
* @param options.checkIntervalMs - Interval to check if requests are complete (default: 250)
|
|
9
|
-
* @returns Spiceflow app that can be mounted with .use()
|
|
10
|
-
*/
|
|
4
|
+
import { pendingWaitUntilCount } from '#wait-until';
|
|
11
5
|
export function preventProcessExitIfBusy(options = {}) {
|
|
12
6
|
const { maxWaitSeconds = 300, checkIntervalMs = 250 } = options;
|
|
13
|
-
// Track in-flight requests in closure
|
|
14
7
|
let inFlightRequests = 0;
|
|
15
8
|
let isShuttingDown = false;
|
|
16
|
-
// Sleep utility
|
|
17
9
|
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
18
|
-
|
|
10
|
+
function isBusy() {
|
|
11
|
+
return inFlightRequests > 0 || pendingWaitUntilCount() > 0;
|
|
12
|
+
}
|
|
19
13
|
async function handleShutdown(signal) {
|
|
20
14
|
if (isShuttingDown)
|
|
21
|
-
return;
|
|
15
|
+
return;
|
|
22
16
|
isShuttingDown = true;
|
|
23
17
|
const startTime = Date.now();
|
|
24
18
|
const deadline = Date.now() + maxWaitSeconds * 1000;
|
|
25
|
-
while (
|
|
19
|
+
while (isBusy() && Date.now() < deadline) {
|
|
26
20
|
await sleep(checkIntervalMs);
|
|
27
21
|
}
|
|
28
22
|
const elapsedSeconds = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
29
|
-
if (
|
|
30
|
-
console.error(`[${new Date().toISOString()}] Shutdown timeout reached after ${elapsedSeconds}s; ${inFlightRequests} request(s) still in progress, forcing exit`);
|
|
23
|
+
if (isBusy()) {
|
|
24
|
+
console.error(`[${new Date().toISOString()}] Shutdown timeout reached after ${elapsedSeconds}s; ${inFlightRequests} request(s) and ${pendingWaitUntilCount()} waitUntil promise(s) still in progress, forcing exit`);
|
|
31
25
|
}
|
|
32
|
-
process.exit(
|
|
26
|
+
process.exit(isBusy() ? 1 : 0);
|
|
33
27
|
}
|
|
34
|
-
// Register shutdown handlers only in Node.js environments
|
|
35
28
|
if (typeof process !== 'undefined' && process.prependListener) {
|
|
36
29
|
;
|
|
37
30
|
['SIGINT', 'SIGTERM'].forEach((sig) => {
|
|
38
31
|
process.prependListener(sig, handleShutdown);
|
|
39
32
|
});
|
|
40
33
|
}
|
|
41
|
-
// Return Spiceflow middleware with scoped: false
|
|
42
34
|
return new Spiceflow({ scoped: false }).use(async (_, next) => {
|
|
43
35
|
inFlightRequests++;
|
|
44
36
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prevent-process-exit-if-busy.js","sourceRoot":"","sources":["../src/prevent-process-exit-if-busy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"prevent-process-exit-if-busy.js","sourceRoot":"","sources":["../src/prevent-process-exit-if-busy.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,uEAAuE;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAOnD,MAAM,UAAU,wBAAwB,CACtC,UAAmC,EAAE;IAErC,MAAM,EAAE,cAAc,GAAG,GAAG,EAAE,eAAe,GAAG,GAAG,EAAE,GAAG,OAAO,CAAA;IAE/D,IAAI,gBAAgB,GAAG,CAAC,CAAA;IACxB,IAAI,cAAc,GAAG,KAAK,CAAA;IAE1B,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAC3B,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;IAEzD,SAAS,MAAM;QACb,OAAO,gBAAgB,GAAG,CAAC,IAAI,qBAAqB,EAAE,GAAG,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,MAAsB;QAClD,IAAI,cAAc;YAAE,OAAM;QAC1B,cAAc,GAAG,IAAI,CAAA;QAErB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,IAAI,CAAA;QAEnD,OAAO,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YACzC,MAAM,KAAK,CAAC,eAAe,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAEnE,IAAI,MAAM,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,oCAAoC,cAAc,MAAM,gBAAgB,mBAAmB,qBAAqB,EAAE,uDAAuD,CACtM,CAAA;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9D,CAAC;QAAA,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,OAAO,CAAC,eAAe,CAAC,GAAqB,EAAE,cAAc,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC5D,gBAAgB,EAAE,CAAA;QAClB,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAA;QACd,CAAC;gBAAS,CAAC;YACT,gBAAgB,EAAE,CAAA;QACpB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/react/errors.d.ts
CHANGED
|
@@ -1,13 +1,29 @@
|
|
|
1
|
+
import type { AllHrefPaths, ExtractParamsFromPath, PathParamsProp } from '../types.js';
|
|
2
|
+
import type { RegisteredApp, RouterPaths } from './router.js';
|
|
1
3
|
export interface ReactServerErrorContext {
|
|
2
4
|
status: number;
|
|
3
5
|
headers?: Record<string, string> | [string, string][];
|
|
4
6
|
}
|
|
5
|
-
|
|
6
|
-
export declare function contextToHeaders(ctx: ReactServerErrorContext): Headers;
|
|
7
|
-
export declare function redirect(location: string, options?: {
|
|
7
|
+
type RedirectOptions = {
|
|
8
8
|
status?: number;
|
|
9
9
|
headers?: Record<string, string>;
|
|
10
|
-
}
|
|
10
|
+
};
|
|
11
|
+
type RedirectParamsOptions<Path extends string> = RedirectOptions & PathParamsProp<Path>;
|
|
12
|
+
type RedirectArgs<Path extends string> = [ExtractParamsFromPath<Path>] extends [undefined] ? [options?: RedirectParamsOptions<Path>] : [options: RedirectParamsOptions<Path>];
|
|
13
|
+
type RedirectAnyOptions = RedirectOptions & {
|
|
14
|
+
params?: Record<string, string | number | boolean>;
|
|
15
|
+
};
|
|
16
|
+
type ExternalRedirectLocation = `${string}://${string}` | `//${string}` | `?${string}` | `#${string}`;
|
|
17
|
+
type UnionToIntersection<U> = (U extends any ? (value: U) => void : never) extends (value: infer I) => void ? I : never;
|
|
18
|
+
type RedirectPatternOverloads<Paths extends string> = UnionToIntersection<{
|
|
19
|
+
[Path in Paths]: (location: Path, ...rest: RedirectArgs<Path>) => Response;
|
|
20
|
+
}[Paths]>;
|
|
21
|
+
type RedirectResolvedOverload<Paths extends string> = <Location extends AllHrefPaths<Paths>>(location: Location extends Paths ? never : Location, ...rest: RedirectArgs<Location>) => Response;
|
|
22
|
+
type DynamicStringRedirect = <Location extends string>(location: string extends Location ? Location : never, options?: RedirectAnyOptions) => Response;
|
|
23
|
+
type RedirectFn = string extends RouterPaths<RegisteredApp> ? (location: string, options?: RedirectAnyOptions) => Response : RedirectPatternOverloads<RouterPaths<RegisteredApp>> & RedirectResolvedOverload<RouterPaths<RegisteredApp>> & DynamicStringRedirect & ((location: ExternalRedirectLocation, options?: RedirectOptions) => Response);
|
|
24
|
+
export declare function contextHeaders(ctx: ReactServerErrorContext): Record<string, string>;
|
|
25
|
+
export declare function contextToHeaders(ctx: ReactServerErrorContext): Headers;
|
|
26
|
+
export declare const redirect: RedirectFn;
|
|
11
27
|
export declare function notFound(): Response;
|
|
12
28
|
export declare function isRedirectError(ctx?: ReactServerErrorContext): false | {
|
|
13
29
|
location: string;
|
|
@@ -15,4 +31,5 @@ export declare function isRedirectError(ctx?: ReactServerErrorContext): false |
|
|
|
15
31
|
export declare function isRedirectStatus(status: number): boolean;
|
|
16
32
|
export declare function isNotFoundError(ctx?: ReactServerErrorContext): boolean;
|
|
17
33
|
export declare function getErrorContext(error: unknown): ReactServerErrorContext | undefined;
|
|
34
|
+
export {};
|
|
18
35
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/react/errors.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/react/errors.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/errors.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getBasePath } from '../base-path.js';
|
|
2
|
+
import { buildHref } from './loader-utils.js';
|
|
2
3
|
// Normalizes headers from either Record or entries array into a plain
|
|
3
4
|
// object. Used when reading headers from decoded digest contexts where
|
|
4
5
|
// we only need single-value access (e.g. checking the location header).
|
|
@@ -15,7 +16,9 @@ export function contextHeaders(ctx) {
|
|
|
15
16
|
export function contextToHeaders(ctx) {
|
|
16
17
|
if (!ctx.headers)
|
|
17
18
|
return new Headers();
|
|
18
|
-
|
|
19
|
+
if (Array.isArray(ctx.headers))
|
|
20
|
+
return new Headers(ctx.headers);
|
|
21
|
+
return new Headers(Object.entries(ctx.headers));
|
|
19
22
|
}
|
|
20
23
|
function hasBasePrefix(path, base) {
|
|
21
24
|
if (path === base)
|
|
@@ -23,24 +26,34 @@ function hasBasePrefix(path, base) {
|
|
|
23
26
|
const next = path.charAt(base.length);
|
|
24
27
|
return path.startsWith(base) && (next === '/' || next === '?' || next === '#');
|
|
25
28
|
}
|
|
26
|
-
|
|
29
|
+
const redirectImpl = (location, options) => {
|
|
30
|
+
const [target, resolvedOptions] = options?.params
|
|
31
|
+
? [buildHref(location, options.params), options]
|
|
32
|
+
: [location, options];
|
|
27
33
|
const base = getBasePath();
|
|
28
34
|
// Auto-prepend base path to absolute redirect targets so user code
|
|
29
35
|
// can write redirect("/dashboard") without worrying about base config.
|
|
30
36
|
if (base &&
|
|
31
|
-
|
|
32
|
-
!
|
|
33
|
-
!hasBasePrefix(
|
|
34
|
-
|
|
37
|
+
target.startsWith('/') &&
|
|
38
|
+
!target.startsWith('//') &&
|
|
39
|
+
!hasBasePrefix(target, base)) {
|
|
40
|
+
return new Response(null, {
|
|
41
|
+
status: resolvedOptions?.status ?? 307,
|
|
42
|
+
headers: {
|
|
43
|
+
...resolvedOptions?.headers,
|
|
44
|
+
location: base + target,
|
|
45
|
+
},
|
|
46
|
+
});
|
|
35
47
|
}
|
|
36
48
|
return new Response(null, {
|
|
37
|
-
status:
|
|
49
|
+
status: resolvedOptions?.status ?? 307,
|
|
38
50
|
headers: {
|
|
39
|
-
...
|
|
40
|
-
location,
|
|
51
|
+
...resolvedOptions?.headers,
|
|
52
|
+
location: target,
|
|
41
53
|
},
|
|
42
54
|
});
|
|
43
|
-
}
|
|
55
|
+
};
|
|
56
|
+
export const redirect = redirectImpl;
|
|
44
57
|
export function notFound() {
|
|
45
58
|
return new Response(null, { status: 404 });
|
|
46
59
|
}
|
|
@@ -67,17 +80,18 @@ export function isNotFoundError(ctx) {
|
|
|
67
80
|
// "__REACT_SERVER_ERROR__:{status,headers}" digest strings, and the SSR
|
|
68
81
|
// layer uses this function to recover the original status/headers.
|
|
69
82
|
export function getErrorContext(error) {
|
|
70
|
-
if (error instanceof Error
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
if (!(error instanceof Error))
|
|
84
|
+
return;
|
|
85
|
+
const digest = Reflect.get(error, 'digest');
|
|
86
|
+
if (typeof digest !== 'string')
|
|
87
|
+
return;
|
|
88
|
+
const m = digest.match(/^__REACT_SERVER_ERROR__:(.*)$/);
|
|
89
|
+
if (m && m[1]) {
|
|
90
|
+
try {
|
|
91
|
+
return JSON.parse(m[1]);
|
|
92
|
+
}
|
|
93
|
+
catch (e) {
|
|
94
|
+
console.error(e);
|
|
81
95
|
}
|
|
82
96
|
}
|
|
83
97
|
return;
|
package/dist/react/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/react/errors.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/react/errors.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/link.d.ts
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { AnySpiceflow } from '../spiceflow.js';
|
|
3
|
-
import type { AllHrefPaths,
|
|
3
|
+
import type { AllHrefPaths, PathParamsProp } from '../types.js';
|
|
4
4
|
import { type RegisteredApp, type RouterPaths } from './router.js';
|
|
5
|
-
type LinkParamsProps<Paths extends string, Path extends AllHrefPaths<Paths>> = [ExtractParamsFromPath<Path>] extends [undefined] ? {
|
|
6
|
-
params?: Record<string, string | number | boolean>;
|
|
7
|
-
} : {
|
|
8
|
-
params: ExtractParamsFromPath<Path>;
|
|
9
|
-
};
|
|
10
5
|
export type LinkProps<App extends AnySpiceflow = RegisteredApp, Paths extends string = RouterPaths<App>, Path extends AllHrefPaths<Paths> = AllHrefPaths<Paths>> = Omit<React.ComponentPropsWithRef<'a'>, 'href'> & {
|
|
11
6
|
rawHref?: boolean;
|
|
12
7
|
href?: Path;
|
|
13
|
-
} &
|
|
8
|
+
} & PathParamsProp<Path>;
|
|
14
9
|
export declare function Link<App extends AnySpiceflow = RegisteredApp, Paths extends string = RouterPaths<App>, const Path extends AllHrefPaths<Paths> = AllHrefPaths<Paths>>(props: LinkProps<App, Paths, Path>): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
export {};
|
|
16
10
|
//# sourceMappingURL=link.d.ts.map
|
package/dist/react/link.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/react/link.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/react/link.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAG/D,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAU,MAAM,aAAa,CAAA;AAqB1E,MAAM,MAAM,SAAS,CACnB,GAAG,SAAS,YAAY,GAAG,aAAa,EACxC,KAAK,SAAS,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,EACvC,IAAI,SAAS,YAAY,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,IACpD,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG;IACnD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;AAExB,wBAAgB,IAAI,CAClB,GAAG,SAAS,YAAY,GAAG,aAAa,EACxC,KAAK,SAAS,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,EACvC,KAAK,CAAC,IAAI,SAAS,YAAY,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,EAC5D,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,2CAgCnC"}
|
package/dist/react/link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/react/link.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAKZ,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAwC,MAAM,EAAE,MAAM,aAAa,CAAA;AAE1E,SAAS,OAAO;IACd,OAAO,WAAW,EAAE,CAAA;AACtB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY;IAC/C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,QAAQ,CAAC,IAAwB;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/D,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1C,OAAO,IAAI,GAAG,IAAI,CAAA;AACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/react/link.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAKZ,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAwC,MAAM,EAAE,MAAM,aAAa,CAAA;AAE1E,SAAS,OAAO;IACd,OAAO,WAAW,EAAE,CAAA;AACtB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY;IAC/C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,QAAQ,CAAC,IAAwB;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/D,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1C,OAAO,IAAI,GAAG,IAAI,CAAA;AACpB,CAAC;AAWD,MAAM,UAAU,IAAI,CAIlB,KAAkC;IAClC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAEpD,OAAO,CACL,eACM,IAAI,EACR,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,IACE,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,MAAM;gBACR,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;gBAC3C,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,EACjD,CAAC;gBACD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;gBAClB,OAAM;YACR,CAAC;YACD,CAAC,CAAC,cAAc,EAAE,CAAA;YAElB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YAClB,MAAM,CAAC,IAAI,CACT,CAAC,CAAC,aAAa,CAAC,QAAQ;gBACtB,CAAC,CAAC,aAAa,CAAC,MAAM;gBACtB,CAAC,CAAC,aAAa,CAAC,IAAI,CACvB,CAAA;QACH,CAAC,GACD,CACH,CAAA;AACH,CAAC"}
|
package/dist/react/router.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Location } from 'history';
|
|
2
2
|
import type { AnySpiceflow } from '../spiceflow.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { AllLoaderData, HrefBuilder, IsAny, MergedLoaderData } from '../types.js';
|
|
4
4
|
declare const history: import("history").BrowserHistory;
|
|
5
5
|
type NavigationMethod = 'push' | 'replace' | 'refresh';
|
|
6
6
|
type NavigationRequestedEvent = {
|
|
@@ -37,13 +37,12 @@ export type RouterPaths<App extends AnySpiceflow> = IsAny<App['_types']['RoutePa
|
|
|
37
37
|
type RouterQuerySchemas<App extends AnySpiceflow> = IsAny<App['_types']['RoutePaths']> extends true ? Record<string, any> : App['_types']['RouteQuerySchemas'];
|
|
38
38
|
export type LoaderDataForPath<App extends AnySpiceflow, Path extends string> = IsAny<App['_types']['RoutePaths']> extends true ? any : LoaderDataReturn<App['_types']['Metadata']['loaderData'], Path>;
|
|
39
39
|
export type RouterPathArg<App extends AnySpiceflow> = RouterPaths<App> | (string & {});
|
|
40
|
-
export type RouterHrefArgs<App extends AnySpiceflow, Path extends AllHrefPaths<RouterPaths<App>>, Params extends ExtractParamsFromPath<Path>> = HrefArgs<RouterPaths<App>, RouterQuerySchemas<App>, Path, Params>;
|
|
41
40
|
export declare function coerceLoaderData<App extends AnySpiceflow, Path extends string>(data: any): LoaderDataForPath<App, Path>;
|
|
42
41
|
export type RouterBase<App extends AnySpiceflow = AnySpiceflow> = {
|
|
43
42
|
readonly location: Location;
|
|
44
43
|
readonly pathname: string;
|
|
45
44
|
readonly searchParams: ReadonlyURLSearchParams;
|
|
46
|
-
href
|
|
45
|
+
href: HrefBuilder<RouterPaths<App>, RouterQuerySchemas<App>>;
|
|
47
46
|
push(...args: Parameters<typeof history.push>): void;
|
|
48
47
|
replace(...args: Parameters<typeof history.replace>): void;
|
|
49
48
|
go(...args: Parameters<typeof history.go>): void;
|