@loj-lang/rdsl-compiler 0.5.0

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 (78) hide show
  1. package/README.md +23 -0
  2. package/dist/cache-signature.d.ts +2 -0
  3. package/dist/cache-signature.d.ts.map +1 -0
  4. package/dist/cache-signature.js +17 -0
  5. package/dist/cache-signature.js.map +1 -0
  6. package/dist/codegen.d.ts +37 -0
  7. package/dist/codegen.d.ts.map +1 -0
  8. package/dist/codegen.js +6394 -0
  9. package/dist/codegen.js.map +1 -0
  10. package/dist/dependency-graph.d.ts +23 -0
  11. package/dist/dependency-graph.d.ts.map +1 -0
  12. package/dist/dependency-graph.js +516 -0
  13. package/dist/dependency-graph.js.map +1 -0
  14. package/dist/expr.d.ts +24 -0
  15. package/dist/expr.d.ts.map +1 -0
  16. package/dist/expr.js +359 -0
  17. package/dist/expr.js.map +1 -0
  18. package/dist/flow-proof.d.ts +68 -0
  19. package/dist/flow-proof.d.ts.map +1 -0
  20. package/dist/flow-proof.js +487 -0
  21. package/dist/flow-proof.js.map +1 -0
  22. package/dist/host-files.d.ts +27 -0
  23. package/dist/host-files.d.ts.map +1 -0
  24. package/dist/host-files.js +441 -0
  25. package/dist/host-files.js.map +1 -0
  26. package/dist/index.d.ts +120 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +948 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/ir.d.ts +451 -0
  31. package/dist/ir.d.ts.map +1 -0
  32. package/dist/ir.js +13 -0
  33. package/dist/ir.js.map +1 -0
  34. package/dist/manifest.d.ts +104 -0
  35. package/dist/manifest.d.ts.map +1 -0
  36. package/dist/manifest.js +635 -0
  37. package/dist/manifest.js.map +1 -0
  38. package/dist/node-inspect.d.ts +23 -0
  39. package/dist/node-inspect.d.ts.map +1 -0
  40. package/dist/node-inspect.js +475 -0
  41. package/dist/node-inspect.js.map +1 -0
  42. package/dist/normalize.d.ts +101 -0
  43. package/dist/normalize.d.ts.map +1 -0
  44. package/dist/normalize.js +1771 -0
  45. package/dist/normalize.js.map +1 -0
  46. package/dist/page-table-block.d.ts +69 -0
  47. package/dist/page-table-block.d.ts.map +1 -0
  48. package/dist/page-table-block.js +241 -0
  49. package/dist/page-table-block.js.map +1 -0
  50. package/dist/parser.d.ts +262 -0
  51. package/dist/parser.d.ts.map +1 -0
  52. package/dist/parser.js +1335 -0
  53. package/dist/parser.js.map +1 -0
  54. package/dist/project-paths.d.ts +6 -0
  55. package/dist/project-paths.d.ts.map +1 -0
  56. package/dist/project-paths.js +84 -0
  57. package/dist/project-paths.js.map +1 -0
  58. package/dist/relation-projection.d.ts +60 -0
  59. package/dist/relation-projection.d.ts.map +1 -0
  60. package/dist/relation-projection.js +121 -0
  61. package/dist/relation-projection.js.map +1 -0
  62. package/dist/rules-proof.d.ts +95 -0
  63. package/dist/rules-proof.d.ts.map +1 -0
  64. package/dist/rules-proof.js +537 -0
  65. package/dist/rules-proof.js.map +1 -0
  66. package/dist/source-files.d.ts +9 -0
  67. package/dist/source-files.d.ts.map +1 -0
  68. package/dist/source-files.js +27 -0
  69. package/dist/source-files.js.map +1 -0
  70. package/dist/style-proof.d.ts +70 -0
  71. package/dist/style-proof.d.ts.map +1 -0
  72. package/dist/style-proof.js +640 -0
  73. package/dist/style-proof.js.map +1 -0
  74. package/dist/validator.d.ts +51 -0
  75. package/dist/validator.d.ts.map +1 -0
  76. package/dist/validator.js +2487 -0
  77. package/dist/validator.js.map +1 -0
  78. package/package.json +40 -0
package/README.md ADDED
@@ -0,0 +1,23 @@
1
+ # @loj-lang/rdsl-compiler
2
+
3
+ Frontend-family compiler for `.web.loj` sources (legacy alias: `.rdsl`).
4
+
5
+ Current implemented target:
6
+
7
+ - `react / typescript`
8
+
9
+ Core stages:
10
+
11
+ - parse
12
+ - normalize
13
+ - validate
14
+ - generate
15
+ - semantic manifest
16
+ - trace manifest
17
+
18
+ Local workspace commands:
19
+
20
+ ```bash
21
+ npm run build --workspace=@loj-lang/rdsl-compiler
22
+ npm run test --workspace=@loj-lang/rdsl-compiler
23
+ ```
@@ -0,0 +1,2 @@
1
+ export declare function createStableSignature(value: unknown): string;
2
+ //# sourceMappingURL=cache-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-signature.d.ts","sourceRoot":"","sources":["../src/cache-signature.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE5D"}
@@ -0,0 +1,17 @@
1
+ export function createStableSignature(value) {
2
+ return JSON.stringify(sortValue(value));
3
+ }
4
+ function sortValue(value) {
5
+ if (Array.isArray(value)) {
6
+ return value.map((entry) => sortValue(entry));
7
+ }
8
+ if (value && typeof value === 'object') {
9
+ const sorted = {};
10
+ for (const key of Object.keys(value).sort((left, right) => left.localeCompare(right))) {
11
+ sorted[key] = sortValue(value[key]);
12
+ }
13
+ return sorted;
14
+ }
15
+ return value;
16
+ }
17
+ //# sourceMappingURL=cache-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-signature.js","sourceRoot":"","sources":["../src/cache-signature.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtF,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * ReactDSL Code Generator
3
+ *
4
+ * Transforms IR → React/TypeScript source files.
5
+ *
6
+ * Design principles:
7
+ * - Direct subpath imports, no barrel files
8
+ * - Data access through dedup adapter (SWR), no raw fetch in useEffect
9
+ * - Derived state stays derived: no effect-based mirrors
10
+ * - Non-urgent updates (filters, search) use startTransition
11
+ * - Memoized columns and render functions
12
+ * - Ready-to-run output with semantic source comments
13
+ */
14
+ import type { IRApp } from './ir.js';
15
+ export interface GeneratedFile {
16
+ path: string;
17
+ content: string;
18
+ sourceNode: string;
19
+ }
20
+ export interface CodegenResult {
21
+ files: GeneratedFile[];
22
+ cacheSnapshot: CodegenCacheSnapshot;
23
+ }
24
+ export interface CodegenSegmentCacheEntry {
25
+ signature: string;
26
+ files: GeneratedFile[];
27
+ }
28
+ export interface CodegenCacheSnapshot {
29
+ version: string;
30
+ segments: Record<string, CodegenSegmentCacheEntry>;
31
+ }
32
+ export interface GenerateOptions {
33
+ cache?: CodegenCacheSnapshot;
34
+ affectedNodeIds?: ReadonlySet<string>;
35
+ }
36
+ export declare function generate(ir: IRApp, options?: GenerateOptions): CodegenResult;
37
+ //# sourceMappingURL=codegen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,KAAK,EAGN,MAAM,SAAS,CAAC;AAQjB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,aAAa,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACvC;AAaD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,GAAE,eAAoB,GAAG,aAAa,CAiChF"}