@lunora/codegen 1.0.0-alpha.25 → 1.0.0-alpha.26
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/index.mjs +5 -5
- package/dist/packem_shared/{GENERATED_HEADER-BullHnLo.mjs → GENERATED_HEADER-CYaSI_qY.mjs} +3 -0
- package/dist/packem_shared/{OPENRPC_VERSION-D7MAVX3K.mjs → OPENRPC_VERSION-CRe5l79E.mjs} +1 -1
- package/dist/packem_shared/{SCHEMA_SNAPSHOT_FILENAME-BAcxxSdB.mjs → SCHEMA_SNAPSHOT_FILENAME-cgOjZTVY.mjs} +12 -5
- package/dist/packem_shared/{buildOpenApiDocument-Bm56LsBb.mjs → buildOpenApiDocument-BlpXQe2K.mjs} +1 -1
- package/dist/packem_shared/{emitApp-BUN7hhlY.mjs → emitApp-C38fHt_1.mjs} +10 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -19,11 +19,11 @@ export { default as discoverSchema } from './packem_shared/discoverSchema-KYq55q
|
|
|
19
19
|
export { SHAPES_FILENAME, discoverShapes } from './packem_shared/SHAPES_FILENAME-ChV7MqgE.mjs';
|
|
20
20
|
export { default as discoverStorageRulesMetadata } from './packem_shared/discoverStorageRulesMetadata-Da8BKXcI.mjs';
|
|
21
21
|
export { WORKFLOWS_FILENAME, discoverWorkflows } from './packem_shared/WORKFLOWS_FILENAME-CCisG0Vy.mjs';
|
|
22
|
-
export { GENERATED_HEADER, emitApi, emitCollections, emitContainers, emitCrons, emitDataModel, emitDrizzleSchema, emitFunctions, emitServer, emitShard, emitVectors, emitWorkflows, emitWranglerCronTriggers } from './packem_shared/GENERATED_HEADER-
|
|
23
|
-
export { emitApp } from './packem_shared/emitApp-
|
|
24
|
-
export { buildOpenApiDocument, emitOpenApi, emitOpenApiModule } from './packem_shared/buildOpenApiDocument-
|
|
25
|
-
export { OPENRPC_VERSION, buildOpenRpcDocument, emitOpenRpc, emitOpenRpcModule } from './packem_shared/OPENRPC_VERSION-
|
|
26
|
-
export { SCHEMA_SNAPSHOT_FILENAME, createCodegenProject, refreshCodegenProject, runCodegen } from './packem_shared/SCHEMA_SNAPSHOT_FILENAME-
|
|
22
|
+
export { GENERATED_HEADER, emitApi, emitCollections, emitContainers, emitCrons, emitDataModel, emitDrizzleSchema, emitFunctions, emitServer, emitShard, emitVectors, emitWorkflows, emitWranglerCronTriggers } from './packem_shared/GENERATED_HEADER-CYaSI_qY.mjs';
|
|
23
|
+
export { emitApp } from './packem_shared/emitApp-C38fHt_1.mjs';
|
|
24
|
+
export { buildOpenApiDocument, emitOpenApi, emitOpenApiModule } from './packem_shared/buildOpenApiDocument-BlpXQe2K.mjs';
|
|
25
|
+
export { OPENRPC_VERSION, buildOpenRpcDocument, emitOpenRpc, emitOpenRpcModule } from './packem_shared/OPENRPC_VERSION-CRe5l79E.mjs';
|
|
26
|
+
export { SCHEMA_SNAPSHOT_FILENAME, createCodegenProject, refreshCodegenProject, runCodegen } from './packem_shared/SCHEMA_SNAPSHOT_FILENAME-cgOjZTVY.mjs';
|
|
27
27
|
export { SCHEMA_SNAPSHOT_VERSION, SchemaSnapshotParseError, buildSchemaSnapshot, diffSchemaSnapshots, evaluateSchemaDrift, parseSchemaSnapshot, serializeSchemaSnapshot } from './packem_shared/SCHEMA_SNAPSHOT_VERSION-wWGP2_5E.mjs';
|
|
28
28
|
export { schemaFromIr } from './packem_shared/schemaFromIr-DTYsLBaA.mjs';
|
|
29
29
|
export { LUNORA_ERROR_CODES, validatorIrToJsonSchema } from './packem_shared/LUNORA_ERROR_CODES-CySpQPD3.mjs';
|
|
@@ -2054,7 +2054,10 @@ const emitShard = ({
|
|
|
2054
2054
|
const maskData = maskMetadata ?? { columns: [] };
|
|
2055
2055
|
const storageRulesData = storageRules ?? { rules: [] };
|
|
2056
2056
|
const studioFeaturesData = studioFeatures ?? {
|
|
2057
|
+
analytics: false,
|
|
2058
|
+
auth: false,
|
|
2057
2059
|
flags: false,
|
|
2060
|
+
kv: false,
|
|
2058
2061
|
mail: false,
|
|
2059
2062
|
payments: false,
|
|
2060
2063
|
queues: false,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GENERATED_HEADER } from './GENERATED_HEADER-
|
|
1
|
+
import { GENERATED_HEADER } from './GENERATED_HEADER-CYaSI_qY.mjs';
|
|
2
2
|
import { s as sanitizeNamespace } from './paths-BRd6JHuF.mjs';
|
|
3
3
|
import { argsObjectSchema, LUNORA_ERROR_CODES } from './LUNORA_ERROR_CODES-CySpQPD3.mjs';
|
|
4
4
|
|
|
@@ -24,10 +24,10 @@ import { discoverShapes } from './SHAPES_FILENAME-ChV7MqgE.mjs';
|
|
|
24
24
|
import discoverStorageRulesMetadata from './discoverStorageRulesMetadata-Da8BKXcI.mjs';
|
|
25
25
|
import { e as enclosingExportName$1 } from './discover-ast-CT6BgBr4.mjs';
|
|
26
26
|
import { discoverWorkflows } from './WORKFLOWS_FILENAME-CCisG0Vy.mjs';
|
|
27
|
-
import { buildStorageColumns, emitDataModel, emitApi, emitServer, emitFunctions, emitShard, emitCollections, emitContainers, emitWorkflows, emitQueues, emitCrons, emitVectors, emitDrizzleSchema, emitSeed, emitWranglerCronTriggers } from './GENERATED_HEADER-
|
|
28
|
-
import { emitApp } from './emitApp-
|
|
29
|
-
import { buildOpenApiDocument, emitOpenApiModule } from './buildOpenApiDocument-
|
|
30
|
-
import { buildOpenRpcDocument, emitOpenRpcModule } from './OPENRPC_VERSION-
|
|
27
|
+
import { buildStorageColumns, emitDataModel, emitApi, emitServer, emitFunctions, emitShard, emitCollections, emitContainers, emitWorkflows, emitQueues, emitCrons, emitVectors, emitDrizzleSchema, emitSeed, emitWranglerCronTriggers } from './GENERATED_HEADER-CYaSI_qY.mjs';
|
|
28
|
+
import { emitApp } from './emitApp-C38fHt_1.mjs';
|
|
29
|
+
import { buildOpenApiDocument, emitOpenApiModule } from './buildOpenApiDocument-BlpXQe2K.mjs';
|
|
30
|
+
import { buildOpenRpcDocument, emitOpenRpcModule } from './OPENRPC_VERSION-CRe5l79E.mjs';
|
|
31
31
|
import { buildSchemaSnapshot, serializeSchemaSnapshot } from './SCHEMA_SNAPSHOT_VERSION-wWGP2_5E.mjs';
|
|
32
32
|
|
|
33
33
|
const HTTP_VERBS = /* @__PURE__ */ new Set(["delete", "get", "head", "options", "patch", "post", "put"]);
|
|
@@ -327,7 +327,10 @@ const discoverFeatureUsage = (project, lunoraDirectory) => {
|
|
|
327
327
|
};
|
|
328
328
|
const buildStudioFeatures = (usage, signals) => {
|
|
329
329
|
return {
|
|
330
|
+
analytics: usage.analytics || signals.dependencies.has("@lunora/bindings/analytics"),
|
|
331
|
+
auth: signals.dependencies.has("@lunora/auth"),
|
|
330
332
|
flags: usage.flags || signals.dependencies.has("@lunora/flags"),
|
|
333
|
+
kv: usage.kv || signals.dependencies.has("@lunora/bindings/kv"),
|
|
331
334
|
mail: usage.mail || signals.dependencies.has("@lunora/mail"),
|
|
332
335
|
payments: usage.payments || signals.dependencies.has("@lunora/payment"),
|
|
333
336
|
queues: signals.queueCount > 0 || signals.dependencies.has("@lunora/queue"),
|
|
@@ -1021,7 +1024,11 @@ const runCodegen = (options) => {
|
|
|
1021
1024
|
hasHyperdrive,
|
|
1022
1025
|
hasHyperdriveGlobal: schema.tables.some((table) => table.shardMode === "global" && table.globalBackend === "hyperdrive"),
|
|
1023
1026
|
hasImages,
|
|
1024
|
-
|
|
1027
|
+
// Auto-wire the studio's KV introspector on the SAME condition the nav
|
|
1028
|
+
// gates its tab on (`studioFeatures.kv` = ctx.kv usage OR a declared
|
|
1029
|
+
// `@lunora/bindings/kv` dep), so a visible KV tab always has a working
|
|
1030
|
+
// backend — never the reverse. The `ctx.kv` type-seam stays usage-only.
|
|
1031
|
+
hasKv: studioFeatures.kv,
|
|
1025
1032
|
hasPayments,
|
|
1026
1033
|
hasR2sql,
|
|
1027
1034
|
hasQueue: queues.some((queue) => queue.mode === "push"),
|
package/dist/packem_shared/{buildOpenApiDocument-Bm56LsBb.mjs → buildOpenApiDocument-BlpXQe2K.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GENERATED_HEADER } from './GENERATED_HEADER-
|
|
1
|
+
import { GENERATED_HEADER } from './GENERATED_HEADER-CYaSI_qY.mjs';
|
|
2
2
|
import { s as sanitizeNamespace } from './paths-BRd6JHuF.mjs';
|
|
3
3
|
import { LUNORA_ERROR_CODES, objectSchema, argsObjectSchema, validatorIrToJsonSchema } from './LUNORA_ERROR_CODES-CySpQPD3.mjs';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GENERATED_HEADER } from './GENERATED_HEADER-
|
|
1
|
+
import { GENERATED_HEADER } from './GENERATED_HEADER-CYaSI_qY.mjs';
|
|
2
2
|
|
|
3
3
|
const LONG_TAIL = [
|
|
4
4
|
["hasAi", "ai", "ai", "Override the Workers AI binding backing `ctx.ai` (defaults to `env.AI`)."],
|
|
@@ -27,6 +27,7 @@ const buildAccessImports = (hasAccess, hasAuth) => hasAccess ? [
|
|
|
27
27
|
`import type { CreateAccessResolverOptions } from "@lunora/cloudflare-access";`,
|
|
28
28
|
`import { createAccessResolver${hasAuth ? ", composeResolvers" : ""} } from "@lunora/cloudflare-access";`
|
|
29
29
|
] : [];
|
|
30
|
+
const buildKvImports = (hasKv) => hasKv ? [`import { createKvIntrospectorFromEnv } from "@lunora/bindings/kv";`] : [];
|
|
30
31
|
const buildImportLines = (options) => {
|
|
31
32
|
const {
|
|
32
33
|
hasAccess,
|
|
@@ -34,6 +35,7 @@ const buildImportLines = (options) => {
|
|
|
34
35
|
hasFramework,
|
|
35
36
|
hasGlobal,
|
|
36
37
|
hasHyperdriveGlobal,
|
|
38
|
+
hasKv,
|
|
37
39
|
hasQueue,
|
|
38
40
|
hasScheduler,
|
|
39
41
|
hasStorage,
|
|
@@ -70,6 +72,7 @@ const buildImportLines = (options) => {
|
|
|
70
72
|
`import { createHyperdriveGlobalCtxDb } from "@lunora/hyperdrive/global";`,
|
|
71
73
|
`import type { SqlCtxDbOptions, SqlExec } from "@lunora/sql-store";`
|
|
72
74
|
] : [],
|
|
75
|
+
...buildKvImports(hasKv),
|
|
73
76
|
...hasScheduler ? [`import type { DurableObjectNamespaceLike } from "@lunora/scheduler";`, `import { createScheduler } from "@lunora/scheduler";`] : [],
|
|
74
77
|
...hasStorage ? [`import type { R2BucketLike, Storage } from "@lunora/storage";`, `import { createBucketStorage, createStorage } from "@lunora/storage";`] : [],
|
|
75
78
|
...hasWorkflow ? [`import { createWorkflowsRestClient } from "@lunora/workflow";`] : [],
|
|
@@ -351,6 +354,12 @@ const buildWorkerOptionLines = (options) => [
|
|
|
351
354
|
Object.assign(options, this.buildStorageAdmin(env));
|
|
352
355
|
}`
|
|
353
356
|
] : [],
|
|
357
|
+
// The studio's KV browser is wired zero-config: `createKvIntrospectorFromEnv`
|
|
358
|
+
// scans `env` for every bound Workers KV namespace, so each `kv_namespaces`
|
|
359
|
+
// entry in wrangler.jsonc appears under its binding name (any name, any count)
|
|
360
|
+
// with no manual `createKvIntrospector` call. A deployment with no KV binding
|
|
361
|
+
// yields an empty namespace list rather than crashing.
|
|
362
|
+
...options.hasKv ? [` options.kvIntrospector = createKvIntrospectorFromEnv(env);`] : [],
|
|
354
363
|
...options.hasAuth ? [
|
|
355
364
|
` if (this.authDeclaration) {
|
|
356
365
|
options.authHandler = (request) => {
|