bonescript-compiler 0.5.2 → 0.5.4

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.
Files changed (187) hide show
  1. package/LICENSE +21 -21
  2. package/dist/algorithm_catalog.js +166 -166
  3. package/dist/cli.d.ts +1 -2
  4. package/dist/cli.js +543 -75
  5. package/dist/cli.js.map +1 -1
  6. package/dist/emit_capability.d.ts +0 -13
  7. package/dist/emit_capability.js +128 -292
  8. package/dist/emit_capability.js.map +1 -1
  9. package/dist/emit_composition.js +3 -37
  10. package/dist/emit_composition.js.map +1 -1
  11. package/dist/emit_deploy.js +162 -162
  12. package/dist/emit_events.d.ts +0 -1
  13. package/dist/emit_events.js +275 -342
  14. package/dist/emit_events.js.map +1 -1
  15. package/dist/emit_full.js +106 -268
  16. package/dist/emit_full.js.map +1 -1
  17. package/dist/emit_maintenance.js +249 -249
  18. package/dist/emit_runtime.d.ts +11 -17
  19. package/dist/emit_runtime.js +688 -29
  20. package/dist/emit_runtime.js.map +1 -1
  21. package/dist/emit_sourcemap.js +66 -66
  22. package/dist/emit_tests.js +0 -37
  23. package/dist/emit_tests.js.map +1 -1
  24. package/dist/emitter.js +16 -82
  25. package/dist/emitter.js.map +1 -1
  26. package/dist/extension_manager.d.ts +2 -2
  27. package/dist/extension_manager.js +3 -6
  28. package/dist/extension_manager.js.map +1 -1
  29. package/dist/ir.d.ts +0 -4
  30. package/dist/lowering.d.ts +14 -5
  31. package/dist/lowering.js +417 -66
  32. package/dist/lowering.js.map +1 -1
  33. package/dist/module_loader.d.ts +2 -2
  34. package/dist/module_loader.js +23 -20
  35. package/dist/module_loader.js.map +1 -1
  36. package/dist/optimizer.js +1 -1
  37. package/dist/optimizer.js.map +1 -1
  38. package/dist/scaffold.d.ts +2 -2
  39. package/dist/scaffold.js +319 -315
  40. package/dist/scaffold.js.map +1 -1
  41. package/dist/source_map.js.map +1 -0
  42. package/dist/test.js.map +1 -0
  43. package/dist/test_typechecker.d.ts +5 -0
  44. package/dist/test_typechecker.js +126 -0
  45. package/dist/test_typechecker.js.map +1 -0
  46. package/dist/typechecker.d.ts +0 -5
  47. package/dist/typechecker.js +13 -68
  48. package/dist/typechecker.js.map +1 -1
  49. package/dist/verifier.d.ts +1 -5
  50. package/dist/verifier.js +35 -140
  51. package/dist/verifier.js.map +1 -1
  52. package/package.json +52 -62
  53. package/src/algorithm_catalog.ts +345 -345
  54. package/src/ast.d.ts +244 -0
  55. package/src/ast.ts +334 -334
  56. package/src/cli.ts +624 -98
  57. package/src/emit_batch.ts +140 -140
  58. package/src/emit_capability.ts +436 -617
  59. package/src/emit_composition.ts +196 -229
  60. package/src/emit_deploy.ts +190 -190
  61. package/src/emit_events.ts +307 -377
  62. package/src/emit_extras.ts +240 -240
  63. package/src/emit_full.ts +309 -475
  64. package/src/emit_maintenance.ts +459 -459
  65. package/src/emit_runtime.ts +730 -17
  66. package/src/emit_sourcemap.ts +140 -140
  67. package/src/emit_tests.ts +205 -246
  68. package/src/emit_websocket.ts +229 -229
  69. package/src/emitter.ts +578 -642
  70. package/src/extension_manager.ts +187 -189
  71. package/src/formatter.ts +297 -297
  72. package/src/index.ts +88 -88
  73. package/src/ir.ts +215 -216
  74. package/src/lexer.d.ts +195 -0
  75. package/src/lexer.ts +630 -630
  76. package/src/lowering.ts +556 -168
  77. package/src/module_loader.ts +114 -112
  78. package/src/optimizer.ts +196 -196
  79. package/src/parse_decls.d.ts +13 -0
  80. package/src/parse_decls.ts +409 -409
  81. package/src/parse_decls2.d.ts +13 -0
  82. package/src/parse_decls2.ts +244 -244
  83. package/src/parse_expr.d.ts +7 -0
  84. package/src/parse_expr.ts +197 -197
  85. package/src/parse_types.d.ts +6 -0
  86. package/src/parse_types.ts +54 -54
  87. package/src/parser.d.ts +10 -0
  88. package/src/parser.ts +1 -1
  89. package/src/parser_base.d.ts +19 -0
  90. package/src/parser_base.ts +57 -57
  91. package/src/parser_recovery.ts +153 -153
  92. package/src/scaffold.ts +375 -371
  93. package/src/solver.ts +330 -330
  94. package/src/typechecker.d.ts +52 -0
  95. package/src/typechecker.ts +591 -657
  96. package/src/types.d.ts +38 -0
  97. package/src/types.ts +122 -122
  98. package/src/verifier.ts +46 -152
  99. package/README.md +0 -382
  100. package/dist/commands/check.d.ts +0 -5
  101. package/dist/commands/check.js +0 -34
  102. package/dist/commands/check.js.map +0 -1
  103. package/dist/commands/compile.d.ts +0 -5
  104. package/dist/commands/compile.js +0 -215
  105. package/dist/commands/compile.js.map +0 -1
  106. package/dist/commands/debug.d.ts +0 -5
  107. package/dist/commands/debug.js +0 -59
  108. package/dist/commands/debug.js.map +0 -1
  109. package/dist/commands/diff.d.ts +0 -5
  110. package/dist/commands/diff.js +0 -125
  111. package/dist/commands/diff.js.map +0 -1
  112. package/dist/commands/fmt.d.ts +0 -5
  113. package/dist/commands/fmt.js +0 -49
  114. package/dist/commands/fmt.js.map +0 -1
  115. package/dist/commands/init.d.ts +0 -5
  116. package/dist/commands/init.js +0 -96
  117. package/dist/commands/init.js.map +0 -1
  118. package/dist/commands/ir.d.ts +0 -5
  119. package/dist/commands/ir.js +0 -27
  120. package/dist/commands/ir.js.map +0 -1
  121. package/dist/commands/lex.d.ts +0 -5
  122. package/dist/commands/lex.js +0 -21
  123. package/dist/commands/lex.js.map +0 -1
  124. package/dist/commands/parse.d.ts +0 -5
  125. package/dist/commands/parse.js +0 -30
  126. package/dist/commands/parse.js.map +0 -1
  127. package/dist/commands/test.d.ts +0 -5
  128. package/dist/commands/test.js +0 -61
  129. package/dist/commands/test.js.map +0 -1
  130. package/dist/commands/verify_determinism.d.ts +0 -5
  131. package/dist/commands/verify_determinism.js +0 -64
  132. package/dist/commands/verify_determinism.js.map +0 -1
  133. package/dist/commands/watch.d.ts +0 -5
  134. package/dist/commands/watch.js +0 -50
  135. package/dist/commands/watch.js.map +0 -1
  136. package/dist/emit_auth.d.ts +0 -18
  137. package/dist/emit_auth.js +0 -507
  138. package/dist/emit_auth.js.map +0 -1
  139. package/dist/emit_database.d.ts +0 -7
  140. package/dist/emit_database.js +0 -74
  141. package/dist/emit_database.js.map +0 -1
  142. package/dist/emit_index.d.ts +0 -6
  143. package/dist/emit_index.js +0 -202
  144. package/dist/emit_index.js.map +0 -1
  145. package/dist/emit_models.d.ts +0 -12
  146. package/dist/emit_models.js +0 -171
  147. package/dist/emit_models.js.map +0 -1
  148. package/dist/emit_openapi.d.ts +0 -9
  149. package/dist/emit_openapi.js +0 -308
  150. package/dist/emit_openapi.js.map +0 -1
  151. package/dist/emit_package.d.ts +0 -7
  152. package/dist/emit_package.js +0 -70
  153. package/dist/emit_package.js.map +0 -1
  154. package/dist/emit_router.d.ts +0 -12
  155. package/dist/emit_router.js +0 -390
  156. package/dist/emit_router.js.map +0 -1
  157. package/dist/lowering_channels.d.ts +0 -11
  158. package/dist/lowering_channels.js +0 -103
  159. package/dist/lowering_channels.js.map +0 -1
  160. package/dist/lowering_entities.d.ts +0 -11
  161. package/dist/lowering_entities.js +0 -232
  162. package/dist/lowering_entities.js.map +0 -1
  163. package/dist/lowering_helpers.d.ts +0 -13
  164. package/dist/lowering_helpers.js +0 -76
  165. package/dist/lowering_helpers.js.map +0 -1
  166. package/src/commands/check.ts +0 -33
  167. package/src/commands/compile.ts +0 -191
  168. package/src/commands/debug.ts +0 -33
  169. package/src/commands/diff.ts +0 -108
  170. package/src/commands/fmt.ts +0 -22
  171. package/src/commands/init.ts +0 -72
  172. package/src/commands/ir.ts +0 -23
  173. package/src/commands/lex.ts +0 -17
  174. package/src/commands/parse.ts +0 -24
  175. package/src/commands/test.ts +0 -36
  176. package/src/commands/verify_determinism.ts +0 -66
  177. package/src/commands/watch.ts +0 -25
  178. package/src/emit_auth.ts +0 -513
  179. package/src/emit_database.ts +0 -75
  180. package/src/emit_index.ts +0 -210
  181. package/src/emit_models.ts +0 -176
  182. package/src/emit_openapi.ts +0 -318
  183. package/src/emit_package.ts +0 -69
  184. package/src/emit_router.ts +0 -409
  185. package/src/lowering_channels.ts +0 -108
  186. package/src/lowering_entities.ts +0 -258
  187. package/src/lowering_helpers.ts +0 -75
@@ -1,308 +0,0 @@
1
- "use strict";
2
- /**
3
- * BoneScript OpenAPI 3.1 Schema Emitter
4
- * Generates a complete openapi.json for each api_service module.
5
- * Implements spec/09_CODEGEN.md §2 (ApiService → JSON secondary target).
6
- *
7
- * Produces: openapi.json at the project root.
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.emitOpenApiSchema = void 0;
11
- // ─── Type mapping ─────────────────────────────────────────────────────────────
12
- function irTypeToJsonSchema(irType) {
13
- switch (irType) {
14
- case "string": return { type: "string" };
15
- case "uint": return { type: "integer", minimum: 0 };
16
- case "int": return { type: "integer" };
17
- case "float": return { type: "number" };
18
- case "bool": return { type: "boolean" };
19
- case "timestamp": return { type: "string", format: "date-time" };
20
- case "uuid": return { type: "string", format: "uuid" };
21
- case "bytes": return { type: "string", format: "byte" };
22
- case "json": return {};
23
- default: {
24
- const listMatch = irType.match(/^list<(.+)>$/);
25
- if (listMatch)
26
- return { type: "array", items: irTypeToJsonSchema(listMatch[1]) };
27
- const setMatch = irType.match(/^set<(.+)>$/);
28
- if (setMatch)
29
- return { type: "array", items: irTypeToJsonSchema(setMatch[1]), uniqueItems: true };
30
- const optMatch = irType.match(/^optional<(.+)>$/);
31
- if (optMatch)
32
- return { oneOf: [irTypeToJsonSchema(optMatch[1]), { type: "null" }] };
33
- // Entity reference — use $ref
34
- return { $ref: `#/components/schemas/${irType}` };
35
- }
36
- }
37
- }
38
- function modelToSchema(model) {
39
- const properties = {};
40
- const required = [];
41
- for (const field of model.fields) {
42
- if (field.default_value?.startsWith("GENERATED ALWAYS"))
43
- continue;
44
- properties[field.name] = irTypeToJsonSchema(field.type);
45
- if (!field.nullable && !field.default_value) {
46
- required.push(field.name);
47
- }
48
- }
49
- return {
50
- type: "object",
51
- properties,
52
- ...(required.length > 0 ? { required } : {}),
53
- };
54
- }
55
- function toSnakeCase(s) {
56
- return s.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
57
- }
58
- // ─── Main emitter ─────────────────────────────────────────────────────────────
59
- function emitOpenApiSchema(system) {
60
- const apiModules = system.modules.filter(m => m.kind === "api_service" && m.models.length > 0);
61
- if (apiModules.length === 0)
62
- return "";
63
- // ── Collect all schemas ──────────────────────────────────────────────────
64
- const schemas = {};
65
- // Standard error schema
66
- schemas["Error"] = {
67
- type: "object",
68
- required: ["error"],
69
- properties: {
70
- error: {
71
- type: "object",
72
- required: ["code", "message"],
73
- properties: {
74
- code: { type: "string" },
75
- message: { type: "string" },
76
- },
77
- },
78
- },
79
- };
80
- // Paginated result wrapper
81
- schemas["PaginatedResult"] = {
82
- type: "object",
83
- required: ["items", "total", "page", "page_size"],
84
- properties: {
85
- items: { type: "array", items: {} },
86
- total: { type: "integer", minimum: 0 },
87
- page: { type: "integer", minimum: 1 },
88
- page_size: { type: "integer", minimum: 1 },
89
- },
90
- };
91
- for (const mod of apiModules) {
92
- for (const model of mod.models) {
93
- schemas[model.name] = modelToSchema(model);
94
- // Create input schema (omit server-set fields)
95
- const createProps = {};
96
- const createRequired = [];
97
- for (const field of model.fields) {
98
- if (["id", "created_at", "updated_at"].includes(field.name))
99
- continue;
100
- if (field.default_value?.startsWith("GENERATED ALWAYS"))
101
- continue;
102
- createProps[field.name] = irTypeToJsonSchema(field.type);
103
- if (!field.nullable && !field.default_value)
104
- createRequired.push(field.name);
105
- }
106
- schemas[`Create${model.name}Input`] = {
107
- type: "object",
108
- properties: createProps,
109
- ...(createRequired.length > 0 ? { required: createRequired } : {}),
110
- };
111
- // Update input schema (all optional)
112
- const updateProps = {};
113
- for (const field of model.fields) {
114
- if (["id", "created_at", "updated_at"].includes(field.name))
115
- continue;
116
- if (field.default_value?.startsWith("GENERATED ALWAYS"))
117
- continue;
118
- updateProps[field.name] = irTypeToJsonSchema(field.type);
119
- }
120
- schemas[`Update${model.name}Input`] = {
121
- type: "object",
122
- properties: updateProps,
123
- };
124
- }
125
- }
126
- // Event payload schemas
127
- for (const ev of system.events) {
128
- const props = {};
129
- for (const field of ev.payload) {
130
- props[field.name] = irTypeToJsonSchema(field.type);
131
- }
132
- schemas[`${ev.name}Payload`] = { type: "object", properties: props };
133
- }
134
- // ── Build paths ──────────────────────────────────────────────────────────
135
- const paths = {};
136
- for (const mod of apiModules) {
137
- const model = mod.models[0];
138
- const basePath = `/${toSnakeCase(model.name)}s`;
139
- const tag = mod.name;
140
- // GET / — list
141
- paths[basePath] = {
142
- get: {
143
- tags: [tag],
144
- summary: `List ${model.name}s`,
145
- security: [{ bearerAuth: [] }],
146
- parameters: [
147
- { name: "page", in: "query", schema: { type: "integer", minimum: 1, default: 1 } },
148
- { name: "page_size", in: "query", schema: { type: "integer", minimum: 1, maximum: 100, default: 50 } },
149
- ],
150
- responses: {
151
- "200": {
152
- description: `List of ${model.name}s`,
153
- content: {
154
- "application/json": {
155
- schema: {
156
- allOf: [
157
- { $ref: "#/components/schemas/PaginatedResult" },
158
- { properties: { items: { type: "array", items: { $ref: `#/components/schemas/${model.name}` } } } },
159
- ],
160
- },
161
- },
162
- },
163
- },
164
- "401": { $ref: "#/components/responses/Unauthorized" },
165
- },
166
- },
167
- post: {
168
- tags: [tag],
169
- summary: `Create ${model.name}`,
170
- security: [{ bearerAuth: [] }],
171
- requestBody: {
172
- required: true,
173
- content: {
174
- "application/json": {
175
- schema: { $ref: `#/components/schemas/Create${model.name}Input` },
176
- },
177
- },
178
- },
179
- responses: {
180
- "201": {
181
- description: `${model.name} created`,
182
- content: { "application/json": { schema: { $ref: `#/components/schemas/${model.name}` } } },
183
- },
184
- "400": { $ref: "#/components/responses/BadRequest" },
185
- "401": { $ref: "#/components/responses/Unauthorized" },
186
- },
187
- },
188
- };
189
- // GET /:id, PUT /:id, DELETE /:id
190
- const idPath = `${basePath}/{id}`;
191
- paths[idPath] = {
192
- parameters: [{ name: "id", in: "path", required: true, schema: { type: "string", format: "uuid" } }],
193
- get: {
194
- tags: [tag],
195
- summary: `Get ${model.name} by id`,
196
- security: [{ bearerAuth: [] }],
197
- responses: {
198
- "200": { description: `${model.name}`, content: { "application/json": { schema: { $ref: `#/components/schemas/${model.name}` } } } },
199
- "401": { $ref: "#/components/responses/Unauthorized" },
200
- "404": { $ref: "#/components/responses/NotFound" },
201
- },
202
- },
203
- put: {
204
- tags: [tag],
205
- summary: `Update ${model.name}`,
206
- security: [{ bearerAuth: [] }],
207
- requestBody: {
208
- required: true,
209
- content: { "application/json": { schema: { $ref: `#/components/schemas/Update${model.name}Input` } } },
210
- },
211
- responses: {
212
- "200": { description: `Updated ${model.name}`, content: { "application/json": { schema: { $ref: `#/components/schemas/${model.name}` } } } },
213
- "400": { $ref: "#/components/responses/BadRequest" },
214
- "401": { $ref: "#/components/responses/Unauthorized" },
215
- "404": { $ref: "#/components/responses/NotFound" },
216
- },
217
- },
218
- delete: {
219
- tags: [tag],
220
- summary: `Delete ${model.name}`,
221
- security: [{ bearerAuth: [] }],
222
- responses: {
223
- "204": { description: "Deleted" },
224
- "401": { $ref: "#/components/responses/Unauthorized" },
225
- "404": { $ref: "#/components/responses/NotFound" },
226
- },
227
- },
228
- };
229
- // Capability endpoints
230
- for (const iface of mod.interfaces) {
231
- for (const method of iface.methods) {
232
- if (["create", "read", "update", "delete", "list"].includes(method.name))
233
- continue;
234
- const capPath = `${basePath}/${method.name.replace(/_/g, "-")}`;
235
- const inputProps = {};
236
- for (const param of method.input) {
237
- inputProps[param.name] = irTypeToJsonSchema(param.type);
238
- }
239
- paths[capPath] = {
240
- post: {
241
- tags: [tag],
242
- summary: method.name.replace(/_/g, " "),
243
- description: [
244
- method.preconditions.length > 0 ? `**Preconditions:** ${method.preconditions.map(p => p.description).join("; ")}` : "",
245
- method.effects.length > 0 ? `**Effects:** ${method.effects.map(e => `${e.target} ${e.op === "assign" ? "=" : e.op === "add" ? "+=" : "-="} ${e.value}`).join("; ")}` : "",
246
- method.sync ? `**Sync:** ${method.sync}` : "",
247
- ].filter(Boolean).join("\n\n"),
248
- security: [{ bearerAuth: [] }],
249
- requestBody: {
250
- required: true,
251
- content: {
252
- "application/json": {
253
- schema: { type: "object", properties: inputProps },
254
- },
255
- },
256
- },
257
- responses: {
258
- "200": { description: "Success", content: { "application/json": { schema: { type: "object", properties: { ok: { type: "boolean" }, action: { type: "string" } } } } } },
259
- "401": { $ref: "#/components/responses/Unauthorized" },
260
- "422": { description: "Precondition failed", content: { "application/json": { schema: { $ref: "#/components/schemas/Error" } } } },
261
- },
262
- },
263
- };
264
- }
265
- }
266
- }
267
- // ── Assemble document ────────────────────────────────────────────────────
268
- const doc = {
269
- openapi: "3.1.0",
270
- info: {
271
- title: system.name,
272
- version: system.version,
273
- description: `Generated by BoneScript compiler. Source hash: ${system.source_hash}`,
274
- },
275
- servers: [
276
- { url: "http://localhost:3000", description: "Local development" },
277
- ],
278
- tags: apiModules.map(m => ({ name: m.name, description: `${m.name} endpoints` })),
279
- paths,
280
- components: {
281
- securitySchemes: {
282
- bearerAuth: {
283
- type: "http",
284
- scheme: "bearer",
285
- bearerFormat: "JWT",
286
- },
287
- },
288
- schemas,
289
- responses: {
290
- Unauthorized: {
291
- description: "Authentication required",
292
- content: { "application/json": { schema: { $ref: "#/components/schemas/Error" } } },
293
- },
294
- NotFound: {
295
- description: "Resource not found",
296
- content: { "application/json": { schema: { $ref: "#/components/schemas/Error" } } },
297
- },
298
- BadRequest: {
299
- description: "Invalid request",
300
- content: { "application/json": { schema: { $ref: "#/components/schemas/Error" } } },
301
- },
302
- },
303
- },
304
- };
305
- return JSON.stringify(doc, null, 2);
306
- }
307
- exports.emitOpenApiSchema = emitOpenApiSchema;
308
- //# sourceMappingURL=emit_openapi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emit_openapi.js","sourceRoot":"","sources":["../src/emit_openapi.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * BoneScript Package Emitter
3
- * Generates package.json and tsconfig.json for the output project.
4
- */
5
- import * as IR from "./ir";
6
- export declare function emitPackageJson(system: IR.IRSystem): string;
7
- export declare function emitTsConfig(): string;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- /**
3
- * BoneScript Package Emitter
4
- * Generates package.json and tsconfig.json for the output project.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.emitTsConfig = exports.emitPackageJson = void 0;
8
- function toSnakeCase(s) {
9
- return s.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
10
- }
11
- function emitPackageJson(system) {
12
- const pkg = {
13
- name: toSnakeCase(system.name),
14
- version: system.version,
15
- private: true,
16
- scripts: {
17
- build: "tsc",
18
- start: "node dist/index.js",
19
- dev: "ts-node src/index.ts",
20
- migrate: "ts-node src/migrate.ts",
21
- },
22
- dependencies: {
23
- express: "4.18.2",
24
- pg: "8.11.3",
25
- ioredis: "5.3.2",
26
- ws: "8.16.0",
27
- uuid: "9.0.0",
28
- cors: "2.8.5",
29
- helmet: "7.1.0",
30
- "express-rate-limit": "7.1.5",
31
- jsonwebtoken: "9.0.2",
32
- dotenv: "16.3.1",
33
- },
34
- devDependencies: {
35
- "@types/express": "4.17.21",
36
- "@types/node": "18.19.0",
37
- "@types/pg": "8.10.9",
38
- "@types/ws": "8.5.10",
39
- "@types/cors": "2.8.17",
40
- "@types/jsonwebtoken": "9.0.5",
41
- "@types/uuid": "9.0.7",
42
- typescript: "5.3.3",
43
- "ts-node": "10.9.2",
44
- },
45
- };
46
- return JSON.stringify(pkg, null, 2);
47
- }
48
- exports.emitPackageJson = emitPackageJson;
49
- function emitTsConfig() {
50
- const cfg = {
51
- compilerOptions: {
52
- target: "ES2020",
53
- module: "commonjs",
54
- lib: ["ES2020"],
55
- outDir: "./dist",
56
- rootDir: "./src",
57
- strict: true,
58
- esModuleInterop: true,
59
- skipLibCheck: true,
60
- forceConsistentCasingInFileNames: true,
61
- declaration: true,
62
- sourceMap: true,
63
- },
64
- include: ["src/**/*"],
65
- exclude: ["node_modules", "dist"],
66
- };
67
- return JSON.stringify(cfg, null, 2);
68
- }
69
- exports.emitTsConfig = emitTsConfig;
70
- //# sourceMappingURL=emit_package.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emit_package.js","sourceRoot":"","sources":["../src/emit_package.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7D,CAAC;AAED,SAAgB,eAAe,CAAC,MAAmB;IACjD,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE;YACP,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,oBAAoB;YAC3B,GAAG,EAAE,sBAAsB;YAC3B,OAAO,EAAE,wBAAwB;SAClC;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,QAAQ;YACjB,EAAE,EAAE,QAAQ;YACZ,OAAO,EAAE,OAAO;YAChB,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,OAAO;YACf,oBAAoB,EAAE,OAAO;YAC7B,YAAY,EAAE,OAAO;YACrB,MAAM,EAAE,QAAQ;SACjB;QACD,eAAe,EAAE;YACf,gBAAgB,EAAE,SAAS;YAC3B,aAAa,EAAE,SAAS;YACxB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,QAAQ;YACvB,qBAAqB,EAAE,OAAO;YAC9B,aAAa,EAAE,OAAO;YACtB,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,QAAQ;SACpB;KACF,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AApCD,0CAoCC;AAED,SAAgB,YAAY;IAC1B,MAAM,GAAG,GAAG;QACV,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;YAClB,GAAG,EAAE,CAAC,QAAQ,CAAC;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,gCAAgC,EAAE,IAAI;YACtC,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;SAChB;QACD,OAAO,EAAE,CAAC,UAAU,CAAC;QACrB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAnBD,oCAmBC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * BoneScript Router Emitter
3
- * Generates Express route files (CRUD + capability endpoints) and
4
- * state machine runtime files for each entity.
5
- */
6
- import * as IR from "./ir";
7
- export declare function toSnakeCase(s: string): string;
8
- export declare function toCamelCase(s: string): string;
9
- export declare function toTsType(irType: string): string;
10
- export declare function emitStateMachineRuntime(sm: IR.IRStateMachine): string;
11
- export declare function emitEntityRouter(mod: IR.IRModule, system: IR.IRSystem): string;
12
- export declare function emitCapabilityEndpoint(method: IR.IRMethod, mod: IR.IRModule, tableName: string, system: IR.IRSystem): string;