logicstamp-context 0.2.5 → 0.2.6
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/LLM_CONTEXT.md +2 -2
- package/README.md +7 -2
- package/dist/core/astParser/extractors/propExtractor.d.ts.map +1 -1
- package/dist/core/astParser/extractors/propExtractor.js +16 -4
- package/dist/core/astParser/extractors/propExtractor.js.map +1 -1
- package/dist/core/astParser.d.ts +3 -1
- package/dist/core/astParser.d.ts.map +1 -1
- package/dist/core/astParser.js +109 -0
- package/dist/core/astParser.js.map +1 -1
- package/dist/core/contractBuilder.d.ts.map +1 -1
- package/dist/core/contractBuilder.js +11 -15
- package/dist/core/contractBuilder.js.map +1 -1
- package/dist/core/manifest.d.ts.map +1 -1
- package/dist/core/manifest.js +54 -3
- package/dist/core/manifest.js.map +1 -1
- package/dist/core/pack.d.ts.map +1 -1
- package/dist/core/pack.js +57 -1
- package/dist/core/pack.js.map +1 -1
- package/package.json +1 -1
- package/schema/logicstamp.context.schema.json +26 -1
package/LLM_CONTEXT.md
CHANGED
|
@@ -88,7 +88,7 @@ The `context_main.json` file serves as a directory index:
|
|
|
88
88
|
}
|
|
89
89
|
],
|
|
90
90
|
"meta": {
|
|
91
|
-
"source": "logicstamp-context@0.2.
|
|
91
|
+
"source": "logicstamp-context@0.2.6"
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
```
|
|
@@ -111,7 +111,7 @@ Each folder's `context.json` contains an array of LogicStamp bundles. Each bundl
|
|
|
111
111
|
- `graph.edges` lists dependency relationships between nodes (empty when analysis depth is 1).
|
|
112
112
|
- `meta` section contains two critical fields:
|
|
113
113
|
- `missing`: Array of unresolved dependencies. Each entry includes `name` (import path), `reason` (why it failed), and `referencedBy` (source component). Empty array indicates complete dependency resolution.
|
|
114
|
-
- `source`: Generator version string (e.g., `"logicstamp-context@0.2.
|
|
114
|
+
- `source`: Generator version string (e.g., `"logicstamp-context@0.2.6"`) for compatibility tracking.
|
|
115
115
|
- Example bundle skeleton:
|
|
116
116
|
|
|
117
117
|
```
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<img src="https://raw.githubusercontent.com/LogicStamp/logicstamp-context/main/assets/logicstamp-fox.svg" alt="LogicStamp Fox Mascot" width="120" height="120">
|
|
5
5
|
</div>
|
|
6
6
|
|
|
7
|
-

|
|
8
8
|

|
|
9
9
|

|
|
10
10
|

|
|
@@ -32,7 +32,7 @@ That's it! LogicStamp Context will scan your project and generate `context.json`
|
|
|
32
32
|

|
|
33
33
|
*Sample stamp context output with generated bundles*
|
|
34
34
|
|
|
35
|
-
> **Note:** This is a beta release (v0.2.
|
|
35
|
+
> **Note:** This is a beta release (v0.2.6). We're actively improving the tool based on user feedback. If you encounter any issues or have suggestions, please [open an issue on GitHub](https://github.com/LogicStamp/logicstamp-context/issues).
|
|
36
36
|
|
|
37
37
|
## Why LogicStamp?
|
|
38
38
|
|
|
@@ -97,6 +97,11 @@ After installation, the `stamp` command will be available globally.
|
|
|
97
97
|
|
|
98
98
|
## Recent Updates
|
|
99
99
|
|
|
100
|
+
**v0.2.6**
|
|
101
|
+
- Export metadata extraction (default/named exports detection)
|
|
102
|
+
- Internal component filtering (improved dependency tracking accuracy)
|
|
103
|
+
- Enhanced dependency graph accuracy
|
|
104
|
+
|
|
100
105
|
**v0.2.5**
|
|
101
106
|
- ShadCN/UI and Radix UI style extraction
|
|
102
107
|
- Enhanced debug logging and error handling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propExtractor.d.ts","sourceRoot":"","sources":["../../../../src/core/astParser/extractors/propExtractor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"propExtractor.d.ts","sourceRoot":"","sources":["../../../../src/core/astParser/extractors/propExtractor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG9D;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CA4GzE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,QAAQ,CA+CjF"}
|
|
@@ -60,9 +60,20 @@ export function extractProps(source) {
|
|
|
60
60
|
try {
|
|
61
61
|
const name = prop.getName();
|
|
62
62
|
const propType = prop.getTypeAtLocation(typeAlias).getText();
|
|
63
|
-
// Check if optional
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
// Check if optional using fast methods
|
|
64
|
+
let isOptional = false;
|
|
65
|
+
// Method 1: If type includes undefined in union, it's optional
|
|
66
|
+
if (propType.includes('undefined')) {
|
|
67
|
+
isOptional = true;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
// Method 2: Check declarations for question token (faster than getText())
|
|
71
|
+
const declarations = prop.getDeclarations();
|
|
72
|
+
isOptional = declarations.some((decl) => {
|
|
73
|
+
// Use AST method to check for question token (faster than text parsing)
|
|
74
|
+
return decl.hasQuestionToken?.() === true;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
66
77
|
props[name] = normalizePropType(propType, isOptional);
|
|
67
78
|
}
|
|
68
79
|
catch (error) {
|
|
@@ -131,7 +142,8 @@ export function normalizePropType(typeText, isOptional) {
|
|
|
131
142
|
};
|
|
132
143
|
}
|
|
133
144
|
// Simple type with optionality
|
|
134
|
-
if (isOptional
|
|
145
|
+
if (isOptional) {
|
|
146
|
+
// For all optional types, return object with optional flag to preserve the optional information
|
|
135
147
|
return {
|
|
136
148
|
type: cleanType,
|
|
137
149
|
optional: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propExtractor.js","sourceRoot":"","sources":["../../../../src/core/astParser/extractors/propExtractor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC7C,MAAM,KAAK,GAA6B,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,SAAS,CAAC;IAErD,IAAI,CAAC;QACH,wCAAwC;QACxC,IAAI,CAAC;YACH,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvC,IAAI,CAAC;oBACH,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBACpC,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;4BACrC,IAAI,CAAC;gCACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gCAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gCAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;gCAEtC,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;4BACpD,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;oCAC1C,QAAQ;oCACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oCAC7D,OAAO,EAAE,0BAA0B;iCACpC,CAAC,CAAC;gCACH,8BAA8B;4BAChC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;wBAC1C,QAAQ;wBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7D,OAAO,EAAE,iBAAiB;qBAC3B,CAAC,CAAC;oBACH,+BAA+B;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;gBAC1C,QAAQ;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,wBAAwB;aAClC,CAAC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC;YACH,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC5C,IAAI,CAAC;oBACH,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBACxC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;wBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;wBAExC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;4BAC1B,IAAI,CAAC;gCACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gCAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"propExtractor.js","sourceRoot":"","sources":["../../../../src/core/astParser/extractors/propExtractor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC7C,MAAM,KAAK,GAA6B,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,SAAS,CAAC;IAErD,IAAI,CAAC;QACH,wCAAwC;QACxC,IAAI,CAAC;YACH,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvC,IAAI,CAAC;oBACH,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBACpC,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;4BACrC,IAAI,CAAC;gCACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gCAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gCAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;gCAEtC,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;4BACpD,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;oCAC1C,QAAQ;oCACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oCAC7D,OAAO,EAAE,0BAA0B;iCACpC,CAAC,CAAC;gCACH,8BAA8B;4BAChC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;wBAC1C,QAAQ;wBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7D,OAAO,EAAE,iBAAiB;qBAC3B,CAAC,CAAC;oBACH,+BAA+B;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;gBAC1C,QAAQ;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,wBAAwB;aAClC,CAAC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC;YACH,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC5C,IAAI,CAAC;oBACH,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBACxC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;wBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;wBAExC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;4BAC1B,IAAI,CAAC;gCACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gCAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;gCAE7D,uCAAuC;gCACvC,IAAI,UAAU,GAAG,KAAK,CAAC;gCAEvB,+DAA+D;gCAC/D,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oCACnC,UAAU,GAAG,IAAI,CAAC;gCACpB,CAAC;qCAAM,CAAC;oCACN,0EAA0E;oCAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;oCAC5C,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wCACtC,wEAAwE;wCACxE,OAAQ,IAAY,CAAC,gBAAgB,EAAE,EAAE,KAAK,IAAI,CAAC;oCACrD,CAAC,CAAC,CAAC;gCACL,CAAC;gCAED,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;4BACxD,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;oCAC1C,QAAQ;oCACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oCAC7D,OAAO,EAAE,0BAA0B;iCACpC,CAAC,CAAC;gCACH,8BAA8B;4BAChC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;wBAC1C,QAAQ;wBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7D,OAAO,EAAE,iBAAiB;qBAC3B,CAAC,CAAC;oBACH,gCAAgC;gBAClC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;gBAC1C,QAAQ;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,yBAAyB;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;YAC1C,QAAQ;YACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,UAAmB;IACrE,IAAI,CAAC;QACH,4CAA4C;QAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpE,yCAAyC;QACzC,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC7E,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,SAAS;iBACvB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YAE5C,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,QAAQ;gBACR,GAAG,CAAC,UAAU,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACtC,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrF,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,SAAS;gBACpB,GAAG,CAAC,UAAU,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACtC,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,IAAI,UAAU,EAAE,CAAC;YACf,gGAAgG;YAChG,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;QAED,0DAA0D;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0CAA0C;QAC1C,UAAU,CAAC,eAAe,EAAE,mBAAmB,EAAE;YAC/C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
|
package/dist/core/astParser.d.ts
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* semantic: uif:7152990a34f9eda63e745359 (informational)
|
|
23
23
|
* file: uif:d25bdbc8e21386b1a5e907d7
|
|
24
24
|
*/
|
|
25
|
-
import type { LogicSignature, ContractKind, PropType, EventType, NextJSMetadata } from '../types/UIFContract.js';
|
|
25
|
+
import type { LogicSignature, ContractKind, PropType, EventType, NextJSMetadata, ExportMetadata } from '../types/UIFContract.js';
|
|
26
26
|
export interface AstExtract {
|
|
27
27
|
kind: ContractKind;
|
|
28
28
|
variables: string[];
|
|
@@ -35,6 +35,8 @@ export interface AstExtract {
|
|
|
35
35
|
imports: string[];
|
|
36
36
|
jsxRoutes: string[];
|
|
37
37
|
nextjs?: NextJSMetadata;
|
|
38
|
+
exports?: ExportMetadata;
|
|
39
|
+
exportedFunctions?: string[];
|
|
38
40
|
}
|
|
39
41
|
/**
|
|
40
42
|
* Extract all structural information from a TypeScript/React file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astParser.d.ts","sourceRoot":"","sources":["../../src/core/astParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"astParser.d.ts","sourceRoot":"","sources":["../../src/core/astParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQjI,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAuBD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAgE3E;AAkKD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc,CAM1E"}
|
package/dist/core/astParser.js
CHANGED
|
@@ -76,6 +76,7 @@ export async function extractFromFile(filePath) {
|
|
|
76
76
|
const emits = safeExtract('events', resolvedPath, () => extractEvents(source), {});
|
|
77
77
|
const jsxRoutes = safeExtract('jsxRoutes', resolvedPath, () => extractJsxRoutes(source), []);
|
|
78
78
|
const kind = safeExtract('kind', resolvedPath, () => detectKind(hooks, components, imports, filePath, source), 'ts:module');
|
|
79
|
+
const { exports: exportMetadata, exportedFunctions } = safeExtract('exports', resolvedPath, () => extractExports(source), { exports: undefined, exportedFunctions: [] });
|
|
79
80
|
return {
|
|
80
81
|
kind,
|
|
81
82
|
variables,
|
|
@@ -88,6 +89,8 @@ export async function extractFromFile(filePath) {
|
|
|
88
89
|
imports,
|
|
89
90
|
jsxRoutes,
|
|
90
91
|
...(nextjs && { nextjs }),
|
|
92
|
+
...(exportMetadata && { exports: exportMetadata }),
|
|
93
|
+
...(exportedFunctions.length > 0 && { exportedFunctions }),
|
|
91
94
|
};
|
|
92
95
|
}
|
|
93
96
|
catch (error) {
|
|
@@ -108,6 +111,8 @@ export async function extractFromFile(filePath) {
|
|
|
108
111
|
emits: {},
|
|
109
112
|
imports: [],
|
|
110
113
|
jsxRoutes: [],
|
|
114
|
+
exports: undefined,
|
|
115
|
+
exportedFunctions: [],
|
|
111
116
|
};
|
|
112
117
|
}
|
|
113
118
|
}
|
|
@@ -139,6 +144,110 @@ function extractFunctions(source) {
|
|
|
139
144
|
});
|
|
140
145
|
return Array.from(functions).sort();
|
|
141
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Extract export metadata and exported functions from source file
|
|
149
|
+
* Uses fast AST traversal - optimized single pass through statements
|
|
150
|
+
*/
|
|
151
|
+
function extractExports(source) {
|
|
152
|
+
const exportedFunctions = new Set();
|
|
153
|
+
let hasDefaultExport = false;
|
|
154
|
+
const namedExports = new Set();
|
|
155
|
+
// Fast single-pass AST traversal - check statements directly
|
|
156
|
+
const statements = source.getStatements();
|
|
157
|
+
// Early exit if no statements
|
|
158
|
+
if (statements.length === 0) {
|
|
159
|
+
return { exports: undefined, exportedFunctions: [] };
|
|
160
|
+
}
|
|
161
|
+
// Optimized loop: only process export-related statements
|
|
162
|
+
for (let i = 0; i < statements.length; i++) {
|
|
163
|
+
const stmt = statements[i];
|
|
164
|
+
const kind = stmt.getKind();
|
|
165
|
+
// Handle explicit export declarations first (most common for exports)
|
|
166
|
+
if (kind === SyntaxKind.ExportDeclaration) {
|
|
167
|
+
const exportStmt = stmt;
|
|
168
|
+
const namedExportsFromDecl = exportStmt.getNamedExports();
|
|
169
|
+
for (let j = 0; j < namedExportsFromDecl.length; j++) {
|
|
170
|
+
const name = namedExportsFromDecl[j].getName();
|
|
171
|
+
if (name) {
|
|
172
|
+
namedExports.add(name);
|
|
173
|
+
exportedFunctions.add(name);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
// Skip statements that can't be exports
|
|
179
|
+
if (kind !== SyntaxKind.FunctionDeclaration &&
|
|
180
|
+
kind !== SyntaxKind.ClassDeclaration &&
|
|
181
|
+
kind !== SyntaxKind.VariableStatement) {
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
// Check modifiers once for declarations that can be exported
|
|
185
|
+
const modifiers = stmt.getModifiers?.() || [];
|
|
186
|
+
let hasExport = false;
|
|
187
|
+
let isDefault = false;
|
|
188
|
+
for (let m = 0; m < modifiers.length; m++) {
|
|
189
|
+
const modKind = modifiers[m].getKind();
|
|
190
|
+
if (modKind === SyntaxKind.ExportKeyword)
|
|
191
|
+
hasExport = true;
|
|
192
|
+
if (modKind === SyntaxKind.DefaultKeyword)
|
|
193
|
+
isDefault = true;
|
|
194
|
+
}
|
|
195
|
+
if (!hasExport)
|
|
196
|
+
continue; // Skip non-exported statements
|
|
197
|
+
// Process exported declarations
|
|
198
|
+
if (kind === SyntaxKind.FunctionDeclaration || kind === SyntaxKind.ClassDeclaration) {
|
|
199
|
+
const decl = stmt;
|
|
200
|
+
const name = decl.getName();
|
|
201
|
+
if (isDefault) {
|
|
202
|
+
hasDefaultExport = true;
|
|
203
|
+
if (name)
|
|
204
|
+
exportedFunctions.add(name);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
if (name) {
|
|
208
|
+
namedExports.add(name);
|
|
209
|
+
exportedFunctions.add(name);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
else if (kind === SyntaxKind.VariableStatement) {
|
|
214
|
+
const varStmt = stmt;
|
|
215
|
+
if (isDefault)
|
|
216
|
+
hasDefaultExport = true;
|
|
217
|
+
const declarations = varStmt.getDeclarationList().getDeclarations();
|
|
218
|
+
for (let j = 0; j < declarations.length; j++) {
|
|
219
|
+
const name = declarations[j].getName();
|
|
220
|
+
if (name) {
|
|
221
|
+
if (isDefault) {
|
|
222
|
+
exportedFunctions.add(name);
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
namedExports.add(name);
|
|
226
|
+
exportedFunctions.add(name);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
// Determine export metadata
|
|
233
|
+
let exports;
|
|
234
|
+
if (hasDefaultExport) {
|
|
235
|
+
exports = 'default';
|
|
236
|
+
}
|
|
237
|
+
else if (namedExports.size > 0) {
|
|
238
|
+
const namedArray = Array.from(namedExports).sort();
|
|
239
|
+
if (namedArray.length === 1) {
|
|
240
|
+
exports = 'named';
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
exports = { named: namedArray };
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return {
|
|
247
|
+
exports,
|
|
248
|
+
exportedFunctions: Array.from(exportedFunctions).sort(),
|
|
249
|
+
};
|
|
250
|
+
}
|
|
142
251
|
/**
|
|
143
252
|
* Extract import module specifiers
|
|
144
253
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astParser.js","sourceRoot":"","sources":["../../src/core/astParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAc,IAAI,
|
|
1
|
+
{"version":3,"file":"astParser.js","sourceRoot":"","sources":["../../src/core/astParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractBuilder.d.ts","sourceRoot":"","sources":["../../src/core/contractBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAWjD,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,yBAAyB,EAAE,aAAa,CAAC;CACjE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"contractBuilder.d.ts","sourceRoot":"","sources":["../../src/core/contractBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAWjD,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,yBAAyB,EAAE,aAAa,CAAC;CACjE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAuBD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,mBAAmB,GAC1B,mBAAmB,CAqDrB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,WAAW,GACnB,WAAW,CAiBb"}
|
|
@@ -29,25 +29,21 @@ import { resolve, relative } from 'node:path';
|
|
|
29
29
|
import { platform } from 'node:os';
|
|
30
30
|
/**
|
|
31
31
|
* Extract export metadata from AST
|
|
32
|
+
* Uses the export metadata extracted directly from the source file
|
|
32
33
|
*/
|
|
33
34
|
function extractExportsMetadata(ast) {
|
|
34
|
-
//
|
|
35
|
-
if (
|
|
36
|
-
return
|
|
35
|
+
// Use the export metadata extracted from the AST if available
|
|
36
|
+
if (ast.exports !== undefined) {
|
|
37
|
+
return ast.exports;
|
|
37
38
|
}
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return
|
|
39
|
+
// Fallback: if no exports metadata but we have exported functions, infer from them
|
|
40
|
+
if (ast.exportedFunctions && ast.exportedFunctions.length > 0) {
|
|
41
|
+
if (ast.exportedFunctions.length === 1) {
|
|
42
|
+
return 'named';
|
|
43
|
+
}
|
|
44
|
+
return { named: ast.exportedFunctions };
|
|
44
45
|
}
|
|
45
|
-
|
|
46
|
-
if (ast.functions.length > 1) {
|
|
47
|
-
return { named: ast.functions };
|
|
48
|
-
}
|
|
49
|
-
// Single named export
|
|
50
|
-
return { named: ast.functions };
|
|
46
|
+
return undefined;
|
|
51
47
|
}
|
|
52
48
|
/**
|
|
53
49
|
* Build a complete UIFContract from extracted AST data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractBuilder.js","sourceRoot":"","sources":["../../src/core/contractBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,EACL,mBAAmB,EACnB,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAenC
|
|
1
|
+
{"version":3,"file":"contractBuilder.js","sourceRoot":"","sources":["../../src/core/contractBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KACzC,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KACzC,CAAC;CACH;AAuDD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,WAAW,EAAE,EACxB,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GACzC,eAAe,CA+EjB;AA4DD;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B7F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG;IACxD,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,WAAW,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAoBA"}
|
package/dist/core/manifest.js
CHANGED
|
@@ -29,6 +29,53 @@ import { writeFile } from 'node:fs/promises';
|
|
|
29
29
|
import { join } from 'node:path';
|
|
30
30
|
import { structureHash, signatureHash } from '../utils/hash.js';
|
|
31
31
|
import { debugError } from '../utils/debug.js';
|
|
32
|
+
/**
|
|
33
|
+
* Filter out internal components from dependencies
|
|
34
|
+
* Internal components are defined in the same file but not exported
|
|
35
|
+
*/
|
|
36
|
+
function filterInternalComponents(contract) {
|
|
37
|
+
// Get list of exported names from exports field
|
|
38
|
+
const exportedNames = new Set();
|
|
39
|
+
let hasExportsList = false;
|
|
40
|
+
if (contract.exports) {
|
|
41
|
+
if (contract.exports === 'default') {
|
|
42
|
+
// Default export - we can't determine the specific name from exports field alone
|
|
43
|
+
// Be conservative: don't filter anything
|
|
44
|
+
hasExportsList = false;
|
|
45
|
+
}
|
|
46
|
+
else if (contract.exports === 'named') {
|
|
47
|
+
// Single named export - we can't determine the specific name from 'named' alone
|
|
48
|
+
// Be conservative: don't filter anything
|
|
49
|
+
hasExportsList = false;
|
|
50
|
+
}
|
|
51
|
+
else if (typeof contract.exports === 'object' && contract.exports.named) {
|
|
52
|
+
// Multiple named exports - we have the explicit list
|
|
53
|
+
contract.exports.named.forEach(name => exportedNames.add(name));
|
|
54
|
+
hasExportsList = true;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Only filter if we have an explicit exports list
|
|
58
|
+
// A component is internal if:
|
|
59
|
+
// 1. It appears in version.functions (defined in this file as a function component), AND
|
|
60
|
+
// 2. It's not in the exported names list
|
|
61
|
+
if (!hasExportsList) {
|
|
62
|
+
// Can't determine internal components without explicit exports list
|
|
63
|
+
return contract.version.components;
|
|
64
|
+
}
|
|
65
|
+
const internalComponents = new Set();
|
|
66
|
+
const functionsSet = new Set(contract.version.functions);
|
|
67
|
+
for (const component of contract.version.components) {
|
|
68
|
+
// If component name matches a function in this file, it's likely a function component
|
|
69
|
+
if (functionsSet.has(component)) {
|
|
70
|
+
// If it's not in the exported names list, it's internal
|
|
71
|
+
if (!exportedNames.has(component)) {
|
|
72
|
+
internalComponents.add(component);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Return only external components (those not in internalComponents)
|
|
77
|
+
return contract.version.components.filter(comp => !internalComponents.has(comp));
|
|
78
|
+
}
|
|
32
79
|
/**
|
|
33
80
|
* Build dependency graph from contracts
|
|
34
81
|
*/
|
|
@@ -41,10 +88,12 @@ export function buildDependencyGraph(contracts, options) {
|
|
|
41
88
|
// Note: structureHash() and signatureHash() already return hashes with uif: prefix
|
|
42
89
|
const structHash = structureHash(contract.version);
|
|
43
90
|
const sigHash = signatureHash(contract.logicSignature);
|
|
91
|
+
// Filter out internal components from dependencies
|
|
92
|
+
const externalDependencies = filterInternalComponents(contract);
|
|
44
93
|
components[contract.entryId] = {
|
|
45
94
|
entryId: contract.entryId,
|
|
46
95
|
description: contract.description,
|
|
47
|
-
dependencies:
|
|
96
|
+
dependencies: externalDependencies,
|
|
48
97
|
usedBy: [],
|
|
49
98
|
imports: contract.version.imports || [],
|
|
50
99
|
routes: contract.usedIn || [],
|
|
@@ -56,8 +105,10 @@ export function buildDependencyGraph(contracts, options) {
|
|
|
56
105
|
// Second pass: build reverse relationships (usedBy)
|
|
57
106
|
for (const contract of contracts) {
|
|
58
107
|
const componentId = contract.entryId;
|
|
59
|
-
//
|
|
60
|
-
|
|
108
|
+
// Use filtered dependencies (excluding internal components) for consistency
|
|
109
|
+
const externalDependencies = filterInternalComponents(contract);
|
|
110
|
+
// For each external component this one uses
|
|
111
|
+
for (const dependency of externalDependencies) {
|
|
61
112
|
// Find the matching component in our graph
|
|
62
113
|
const depNode = findComponentByName(components, dependency);
|
|
63
114
|
if (depNode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA6B/C;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAwB,EACxB,OAA0C;IAE1C,MAAM,UAAU,GAAkC,EAAE,CAAC;IAErD,2BAA2B;IAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,4DAA4D;QAC5D,+DAA+D;QAC/D,mFAAmF;QACnF,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEvD,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG;YAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/core/pack.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/core/pack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,eAAe,CAAC;AAMpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/core/pack.ts"],"names":[],"mappings":"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"}
|
package/dist/core/pack.js
CHANGED
|
@@ -38,6 +38,58 @@ import { buildEdges, computeBundleHash, stableSort, validateHashLock } from './p
|
|
|
38
38
|
const require = createRequire(import.meta.url);
|
|
39
39
|
const pkg = require('../../package.json');
|
|
40
40
|
const PACKAGE_VERSION = `${pkg.name}@${pkg.version}`;
|
|
41
|
+
/**
|
|
42
|
+
* Check if a component name is an internal component (function defined in the same file)
|
|
43
|
+
* Internal components appear in both version.functions and version.components of a contract
|
|
44
|
+
*/
|
|
45
|
+
function isInternalComponent(contract, componentName) {
|
|
46
|
+
const functionsSet = new Set(contract.version.functions);
|
|
47
|
+
const componentsSet = new Set(contract.version.components);
|
|
48
|
+
// A component is internal if it appears in both functions and components arrays
|
|
49
|
+
// This means it's a function component defined in the same file
|
|
50
|
+
return functionsSet.has(componentName) && componentsSet.has(componentName);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Filter out internal components from missing dependencies
|
|
54
|
+
* Internal components should not appear in meta.missing since they're defined in the same file
|
|
55
|
+
* Only checks contracts that are already loaded to avoid I/O overhead
|
|
56
|
+
*/
|
|
57
|
+
function filterInternalComponentsFromMissing(missing, nodes, contractsMap) {
|
|
58
|
+
// Build a map of entryId -> contract for quick lookup
|
|
59
|
+
// Only use contracts we already have (no I/O to avoid timeouts)
|
|
60
|
+
const contractMap = new Map();
|
|
61
|
+
// Add contracts from nodes (already loaded)
|
|
62
|
+
for (const node of nodes) {
|
|
63
|
+
if (node.contract) {
|
|
64
|
+
contractMap.set(node.entryId, node.contract);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Add contracts from contractsMap (in-memory)
|
|
68
|
+
if (contractsMap) {
|
|
69
|
+
for (const [key, contract] of contractsMap.entries()) {
|
|
70
|
+
contractMap.set(key, contract);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Filter missing dependencies
|
|
74
|
+
const filtered = [];
|
|
75
|
+
for (const dep of missing) {
|
|
76
|
+
// If referencedBy is not set, we can't check if it's internal - keep it
|
|
77
|
+
if (!dep.referencedBy) {
|
|
78
|
+
filtered.push(dep);
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
// Only check contracts we already have loaded (no I/O)
|
|
82
|
+
const contract = contractMap.get(dep.referencedBy);
|
|
83
|
+
// If we have the contract, check if the dependency is an internal component
|
|
84
|
+
if (contract && isInternalComponent(contract, dep.name)) {
|
|
85
|
+
// This is an internal component - skip it (don't add to filtered)
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
// Not an internal component (or contract not available) - keep it
|
|
89
|
+
filtered.push(dep);
|
|
90
|
+
}
|
|
91
|
+
return filtered;
|
|
92
|
+
}
|
|
41
93
|
/**
|
|
42
94
|
* Load manifest from file
|
|
43
95
|
*/
|
|
@@ -177,6 +229,10 @@ export async function pack(entryId, manifest, options, projectRoot) {
|
|
|
177
229
|
`Entry component '${actualEntryId}' was found in manifest, but no contracts could be loaded. ` +
|
|
178
230
|
`Run 'logicstamp compile' to generate sidecar files, or check that path/name matches manifest keys.`);
|
|
179
231
|
}
|
|
232
|
+
// Filter out internal components from missing dependencies
|
|
233
|
+
// Internal components are functions defined in the same file that are used as components
|
|
234
|
+
// Only uses contracts already loaded to avoid I/O overhead
|
|
235
|
+
const filteredMissing = filterInternalComponentsFromMissing(missing, nodes, options.contractsMap);
|
|
180
236
|
// Build edges
|
|
181
237
|
const edges = buildEdges(nodes, manifest);
|
|
182
238
|
// Sort nodes for deterministic output
|
|
@@ -201,7 +257,7 @@ export async function pack(entryId, manifest, options, projectRoot) {
|
|
|
201
257
|
edges: sortedEdges,
|
|
202
258
|
},
|
|
203
259
|
meta: {
|
|
204
|
-
missing,
|
|
260
|
+
missing: filteredMissing,
|
|
205
261
|
source: PACKAGE_VERSION,
|
|
206
262
|
},
|
|
207
263
|
};
|
package/dist/core/pack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/core/pack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,gCAAgC;AAChC,OAAO,EAAE,UAAU,EAA0C,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAgB,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGhG,mCAAmC;AACnC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC1C,MAAM,eAAe,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/core/pack.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"source": {
|
|
118
118
|
"type": "string",
|
|
119
119
|
"pattern": "^logicstamp-context@\\d+\\.\\d+\\.\\d+$",
|
|
120
|
-
"description": "Generator identifier with version (e.g., 'logicstamp-context@0.2.
|
|
120
|
+
"description": "Generator identifier with version (e.g., 'logicstamp-context@0.2.6'). Used for compatibility tracking and debugging."
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
"additionalProperties": false
|
|
@@ -199,6 +199,31 @@
|
|
|
199
199
|
"$ref": "#/definitions/StyleMetadata",
|
|
200
200
|
"description": "Optional style metadata (only when --include-style is used)"
|
|
201
201
|
},
|
|
202
|
+
"exports": {
|
|
203
|
+
"oneOf": [
|
|
204
|
+
{
|
|
205
|
+
"type": "string",
|
|
206
|
+
"enum": ["default", "named"],
|
|
207
|
+
"description": "Export type: 'default' for default export, 'named' for single named export"
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"type": "object",
|
|
211
|
+
"required": ["named"],
|
|
212
|
+
"properties": {
|
|
213
|
+
"named": {
|
|
214
|
+
"type": "array",
|
|
215
|
+
"items": {
|
|
216
|
+
"type": "string"
|
|
217
|
+
},
|
|
218
|
+
"description": "Array of named export names (for multiple named exports)"
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"additionalProperties": false,
|
|
222
|
+
"description": "Multiple named exports with explicit list"
|
|
223
|
+
}
|
|
224
|
+
],
|
|
225
|
+
"description": "Optional export metadata: export type and exported names"
|
|
226
|
+
},
|
|
202
227
|
"semanticHash": {
|
|
203
228
|
"type": "string",
|
|
204
229
|
"pattern": "^uif:[a-f0-9]{24}$",
|