@githolon/dsl 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/compile_package.mjs +1 -1
- package/package.json +1 -1
- package/src/codegen_ts.ts +5 -5
package/LICENSE.md
CHANGED
|
@@ -12,7 +12,7 @@ with it; we keep the rest for now.
|
|
|
12
12
|
authorizes;
|
|
13
13
|
- build, run, and ship applications on top of them — including commercial ones;
|
|
14
14
|
- keep everything that's yours: code you write, and everything these tools
|
|
15
|
-
generate FOR you (scaffolds from `create-
|
|
15
|
+
generate FOR you (scaffolds from `create-githolon` / `githolon generate`, generated
|
|
16
16
|
clients, compiled domain packages) carries NO restriction from us — it is
|
|
17
17
|
yours outright.
|
|
18
18
|
|
package/compile_package.mjs
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// caller's, else the DSL's own dependency) and run `src/compile_package_main.ts`
|
|
10
10
|
// under it (the main dynamically imports the caller's TS domain modules, which
|
|
11
11
|
// needs the tsx ESM loader). tsx is a regular dependency of @githolon/dsl, so a bare
|
|
12
|
-
// `npx
|
|
12
|
+
// `npx githolon compile` / `npx nomos-compile` works with zero devDependency setup.
|
|
13
13
|
// Resolution goes through Node's resolver (createRequire), NOT node_modules/.bin
|
|
14
14
|
// paths — hoisted/workspace installs put the bin shims elsewhere.
|
|
15
15
|
import { execFileSync } from "node:child_process";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@githolon/dsl",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Nomos 2 domain-authoring DSL: aggregates + directives in TS, executed and encoded to the Rust kernel's wire shapes.",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
package/src/codegen_ts.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* TS CLIENT CODEGEN (#10) — the WEB sibling of `codegen_dart.ts`.
|
|
10
10
|
*
|
|
11
11
|
* Dart apps get generated payload classes / read models / typed query accessors;
|
|
12
|
-
* until this file, a web app on
|
|
12
|
+
* until this file, a web app on `githolonent` hand-typed directive ids and
|
|
13
13
|
* payload shapes against the raw `dispatch()` surface. `generateTsClient(modules,
|
|
14
14
|
* opts)` closes that: ONE generated `.ts` file per package, emitted by
|
|
15
15
|
* `nomos-compile` AFTER the package is hashed (the deployed law's content hash is
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* * a CLIENT FACTORY per domain — typed `dispatch` wrappers bound to the baked
|
|
28
28
|
* domainHash, typed declared-query accessors, and by-id read/watch helpers —
|
|
29
29
|
* over a STRUCTURAL `NomosHolon` interface, so the file has ZERO imports and
|
|
30
|
-
* binds to
|
|
30
|
+
* binds to `githolonent`'s `connect()` result (browser or node) as-is.
|
|
31
31
|
*
|
|
32
32
|
* Like every emitter here: NO FALLBACK. An unsupported zod shape throws at compile
|
|
33
33
|
* time, never degrades to `any` silently.
|
|
@@ -219,9 +219,9 @@ export function generateTsClient(modules: readonly DomainModule[], opts: TsClien
|
|
|
219
219
|
out.push(
|
|
220
220
|
`// AUTO-GENERATED by nomos-compile — typed TS client for package "${opts.packageName}".`,
|
|
221
221
|
`// Regenerated on every compile; do not edit. Zero imports: bind it to any holon`,
|
|
222
|
-
`// exposing the
|
|
222
|
+
`// exposing the githolonent surface (the structural NomosHolon below), e.g.`,
|
|
223
223
|
`//`,
|
|
224
|
-
`// import { connect } from "
|
|
224
|
+
`// import { connect } from "githolonent";`,
|
|
225
225
|
`// import { ${lcFirst(camel(modules[0]?.domain ?? "domain"))}Client } from "./build/${opts.packageName}.client.js";`,
|
|
226
226
|
`// const holon = await connect({ cloud, workspace, clientId });`,
|
|
227
227
|
`// const app = ${lcFirst(camel(modules[0]?.domain ?? "domain"))}Client(holon);`,
|
|
@@ -232,7 +232,7 @@ export function generateTsClient(modules: readonly DomainModule[], opts: TsClien
|
|
|
232
232
|
`/** One projection row: the aggregate's wire type, its id, and the folded fields. */`,
|
|
233
233
|
`export interface Row<T> { type: string; id: string; data: T }`,
|
|
234
234
|
``,
|
|
235
|
-
`/** The holon surface this client binds to (structurally satisfied by
|
|
235
|
+
`/** The holon surface this client binds to (structurally satisfied by githolonent). */`,
|
|
236
236
|
`export interface NomosHolon {`,
|
|
237
237
|
` dispatch(domain: string, directiveId: string, payload: unknown, opts: { domainHash: string }): Promise<string>;`,
|
|
238
238
|
` query(queryId: string, params?: Record<string, unknown>): Promise<unknown>;`,
|