dineway 0.1.3
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/LICENSE +9 -0
- package/README.md +89 -0
- package/dist/adapters-BlzWJG82.d.mts +106 -0
- package/dist/apply-CAPvMfoU.mjs +1339 -0
- package/dist/astro/index.d.mts +50 -0
- package/dist/astro/index.mjs +1326 -0
- package/dist/astro/middleware/auth.d.mts +30 -0
- package/dist/astro/middleware/auth.mjs +708 -0
- package/dist/astro/middleware/redirect.d.mts +21 -0
- package/dist/astro/middleware/redirect.mjs +62 -0
- package/dist/astro/middleware/request-context.d.mts +17 -0
- package/dist/astro/middleware/request-context.mjs +1371 -0
- package/dist/astro/middleware/setup.d.mts +19 -0
- package/dist/astro/middleware/setup.mjs +46 -0
- package/dist/astro/middleware.d.mts +12 -0
- package/dist/astro/middleware.mjs +1716 -0
- package/dist/astro/types.d.mts +269 -0
- package/dist/astro/types.mjs +1 -0
- package/dist/base64-F8-DUraK.mjs +58 -0
- package/dist/byline-DeWCMU_i.mjs +234 -0
- package/dist/bylines-DyqBV9EQ.mjs +137 -0
- package/dist/chunk-ClPoSABd.mjs +21 -0
- package/dist/cli/index.d.mts +1 -0
- package/dist/cli/index.mjs +3987 -0
- package/dist/client/external-auth-headers.d.mts +38 -0
- package/dist/client/external-auth-headers.mjs +101 -0
- package/dist/client/index.d.mts +397 -0
- package/dist/client/index.mjs +345 -0
- package/dist/config-Cq8H0SfX.mjs +46 -0
- package/dist/connection-C9pxzuag.mjs +52 -0
- package/dist/content-zSgdNmnt.mjs +836 -0
- package/dist/db/index.d.mts +4 -0
- package/dist/db/index.mjs +62 -0
- package/dist/db/libsql.d.mts +10 -0
- package/dist/db/libsql.mjs +21 -0
- package/dist/db/postgres.d.mts +10 -0
- package/dist/db/postgres.mjs +29 -0
- package/dist/db/sqlite.d.mts +10 -0
- package/dist/db/sqlite.mjs +15 -0
- package/dist/default-WYlzADZL.mjs +80 -0
- package/dist/dialect-helpers-B9uSp2GJ.mjs +89 -0
- package/dist/error-DrxtnGPg.mjs +26 -0
- package/dist/index-C-jx21qs.d.mts +4771 -0
- package/dist/index.d.mts +16 -0
- package/dist/index.mjs +30 -0
- package/dist/load-C6FCD1FU.mjs +27 -0
- package/dist/loader-qKmo0wAY.mjs +446 -0
- package/dist/manifest-schema-CTSEyIJ3.mjs +186 -0
- package/dist/media/index.d.mts +25 -0
- package/dist/media/index.mjs +54 -0
- package/dist/media/local-runtime.d.mts +38 -0
- package/dist/media/local-runtime.mjs +132 -0
- package/dist/media-DMTr80Gv.mjs +199 -0
- package/dist/mode-BlyYtIFO.mjs +22 -0
- package/dist/page/index.d.mts +148 -0
- package/dist/page/index.mjs +419 -0
- package/dist/placeholder-B3knXwNc.mjs +267 -0
- package/dist/placeholder-bOx1xCTY.d.mts +283 -0
- package/dist/plugin-utils.d.mts +57 -0
- package/dist/plugin-utils.mjs +77 -0
- package/dist/plugins/adapt-sandbox-entry.d.mts +21 -0
- package/dist/plugins/adapt-sandbox-entry.mjs +112 -0
- package/dist/query-BiaPl_g2.mjs +459 -0
- package/dist/redirect-JPqLAbxa.mjs +328 -0
- package/dist/registry-DSd1GWB8.mjs +851 -0
- package/dist/request-context.d.mts +49 -0
- package/dist/request-context.mjs +42 -0
- package/dist/runner-B5l1JfOj.d.mts +26 -0
- package/dist/runner-BGUGywgG.mjs +1529 -0
- package/dist/runtime.d.mts +25 -0
- package/dist/runtime.mjs +41 -0
- package/dist/search-BNruJHDL.mjs +11054 -0
- package/dist/seed/index.d.mts +3 -0
- package/dist/seed/index.mjs +15 -0
- package/dist/seo/index.d.mts +69 -0
- package/dist/seo/index.mjs +69 -0
- package/dist/storage/local.d.mts +38 -0
- package/dist/storage/local.mjs +165 -0
- package/dist/storage/s3.d.mts +31 -0
- package/dist/storage/s3.mjs +174 -0
- package/dist/tokens-4vgYuXsZ.mjs +170 -0
- package/dist/transport-C5FYnid7.mjs +417 -0
- package/dist/transport-gIL-e43D.d.mts +41 -0
- package/dist/types-BawVha09.mjs +30 -0
- package/dist/types-BgQeVaPj.d.mts +192 -0
- package/dist/types-CLLdsG3g.d.mts +103 -0
- package/dist/types-D38djUXv.d.mts +1196 -0
- package/dist/types-DShnjzb6.mjs +15 -0
- package/dist/types-DkvMXalq.d.mts +425 -0
- package/dist/types-DuNbGKjF.mjs +74 -0
- package/dist/types-ju-_ORz7.d.mts +182 -0
- package/dist/validate-CXnRKfJK.mjs +327 -0
- package/dist/validate-CqRJb_xU.mjs +96 -0
- package/dist/validate-DVKJJ-M_.d.mts +377 -0
- package/locals.d.ts +47 -0
- package/package.json +313 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
//#region src/request-context.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Dineway Request Context
|
|
4
|
+
*
|
|
5
|
+
* Uses AsyncLocalStorage to provide request-scoped state to query functions
|
|
6
|
+
* without requiring explicit parameter passing. The middleware wraps next()
|
|
7
|
+
* in als.run(), making the context available to all code during rendering.
|
|
8
|
+
*
|
|
9
|
+
* For logged-out users with no CMS signals (no edit cookie, no preview param),
|
|
10
|
+
* the middleware skips ALS entirely — zero overhead for normal traffic.
|
|
11
|
+
*
|
|
12
|
+
* The AsyncLocalStorage instance is stored on globalThis with a Symbol key
|
|
13
|
+
* to guarantee a singleton even when bundlers duplicate this module across
|
|
14
|
+
* code-split chunks. Without this, Rollup/Vite may inline the module into
|
|
15
|
+
* multiple chunks (e.g. middleware and page components), each with its own
|
|
16
|
+
* ALS instance — breaking request-scoped state propagation.
|
|
17
|
+
*/
|
|
18
|
+
interface DinewayRequestContext {
|
|
19
|
+
/** Whether the current request is in visual editing mode */
|
|
20
|
+
editMode: boolean;
|
|
21
|
+
/** Preview token info, if this is a preview request */
|
|
22
|
+
preview?: {
|
|
23
|
+
collection: string;
|
|
24
|
+
id: string;
|
|
25
|
+
};
|
|
26
|
+
/** Current locale from Astro's i18n routing (when configured) */
|
|
27
|
+
locale?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Per-request database override.
|
|
30
|
+
*
|
|
31
|
+
* Set by middleware or sidecars when a request should use a session-local
|
|
32
|
+
* database instead of the runtime singleton. The runtime's `db` getter checks
|
|
33
|
+
* this first, falling back to the singleton instance. Used by the preview and
|
|
34
|
+
* playground sidecar flows.
|
|
35
|
+
*/
|
|
36
|
+
db?: unknown;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Run a function within a Dineway request context.
|
|
40
|
+
* Called by middleware to wrap next().
|
|
41
|
+
*/
|
|
42
|
+
declare function runWithContext<T>(ctx: DinewayRequestContext, fn: () => T): T;
|
|
43
|
+
/**
|
|
44
|
+
* Get the current request context.
|
|
45
|
+
* Returns undefined if no context is set (logged-out fast path).
|
|
46
|
+
*/
|
|
47
|
+
declare function getRequestContext(): DinewayRequestContext | undefined;
|
|
48
|
+
//#endregion
|
|
49
|
+
export { DinewayRequestContext, getRequestContext, runWithContext };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
|
|
3
|
+
//#region src/request-context.ts
|
|
4
|
+
/**
|
|
5
|
+
* Dineway Request Context
|
|
6
|
+
*
|
|
7
|
+
* Uses AsyncLocalStorage to provide request-scoped state to query functions
|
|
8
|
+
* without requiring explicit parameter passing. The middleware wraps next()
|
|
9
|
+
* in als.run(), making the context available to all code during rendering.
|
|
10
|
+
*
|
|
11
|
+
* For logged-out users with no CMS signals (no edit cookie, no preview param),
|
|
12
|
+
* the middleware skips ALS entirely — zero overhead for normal traffic.
|
|
13
|
+
*
|
|
14
|
+
* The AsyncLocalStorage instance is stored on globalThis with a Symbol key
|
|
15
|
+
* to guarantee a singleton even when bundlers duplicate this module across
|
|
16
|
+
* code-split chunks. Without this, Rollup/Vite may inline the module into
|
|
17
|
+
* multiple chunks (e.g. middleware and page components), each with its own
|
|
18
|
+
* ALS instance — breaking request-scoped state propagation.
|
|
19
|
+
*/
|
|
20
|
+
const ALS_KEY = Symbol.for("dineway:request-context");
|
|
21
|
+
const storage = globalThis[ALS_KEY] ?? (() => {
|
|
22
|
+
const als = new AsyncLocalStorage();
|
|
23
|
+
globalThis[ALS_KEY] = als;
|
|
24
|
+
return als;
|
|
25
|
+
})();
|
|
26
|
+
/**
|
|
27
|
+
* Run a function within a Dineway request context.
|
|
28
|
+
* Called by middleware to wrap next().
|
|
29
|
+
*/
|
|
30
|
+
function runWithContext(ctx, fn) {
|
|
31
|
+
return storage.run(ctx, fn);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get the current request context.
|
|
35
|
+
* Returns undefined if no context is set (logged-out fast path).
|
|
36
|
+
*/
|
|
37
|
+
function getRequestContext() {
|
|
38
|
+
return storage.getStore();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
export { getRequestContext, runWithContext };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { t as Database } from "./types-DkvMXalq.mjs";
|
|
2
|
+
import { Kysely } from "kysely";
|
|
3
|
+
|
|
4
|
+
//#region src/database/migrations/runner.d.ts
|
|
5
|
+
interface MigrationStatus {
|
|
6
|
+
applied: string[];
|
|
7
|
+
pending: string[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Get migration status
|
|
11
|
+
*/
|
|
12
|
+
declare function getMigrationStatus(db: Kysely<Database>): Promise<MigrationStatus>;
|
|
13
|
+
/**
|
|
14
|
+
* Run all pending migrations
|
|
15
|
+
*/
|
|
16
|
+
declare function runMigrations(db: Kysely<Database>): Promise<{
|
|
17
|
+
applied: string[];
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Rollback the last migration
|
|
21
|
+
*/
|
|
22
|
+
declare function rollbackMigration(db: Kysely<Database>): Promise<{
|
|
23
|
+
rolledBack: string | null;
|
|
24
|
+
}>;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { runMigrations as i, getMigrationStatus as n, rollbackMigration as r, MigrationStatus as t };
|