dopespec 0.0.1 → 0.0.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/bin/dopespec.mjs +6 -1
- package/dist/codegen/events.js +2 -2
- package/dist/codegen/events.js.map +1 -1
- package/dist/codegen/invariants.d.ts.map +1 -1
- package/dist/codegen/invariants.js +2 -2
- package/dist/codegen/invariants.js.map +1 -1
- package/dist/codegen/orchestrators.js +2 -2
- package/dist/codegen/orchestrators.js.map +1 -1
- package/dist/codegen/policy-tests.d.ts.map +1 -1
- package/dist/codegen/policy-tests.js +2 -2
- package/dist/codegen/policy-tests.js.map +1 -1
- package/dist/codegen/policy-validator.js +3 -3
- package/dist/codegen/policy-validator.js.map +1 -1
- package/dist/codegen/tests.d.ts.map +1 -1
- package/dist/codegen/tests.js +2 -2
- package/dist/codegen/tests.js.map +1 -1
- package/dist/codegen/transitions.d.ts.map +1 -1
- package/dist/codegen/transitions.js +2 -2
- package/dist/codegen/transitions.js.map +1 -1
- package/dist/examples/generated/customer.types.d.ts +1 -1
- package/dist/examples/generated/order.types.d.ts +1 -1
- package/dist/examples/generated/order.types.d.ts.map +1 -1
- package/dist/examples/generated/pet.types.d.ts +3 -3
- package/dist/examples/generated/pet.types.d.ts.map +1 -1
- package/package.json +1 -1
package/bin/dopespec.mjs
CHANGED
|
@@ -4,16 +4,21 @@
|
|
|
4
4
|
// tsx handles .js→.ts import resolution that schema files rely on.
|
|
5
5
|
|
|
6
6
|
import { execFileSync } from "node:child_process";
|
|
7
|
+
import { createRequire } from "node:module";
|
|
7
8
|
import { dirname, join } from "node:path";
|
|
8
9
|
import { fileURLToPath } from "node:url";
|
|
9
10
|
|
|
10
11
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
11
12
|
const cli = join(__dirname, "..", "dist", "cli", "generate.js");
|
|
12
13
|
|
|
14
|
+
// Resolve tsx from dopespec's own node_modules so the user doesn't need to install it
|
|
15
|
+
const require = createRequire(import.meta.url);
|
|
16
|
+
const tsxLoader = require.resolve("tsx");
|
|
17
|
+
|
|
13
18
|
try {
|
|
14
19
|
execFileSync(
|
|
15
20
|
process.execPath,
|
|
16
|
-
["--import",
|
|
21
|
+
["--import", tsxLoader, cli, ...process.argv.slice(2)],
|
|
17
22
|
{ stdio: "inherit" },
|
|
18
23
|
);
|
|
19
24
|
} catch (error) {
|
package/dist/codegen/events.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { capitalize, getTransitions } from "./utils.js";
|
|
1
|
+
import { capitalize, getTransitions, toKebabCase } from "./utils.js";
|
|
2
2
|
/**
|
|
3
3
|
* Generate domain event types from a model's transitions.
|
|
4
4
|
* Generated code references ${Model}Props — expects types from ./${modelName}.types
|
|
@@ -9,7 +9,7 @@ export const generateEvents = (model) => {
|
|
|
9
9
|
if (transitions.length === 0)
|
|
10
10
|
return "";
|
|
11
11
|
const typeName = capitalize(model.name);
|
|
12
|
-
const modelName = model.name
|
|
12
|
+
const modelName = toKebabCase(model.name);
|
|
13
13
|
const propsType = `${typeName}Props`;
|
|
14
14
|
const lines = [];
|
|
15
15
|
const eventTypeNames = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/codegen/events.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/codegen/events.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAe,EAAU,EAAE;IACxD,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,4EAA4E;IAC5E,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,cAAc,SAAS,aAAa,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,GAAG,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;QAExD,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE/B,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,MAAM,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,GAAG,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,aAAa;IACb,KAAK,CAAC,IAAI,CAAC,eAAe,QAAQ,WAAW,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../../src/codegen/invariants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../../src/codegen/invariants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAUnD,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,GAAI,OAAO,QAAQ,KAAG,MA+DpD,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { capitalize, getConstraints, guardToSource, resolveGuardBody, } from "./utils.js";
|
|
1
|
+
import { capitalize, getConstraints, guardToSource, resolveGuardBody, toKebabCase, } from "./utils.js";
|
|
2
2
|
/** Generate invariant validation functions from a model's constraints. */
|
|
3
3
|
export const generateInvariants = (model) => {
|
|
4
4
|
const constraints = getConstraints(model);
|
|
5
5
|
if (constraints.length === 0)
|
|
6
6
|
return "";
|
|
7
7
|
const typeName = capitalize(model.name);
|
|
8
|
-
const modelName = model.name
|
|
8
|
+
const modelName = toKebabCase(model.name);
|
|
9
9
|
const propsType = `${typeName}Props`;
|
|
10
10
|
const lines = [];
|
|
11
11
|
const constraintNames = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invariants.js","sourceRoot":"","sources":["../../src/codegen/invariants.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,
|
|
1
|
+
{"version":3,"file":"invariants.js","sourceRoot":"","sources":["../../src/codegen/invariants.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAe,EAAU,EAAE;IAC5D,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,kFAAkF;IAClF,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,cAAc,SAAS,aAAa,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,wBAAwB;IACxB,sEAAsE;IACtE,uEAAuE;IACvE,sEAAsE;IACtE,EAAE;IACF,kCAAkC;IAClC,4EAA4E;IAC5E,0EAA0E;IAC1E,EAAE;IACF,kCAAkC;IAElC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;QAC7C,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,WAAW,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAE7C,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,SAAS,SAAS,cAAc,CAAC,CAAC;QAEtE,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAErE,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,IAAI,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,IAAI,CACR,2BAA2B,QAAQ,SAAS,SAAS,+CAA+C,CACrG,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAEjD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,WAAW,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAE7C,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,2BAA2B,IAAI,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { capitalize, fieldsToTSType, getActions } from "./utils.js";
|
|
1
|
+
import { capitalize, fieldsToTSType, getActions, toKebabCase } from "./utils.js";
|
|
2
2
|
/**
|
|
3
3
|
* Generate service orchestrator skeletons from a model's actions.
|
|
4
4
|
* @param policyActions — optional map of action → policy names for TODO comments
|
|
@@ -8,7 +8,7 @@ export const generateOrchestrators = (model, policyActions) => {
|
|
|
8
8
|
if (actions.length === 0)
|
|
9
9
|
return "";
|
|
10
10
|
const typeName = capitalize(model.name);
|
|
11
|
-
const modelName = model.name
|
|
11
|
+
const modelName = toKebabCase(model.name);
|
|
12
12
|
const propsType = `${typeName}Props`;
|
|
13
13
|
const lines = [];
|
|
14
14
|
// User code in src/ imports types from ../generated/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrators.js","sourceRoot":"","sources":["../../src/codegen/orchestrators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrators.js","sourceRoot":"","sources":["../../src/codegen/orchestrators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEjF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAe,EACf,aAAqC,EAC7B,EAAE;IACV,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,qDAAqD;IACrD,KAAK,CAAC,IAAI,CACR,iBAAiB,SAAS,yBAAyB,SAAS,aAAa,CAC1E,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,SAAS,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAErD,KAAK,CAAC,IAAI,CACR,mBAAmB,MAAM,SAAS,SAAS,eAAe,WAAW,MAAM,SAAS,IAAI,CACzF,CAAC;QAEF,MAAM,WAAW,GAAG,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,iCAAiC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzE,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-tests.d.ts","sourceRoot":"","sources":["../../src/codegen/policy-tests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"policy-tests.d.ts","sourceRoot":"","sources":["../../src/codegen/policy-tests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,qBAAqB,CAAC;AAajE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,iBAAiB,MAAM,EACvB,UAAU,SAAS,EAAE,EACrB,aAAa,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KACjC,MAaF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildModelDefaults, capitalize, defaultValueForProp, guardToSource, relationIdField, resolvePolicyGuardBody, } from "./utils.js";
|
|
1
|
+
import { buildModelDefaults, capitalize, defaultValueForProp, guardToSource, relationIdField, resolvePolicyGuardBody, toKebabCase, } from "./utils.js";
|
|
2
2
|
/**
|
|
3
3
|
* Generate integration tests for all policies targeting a single model.
|
|
4
4
|
* Output: generated/${targetModel}.policy.test.ts
|
|
@@ -7,7 +7,7 @@ export const generatePolicyTests = (targetModelName, policies, modelLookup) => {
|
|
|
7
7
|
if (policies.length === 0)
|
|
8
8
|
return "";
|
|
9
9
|
const lines = [];
|
|
10
|
-
const targetKey = targetModelName
|
|
10
|
+
const targetKey = toKebabCase(targetModelName);
|
|
11
11
|
emitTestImports(lines, targetKey, policies);
|
|
12
12
|
for (const policy of policies) {
|
|
13
13
|
emitPolicyTestBlock(lines, policy, modelLookup);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-tests.js","sourceRoot":"","sources":["../../src/codegen/policy-tests.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,sBAAsB,
|
|
1
|
+
{"version":3,"file":"policy-tests.js","sourceRoot":"","sources":["../../src/codegen/policy-tests.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { capitalize, guardToSource, resolvePolicyGuardBody } from "./utils.js";
|
|
1
|
+
import { capitalize, guardToSource, resolvePolicyGuardBody, toKebabCase } from "./utils.js";
|
|
2
2
|
/**
|
|
3
3
|
* Generate policy validator functions for all policies targeting a single model.
|
|
4
4
|
* Output: generated/${targetModel}.policies.ts
|
|
@@ -19,10 +19,10 @@ function emitImports(lines, policies) {
|
|
|
19
19
|
const imports = new Map();
|
|
20
20
|
for (const policy of policies) {
|
|
21
21
|
const onModelName = policy.on.model.name;
|
|
22
|
-
imports.set(onModelName
|
|
22
|
+
imports.set(toKebabCase(onModelName), `${capitalize(onModelName)}Props`);
|
|
23
23
|
for (const rel of Object.values(policy.requires)) {
|
|
24
24
|
const reqModelName = rel.target.name;
|
|
25
|
-
imports.set(reqModelName
|
|
25
|
+
imports.set(toKebabCase(reqModelName), `${capitalize(reqModelName)}Props`);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
for (const [modelKey, propsType] of [...imports].sort(([a], [b]) => a.localeCompare(b))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-validator.js","sourceRoot":"","sources":["../../src/codegen/policy-validator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"policy-validator.js","sourceRoot":"","sources":["../../src/codegen/policy-validator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5F;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAAqB,EACrB,WAAkC,EAC1B,EAAE;IACV,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,2BAA2B;IAC3B,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE7B,4DAA4D;IAC5D,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,SAAS,WAAW,CAAC,KAAe,EAAE,QAAqB;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QAEzC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEzE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAErC,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,YAAY,CAAC,EACzB,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CACnC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACjE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,EAAE,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,cAAc,QAAQ,aAAa,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAe,EACf,MAAiB,EACjB,WAAkC;IAElC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,GAAG,UAAU,SAAS,CAAC;IAE/C,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,eAAe,eAAe,MAAM,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,eAAe,QAAQ,CACpE,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAElD,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,MAAM,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,oDAAoD;IACpD,MAAM,cAAc,GAA6B,EAAE,CAAC;IAEpD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,KAAK;YAAE,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,IAAI,CACR,2BAA2B,UAAU,SAAS,eAAe,mEAAmE,CACjI,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAE/C,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,aAAa,CAC3B,IAAI,CAAC,IAAiD,CACvD,CAAC;QACF,MAAM,SAAS,GAAG,sBAAsB,CACtC,IAAI,CAAC,IAAI,EACT,OAAO,EACP,cAAc,CACf,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QACrE,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAElD,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,KAAK,MAAM,UAAU,MAAM,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,IAAI,CACR,oEAAoE,CACrE,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../src/codegen/tests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../src/codegen/tests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA2HnD,8EAA8E;AAC9E,eAAO,MAAM,aAAa,GAAI,OAAO,QAAQ,KAAG,MAsE/C,CAAC"}
|
package/dist/codegen/tests.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isOptional } from "../schema/props.js";
|
|
2
|
-
import { capitalize, defaultValueForProp, getLifecycleProp, getRelations, getTransitions, relationIdField, valueToSource, } from "./utils.js";
|
|
2
|
+
import { capitalize, defaultValueForProp, getLifecycleProp, getRelations, getTransitions, relationIdField, toKebabCase, valueToSource, } from "./utils.js";
|
|
3
3
|
/**
|
|
4
4
|
* Build a complete ctx object literal by merging prop defaults, relation
|
|
5
5
|
* defaults, and scenario-given values at codegen time. This avoids duplicate
|
|
@@ -71,7 +71,7 @@ export const generateTests = (model) => {
|
|
|
71
71
|
if (transitions.length === 0)
|
|
72
72
|
return "";
|
|
73
73
|
const typeName = capitalize(model.name);
|
|
74
|
-
const modelName = model.name
|
|
74
|
+
const modelName = toKebabCase(model.name);
|
|
75
75
|
const propsType = `${typeName}Props`;
|
|
76
76
|
const lifecycleKey = getLifecycleProp(model)?.key;
|
|
77
77
|
// Collect prop entries for building complete ctx objects
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tests.js","sourceRoot":"","sources":["../../src/codegen/tests.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tests.js","sourceRoot":"","sources":["../../src/codegen/tests.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../src/codegen/transitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../src/codegen/transitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAWnD,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,GAAI,OAAO,QAAQ,KAAG,MAiDrD,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { capitalize, getLifecycleProp, getTransitions, guardToSource, resolveGuardBody, } from "./utils.js";
|
|
1
|
+
import { capitalize, getLifecycleProp, getTransitions, guardToSource, resolveGuardBody, toKebabCase, } from "./utils.js";
|
|
2
2
|
/** Generate transition functions with runtime state checks and guards. */
|
|
3
3
|
export const generateTransitions = (model) => {
|
|
4
4
|
const transitions = getTransitions(model);
|
|
5
5
|
if (transitions.length === 0)
|
|
6
6
|
return "";
|
|
7
7
|
const typeName = capitalize(model.name);
|
|
8
|
-
const modelName = model.name
|
|
8
|
+
const modelName = toKebabCase(model.name);
|
|
9
9
|
const propsType = `${typeName}Props`;
|
|
10
10
|
const lines = [];
|
|
11
11
|
// Convention: generated transition module imports types from ./${modelName}.types
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../src/codegen/transitions.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,
|
|
1
|
+
{"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../src/codegen/transitions.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,0EAA0E;AAC1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAe,EAAU,EAAE;IAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,kFAAkF;IAClF,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,cAAc,SAAS,aAAa,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IAElD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,GAAG,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAEhD,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,SAAS,SAAS,MAAM,SAAS,IAAI,CAAC,CAAC;QAE3E,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,aAAa,YAAY,SAAS,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC;YACpE,KAAK,CAAC,IAAI,CACR,gCAAgC,IAAI,cAAc,YAAY,KAAK,UAAU,CAAC,IAAI,kBAAkB,YAAY,QAAQ,CACzH,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAErE,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,MAAM,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,oDAAoD,IAAI,KAAK,CAAC,CAAC;YAC1E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,sBAAsB,YAAY,MAAM,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.types.d.ts","sourceRoot":"","sources":["../../../src/examples/generated/order.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"order.types.d.ts","sourceRoot":"","sources":["../../../src/examples/generated/order.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;AAErF,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export type PetSpecies =
|
|
2
|
-
export type PetStatus =
|
|
1
|
+
export type PetSpecies = 'dog' | 'cat' | 'bird' | 'fish';
|
|
2
|
+
export type PetStatus = 'available' | 'reserved' | 'sold';
|
|
3
3
|
export type PetProps = {
|
|
4
4
|
name: string;
|
|
5
|
-
nickname
|
|
5
|
+
nickname: string;
|
|
6
6
|
price: number;
|
|
7
7
|
species: PetSpecies;
|
|
8
8
|
status: PetStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pet.types.d.ts","sourceRoot":"","sources":["../../../src/examples/generated/pet.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1D,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,
|
|
1
|
+
{"version":3,"file":"pet.types.d.ts","sourceRoot":"","sources":["../../../src/examples/generated/pet.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1D,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dopespec",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "Schema-first domain modeling. Describe your business logic in TypeScript, generate types, state machines, validators, tests, Zod schemas, and Mermaid diagrams.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/schema/index.js",
|