@orizm/cli 3.2.0 → 3.3.0-beta.1
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/{agent-Bd30EhQC.mjs → agent-Kf8iuW2I.mjs} +2 -2
- package/dist/{agent-Bd30EhQC.mjs.map → agent-Kf8iuW2I.mjs.map} +1 -1
- package/dist/{agent-vC2-9rjt.cjs → agent-UZZtdOZS.cjs} +2 -2
- package/dist/{agent-vC2-9rjt.cjs.map → agent-UZZtdOZS.cjs.map} +1 -1
- package/dist/cli/main.cjs +4 -4
- package/dist/cli/main.mjs +4 -4
- package/dist/{cms-DLOypcw8.mjs → cms-8XZhxwsM.mjs} +5 -2
- package/dist/{cms-DLOypcw8.mjs.map → cms-8XZhxwsM.mjs.map} +1 -1
- package/dist/{cms-CId7jg5l.cjs → cms-C4zEtppZ.cjs} +5 -2
- package/dist/{cms-CId7jg5l.cjs.map → cms-C4zEtppZ.cjs.map} +1 -1
- package/dist/{codegen-kbbIwPbb.cjs → codegen-Cypg4O3L.cjs} +3 -3
- package/dist/{codegen-kbbIwPbb.cjs.map → codegen-Cypg4O3L.cjs.map} +1 -1
- package/dist/{codegen-BKE_IYoM.mjs → codegen-Dnjv7zfm.mjs} +3 -3
- package/dist/{codegen-BKE_IYoM.mjs.map → codegen-Dnjv7zfm.mjs.map} +1 -1
- package/dist/config/index.cjs +4 -2
- package/dist/config/index.cjs.map +1 -1
- package/dist/config/index.d.mts +8 -1
- package/dist/config/index.d.mts.map +1 -1
- package/dist/config/index.mjs +4 -2
- package/dist/config/index.mjs.map +1 -1
- package/dist/{config-loader-D8x32gEU.cjs → config-loader-CZfANHBf.cjs} +2 -2
- package/dist/config-loader-CZfANHBf.cjs.map +1 -0
- package/dist/{config-loader-BEgS869e.mjs → config-loader-CtbZOGjc.mjs} +3 -3
- package/dist/config-loader-CtbZOGjc.mjs.map +1 -0
- package/dist/{consumer-OG6IEJun.cjs → consumer-BSgriLn0.cjs} +2 -2
- package/dist/{consumer-OG6IEJun.cjs.map → consumer-BSgriLn0.cjs.map} +1 -1
- package/dist/{consumer-CqyZdG9v.mjs → consumer-s8LnLw4e.mjs} +2 -2
- package/dist/{consumer-CqyZdG9v.mjs.map → consumer-s8LnLw4e.mjs.map} +1 -1
- package/dist/docs/features/cli/commands/schema.md +3 -2
- package/dist/docs/features/cms-sdk/install.md +1 -1
- package/dist/docs/features/console/audit-logs.md +3 -0
- package/dist/docs/features/consumer-sdk/install.md +1 -1
- package/dist/docs/features/dictionary.md +268 -0
- package/dist/docs/features/full-text-search/local-development.md +145 -0
- package/dist/docs/features/full-text-search.md +146 -0
- package/dist/docs/features/schema/database.md +9 -8
- package/dist/docs/index.md +3 -1
- package/dist/docs/manifest.json +3 -3
- package/dist/{erd-BNv5Th6z.mjs → erd-BihhEfZ_.mjs} +2 -2
- package/dist/{erd-BNv5Th6z.mjs.map → erd-BihhEfZ_.mjs.map} +1 -1
- package/dist/{erd-ByuVMQ5n.cjs → erd-DmnB1v2c.cjs} +2 -2
- package/dist/{erd-ByuVMQ5n.cjs.map → erd-DmnB1v2c.cjs.map} +1 -1
- package/dist/{init-CPfpVlUN.mjs → init-BpKpTQ0z.mjs} +66 -13
- package/dist/init-BpKpTQ0z.mjs.map +1 -0
- package/dist/{init-NaL2N3Go.cjs → init-BrZCChEG.cjs} +66 -13
- package/dist/init-BrZCChEG.cjs.map +1 -0
- package/dist/{push-9fPpd4U8.cjs → push-BggkrD0g.cjs} +28 -10
- package/dist/push-BggkrD0g.cjs.map +1 -0
- package/dist/{push-54rmb0T0.mjs → push-xWnD9oov.mjs} +28 -10
- package/dist/push-xWnD9oov.mjs.map +1 -0
- package/dist/{run-codegen-mclysZuT.cjs → run-codegen-B-90rvjk.cjs} +2 -2
- package/dist/run-codegen-B-90rvjk.cjs.map +1 -0
- package/dist/{run-codegen-DjnV60bE.mjs → run-codegen-CrO08jJT.mjs} +2 -2
- package/dist/run-codegen-CrO08jJT.mjs.map +1 -0
- package/dist/{schema-CNSTXsVa.cjs → schema-CUVTXrHk.cjs} +4 -4
- package/dist/{schema-CNSTXsVa.cjs.map → schema-CUVTXrHk.cjs.map} +1 -1
- package/dist/{schema-BL6SlLtH.mjs → schema-DlUWHV_t.mjs} +4 -4
- package/dist/{schema-BL6SlLtH.mjs.map → schema-DlUWHV_t.mjs.map} +1 -1
- package/dist/{validate-BpxZ8LTl.cjs → validate-BH8jqdqq.cjs} +2 -2
- package/dist/{validate-BpxZ8LTl.cjs.map → validate-BH8jqdqq.cjs.map} +1 -1
- package/dist/{validate-Ca0CRo16.mjs → validate-COS4bfr0.mjs} +2 -2
- package/dist/{validate-Ca0CRo16.mjs.map → validate-COS4bfr0.mjs.map} +1 -1
- package/package.json +8 -8
- package/dist/config-loader-BEgS869e.mjs.map +0 -1
- package/dist/config-loader-D8x32gEU.cjs.map +0 -1
- package/dist/init-CPfpVlUN.mjs.map +0 -1
- package/dist/init-NaL2N3Go.cjs.map +0 -1
- package/dist/push-54rmb0T0.mjs.map +0 -1
- package/dist/push-9fPpd4U8.cjs.map +0 -1
- package/dist/run-codegen-DjnV60bE.mjs.map +0 -1
- package/dist/run-codegen-mclysZuT.cjs.map +0 -1
|
@@ -6,9 +6,9 @@ var agent_default = defineCommand({
|
|
|
6
6
|
name: "agent",
|
|
7
7
|
description: "Set up AI coding agents to use the bundled Orizm docs"
|
|
8
8
|
},
|
|
9
|
-
subCommands: { init: () => import("./init-
|
|
9
|
+
subCommands: { init: () => import("./init-BpKpTQ0z.mjs").then((m) => m.default) }
|
|
10
10
|
});
|
|
11
11
|
|
|
12
12
|
//#endregion
|
|
13
13
|
export { agent_default as default };
|
|
14
|
-
//# sourceMappingURL=agent-
|
|
14
|
+
//# sourceMappingURL=agent-Kf8iuW2I.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-
|
|
1
|
+
{"version":3,"file":"agent-Kf8iuW2I.mjs","names":[],"sources":["../src/cli/commands/agent/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"agent\",\n description: \"Set up AI coding agents to use the bundled Orizm docs\",\n },\n subCommands: {\n init: () => import(\"./init.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,oBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa,EACX,YAAY,OAAO,sBAAY,CAAC,MAAM,MAAM,EAAE,OAAO,EACvD;AACF,CAAC"}
|
|
@@ -6,9 +6,9 @@ var agent_default = require_cli_main.defineCommand({
|
|
|
6
6
|
name: "agent",
|
|
7
7
|
description: "Set up AI coding agents to use the bundled Orizm docs"
|
|
8
8
|
},
|
|
9
|
-
subCommands: { init: () => Promise.resolve().then(() => require("./init-
|
|
9
|
+
subCommands: { init: () => Promise.resolve().then(() => require("./init-BrZCChEG.cjs")).then((m) => m.default) }
|
|
10
10
|
});
|
|
11
11
|
|
|
12
12
|
//#endregion
|
|
13
13
|
exports.default = agent_default;
|
|
14
|
-
//# sourceMappingURL=agent-
|
|
14
|
+
//# sourceMappingURL=agent-UZZtdOZS.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-
|
|
1
|
+
{"version":3,"file":"agent-UZZtdOZS.cjs","names":["defineCommand"],"sources":["../src/cli/commands/agent/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"agent\",\n description: \"Set up AI coding agents to use the bundled Orizm docs\",\n },\n subCommands: {\n init: () => import(\"./init.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,oBAAeA,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa,EACX,iDAAY,wBAAoB,MAAM,MAAM,EAAE,OAAO,EACvD;AACF,CAAC"}
|
package/dist/cli/main.cjs
CHANGED
|
@@ -35,7 +35,7 @@ let valibot = require("valibot");
|
|
|
35
35
|
valibot = __toESM(valibot, 1);
|
|
36
36
|
|
|
37
37
|
//#region package.json
|
|
38
|
-
var version$1 = "3.
|
|
38
|
+
var version$1 = "3.3.0-beta.1";
|
|
39
39
|
|
|
40
40
|
//#endregion
|
|
41
41
|
//#region src/cli/version.ts
|
|
@@ -206,14 +206,14 @@ const main = defineCommand({
|
|
|
206
206
|
link: () => Promise.resolve().then(() => require("../link-Cz7MX02S.cjs")).then((m) => m.default),
|
|
207
207
|
org: () => Promise.resolve().then(() => require("../org-Drj3VqIm.cjs")).then((m) => m.default),
|
|
208
208
|
project: () => Promise.resolve().then(() => require("../project-Dm7nr5NV.cjs")).then((m) => m.default),
|
|
209
|
-
codegen: () => Promise.resolve().then(() => require("../codegen-
|
|
210
|
-
schema: () => Promise.resolve().then(() => require("../schema-
|
|
209
|
+
codegen: () => Promise.resolve().then(() => require("../codegen-Cypg4O3L.cjs")).then((m) => m.default),
|
|
210
|
+
schema: () => Promise.resolve().then(() => require("../schema-CUVTXrHk.cjs")).then((m) => m.default),
|
|
211
211
|
key: () => Promise.resolve().then(() => require("../key-tRYRqYNo.cjs")).then((m) => m.default),
|
|
212
212
|
"project-user": () => Promise.resolve().then(() => require("../project-user-wLFnHFwB.cjs")).then((m) => m.default),
|
|
213
213
|
webhook: () => Promise.resolve().then(() => require("../webhook-CQeuAqec.cjs")).then((m) => m.default),
|
|
214
214
|
content: () => Promise.resolve().then(() => require("../content-ClRuLcGq.cjs")).then((m) => m.default),
|
|
215
215
|
bucket: () => Promise.resolve().then(() => require("../bucket-CFaYmimY.cjs")).then((m) => m.default),
|
|
216
|
-
agent: () => Promise.resolve().then(() => require("../agent-
|
|
216
|
+
agent: () => Promise.resolve().then(() => require("../agent-UZZtdOZS.cjs")).then((m) => m.default)
|
|
217
217
|
}
|
|
218
218
|
});
|
|
219
219
|
|
package/dist/cli/main.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import { colors } from "consola/utils";
|
|
|
6
6
|
import * as v from "valibot";
|
|
7
7
|
|
|
8
8
|
//#region package.json
|
|
9
|
-
var version$1 = "3.
|
|
9
|
+
var version$1 = "3.3.0-beta.1";
|
|
10
10
|
|
|
11
11
|
//#endregion
|
|
12
12
|
//#region src/cli/version.ts
|
|
@@ -177,14 +177,14 @@ const main = defineCommand$1({
|
|
|
177
177
|
link: () => import("../link-Bd55x5Zf.mjs").then((m) => m.default),
|
|
178
178
|
org: () => import("../org-Co-rjfr-.mjs").then((m) => m.default),
|
|
179
179
|
project: () => import("../project-C7qWFjMV.mjs").then((m) => m.default),
|
|
180
|
-
codegen: () => import("../codegen-
|
|
181
|
-
schema: () => import("../schema-
|
|
180
|
+
codegen: () => import("../codegen-Dnjv7zfm.mjs").then((m) => m.default),
|
|
181
|
+
schema: () => import("../schema-DlUWHV_t.mjs").then((m) => m.default),
|
|
182
182
|
key: () => import("../key-CyVxu3Uk.mjs").then((m) => m.default),
|
|
183
183
|
"project-user": () => import("../project-user-D9h_QBc0.mjs").then((m) => m.default),
|
|
184
184
|
webhook: () => import("../webhook-BT3cHrq5.mjs").then((m) => m.default),
|
|
185
185
|
content: () => import("../content-DWnYo6ad.mjs").then((m) => m.default),
|
|
186
186
|
bucket: () => import("../bucket-D-lu1xgZ.mjs").then((m) => m.default),
|
|
187
|
-
agent: () => import("../agent-
|
|
187
|
+
agent: () => import("../agent-Kf8iuW2I.mjs").then((m) => m.default)
|
|
188
188
|
}
|
|
189
189
|
});
|
|
190
190
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as defineCommand } from "./cli/main.mjs";
|
|
2
2
|
import { n as configFileArg, r as contextArgs, t as DEFAULT_CONFIG_FILE } from "./shared-CZZimGxc.mjs";
|
|
3
|
-
import { a as renderModuleDescriptorBlock, c as renderSection, d as renderWebhookTypesSection, f as toCodeTypeName, i as renderColumnField, l as renderTypeBlock, n as AUTOGEN_HEADER, o as renderModuleRowTypeBlock, p as formatTsWithPrettier, r as UTILITIES, s as renderRefsFieldLines, t as runCodegen, u as renderUniqueFieldLines } from "./run-codegen-
|
|
3
|
+
import { a as renderModuleDescriptorBlock, c as renderSection, d as renderWebhookTypesSection, f as toCodeTypeName, i as renderColumnField, l as renderTypeBlock, n as AUTOGEN_HEADER, o as renderModuleRowTypeBlock, p as formatTsWithPrettier, r as UTILITIES, s as renderRefsFieldLines, t as runCodegen, u as renderUniqueFieldLines } from "./run-codegen-CrO08jJT.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/codegen/cms.ts
|
|
6
6
|
function renderCmsModule(config) {
|
|
@@ -124,6 +124,8 @@ function renderCmsClient(config) {
|
|
|
124
124
|
this.userinfo = this.client.userinfo;
|
|
125
125
|
|
|
126
126
|
this.auth = this.client.auth;
|
|
127
|
+
|
|
128
|
+
this.dictionary = this.client.dictionary;
|
|
127
129
|
}
|
|
128
130
|
|
|
129
131
|
readonly tables;
|
|
@@ -131,6 +133,7 @@ function renderCmsClient(config) {
|
|
|
131
133
|
readonly userManagement;
|
|
132
134
|
readonly userinfo;
|
|
133
135
|
readonly auth;
|
|
136
|
+
readonly dictionary;
|
|
134
137
|
}`;
|
|
135
138
|
}
|
|
136
139
|
|
|
@@ -169,4 +172,4 @@ var cms_default = defineCommand({
|
|
|
169
172
|
|
|
170
173
|
//#endregion
|
|
171
174
|
export { cms_default as default };
|
|
172
|
-
//# sourceMappingURL=cms-
|
|
175
|
+
//# sourceMappingURL=cms-8XZhxwsM.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms-DLOypcw8.mjs","names":[],"sources":["../src/cli/codegen/cms.ts","../src/cli/commands/codegen/cms.ts"],"sourcesContent":["import { CommonOrizmConfig } from \"../types.js\";\nimport { formatTsWithPrettier } from \"./format.js\";\nimport {\n AUTOGEN_HEADER,\n UTILITIES,\n RenderColumn,\n RenderIndex,\n toCodeTypeName,\n renderColumnField,\n renderTypeBlock,\n renderRefsFieldLines,\n renderUniqueFieldLines,\n renderModuleRowTypeBlock,\n renderModuleDescriptorBlock,\n renderSection,\n renderWebhookTypesSection,\n} from \"./render.js\";\n\ntype RenderTable = {\n name: string;\n columns: RenderColumn[];\n isSubmissions?: boolean;\n enableForm?: boolean;\n enableDrafts?: boolean;\n indexes?: RenderIndex[];\n formOptions?: { submissionColumns?: RenderColumn[] };\n};\n\nexport function renderCmsModule(config: CommonOrizmConfig): Promise<string> {\n const submissionTables: RenderTable[] = config.tables\n .filter((t) => t.enableForm)\n .map((t) => ({\n name: t.name + \"__submission\",\n columns: t.formOptions?.submissionColumns ?? [],\n isSubmissions: true,\n }));\n const allTables: RenderTable[] = [...config.tables, ...submissionTables];\n const modules = config.tableModules;\n\n const imports = [\n AUTOGEN_HEADER,\n \"\",\n 'import type { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";',\n 'import type { OrizmCMSClient } from \"@orizm/cms-sdk\";',\n ].join(\"\\n\");\n\n const types = [\n renderSection(\"Tables\", allTables.map(renderTableTypes)),\n renderSection(\"Module types\", modules.map(renderModuleTypes)),\n \"// Descriptor types\\n\" +\n [\n ...allTables.map(renderTableDescriptor),\n modules.map(renderModuleDescriptorBlock).join(\"\\n\"),\n ].join(\"\\n\\n\"),\n // Webhook の購読対象は base テーブルのみ\n renderWebhookTypesSection(config.tables),\n ]\n .filter(Boolean)\n .join(\"\\n\\n\\n\");\n\n const source = [imports, UTILITIES, types, renderCmsClient(config)].join(\n \"\\n\\n\\n\",\n );\n\n return formatTsWithPrettier(source);\n}\n\nfunction renderTableTypes(table: RenderTable): string {\n const cols = table.columns;\n const name = toCodeTypeName(table.name);\n\n const rowType = renderTypeBlock(name, [\n \"id: string;\",\n \"createdAt: string;\",\n \"updatedAt: string;\",\n ...(!table.isSubmissions\n ? [\n \"group: string | null;\",\n \"publishedAt: string | null;\",\n \"_draft: boolean | null;\",\n \"_published: boolean | null;\",\n \"scheduledPublishAt: string | null;\",\n \"scheduledUnpublishAt: string | null;\",\n ]\n : [\n \"_formId: string;\",\n \"_content: unknown;\",\n \"_formSchema: unknown;\",\n \"_attachments: StorageItemType[];\",\n ]),\n ...cols.map((col) => renderColumnField(col)),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...(!table.isSubmissions\n ? [\n \"group?: string | null;\",\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n ...cols\n .filter((col) => !col.readOnly)\n .map((col) =>\n renderColumnField(col, { optional: true, suffix: \"UpdateInput\" }),\n ),\n ...(!table.isSubmissions\n ? [\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderModuleTypes(mod: {\n name: string;\n columns: RenderColumn[];\n}): string {\n const name = toCodeTypeName(mod.name);\n const cols = mod.columns;\n\n const rowType = renderModuleRowTypeBlock(mod);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n \"id?: string;\",\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"UpdateInput\",\n }),\n ),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderTableDescriptor(table: RenderTable): string {\n const name = toCodeTypeName(table.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n `create: ${name}CreateInput;`,\n `update: ${name}UpdateInput;`,\n ...renderRefsFieldLines(table.columns),\n ...renderUniqueFieldLines(table),\n ...(table.enableDrafts ? [\"enableDrafts: true;\"] : []),\n ...(table.enableForm\n ? [`submissionDescriptor: ${name}_Submission__Descriptor;`]\n : [\"submissionDescriptor: never;\"]),\n ]);\n}\n\nfunction renderCmsClient(config: CommonOrizmConfig): string {\n const tableEntries = config.tables\n .map(\n (t) =>\n `${t.name}: this.client.getTableClient<${toCodeTypeName(t.name)}__Descriptor>(\"${t.name}\"),`,\n )\n .join(\"\\n\");\n\n const bucketEntries = config.buckets\n .map((b) => `${b.name}: this.client.getBucketClient(\"${b.name}\"),`)\n .join(\"\\n\");\n\n return `export class CMSClient {\n constructor(protected client: OrizmCMSClient) {\n this.tables = {\n ${tableEntries}\n };\n\n this.buckets = {\n ${bucketEntries}\n };\n\n this.userManagement = this.client.userManagement;\n\n this.userinfo = this.client.userinfo;\n\n this.auth = this.client.auth;\n }\n\n readonly tables;\n readonly buckets;\n readonly userManagement;\n readonly userinfo;\n readonly auth;\n}`;\n}\n","import type { ArgsDef } from \"citty\";\nimport { defineCommand } from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { renderCmsModule } from \"../../codegen/cms.js\";\nimport { runCodegen } from \"./run-codegen.js\";\n\nconst cmsArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"Output file (.ts) or directory\",\n default: \"./src/orizm\",\n },\n pull: {\n type: \"boolean\",\n description:\n \"Generate from the server's applied definition instead of the local config\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"cms\",\n description: \"Generate CMS SDK types from a schema definition\",\n },\n args: cmsArgs,\n run: ({ args }) =>\n runCodegen({\n args,\n pull: args.pull === true,\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n output: args.output,\n label: \"CMS\",\n render: renderCmsModule,\n }),\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cms-8XZhxwsM.mjs","names":[],"sources":["../src/cli/codegen/cms.ts","../src/cli/commands/codegen/cms.ts"],"sourcesContent":["import { CommonOrizmConfig } from \"../types.js\";\nimport { formatTsWithPrettier } from \"./format.js\";\nimport {\n AUTOGEN_HEADER,\n UTILITIES,\n RenderColumn,\n RenderIndex,\n toCodeTypeName,\n renderColumnField,\n renderTypeBlock,\n renderRefsFieldLines,\n renderUniqueFieldLines,\n renderModuleRowTypeBlock,\n renderModuleDescriptorBlock,\n renderSection,\n renderWebhookTypesSection,\n} from \"./render.js\";\n\ntype RenderTable = {\n name: string;\n columns: RenderColumn[];\n isSubmissions?: boolean;\n enableForm?: boolean;\n enableDrafts?: boolean;\n indexes?: RenderIndex[];\n formOptions?: { submissionColumns?: RenderColumn[] };\n};\n\nexport function renderCmsModule(config: CommonOrizmConfig): Promise<string> {\n const submissionTables: RenderTable[] = config.tables\n .filter((t) => t.enableForm)\n .map((t) => ({\n name: t.name + \"__submission\",\n columns: t.formOptions?.submissionColumns ?? [],\n isSubmissions: true,\n }));\n const allTables: RenderTable[] = [...config.tables, ...submissionTables];\n const modules = config.tableModules;\n\n const imports = [\n AUTOGEN_HEADER,\n \"\",\n 'import type { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";',\n 'import type { OrizmCMSClient } from \"@orizm/cms-sdk\";',\n ].join(\"\\n\");\n\n const types = [\n renderSection(\"Tables\", allTables.map(renderTableTypes)),\n renderSection(\"Module types\", modules.map(renderModuleTypes)),\n \"// Descriptor types\\n\" +\n [\n ...allTables.map(renderTableDescriptor),\n modules.map(renderModuleDescriptorBlock).join(\"\\n\"),\n ].join(\"\\n\\n\"),\n // Webhook の購読対象は base テーブルのみ\n renderWebhookTypesSection(config.tables),\n ]\n .filter(Boolean)\n .join(\"\\n\\n\\n\");\n\n const source = [imports, UTILITIES, types, renderCmsClient(config)].join(\n \"\\n\\n\\n\",\n );\n\n return formatTsWithPrettier(source);\n}\n\nfunction renderTableTypes(table: RenderTable): string {\n const cols = table.columns;\n const name = toCodeTypeName(table.name);\n\n const rowType = renderTypeBlock(name, [\n \"id: string;\",\n \"createdAt: string;\",\n \"updatedAt: string;\",\n ...(!table.isSubmissions\n ? [\n \"group: string | null;\",\n \"publishedAt: string | null;\",\n \"_draft: boolean | null;\",\n \"_published: boolean | null;\",\n \"scheduledPublishAt: string | null;\",\n \"scheduledUnpublishAt: string | null;\",\n ]\n : [\n \"_formId: string;\",\n \"_content: unknown;\",\n \"_formSchema: unknown;\",\n \"_attachments: StorageItemType[];\",\n ]),\n ...cols.map((col) => renderColumnField(col)),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...(!table.isSubmissions\n ? [\n \"group?: string | null;\",\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n ...cols\n .filter((col) => !col.readOnly)\n .map((col) =>\n renderColumnField(col, { optional: true, suffix: \"UpdateInput\" }),\n ),\n ...(!table.isSubmissions\n ? [\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderModuleTypes(mod: {\n name: string;\n columns: RenderColumn[];\n}): string {\n const name = toCodeTypeName(mod.name);\n const cols = mod.columns;\n\n const rowType = renderModuleRowTypeBlock(mod);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n \"id?: string;\",\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"UpdateInput\",\n }),\n ),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderTableDescriptor(table: RenderTable): string {\n const name = toCodeTypeName(table.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n `create: ${name}CreateInput;`,\n `update: ${name}UpdateInput;`,\n ...renderRefsFieldLines(table.columns),\n ...renderUniqueFieldLines(table),\n ...(table.enableDrafts ? [\"enableDrafts: true;\"] : []),\n ...(table.enableForm\n ? [`submissionDescriptor: ${name}_Submission__Descriptor;`]\n : [\"submissionDescriptor: never;\"]),\n ]);\n}\n\nfunction renderCmsClient(config: CommonOrizmConfig): string {\n const tableEntries = config.tables\n .map(\n (t) =>\n `${t.name}: this.client.getTableClient<${toCodeTypeName(t.name)}__Descriptor>(\"${t.name}\"),`,\n )\n .join(\"\\n\");\n\n const bucketEntries = config.buckets\n .map((b) => `${b.name}: this.client.getBucketClient(\"${b.name}\"),`)\n .join(\"\\n\");\n\n return `export class CMSClient {\n constructor(protected client: OrizmCMSClient) {\n this.tables = {\n ${tableEntries}\n };\n\n this.buckets = {\n ${bucketEntries}\n };\n\n this.userManagement = this.client.userManagement;\n\n this.userinfo = this.client.userinfo;\n\n this.auth = this.client.auth;\n\n this.dictionary = this.client.dictionary;\n }\n\n readonly tables;\n readonly buckets;\n readonly userManagement;\n readonly userinfo;\n readonly auth;\n readonly dictionary;\n}`;\n}\n","import type { ArgsDef } from \"citty\";\nimport { defineCommand } from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { renderCmsModule } from \"../../codegen/cms.js\";\nimport { runCodegen } from \"./run-codegen.js\";\n\nconst cmsArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"Output file (.ts) or directory\",\n default: \"./src/orizm\",\n },\n pull: {\n type: \"boolean\",\n description:\n \"Generate from the server's applied definition instead of the local config\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"cms\",\n description: \"Generate CMS SDK types from a schema definition\",\n },\n args: cmsArgs,\n run: ({ args }) =>\n runCodegen({\n args,\n pull: args.pull === true,\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n output: args.output,\n label: \"CMS\",\n render: renderCmsModule,\n }),\n});\n"],"mappings":";;;;;AA4BA,SAAgB,gBAAgB,QAA4C;CAC1E,MAAM,mBAAkC,OAAO,OAC5C,QAAQ,MAAM,EAAE,UAAU,CAAC,CAC3B,KAAK,OAAO;EACX,MAAM,EAAE,OAAO;EACf,SAAS,EAAE,aAAa,qBAAqB,CAAC;EAC9C,eAAe;CACjB,EAAE;CACJ,MAAM,YAA2B,CAAC,GAAG,OAAO,QAAQ,GAAG,gBAAgB;CACvE,MAAM,UAAU,OAAO;CA2BvB,OAAO,qBAJQ;EArBC;GACd;GACA;GACA;GACA;EACF,CAAC,CAAC,KAAK,IAgBe;EAAG;EAdX;GACZ,cAAc,UAAU,UAAU,IAAI,gBAAgB,CAAC;GACvD,cAAc,gBAAgB,QAAQ,IAAI,iBAAiB,CAAC;GAC5D,0BACE,CACE,GAAG,UAAU,IAAI,qBAAqB,GACtC,QAAQ,IAAI,2BAA2B,CAAC,CAAC,KAAK,IAAI,CACpD,CAAC,CAAC,KAAK,MAAM;GAEf,0BAA0B,OAAO,MAAM;EACzC,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,QAEgC;EAAG,gBAAgB,MAAM;CAAC,CAAC,CAAC,KAClE,QAG+B,CAAC;AACpC;AAEA,SAAS,iBAAiB,OAA4B;CACpD,MAAM,OAAO,MAAM;CACnB,MAAM,OAAO,eAAe,MAAM,IAAI;CA6DtC,OAAO;EA3DS,gBAAgB,MAAM;GACpC;GACA;GACA;GACA,GAAI,CAAC,MAAM,gBACP;IACE;IACA;IACA;IACA;IACA;IACA;GACF,IACA;IACE;IACA;IACA;IACA;GACF;GACJ,GAAG,KAAK,KAAK,QAAQ,kBAAkB,GAAG,CAAC;GAC3C,GAAI,MAAM,aAAa,CAAC,kCAAkC,IAAI,CAAC;EACjE,CAsCc;EApCK,gBAAgB,GAAG,KAAK,cAAc;GACvD,GAAI,CAAC,MAAM,gBACP;IACE;IACA;IACA;IACA;IACA;GACF,IACA,CAAC;GACL,GAAG,KAAK,KAAK,QACX,kBAAkB,KAAK;IACrB,UAAU,CAAC,IAAI;IACf,QAAQ;GACV,CAAC,CACH;GACA,GAAI,MAAM,aAAa,CAAC,kCAAkC,IAAI,CAAC;EACjE,CAmB0B;EAjBP,gBAAgB,GAAG,KAAK,cAAc;GACvD,GAAG,KACA,QAAQ,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAC9B,KAAK,QACJ,kBAAkB,KAAK;IAAE,UAAU;IAAM,QAAQ;GAAc,CAAC,CAClE;GACF,GAAI,CAAC,MAAM,gBACP;IACE;IACA;IACA;IACA;GACF,IACA,CAAC;GACL,GAAI,MAAM,aAAa,CAAC,kCAAkC,IAAI,CAAC;EACjE,CAEsC;CAAC,CAAC,CAAC,KAAK,MAAM;AACtD;AAEA,SAAS,kBAAkB,KAGhB;CACT,MAAM,OAAO,eAAe,IAAI,IAAI;CACpC,MAAM,OAAO,IAAI;CAuBjB,OAAO;EArBS,yBAAyB,GAqB3B;EAnBK,gBAAgB,GAAG,KAAK,cAAc,CACvD,GAAG,KAAK,KAAK,QACX,kBAAkB,KAAK;GACrB,UAAU,CAAC,IAAI;GACf,QAAQ;EACV,CAAC,CACH,CACF,CAY0B;EAVP,gBAAgB,GAAG,KAAK,cAAc,CACvD,gBACA,GAAG,KAAK,KAAK,QACX,kBAAkB,KAAK;GACrB,UAAU,CAAC,IAAI;GACf,QAAQ;EACV,CAAC,CACH,CACF,CAEsC;CAAC,CAAC,CAAC,KAAK,MAAM;AACtD;AAEA,SAAS,sBAAsB,OAA4B;CACzD,MAAM,OAAO,eAAe,MAAM,IAAI;CACtC,OAAO,gBAAgB,GAAG,KAAK,eAAe;EAC5C,QAAQ,KAAK;EACb,WAAW,KAAK;EAChB,WAAW,KAAK;EAChB,GAAG,qBAAqB,MAAM,OAAO;EACrC,GAAG,uBAAuB,KAAK;EAC/B,GAAI,MAAM,eAAe,CAAC,qBAAqB,IAAI,CAAC;EACpD,GAAI,MAAM,aACN,CAAC,yBAAyB,KAAK,yBAAyB,IACxD,CAAC,8BAA8B;CACrC,CAAC;AACH;AAEA,SAAS,gBAAgB,QAAmC;CAY1D,OAAO;;;QAXc,OAAO,OACzB,KACE,MACC,GAAG,EAAE,KAAK,+BAA+B,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,IAC5F,CAAC,CACA,KAAK,IASS,EAAE;;;;QAPG,OAAO,QAC1B,KAAK,MAAM,GAAG,EAAE,KAAK,iCAAiC,EAAE,KAAK,IAAI,CAAC,CAClE,KAAK,IASU,EAAE;;;;;;;;;;;;;;;;;;;AAmBtB;;;;ACnNA,MAAM,UAAU;CACd,GAAG;CACH,eAAe;CACf,QAAQ;EACN,MAAM;EACN,OAAO;EACP,aAAa;EACb,SAAS;CACX;CACA,MAAM;EACJ,MAAM;EACN,aACE;EACF,SAAS;CACX;AACF;AAEA,kBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,MAAM;CACN,MAAM,EAAE,WACN,WAAW;EACT;EACA,MAAM,KAAK,SAAS;EACpB,YAAY,KAAK;EACjB,QAAQ,KAAK;EACb,OAAO;EACP,QAAQ;CACV,CAAC;AACL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_cli_main = require('./cli/main.cjs');
|
|
2
2
|
const require_shared = require('./shared-DHRPzzKl.cjs');
|
|
3
|
-
const require_run_codegen = require('./run-codegen-
|
|
3
|
+
const require_run_codegen = require('./run-codegen-B-90rvjk.cjs');
|
|
4
4
|
|
|
5
5
|
//#region src/cli/codegen/cms.ts
|
|
6
6
|
function renderCmsModule(config) {
|
|
@@ -124,6 +124,8 @@ function renderCmsClient(config) {
|
|
|
124
124
|
this.userinfo = this.client.userinfo;
|
|
125
125
|
|
|
126
126
|
this.auth = this.client.auth;
|
|
127
|
+
|
|
128
|
+
this.dictionary = this.client.dictionary;
|
|
127
129
|
}
|
|
128
130
|
|
|
129
131
|
readonly tables;
|
|
@@ -131,6 +133,7 @@ function renderCmsClient(config) {
|
|
|
131
133
|
readonly userManagement;
|
|
132
134
|
readonly userinfo;
|
|
133
135
|
readonly auth;
|
|
136
|
+
readonly dictionary;
|
|
134
137
|
}`;
|
|
135
138
|
}
|
|
136
139
|
|
|
@@ -169,4 +172,4 @@ var cms_default = require_cli_main.defineCommand({
|
|
|
169
172
|
|
|
170
173
|
//#endregion
|
|
171
174
|
exports.default = cms_default;
|
|
172
|
-
//# sourceMappingURL=cms-
|
|
175
|
+
//# sourceMappingURL=cms-C4zEtppZ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms-CId7jg5l.cjs","names":["formatTsWithPrettier","AUTOGEN_HEADER","UTILITIES","renderSection","renderModuleDescriptorBlock","renderWebhookTypesSection","toCodeTypeName","renderTypeBlock","renderColumnField","renderModuleRowTypeBlock","renderRefsFieldLines","renderUniqueFieldLines","contextArgs","configFileArg","defineCommand","runCodegen"],"sources":["../src/cli/codegen/cms.ts","../src/cli/commands/codegen/cms.ts"],"sourcesContent":["import { CommonOrizmConfig } from \"../types.js\";\nimport { formatTsWithPrettier } from \"./format.js\";\nimport {\n AUTOGEN_HEADER,\n UTILITIES,\n RenderColumn,\n RenderIndex,\n toCodeTypeName,\n renderColumnField,\n renderTypeBlock,\n renderRefsFieldLines,\n renderUniqueFieldLines,\n renderModuleRowTypeBlock,\n renderModuleDescriptorBlock,\n renderSection,\n renderWebhookTypesSection,\n} from \"./render.js\";\n\ntype RenderTable = {\n name: string;\n columns: RenderColumn[];\n isSubmissions?: boolean;\n enableForm?: boolean;\n enableDrafts?: boolean;\n indexes?: RenderIndex[];\n formOptions?: { submissionColumns?: RenderColumn[] };\n};\n\nexport function renderCmsModule(config: CommonOrizmConfig): Promise<string> {\n const submissionTables: RenderTable[] = config.tables\n .filter((t) => t.enableForm)\n .map((t) => ({\n name: t.name + \"__submission\",\n columns: t.formOptions?.submissionColumns ?? [],\n isSubmissions: true,\n }));\n const allTables: RenderTable[] = [...config.tables, ...submissionTables];\n const modules = config.tableModules;\n\n const imports = [\n AUTOGEN_HEADER,\n \"\",\n 'import type { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";',\n 'import type { OrizmCMSClient } from \"@orizm/cms-sdk\";',\n ].join(\"\\n\");\n\n const types = [\n renderSection(\"Tables\", allTables.map(renderTableTypes)),\n renderSection(\"Module types\", modules.map(renderModuleTypes)),\n \"// Descriptor types\\n\" +\n [\n ...allTables.map(renderTableDescriptor),\n modules.map(renderModuleDescriptorBlock).join(\"\\n\"),\n ].join(\"\\n\\n\"),\n // Webhook の購読対象は base テーブルのみ\n renderWebhookTypesSection(config.tables),\n ]\n .filter(Boolean)\n .join(\"\\n\\n\\n\");\n\n const source = [imports, UTILITIES, types, renderCmsClient(config)].join(\n \"\\n\\n\\n\",\n );\n\n return formatTsWithPrettier(source);\n}\n\nfunction renderTableTypes(table: RenderTable): string {\n const cols = table.columns;\n const name = toCodeTypeName(table.name);\n\n const rowType = renderTypeBlock(name, [\n \"id: string;\",\n \"createdAt: string;\",\n \"updatedAt: string;\",\n ...(!table.isSubmissions\n ? [\n \"group: string | null;\",\n \"publishedAt: string | null;\",\n \"_draft: boolean | null;\",\n \"_published: boolean | null;\",\n \"scheduledPublishAt: string | null;\",\n \"scheduledUnpublishAt: string | null;\",\n ]\n : [\n \"_formId: string;\",\n \"_content: unknown;\",\n \"_formSchema: unknown;\",\n \"_attachments: StorageItemType[];\",\n ]),\n ...cols.map((col) => renderColumnField(col)),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...(!table.isSubmissions\n ? [\n \"group?: string | null;\",\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n ...cols\n .filter((col) => !col.readOnly)\n .map((col) =>\n renderColumnField(col, { optional: true, suffix: \"UpdateInput\" }),\n ),\n ...(!table.isSubmissions\n ? [\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderModuleTypes(mod: {\n name: string;\n columns: RenderColumn[];\n}): string {\n const name = toCodeTypeName(mod.name);\n const cols = mod.columns;\n\n const rowType = renderModuleRowTypeBlock(mod);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n \"id?: string;\",\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"UpdateInput\",\n }),\n ),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderTableDescriptor(table: RenderTable): string {\n const name = toCodeTypeName(table.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n `create: ${name}CreateInput;`,\n `update: ${name}UpdateInput;`,\n ...renderRefsFieldLines(table.columns),\n ...renderUniqueFieldLines(table),\n ...(table.enableDrafts ? [\"enableDrafts: true;\"] : []),\n ...(table.enableForm\n ? [`submissionDescriptor: ${name}_Submission__Descriptor;`]\n : [\"submissionDescriptor: never;\"]),\n ]);\n}\n\nfunction renderCmsClient(config: CommonOrizmConfig): string {\n const tableEntries = config.tables\n .map(\n (t) =>\n `${t.name}: this.client.getTableClient<${toCodeTypeName(t.name)}__Descriptor>(\"${t.name}\"),`,\n )\n .join(\"\\n\");\n\n const bucketEntries = config.buckets\n .map((b) => `${b.name}: this.client.getBucketClient(\"${b.name}\"),`)\n .join(\"\\n\");\n\n return `export class CMSClient {\n constructor(protected client: OrizmCMSClient) {\n this.tables = {\n ${tableEntries}\n };\n\n this.buckets = {\n ${bucketEntries}\n };\n\n this.userManagement = this.client.userManagement;\n\n this.userinfo = this.client.userinfo;\n\n this.auth = this.client.auth;\n }\n\n readonly tables;\n readonly buckets;\n readonly userManagement;\n readonly userinfo;\n readonly auth;\n}`;\n}\n","import type { ArgsDef } from \"citty\";\nimport { defineCommand } from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { renderCmsModule } from \"../../codegen/cms.js\";\nimport { runCodegen } from \"./run-codegen.js\";\n\nconst cmsArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"Output file (.ts) or directory\",\n default: \"./src/orizm\",\n },\n pull: {\n type: \"boolean\",\n description:\n \"Generate from the server's applied definition instead of the local config\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"cms\",\n description: \"Generate CMS SDK types from a schema definition\",\n },\n args: cmsArgs,\n run: ({ args }) =>\n runCodegen({\n args,\n pull: args.pull === true,\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n output: args.output,\n label: \"CMS\",\n render: renderCmsModule,\n }),\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cms-C4zEtppZ.cjs","names":["formatTsWithPrettier","AUTOGEN_HEADER","UTILITIES","renderSection","renderModuleDescriptorBlock","renderWebhookTypesSection","toCodeTypeName","renderTypeBlock","renderColumnField","renderModuleRowTypeBlock","renderRefsFieldLines","renderUniqueFieldLines","contextArgs","configFileArg","defineCommand","runCodegen"],"sources":["../src/cli/codegen/cms.ts","../src/cli/commands/codegen/cms.ts"],"sourcesContent":["import { CommonOrizmConfig } from \"../types.js\";\nimport { formatTsWithPrettier } from \"./format.js\";\nimport {\n AUTOGEN_HEADER,\n UTILITIES,\n RenderColumn,\n RenderIndex,\n toCodeTypeName,\n renderColumnField,\n renderTypeBlock,\n renderRefsFieldLines,\n renderUniqueFieldLines,\n renderModuleRowTypeBlock,\n renderModuleDescriptorBlock,\n renderSection,\n renderWebhookTypesSection,\n} from \"./render.js\";\n\ntype RenderTable = {\n name: string;\n columns: RenderColumn[];\n isSubmissions?: boolean;\n enableForm?: boolean;\n enableDrafts?: boolean;\n indexes?: RenderIndex[];\n formOptions?: { submissionColumns?: RenderColumn[] };\n};\n\nexport function renderCmsModule(config: CommonOrizmConfig): Promise<string> {\n const submissionTables: RenderTable[] = config.tables\n .filter((t) => t.enableForm)\n .map((t) => ({\n name: t.name + \"__submission\",\n columns: t.formOptions?.submissionColumns ?? [],\n isSubmissions: true,\n }));\n const allTables: RenderTable[] = [...config.tables, ...submissionTables];\n const modules = config.tableModules;\n\n const imports = [\n AUTOGEN_HEADER,\n \"\",\n 'import type { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";',\n 'import type { OrizmCMSClient } from \"@orizm/cms-sdk\";',\n ].join(\"\\n\");\n\n const types = [\n renderSection(\"Tables\", allTables.map(renderTableTypes)),\n renderSection(\"Module types\", modules.map(renderModuleTypes)),\n \"// Descriptor types\\n\" +\n [\n ...allTables.map(renderTableDescriptor),\n modules.map(renderModuleDescriptorBlock).join(\"\\n\"),\n ].join(\"\\n\\n\"),\n // Webhook の購読対象は base テーブルのみ\n renderWebhookTypesSection(config.tables),\n ]\n .filter(Boolean)\n .join(\"\\n\\n\\n\");\n\n const source = [imports, UTILITIES, types, renderCmsClient(config)].join(\n \"\\n\\n\\n\",\n );\n\n return formatTsWithPrettier(source);\n}\n\nfunction renderTableTypes(table: RenderTable): string {\n const cols = table.columns;\n const name = toCodeTypeName(table.name);\n\n const rowType = renderTypeBlock(name, [\n \"id: string;\",\n \"createdAt: string;\",\n \"updatedAt: string;\",\n ...(!table.isSubmissions\n ? [\n \"group: string | null;\",\n \"publishedAt: string | null;\",\n \"_draft: boolean | null;\",\n \"_published: boolean | null;\",\n \"scheduledPublishAt: string | null;\",\n \"scheduledUnpublishAt: string | null;\",\n ]\n : [\n \"_formId: string;\",\n \"_content: unknown;\",\n \"_formSchema: unknown;\",\n \"_attachments: StorageItemType[];\",\n ]),\n ...cols.map((col) => renderColumnField(col)),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...(!table.isSubmissions\n ? [\n \"group?: string | null;\",\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n ...cols\n .filter((col) => !col.readOnly)\n .map((col) =>\n renderColumnField(col, { optional: true, suffix: \"UpdateInput\" }),\n ),\n ...(!table.isSubmissions\n ? [\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderModuleTypes(mod: {\n name: string;\n columns: RenderColumn[];\n}): string {\n const name = toCodeTypeName(mod.name);\n const cols = mod.columns;\n\n const rowType = renderModuleRowTypeBlock(mod);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n \"id?: string;\",\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"UpdateInput\",\n }),\n ),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderTableDescriptor(table: RenderTable): string {\n const name = toCodeTypeName(table.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n `create: ${name}CreateInput;`,\n `update: ${name}UpdateInput;`,\n ...renderRefsFieldLines(table.columns),\n ...renderUniqueFieldLines(table),\n ...(table.enableDrafts ? [\"enableDrafts: true;\"] : []),\n ...(table.enableForm\n ? [`submissionDescriptor: ${name}_Submission__Descriptor;`]\n : [\"submissionDescriptor: never;\"]),\n ]);\n}\n\nfunction renderCmsClient(config: CommonOrizmConfig): string {\n const tableEntries = config.tables\n .map(\n (t) =>\n `${t.name}: this.client.getTableClient<${toCodeTypeName(t.name)}__Descriptor>(\"${t.name}\"),`,\n )\n .join(\"\\n\");\n\n const bucketEntries = config.buckets\n .map((b) => `${b.name}: this.client.getBucketClient(\"${b.name}\"),`)\n .join(\"\\n\");\n\n return `export class CMSClient {\n constructor(protected client: OrizmCMSClient) {\n this.tables = {\n ${tableEntries}\n };\n\n this.buckets = {\n ${bucketEntries}\n };\n\n this.userManagement = this.client.userManagement;\n\n this.userinfo = this.client.userinfo;\n\n this.auth = this.client.auth;\n\n this.dictionary = this.client.dictionary;\n }\n\n readonly tables;\n readonly buckets;\n readonly userManagement;\n readonly userinfo;\n readonly auth;\n readonly dictionary;\n}`;\n}\n","import type { ArgsDef } from \"citty\";\nimport { defineCommand } from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { renderCmsModule } from \"../../codegen/cms.js\";\nimport { runCodegen } from \"./run-codegen.js\";\n\nconst cmsArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"Output file (.ts) or directory\",\n default: \"./src/orizm\",\n },\n pull: {\n type: \"boolean\",\n description:\n \"Generate from the server's applied definition instead of the local config\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"cms\",\n description: \"Generate CMS SDK types from a schema definition\",\n },\n args: cmsArgs,\n run: ({ args }) =>\n runCodegen({\n args,\n pull: args.pull === true,\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n output: args.output,\n label: \"CMS\",\n render: renderCmsModule,\n }),\n});\n"],"mappings":"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"}
|
|
@@ -7,11 +7,11 @@ var codegen_default = require_cli_main.defineCommand({
|
|
|
7
7
|
description: "Generate SDK type code from orizm.config.ts"
|
|
8
8
|
},
|
|
9
9
|
subCommands: {
|
|
10
|
-
cms: () => Promise.resolve().then(() => require("./cms-
|
|
11
|
-
consumer: () => Promise.resolve().then(() => require("./consumer-
|
|
10
|
+
cms: () => Promise.resolve().then(() => require("./cms-C4zEtppZ.cjs")).then((m) => m.default),
|
|
11
|
+
consumer: () => Promise.resolve().then(() => require("./consumer-BSgriLn0.cjs")).then((m) => m.default)
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
//#endregion
|
|
16
16
|
exports.default = codegen_default;
|
|
17
|
-
//# sourceMappingURL=codegen-
|
|
17
|
+
//# sourceMappingURL=codegen-Cypg4O3L.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen-
|
|
1
|
+
{"version":3,"file":"codegen-Cypg4O3L.cjs","names":["defineCommand"],"sources":["../src/cli/commands/codegen/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"codegen\",\n description: \"Generate SDK type code from orizm.config.ts\",\n },\n subCommands: {\n cms: () => import(\"./cms.js\").then((m) => m.default),\n consumer: () => import(\"./consumer.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,sBAAeA,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,gDAAW,uBAAmB,MAAM,MAAM,EAAE,OAAO;EACnD,qDAAgB,4BAAwB,MAAM,MAAM,EAAE,OAAO;CAC/D;AACF,CAAC"}
|
|
@@ -7,11 +7,11 @@ var codegen_default = defineCommand({
|
|
|
7
7
|
description: "Generate SDK type code from orizm.config.ts"
|
|
8
8
|
},
|
|
9
9
|
subCommands: {
|
|
10
|
-
cms: () => import("./cms-
|
|
11
|
-
consumer: () => import("./consumer-
|
|
10
|
+
cms: () => import("./cms-8XZhxwsM.mjs").then((m) => m.default),
|
|
11
|
+
consumer: () => import("./consumer-s8LnLw4e.mjs").then((m) => m.default)
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
//#endregion
|
|
16
16
|
export { codegen_default as default };
|
|
17
|
-
//# sourceMappingURL=codegen-
|
|
17
|
+
//# sourceMappingURL=codegen-Dnjv7zfm.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen-
|
|
1
|
+
{"version":3,"file":"codegen-Dnjv7zfm.mjs","names":[],"sources":["../src/cli/commands/codegen/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"codegen\",\n description: \"Generate SDK type code from orizm.config.ts\",\n },\n subCommands: {\n cms: () => import(\"./cms.js\").then((m) => m.default),\n consumer: () => import(\"./consumer.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,sBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,WAAW,OAAO,qBAAW,CAAC,MAAM,MAAM,EAAE,OAAO;EACnD,gBAAgB,OAAO,0BAAgB,CAAC,MAAM,MAAM,EAAE,OAAO;CAC/D;AACF,CAAC"}
|
package/dist/config/index.cjs
CHANGED
|
@@ -2,13 +2,15 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2
2
|
|
|
3
3
|
//#region src/config/functions.ts
|
|
4
4
|
function defineConfig(config) {
|
|
5
|
-
const { tables = {}, tableModules = {}, buckets = {}, authorities = [] } = config;
|
|
6
|
-
|
|
5
|
+
const { tables = {}, tableModules = {}, buckets = {}, authorities = [], semanticSearch } = config;
|
|
6
|
+
const definition = {
|
|
7
7
|
tables: Object.entries(tables).map(([tableName, tableInput]) => table(tableName, tableInput)),
|
|
8
8
|
tableModules: Object.entries(tableModules).map(([moduleName, moduleInput]) => module$1(moduleName, moduleInput)),
|
|
9
9
|
buckets: Object.entries(buckets).map(([bucketName, bucketInput]) => bucket(bucketName, bucketInput)),
|
|
10
10
|
authorities
|
|
11
11
|
};
|
|
12
|
+
if (semanticSearch !== void 0) definition.semanticSearch = semanticSearch;
|
|
13
|
+
return definition;
|
|
12
14
|
}
|
|
13
15
|
function table(name, input) {
|
|
14
16
|
const { columns, indexes, formOptions, ...rest } = input;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["module"],"sources":["../../src/config/functions.ts"],"sourcesContent":["import { TableColumnDef } from \"@orizm/common/config-validator\";\nimport {\n CommonAuthorityRulesDefinition,\n CommonBooleanColumnDefinition,\n CommonBucketDefinition,\n CommonJsonColumnDefinition,\n CommonModuleColumnDefinition,\n CommonNumberColumnDefinition,\n CommonOrizmConfig,\n CommonReferenceColumnDefinition,\n CommonStorageColumnDefinition,\n CommonStringColumnDefinition,\n CommonTableDefinition,\n CommonTableModuleDefinition,\n} from \"./types\";\n\ntype DefineConfigInput = {\n tables?: { [tableName: string]: TableInput };\n tableModules?: { [moduleName: string]: TableModuleInput };\n buckets?: { [bucketName: string]: BucketInput };\n authorities?: CommonAuthorityRulesDefinition;\n};\n\nexport function defineConfig(config: DefineConfigInput): CommonOrizmConfig {\n const {\n tables = {},\n tableModules = {},\n buckets = {},\n authorities = [],\n } = config;\n
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["module"],"sources":["../../src/config/functions.ts"],"sourcesContent":["import { TableColumnDef } from \"@orizm/common/config-validator\";\nimport {\n CommonAuthorityRulesDefinition,\n CommonBooleanColumnDefinition,\n CommonBucketDefinition,\n CommonJsonColumnDefinition,\n CommonModuleColumnDefinition,\n CommonNumberColumnDefinition,\n CommonOrizmConfig,\n CommonReferenceColumnDefinition,\n CommonSemanticSearchDefinition,\n CommonStorageColumnDefinition,\n CommonStringColumnDefinition,\n CommonTableDefinition,\n CommonTableModuleDefinition,\n} from \"./types\";\n\ntype DefineConfigInput = {\n tables?: { [tableName: string]: TableInput };\n tableModules?: { [moduleName: string]: TableModuleInput };\n buckets?: { [bucketName: string]: BucketInput };\n authorities?: CommonAuthorityRulesDefinition;\n /**\n * プロジェクト単位のセマンティック検索(mode: semantic / hybrid)。\n * `{ enabled: true }` を宣言して push すると有効になり、`{ enabled: false }` で無効に戻る。\n * 省略時は現状維持(初期状態は無効)\n */\n semanticSearch?: CommonSemanticSearchDefinition;\n};\n\nexport function defineConfig(config: DefineConfigInput): CommonOrizmConfig {\n const {\n tables = {},\n tableModules = {},\n buckets = {},\n authorities = [],\n semanticSearch,\n } = config;\n const definition: CommonOrizmConfig = {\n tables: Object.entries(tables).map(([tableName, tableInput]) =>\n table(tableName, tableInput),\n ),\n tableModules: Object.entries(tableModules).map(\n ([moduleName, moduleInput]) => module(moduleName, moduleInput),\n ),\n buckets: Object.entries(buckets).map(([bucketName, bucketInput]) =>\n bucket(bucketName, bucketInput),\n ),\n authorities,\n };\n // 省略時はキー自体を出さない(サーバー側は「現状維持」として扱う)。\n // truthiness で見ると `semanticSearch: false` のような誤記もキーごと落ちて「現状維持」に\n // なるため undefined だけを省略とみなし、それ以外はそのまま渡してバリデーションに落とす\n if (semanticSearch !== undefined) {\n definition.semanticSearch = semanticSearch;\n }\n return definition;\n}\n\ntype TableInput = Omit<\n CommonTableDefinition,\n \"name\" | \"columns\" | \"formOptions\"\n> & {\n columns: { [columnName: string]: Column };\n formOptions?: {\n submissionColumns: { [columnName: string]: Column };\n };\n};\n\ntype TableModuleInput = Omit<\n CommonTableModuleDefinition,\n \"name\" | \"columns\"\n> & {\n columns: { [columnName: string]: Column };\n};\n\ntype Column =\n | StringColumn\n | Omit<CommonNumberColumnDefinition, \"name\">\n | Omit<CommonBooleanColumnDefinition, \"name\">\n | Omit<CommonJsonColumnDefinition, \"name\">\n | Omit<CommonReferenceColumnDefinition, \"name\">\n | Omit<CommonModuleColumnDefinition, \"name\">\n | Omit<CommonStorageColumnDefinition, \"name\">;\n\ntype StringColumn = Omit<CommonStringColumnDefinition, \"name\" | \"pattern\"> & {\n pattern?: string | RegExp;\n};\n\nfunction table(name: string, input: TableInput): CommonTableDefinition {\n const { columns, indexes, formOptions, ...rest } = input;\n\n const definition: CommonTableDefinition = {\n ...rest,\n name,\n columns: Object.entries(columns).map(([columnName, columnInput]) =>\n column(columnName, columnInput),\n ),\n };\n\n if (indexes) {\n definition.indexes = indexes.map((index) => ({\n ...index,\n columns: index.columns.map((columnName) => columnName),\n }));\n }\n\n if (formOptions) {\n definition.formOptions = {\n submissionColumns: Object.entries(formOptions.submissionColumns).map(\n ([columnName, columnInput]) => column(columnName, columnInput),\n ),\n };\n }\n\n return definition;\n}\n\nfunction module(\n name: string,\n input: TableModuleInput,\n): CommonTableModuleDefinition {\n return {\n ...input,\n name,\n columns: Object.entries(input.columns).map(([columnName, columnInput]) =>\n column(columnName, columnInput),\n ),\n };\n}\n\nfunction column(name: string, input: Column): TableColumnDef {\n if (isStringColumn(input)) {\n const { pattern, ...rest } = input;\n const definition: CommonStringColumnDefinition = { ...rest, name };\n if (pattern != null) {\n definition.pattern = pattern instanceof RegExp ? pattern.source : pattern;\n }\n return definition;\n }\n\n return {\n ...input,\n name,\n };\n}\n\nfunction isStringColumn(column: Column): column is StringColumn {\n return column.type === \"string\";\n}\n\ntype BucketInput = Omit<CommonBucketDefinition, \"name\" | \"accessControl\"> & {\n accessControl: CommonBucketDefinition[\"accessControl\"];\n};\n\nfunction bucket(name: string, input: BucketInput): CommonBucketDefinition {\n return {\n ...input,\n name,\n };\n}\n"],"mappings":";;;AA8BA,SAAgB,aAAa,QAA8C;CACzE,MAAM,EACJ,SAAS,CAAC,GACV,eAAe,CAAC,GAChB,UAAU,CAAC,GACX,cAAc,CAAC,GACf,mBACE;CACJ,MAAM,aAAgC;EACpC,QAAQ,OAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,CAAC,WAAW,gBAC9C,MAAM,WAAW,UAAU,CAC7B;EACA,cAAc,OAAO,QAAQ,YAAY,CAAC,CAAC,KACxC,CAAC,YAAY,iBAAiBA,SAAO,YAAY,WAAW,CAC/D;EACA,SAAS,OAAO,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,iBACjD,OAAO,YAAY,WAAW,CAChC;EACA;CACF;CAIA,IAAI,mBAAmB,QACrB,WAAW,iBAAiB;CAE9B,OAAO;AACT;AAgCA,SAAS,MAAM,MAAc,OAA0C;CACrE,MAAM,EAAE,SAAS,SAAS,aAAa,GAAG,SAAS;CAEnD,MAAM,aAAoC;EACxC,GAAG;EACH;EACA,SAAS,OAAO,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,iBACjD,OAAO,YAAY,WAAW,CAChC;CACF;CAEA,IAAI,SACF,WAAW,UAAU,QAAQ,KAAK,WAAW;EAC3C,GAAG;EACH,SAAS,MAAM,QAAQ,KAAK,eAAe,UAAU;CACvD,EAAE;CAGJ,IAAI,aACF,WAAW,cAAc,EACvB,mBAAmB,OAAO,QAAQ,YAAY,iBAAiB,CAAC,CAAC,KAC9D,CAAC,YAAY,iBAAiB,OAAO,YAAY,WAAW,CAC/D,EACF;CAGF,OAAO;AACT;AAEA,SAASA,SACP,MACA,OAC6B;CAC7B,OAAO;EACL,GAAG;EACH;EACA,SAAS,OAAO,QAAQ,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,iBACvD,OAAO,YAAY,WAAW,CAChC;CACF;AACF;AAEA,SAAS,OAAO,MAAc,OAA+B;CAC3D,IAAI,eAAe,KAAK,GAAG;EACzB,MAAM,EAAE,SAAS,GAAG,SAAS;EAC7B,MAAM,aAA2C;GAAE,GAAG;GAAM;EAAK;EACjE,IAAI,WAAW,MACb,WAAW,UAAU,mBAAmB,SAAS,QAAQ,SAAS;EAEpE,OAAO;CACT;CAEA,OAAO;EACL,GAAG;EACH;CACF;AACF;AAEA,SAAS,eAAe,QAAwC;CAC9D,OAAO,OAAO,SAAS;AACzB;AAMA,SAAS,OAAO,MAAc,OAA4C;CACxE,OAAO;EACL,GAAG;EACH;CACF;AACF"}
|
package/dist/config/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AuthorityRulesDef, BooleanColumnDef, BucketDef, JsonColumnDef, ModuleColumnDef, NumberColumnDef, OrizmConfigDef, OrizmConfigDef as OrizmConfig, ReferenceColumnDef, StorageColumnDef, StringColumnDef, TableDef, TableModuleDef } from "@orizm/common/config-validator";
|
|
1
|
+
import { AuthorityRulesDef, BooleanColumnDef, BucketDef, JsonColumnDef, ModuleColumnDef, NumberColumnDef, OrizmConfigDef, OrizmConfigDef as OrizmConfig, ReferenceColumnDef, SemanticSearchDef, StorageColumnDef, StringColumnDef, TableDef, TableModuleDef } from "@orizm/common/config-validator";
|
|
2
2
|
//#region src/config/types.d.ts
|
|
3
3
|
type CommonOrizmConfig = OrizmConfigDef;
|
|
4
4
|
type CommonTableDefinition = TableDef;
|
|
@@ -12,6 +12,7 @@ type CommonModuleColumnDefinition = ModuleColumnDef;
|
|
|
12
12
|
type CommonTableModuleDefinition = TableModuleDef;
|
|
13
13
|
type CommonBucketDefinition = BucketDef;
|
|
14
14
|
type CommonAuthorityRulesDefinition = AuthorityRulesDef;
|
|
15
|
+
type CommonSemanticSearchDefinition = SemanticSearchDef;
|
|
15
16
|
//#endregion
|
|
16
17
|
//#region src/config/functions.d.ts
|
|
17
18
|
type DefineConfigInput = {
|
|
@@ -25,6 +26,12 @@ type DefineConfigInput = {
|
|
|
25
26
|
[bucketName: string]: BucketInput;
|
|
26
27
|
};
|
|
27
28
|
authorities?: CommonAuthorityRulesDefinition;
|
|
29
|
+
/**
|
|
30
|
+
* プロジェクト単位のセマンティック検索(mode: semantic / hybrid)。
|
|
31
|
+
* `{ enabled: true }` を宣言して push すると有効になり、`{ enabled: false }` で無効に戻る。
|
|
32
|
+
* 省略時は現状維持(初期状態は無効)
|
|
33
|
+
*/
|
|
34
|
+
semanticSearch?: CommonSemanticSearchDefinition;
|
|
28
35
|
};
|
|
29
36
|
declare function defineConfig(config: DefineConfigInput): CommonOrizmConfig;
|
|
30
37
|
type TableInput = Omit<CommonTableDefinition, "name" | "columns" | "formOptions"> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/config/types.ts","../../src/config/functions.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/config/types.ts","../../src/config/functions.ts"],"mappings":";;KAoBY,oBAAoB;KAEpB,wBAAwB;KAExB,+BAA+B;KAC/B,+BAA+B;KAC/B,gCAAgC;KAChC,6BAA6B;KAC7B,gCAAgC;KAChC,kCAAkC;KAClC,+BAA+B;KAI/B,8BAA8B;KAC9B,yBAAyB;KACzB,iCAAiC;KACjC,iCAAiC;;;KCpBxC;EACH;KAAY,oBAAoB;;EAChC;KAAkB,qBAAqB;;EACvC;KAAa,qBAAqB;;EAClC,cAAc;;;;;;EAMd,iBAAiB;;iBAGH,aAAa,QAAQ,oBAAoB;KA6BpD,aAAa,KAChB;EAGA;KAAY,qBAAqB;;EACjC;IACE;OAAsB,qBAAqB;;;;KAI1C,mBAAmB,KACtB;EAGA;KAAY,qBAAqB;;;KAG9B,SACD,eACA,KAAK,wCACL,KAAK,yCACL,KAAK,sCACL,KAAK,2CACL,KAAK,wCACL,KAAK;KAEJ,eAAe,KAAK;EACvB,mBAAmB;;KAiEhB,cAAc,KAAK;EACtB,eAAe"}
|
package/dist/config/index.mjs
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
//#region src/config/functions.ts
|
|
2
2
|
function defineConfig(config) {
|
|
3
|
-
const { tables = {}, tableModules = {}, buckets = {}, authorities = [] } = config;
|
|
4
|
-
|
|
3
|
+
const { tables = {}, tableModules = {}, buckets = {}, authorities = [], semanticSearch } = config;
|
|
4
|
+
const definition = {
|
|
5
5
|
tables: Object.entries(tables).map(([tableName, tableInput]) => table(tableName, tableInput)),
|
|
6
6
|
tableModules: Object.entries(tableModules).map(([moduleName, moduleInput]) => module(moduleName, moduleInput)),
|
|
7
7
|
buckets: Object.entries(buckets).map(([bucketName, bucketInput]) => bucket(bucketName, bucketInput)),
|
|
8
8
|
authorities
|
|
9
9
|
};
|
|
10
|
+
if (semanticSearch !== void 0) definition.semanticSearch = semanticSearch;
|
|
11
|
+
return definition;
|
|
10
12
|
}
|
|
11
13
|
function table(name, input) {
|
|
12
14
|
const { columns, indexes, formOptions, ...rest } = input;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/config/functions.ts"],"sourcesContent":["import { TableColumnDef } from \"@orizm/common/config-validator\";\nimport {\n CommonAuthorityRulesDefinition,\n CommonBooleanColumnDefinition,\n CommonBucketDefinition,\n CommonJsonColumnDefinition,\n CommonModuleColumnDefinition,\n CommonNumberColumnDefinition,\n CommonOrizmConfig,\n CommonReferenceColumnDefinition,\n CommonStorageColumnDefinition,\n CommonStringColumnDefinition,\n CommonTableDefinition,\n CommonTableModuleDefinition,\n} from \"./types\";\n\ntype DefineConfigInput = {\n tables?: { [tableName: string]: TableInput };\n tableModules?: { [moduleName: string]: TableModuleInput };\n buckets?: { [bucketName: string]: BucketInput };\n authorities?: CommonAuthorityRulesDefinition;\n};\n\nexport function defineConfig(config: DefineConfigInput): CommonOrizmConfig {\n const {\n tables = {},\n tableModules = {},\n buckets = {},\n authorities = [],\n } = config;\n
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/config/functions.ts"],"sourcesContent":["import { TableColumnDef } from \"@orizm/common/config-validator\";\nimport {\n CommonAuthorityRulesDefinition,\n CommonBooleanColumnDefinition,\n CommonBucketDefinition,\n CommonJsonColumnDefinition,\n CommonModuleColumnDefinition,\n CommonNumberColumnDefinition,\n CommonOrizmConfig,\n CommonReferenceColumnDefinition,\n CommonSemanticSearchDefinition,\n CommonStorageColumnDefinition,\n CommonStringColumnDefinition,\n CommonTableDefinition,\n CommonTableModuleDefinition,\n} from \"./types\";\n\ntype DefineConfigInput = {\n tables?: { [tableName: string]: TableInput };\n tableModules?: { [moduleName: string]: TableModuleInput };\n buckets?: { [bucketName: string]: BucketInput };\n authorities?: CommonAuthorityRulesDefinition;\n /**\n * プロジェクト単位のセマンティック検索(mode: semantic / hybrid)。\n * `{ enabled: true }` を宣言して push すると有効になり、`{ enabled: false }` で無効に戻る。\n * 省略時は現状維持(初期状態は無効)\n */\n semanticSearch?: CommonSemanticSearchDefinition;\n};\n\nexport function defineConfig(config: DefineConfigInput): CommonOrizmConfig {\n const {\n tables = {},\n tableModules = {},\n buckets = {},\n authorities = [],\n semanticSearch,\n } = config;\n const definition: CommonOrizmConfig = {\n tables: Object.entries(tables).map(([tableName, tableInput]) =>\n table(tableName, tableInput),\n ),\n tableModules: Object.entries(tableModules).map(\n ([moduleName, moduleInput]) => module(moduleName, moduleInput),\n ),\n buckets: Object.entries(buckets).map(([bucketName, bucketInput]) =>\n bucket(bucketName, bucketInput),\n ),\n authorities,\n };\n // 省略時はキー自体を出さない(サーバー側は「現状維持」として扱う)。\n // truthiness で見ると `semanticSearch: false` のような誤記もキーごと落ちて「現状維持」に\n // なるため undefined だけを省略とみなし、それ以外はそのまま渡してバリデーションに落とす\n if (semanticSearch !== undefined) {\n definition.semanticSearch = semanticSearch;\n }\n return definition;\n}\n\ntype TableInput = Omit<\n CommonTableDefinition,\n \"name\" | \"columns\" | \"formOptions\"\n> & {\n columns: { [columnName: string]: Column };\n formOptions?: {\n submissionColumns: { [columnName: string]: Column };\n };\n};\n\ntype TableModuleInput = Omit<\n CommonTableModuleDefinition,\n \"name\" | \"columns\"\n> & {\n columns: { [columnName: string]: Column };\n};\n\ntype Column =\n | StringColumn\n | Omit<CommonNumberColumnDefinition, \"name\">\n | Omit<CommonBooleanColumnDefinition, \"name\">\n | Omit<CommonJsonColumnDefinition, \"name\">\n | Omit<CommonReferenceColumnDefinition, \"name\">\n | Omit<CommonModuleColumnDefinition, \"name\">\n | Omit<CommonStorageColumnDefinition, \"name\">;\n\ntype StringColumn = Omit<CommonStringColumnDefinition, \"name\" | \"pattern\"> & {\n pattern?: string | RegExp;\n};\n\nfunction table(name: string, input: TableInput): CommonTableDefinition {\n const { columns, indexes, formOptions, ...rest } = input;\n\n const definition: CommonTableDefinition = {\n ...rest,\n name,\n columns: Object.entries(columns).map(([columnName, columnInput]) =>\n column(columnName, columnInput),\n ),\n };\n\n if (indexes) {\n definition.indexes = indexes.map((index) => ({\n ...index,\n columns: index.columns.map((columnName) => columnName),\n }));\n }\n\n if (formOptions) {\n definition.formOptions = {\n submissionColumns: Object.entries(formOptions.submissionColumns).map(\n ([columnName, columnInput]) => column(columnName, columnInput),\n ),\n };\n }\n\n return definition;\n}\n\nfunction module(\n name: string,\n input: TableModuleInput,\n): CommonTableModuleDefinition {\n return {\n ...input,\n name,\n columns: Object.entries(input.columns).map(([columnName, columnInput]) =>\n column(columnName, columnInput),\n ),\n };\n}\n\nfunction column(name: string, input: Column): TableColumnDef {\n if (isStringColumn(input)) {\n const { pattern, ...rest } = input;\n const definition: CommonStringColumnDefinition = { ...rest, name };\n if (pattern != null) {\n definition.pattern = pattern instanceof RegExp ? pattern.source : pattern;\n }\n return definition;\n }\n\n return {\n ...input,\n name,\n };\n}\n\nfunction isStringColumn(column: Column): column is StringColumn {\n return column.type === \"string\";\n}\n\ntype BucketInput = Omit<CommonBucketDefinition, \"name\" | \"accessControl\"> & {\n accessControl: CommonBucketDefinition[\"accessControl\"];\n};\n\nfunction bucket(name: string, input: BucketInput): CommonBucketDefinition {\n return {\n ...input,\n name,\n };\n}\n"],"mappings":";AA8BA,SAAgB,aAAa,QAA8C;CACzE,MAAM,EACJ,SAAS,CAAC,GACV,eAAe,CAAC,GAChB,UAAU,CAAC,GACX,cAAc,CAAC,GACf,mBACE;CACJ,MAAM,aAAgC;EACpC,QAAQ,OAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,CAAC,WAAW,gBAC9C,MAAM,WAAW,UAAU,CAC7B;EACA,cAAc,OAAO,QAAQ,YAAY,CAAC,CAAC,KACxC,CAAC,YAAY,iBAAiB,OAAO,YAAY,WAAW,CAC/D;EACA,SAAS,OAAO,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,iBACjD,OAAO,YAAY,WAAW,CAChC;EACA;CACF;CAIA,IAAI,mBAAmB,QACrB,WAAW,iBAAiB;CAE9B,OAAO;AACT;AAgCA,SAAS,MAAM,MAAc,OAA0C;CACrE,MAAM,EAAE,SAAS,SAAS,aAAa,GAAG,SAAS;CAEnD,MAAM,aAAoC;EACxC,GAAG;EACH;EACA,SAAS,OAAO,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,iBACjD,OAAO,YAAY,WAAW,CAChC;CACF;CAEA,IAAI,SACF,WAAW,UAAU,QAAQ,KAAK,WAAW;EAC3C,GAAG;EACH,SAAS,MAAM,QAAQ,KAAK,eAAe,UAAU;CACvD,EAAE;CAGJ,IAAI,aACF,WAAW,cAAc,EACvB,mBAAmB,OAAO,QAAQ,YAAY,iBAAiB,CAAC,CAAC,KAC9D,CAAC,YAAY,iBAAiB,OAAO,YAAY,WAAW,CAC/D,EACF;CAGF,OAAO;AACT;AAEA,SAAS,OACP,MACA,OAC6B;CAC7B,OAAO;EACL,GAAG;EACH;EACA,SAAS,OAAO,QAAQ,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,iBACvD,OAAO,YAAY,WAAW,CAChC;CACF;AACF;AAEA,SAAS,OAAO,MAAc,OAA+B;CAC3D,IAAI,eAAe,KAAK,GAAG;EACzB,MAAM,EAAE,SAAS,GAAG,SAAS;EAC7B,MAAM,aAA2C;GAAE,GAAG;GAAM;EAAK;EACjE,IAAI,WAAW,MACb,WAAW,UAAU,mBAAmB,SAAS,QAAQ,SAAS;EAEpE,OAAO;CACT;CAEA,OAAO;EACL,GAAG;EACH;CACF;AACF;AAEA,SAAS,eAAe,QAAwC;CAC9D,OAAO,OAAO,SAAS;AACzB;AAMA,SAAS,OAAO,MAAc,OAA4C;CACxE,OAAO;EACL,GAAG;EACH;CACF;AACF"}
|
|
@@ -54,7 +54,7 @@ async function loadConfig(configFile) {
|
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
const { default: raw } = await import(`data:text/javascript,${encodeURIComponent(bundled)}`);
|
|
57
|
-
const parsed = valibot.safeParse(_orizm_common_config_validator.
|
|
57
|
+
const parsed = valibot.safeParse(_orizm_common_config_validator.OrizmConfigInputDef, raw);
|
|
58
58
|
if (!parsed.success) return _praha_byethrow.Result.fail({
|
|
59
59
|
type: "config_schema_violation",
|
|
60
60
|
issues: parsed.issues
|
|
@@ -75,4 +75,4 @@ Object.defineProperty(exports, 'loadConfig', {
|
|
|
75
75
|
return loadConfig;
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
|
-
//# sourceMappingURL=config-loader-
|
|
78
|
+
//# sourceMappingURL=config-loader-CZfANHBf.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-loader-CZfANHBf.cjs","names":["Result","formatValibotIssues","getOutputState","Result","v","OrizmConfigInputDef"],"sources":["../src/cli/commands/config-errors.ts","../src/cli/config-loader.ts"],"sourcesContent":["import { Result } from \"@praha/byethrow\";\nimport { ConfigLoadError } from \"../config-loader.js\";\nimport { getOutputState } from \"../ui/output.js\";\nimport { formatValibotIssues } from \"../ui/error.js\";\nimport { CommandFailure } from \"./define-command.js\";\n\n// loadConfig を使う複数のコマンドが共有する変換。ConfigLoadError 以外は知らない。\nexport function configLoadFailure(\n error: ConfigLoadError,\n): Result.Result<never, CommandFailure> {\n switch (error.type) {\n case \"config_not_found\":\n return Result.fail({ message: `Config file not found: ${error.path}` });\n case \"config_build_failed\":\n return Result.fail({\n message: `Failed to build the config file.\\n${error.message}`,\n });\n case \"config_schema_violation\":\n return Result.fail({\n message: `Config validation failed (${error.issues.length} problem(s)).\\n${formatValibotIssues(\n error.issues,\n getOutputState().color,\n )}`,\n });\n default:\n return assertNever(error);\n }\n}\n\nfunction assertNever(value: never): never {\n throw new Error(`Unhandled config load error: ${JSON.stringify(value)}`);\n}\n","import { access } from \"node:fs/promises\";\nimport esbuild from \"esbuild\";\nimport * as v from \"valibot\";\nimport { Result } from \"@praha/byethrow\";\nimport { OrizmConfigInputDef } from \"@orizm/common/config-validator\";\nimport { CommonOrizmConfig } from \"./types.js\";\n\nexport type ConfigLoadError =\n | { type: \"config_not_found\"; path: string }\n | { type: \"config_build_failed\"; message: string }\n | { type: \"config_schema_violation\"; issues: v.BaseIssue<unknown>[] };\n\n// keepNames / sourcemap はユーザー config 内の throw を --debug で追えるように、\n// conditions / mainFields は @orizm/cli/config の ESM サブパス解決を固定するために付ける。\nasync function buildConfig(configFile: string): Promise<string> {\n const buildResult = await esbuild.build({\n entryPoints: [configFile],\n bundle: true,\n write: false,\n format: \"esm\",\n target: \"node22\",\n platform: \"node\",\n keepNames: true,\n sourcemap: \"inline\",\n conditions: [\"node\", \"import\"],\n mainFields: [\"module\", \"main\"],\n logLevel: \"silent\",\n loader: { \".json\": \"json\" },\n });\n\n return buildResult.outputFiles[0].text;\n}\n\nexport async function loadConfig(\n configFile: string,\n): Promise<Result.Result<CommonOrizmConfig, ConfigLoadError>> {\n const found = await access(configFile).then(\n () => true,\n () => false,\n );\n if (!found) {\n return Result.fail({ type: \"config_not_found\", path: configFile });\n }\n\n let bundled: string;\n try {\n bundled = await buildConfig(configFile);\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n return Result.fail({ type: \"config_build_failed\", message });\n }\n\n const moduleURL = `data:text/javascript,${encodeURIComponent(bundled)}`;\n // ユーザー config 内の実行時 throw は捕まえずに伝搬させ、ハンドラ層で --debug 時に stack を出す。\n const { default: raw } = await import(moduleURL);\n\n // ローカル config は authoring(push の入力)なので、予約名チェック込みの\n // OrizmConfigInputDef で検証する。--pull(保存済み定義の読み取り)は\n // 予約名を後追いで拒否しない OrizmConfigDef を使う(pull.ts 参照)\n const parsed = v.safeParse(OrizmConfigInputDef, raw);\n if (!parsed.success) {\n return Result.fail({\n type: \"config_schema_violation\",\n issues: parsed.issues,\n });\n }\n\n return Result.succeed(parsed.output);\n}\n"],"mappings":";;;;;;;;;;AAOA,SAAgB,kBACd,OACsC;CACtC,QAAQ,MAAM,MAAd;EACE,KAAK,oBACH,OAAOA,uBAAO,KAAK,EAAE,SAAS,0BAA0B,MAAM,OAAO,CAAC;EACxE,KAAK,uBACH,OAAOA,uBAAO,KAAK,EACjB,SAAS,qCAAqC,MAAM,UACtD,CAAC;EACH,KAAK,2BACH,OAAOA,uBAAO,KAAK,EACjB,SAAS,6BAA6B,MAAM,OAAO,OAAO,iBAAiBC,qCACzE,MAAM,QACNC,gCAAe,CAAC,CAAC,KACnB,IACF,CAAC;EACH,SACE,OAAO,YAAY,KAAK;CAC5B;AACF;AAEA,SAAS,YAAY,OAAqB;CACxC,MAAM,IAAI,MAAM,gCAAgC,KAAK,UAAU,KAAK,GAAG;AACzE;;;;ACjBA,eAAe,YAAY,YAAqC;CAgB9D,QAAO,MAfmB,gBAAQ,MAAM;EACtC,aAAa,CAAC,UAAU;EACxB,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,UAAU;EACV,WAAW;EACX,WAAW;EACX,YAAY,CAAC,QAAQ,QAAQ;EAC7B,YAAY,CAAC,UAAU,MAAM;EAC7B,UAAU;EACV,QAAQ,EAAE,SAAS,OAAO;CAC5B,CAAC,EAEiB,CAAC,YAAY,EAAE,CAAC;AACpC;AAEA,eAAsB,WACpB,YAC4D;CAK5D,IAAI,CAAC,mCAJsB,UAAU,CAAC,CAAC,WAC/B,YACA,KACR,GAEE,OAAOC,uBAAO,KAAK;EAAE,MAAM;EAAoB,MAAM;CAAW,CAAC;CAGnE,IAAI;CACJ,IAAI;EACF,UAAU,MAAM,YAAY,UAAU;CACxC,SAAS,OAAO;EACd,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;EACrE,OAAOA,uBAAO,KAAK;GAAE,MAAM;GAAuB;EAAQ,CAAC;CAC7D;CAIA,MAAM,EAAE,SAAS,QAAQ,MAAM,OAAO,wBAFI,mBAAmB,OAAO;CAOpE,MAAM,SAASC,QAAE,UAAUC,oDAAqB,GAAG;CACnD,IAAI,CAAC,OAAO,SACV,OAAOF,uBAAO,KAAK;EACjB,MAAM;EACN,QAAQ,OAAO;CACjB,CAAC;CAGH,OAAOA,uBAAO,QAAQ,OAAO,MAAM;AACrC"}
|
|
@@ -3,7 +3,7 @@ import { Result } from "@praha/byethrow";
|
|
|
3
3
|
import * as v from "valibot";
|
|
4
4
|
import { access } from "node:fs/promises";
|
|
5
5
|
import esbuild from "esbuild";
|
|
6
|
-
import {
|
|
6
|
+
import { OrizmConfigInputDef } from "@orizm/common/config-validator";
|
|
7
7
|
|
|
8
8
|
//#region src/cli/commands/config-errors.ts
|
|
9
9
|
function configLoadFailure(error) {
|
|
@@ -52,7 +52,7 @@ async function loadConfig(configFile) {
|
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
const { default: raw } = await import(`data:text/javascript,${encodeURIComponent(bundled)}`);
|
|
55
|
-
const parsed = v.safeParse(
|
|
55
|
+
const parsed = v.safeParse(OrizmConfigInputDef, raw);
|
|
56
56
|
if (!parsed.success) return Result.fail({
|
|
57
57
|
type: "config_schema_violation",
|
|
58
58
|
issues: parsed.issues
|
|
@@ -62,4 +62,4 @@ async function loadConfig(configFile) {
|
|
|
62
62
|
|
|
63
63
|
//#endregion
|
|
64
64
|
export { configLoadFailure as n, loadConfig as t };
|
|
65
|
-
//# sourceMappingURL=config-loader-
|
|
65
|
+
//# sourceMappingURL=config-loader-CtbZOGjc.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-loader-CtbZOGjc.mjs","names":[],"sources":["../src/cli/commands/config-errors.ts","../src/cli/config-loader.ts"],"sourcesContent":["import { Result } from \"@praha/byethrow\";\nimport { ConfigLoadError } from \"../config-loader.js\";\nimport { getOutputState } from \"../ui/output.js\";\nimport { formatValibotIssues } from \"../ui/error.js\";\nimport { CommandFailure } from \"./define-command.js\";\n\n// loadConfig を使う複数のコマンドが共有する変換。ConfigLoadError 以外は知らない。\nexport function configLoadFailure(\n error: ConfigLoadError,\n): Result.Result<never, CommandFailure> {\n switch (error.type) {\n case \"config_not_found\":\n return Result.fail({ message: `Config file not found: ${error.path}` });\n case \"config_build_failed\":\n return Result.fail({\n message: `Failed to build the config file.\\n${error.message}`,\n });\n case \"config_schema_violation\":\n return Result.fail({\n message: `Config validation failed (${error.issues.length} problem(s)).\\n${formatValibotIssues(\n error.issues,\n getOutputState().color,\n )}`,\n });\n default:\n return assertNever(error);\n }\n}\n\nfunction assertNever(value: never): never {\n throw new Error(`Unhandled config load error: ${JSON.stringify(value)}`);\n}\n","import { access } from \"node:fs/promises\";\nimport esbuild from \"esbuild\";\nimport * as v from \"valibot\";\nimport { Result } from \"@praha/byethrow\";\nimport { OrizmConfigInputDef } from \"@orizm/common/config-validator\";\nimport { CommonOrizmConfig } from \"./types.js\";\n\nexport type ConfigLoadError =\n | { type: \"config_not_found\"; path: string }\n | { type: \"config_build_failed\"; message: string }\n | { type: \"config_schema_violation\"; issues: v.BaseIssue<unknown>[] };\n\n// keepNames / sourcemap はユーザー config 内の throw を --debug で追えるように、\n// conditions / mainFields は @orizm/cli/config の ESM サブパス解決を固定するために付ける。\nasync function buildConfig(configFile: string): Promise<string> {\n const buildResult = await esbuild.build({\n entryPoints: [configFile],\n bundle: true,\n write: false,\n format: \"esm\",\n target: \"node22\",\n platform: \"node\",\n keepNames: true,\n sourcemap: \"inline\",\n conditions: [\"node\", \"import\"],\n mainFields: [\"module\", \"main\"],\n logLevel: \"silent\",\n loader: { \".json\": \"json\" },\n });\n\n return buildResult.outputFiles[0].text;\n}\n\nexport async function loadConfig(\n configFile: string,\n): Promise<Result.Result<CommonOrizmConfig, ConfigLoadError>> {\n const found = await access(configFile).then(\n () => true,\n () => false,\n );\n if (!found) {\n return Result.fail({ type: \"config_not_found\", path: configFile });\n }\n\n let bundled: string;\n try {\n bundled = await buildConfig(configFile);\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n return Result.fail({ type: \"config_build_failed\", message });\n }\n\n const moduleURL = `data:text/javascript,${encodeURIComponent(bundled)}`;\n // ユーザー config 内の実行時 throw は捕まえずに伝搬させ、ハンドラ層で --debug 時に stack を出す。\n const { default: raw } = await import(moduleURL);\n\n // ローカル config は authoring(push の入力)なので、予約名チェック込みの\n // OrizmConfigInputDef で検証する。--pull(保存済み定義の読み取り)は\n // 予約名を後追いで拒否しない OrizmConfigDef を使う(pull.ts 参照)\n const parsed = v.safeParse(OrizmConfigInputDef, raw);\n if (!parsed.success) {\n return Result.fail({\n type: \"config_schema_violation\",\n issues: parsed.issues,\n });\n }\n\n return Result.succeed(parsed.output);\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,kBACd,OACsC;CACtC,QAAQ,MAAM,MAAd;EACE,KAAK,oBACH,OAAO,OAAO,KAAK,EAAE,SAAS,0BAA0B,MAAM,OAAO,CAAC;EACxE,KAAK,uBACH,OAAO,OAAO,KAAK,EACjB,SAAS,qCAAqC,MAAM,UACtD,CAAC;EACH,KAAK,2BACH,OAAO,OAAO,KAAK,EACjB,SAAS,6BAA6B,MAAM,OAAO,OAAO,iBAAiB,oBACzE,MAAM,QACN,eAAe,CAAC,CAAC,KACnB,IACF,CAAC;EACH,SACE,OAAO,YAAY,KAAK;CAC5B;AACF;AAEA,SAAS,YAAY,OAAqB;CACxC,MAAM,IAAI,MAAM,gCAAgC,KAAK,UAAU,KAAK,GAAG;AACzE;;;;ACjBA,eAAe,YAAY,YAAqC;CAgB9D,QAAO,MAfmB,QAAQ,MAAM;EACtC,aAAa,CAAC,UAAU;EACxB,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,UAAU;EACV,WAAW;EACX,WAAW;EACX,YAAY,CAAC,QAAQ,QAAQ;EAC7B,YAAY,CAAC,UAAU,MAAM;EAC7B,UAAU;EACV,QAAQ,EAAE,SAAS,OAAO;CAC5B,CAAC,EAEiB,CAAC,YAAY,EAAE,CAAC;AACpC;AAEA,eAAsB,WACpB,YAC4D;CAK5D,IAAI,CAAC,MAJe,OAAO,UAAU,CAAC,CAAC,WAC/B,YACA,KACR,GAEE,OAAO,OAAO,KAAK;EAAE,MAAM;EAAoB,MAAM;CAAW,CAAC;CAGnE,IAAI;CACJ,IAAI;EACF,UAAU,MAAM,YAAY,UAAU;CACxC,SAAS,OAAO;EACd,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;EACrE,OAAO,OAAO,KAAK;GAAE,MAAM;GAAuB;EAAQ,CAAC;CAC7D;CAIA,MAAM,EAAE,SAAS,QAAQ,MAAM,OAAO,wBAFI,mBAAmB,OAAO;CAOpE,MAAM,SAAS,EAAE,UAAU,qBAAqB,GAAG;CACnD,IAAI,CAAC,OAAO,SACV,OAAO,OAAO,KAAK;EACjB,MAAM;EACN,QAAQ,OAAO;CACjB,CAAC;CAGH,OAAO,OAAO,QAAQ,OAAO,MAAM;AACrC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_cli_main = require('./cli/main.cjs');
|
|
2
2
|
const require_shared = require('./shared-DHRPzzKl.cjs');
|
|
3
|
-
const require_run_codegen = require('./run-codegen-
|
|
3
|
+
const require_run_codegen = require('./run-codegen-B-90rvjk.cjs');
|
|
4
4
|
|
|
5
5
|
//#region src/cli/codegen/consumer.ts
|
|
6
6
|
function renderConsumerModule(config) {
|
|
@@ -92,4 +92,4 @@ var consumer_default = require_cli_main.defineCommand({
|
|
|
92
92
|
|
|
93
93
|
//#endregion
|
|
94
94
|
exports.default = consumer_default;
|
|
95
|
-
//# sourceMappingURL=consumer-
|
|
95
|
+
//# sourceMappingURL=consumer-BSgriLn0.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer-
|
|
1
|
+
{"version":3,"file":"consumer-BSgriLn0.cjs","names":["formatTsWithPrettier","AUTOGEN_HEADER","UTILITIES","renderSection","renderModuleRowTypeBlock","renderModuleDescriptorBlock","renderWebhookTypesSection","renderTypeBlock","toCodeTypeName","renderColumnField","renderRefsFieldLines","renderUniqueFieldLines","contextArgs","configFileArg","defineCommand","runCodegen"],"sources":["../src/cli/codegen/consumer.ts","../src/cli/commands/codegen/consumer.ts"],"sourcesContent":["import { CommonOrizmConfig } from \"../types.js\";\nimport { formatTsWithPrettier } from \"./format.js\";\nimport {\n AUTOGEN_HEADER,\n UTILITIES,\n RenderColumn,\n RenderIndex,\n toCodeTypeName,\n renderColumnField,\n renderTypeBlock,\n renderRefsFieldLines,\n renderUniqueFieldLines,\n renderModuleRowTypeBlock,\n renderModuleDescriptorBlock,\n renderSection,\n renderWebhookTypesSection,\n} from \"./render.js\";\n\ntype RenderTable = {\n name: string;\n columns: RenderColumn[];\n enableForm?: boolean;\n enableDrafts?: boolean;\n indexes?: RenderIndex[];\n};\n\nexport function renderConsumerModule(\n config: CommonOrizmConfig,\n): Promise<string> {\n const tables: RenderTable[] = config.tables;\n const modules = config.tableModules;\n\n const imports = [\n AUTOGEN_HEADER,\n \"\",\n 'import type { FormValidationRules, StorageItemType } from \"@orizm/consumer-sdk/common\";',\n 'import { type ConsumerClientOptions, OrizmConsumerClientBase } from \"@orizm/consumer-sdk\";',\n ].join(\"\\n\");\n\n const types = [\n renderSection(\"Tables\", tables.map(renderTableRowType)),\n modules.map(renderModuleRowTypeBlock).join(\"\\n\\n\"),\n renderSection(\"Descriptor types\", [\n ...tables.map(renderTableDescriptor),\n ...modules.map(renderModuleDescriptorBlock),\n ]),\n renderWebhookTypesSection(tables),\n ]\n .filter(Boolean)\n .join(\"\\n\\n\\n\");\n\n const source = [imports, UTILITIES, types, renderConsumerClient(config)].join(\n \"\\n\\n\\n\",\n );\n\n return formatTsWithPrettier(source);\n}\n\nfunction renderTableRowType(table: RenderTable): string {\n return renderTypeBlock(toCodeTypeName(table.name), [\n \"id: string;\",\n \"createdAt: string;\",\n \"updatedAt: string;\",\n \"group: string | null;\",\n \"publishedAt: string | null;\",\n \"_draft: boolean | null;\",\n \"_published: boolean | null;\",\n ...table.columns.map((col) => renderColumnField(col)),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n}\n\nfunction renderTableDescriptor(table: RenderTable): string {\n const name = toCodeTypeName(table.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n ...renderRefsFieldLines(table.columns),\n ...renderUniqueFieldLines(table),\n ...(table.enableDrafts ? [\"enableDrafts: true;\"] : []),\n ]);\n}\n\nfunction renderConsumerClient(config: CommonOrizmConfig): string {\n const tableEntries = config.tables\n .map(\n (t) =>\n `${t.name}: this.getTableClient<${toCodeTypeName(t.name)}__Descriptor>(\"${t.name}\"),`,\n )\n .join(\"\\n\");\n\n return `export class OrizmClient extends OrizmConsumerClientBase {\n constructor(options: ConsumerClientOptions) {\n super(options);\n }\n\n readonly tables = {\n ${tableEntries}\n };\n}`;\n}\n","import type { ArgsDef } from \"citty\";\nimport { defineCommand } from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { renderConsumerModule } from \"../../codegen/consumer.js\";\nimport { runCodegen } from \"./run-codegen.js\";\n\nconst consumerArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"Output file (.ts) or directory\",\n default: \"./src/orizm\",\n },\n pull: {\n type: \"boolean\",\n description:\n \"Generate from the server's applied definition instead of the local config\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"consumer\",\n description: \"Generate Consumer SDK types from a schema definition\",\n },\n args: consumerArgs,\n run: ({ args }) =>\n runCodegen({\n args,\n pull: args.pull === true,\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n output: args.output,\n label: \"Consumer\",\n render: renderConsumerModule,\n }),\n});\n"],"mappings":";;;;;AA0BA,SAAgB,qBACd,QACiB;CACjB,MAAM,SAAwB,OAAO;CACrC,MAAM,UAAU,OAAO;CAyBvB,OAAOA,yCAJQ;EAnBC;GACdC;GACA;GACA;GACA;EACF,CAAC,CAAC,KAAK,IAce;EAAGC;EAZX;GACZC,kCAAc,UAAU,OAAO,IAAI,kBAAkB,CAAC;GACtD,QAAQ,IAAIC,4CAAwB,CAAC,CAAC,KAAK,MAAM;GACjDD,kCAAc,oBAAoB,CAChC,GAAG,OAAO,IAAI,qBAAqB,GACnC,GAAG,QAAQ,IAAIE,+CAA2B,CAC5C,CAAC;GACDC,8CAA0B,MAAM;EAClC,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,QAEgC;EAAG,qBAAqB,MAAM;CAAC,CAAC,CAAC,KACvE,QAG+B,CAAC;AACpC;AAEA,SAAS,mBAAmB,OAA4B;CACtD,OAAOC,oCAAgBC,mCAAe,MAAM,IAAI,GAAG;EACjD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG,MAAM,QAAQ,KAAK,QAAQC,sCAAkB,GAAG,CAAC;EACpD,GAAI,MAAM,aAAa,CAAC,kCAAkC,IAAI,CAAC;CACjE,CAAC;AACH;AAEA,SAAS,sBAAsB,OAA4B;CACzD,MAAM,OAAOD,mCAAe,MAAM,IAAI;CACtC,OAAOD,oCAAgB,GAAG,KAAK,eAAe;EAC5C,QAAQ,KAAK;EACb,GAAGG,yCAAqB,MAAM,OAAO;EACrC,GAAGC,2CAAuB,KAAK;EAC/B,GAAI,MAAM,eAAe,CAAC,qBAAqB,IAAI,CAAC;CACtD,CAAC;AACH;AAEA,SAAS,qBAAqB,QAAmC;CAQ/D,OAAO;;;;;;MAPc,OAAO,OACzB,KACE,MACC,GAAG,EAAE,KAAK,wBAAwBH,mCAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,IACrF,CAAC,CACA,KAAK,IAQO,EAAE;;;AAGnB;;;;AC7FA,MAAM,eAAe;CACnB,GAAGI;CACH,eAAeC;CACf,QAAQ;EACN,MAAM;EACN,OAAO;EACP,aAAa;EACb,SAAS;CACX;CACA,MAAM;EACJ,MAAM;EACN,aACE;EACF,SAAS;CACX;AACF;AAEA,uBAAeC,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,MAAM;CACN,MAAM,EAAE,WACNC,+BAAW;EACT;EACA,MAAM,KAAK,SAAS;EACpB,YAAY,KAAK;EACjB,QAAQ,KAAK;EACb,OAAO;EACP,QAAQ;CACV,CAAC;AACL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as defineCommand } from "./cli/main.mjs";
|
|
2
2
|
import { n as configFileArg, r as contextArgs, t as DEFAULT_CONFIG_FILE } from "./shared-CZZimGxc.mjs";
|
|
3
|
-
import { a as renderModuleDescriptorBlock, c as renderSection, d as renderWebhookTypesSection, f as toCodeTypeName, i as renderColumnField, l as renderTypeBlock, n as AUTOGEN_HEADER, o as renderModuleRowTypeBlock, p as formatTsWithPrettier, r as UTILITIES, s as renderRefsFieldLines, t as runCodegen, u as renderUniqueFieldLines } from "./run-codegen-
|
|
3
|
+
import { a as renderModuleDescriptorBlock, c as renderSection, d as renderWebhookTypesSection, f as toCodeTypeName, i as renderColumnField, l as renderTypeBlock, n as AUTOGEN_HEADER, o as renderModuleRowTypeBlock, p as formatTsWithPrettier, r as UTILITIES, s as renderRefsFieldLines, t as runCodegen, u as renderUniqueFieldLines } from "./run-codegen-CrO08jJT.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/codegen/consumer.ts
|
|
6
6
|
function renderConsumerModule(config) {
|
|
@@ -92,4 +92,4 @@ var consumer_default = defineCommand({
|
|
|
92
92
|
|
|
93
93
|
//#endregion
|
|
94
94
|
export { consumer_default as default };
|
|
95
|
-
//# sourceMappingURL=consumer-
|
|
95
|
+
//# sourceMappingURL=consumer-s8LnLw4e.mjs.map
|