@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.
- package/README.md +23 -0
- package/dist/cache-signature.d.ts +2 -0
- package/dist/cache-signature.d.ts.map +1 -0
- package/dist/cache-signature.js +17 -0
- package/dist/cache-signature.js.map +1 -0
- package/dist/codegen.d.ts +37 -0
- package/dist/codegen.d.ts.map +1 -0
- package/dist/codegen.js +6394 -0
- package/dist/codegen.js.map +1 -0
- package/dist/dependency-graph.d.ts +23 -0
- package/dist/dependency-graph.d.ts.map +1 -0
- package/dist/dependency-graph.js +516 -0
- package/dist/dependency-graph.js.map +1 -0
- package/dist/expr.d.ts +24 -0
- package/dist/expr.d.ts.map +1 -0
- package/dist/expr.js +359 -0
- package/dist/expr.js.map +1 -0
- package/dist/flow-proof.d.ts +68 -0
- package/dist/flow-proof.d.ts.map +1 -0
- package/dist/flow-proof.js +487 -0
- package/dist/flow-proof.js.map +1 -0
- package/dist/host-files.d.ts +27 -0
- package/dist/host-files.d.ts.map +1 -0
- package/dist/host-files.js +441 -0
- package/dist/host-files.js.map +1 -0
- package/dist/index.d.ts +120 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +948 -0
- package/dist/index.js.map +1 -0
- package/dist/ir.d.ts +451 -0
- package/dist/ir.d.ts.map +1 -0
- package/dist/ir.js +13 -0
- package/dist/ir.js.map +1 -0
- package/dist/manifest.d.ts +104 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +635 -0
- package/dist/manifest.js.map +1 -0
- package/dist/node-inspect.d.ts +23 -0
- package/dist/node-inspect.d.ts.map +1 -0
- package/dist/node-inspect.js +475 -0
- package/dist/node-inspect.js.map +1 -0
- package/dist/normalize.d.ts +101 -0
- package/dist/normalize.d.ts.map +1 -0
- package/dist/normalize.js +1771 -0
- package/dist/normalize.js.map +1 -0
- package/dist/page-table-block.d.ts +69 -0
- package/dist/page-table-block.d.ts.map +1 -0
- package/dist/page-table-block.js +241 -0
- package/dist/page-table-block.js.map +1 -0
- package/dist/parser.d.ts +262 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +1335 -0
- package/dist/parser.js.map +1 -0
- package/dist/project-paths.d.ts +6 -0
- package/dist/project-paths.d.ts.map +1 -0
- package/dist/project-paths.js +84 -0
- package/dist/project-paths.js.map +1 -0
- package/dist/relation-projection.d.ts +60 -0
- package/dist/relation-projection.d.ts.map +1 -0
- package/dist/relation-projection.js +121 -0
- package/dist/relation-projection.js.map +1 -0
- package/dist/rules-proof.d.ts +95 -0
- package/dist/rules-proof.d.ts.map +1 -0
- package/dist/rules-proof.js +537 -0
- package/dist/rules-proof.js.map +1 -0
- package/dist/source-files.d.ts +9 -0
- package/dist/source-files.d.ts.map +1 -0
- package/dist/source-files.js +27 -0
- package/dist/source-files.js.map +1 -0
- package/dist/style-proof.d.ts +70 -0
- package/dist/style-proof.d.ts.map +1 -0
- package/dist/style-proof.js +640 -0
- package/dist/style-proof.js.map +1 -0
- package/dist/validator.d.ts +51 -0
- package/dist/validator.d.ts.map +1 -0
- package/dist/validator.js +2487 -0
- package/dist/validator.js.map +1 -0
- 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 @@
|
|
|
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"}
|