bonescript-compiler 0.5.3 → 0.5.5

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