@shrkcrft/boundaries 0.1.0-alpha.26 → 0.1.0-alpha.28
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/dist/baseline/canonicalize.d.ts +35 -0
- package/dist/baseline/canonicalize.d.ts.map +1 -0
- package/dist/baseline/canonicalize.js +87 -0
- package/dist/baseline/compute-baseline.d.ts +23 -0
- package/dist/baseline/compute-baseline.d.ts.map +1 -0
- package/dist/baseline/compute-baseline.js +30 -0
- package/dist/baseline/diff-baseline.d.ts +68 -0
- package/dist/baseline/diff-baseline.d.ts.map +1 -0
- package/dist/baseline/diff-baseline.js +110 -0
- package/dist/baseline/json-path-keys.d.ts +10 -0
- package/dist/baseline/json-path-keys.d.ts.map +1 -0
- package/dist/baseline/json-path-keys.js +13 -0
- package/dist/extract/code-zones.d.ts +32 -0
- package/dist/extract/code-zones.d.ts.map +1 -0
- package/dist/extract/code-zones.js +59 -0
- package/dist/extract/extract-tokens.d.ts +30 -0
- package/dist/extract/extract-tokens.d.ts.map +1 -0
- package/dist/extract/extract-tokens.js +328 -0
- package/dist/extract/inspect-source.d.ts +24 -0
- package/dist/extract/inspect-source.d.ts.map +1 -0
- package/dist/extract/inspect-source.js +27 -0
- package/dist/extract/scan-literals.d.ts +54 -0
- package/dist/extract/scan-literals.d.ts.map +1 -0
- package/dist/extract/scan-literals.js +177 -0
- package/dist/generated/check-provenance.d.ts +37 -0
- package/dist/generated/check-provenance.d.ts.map +1 -0
- package/dist/generated/check-provenance.js +89 -0
- package/dist/generated/compare-trees.d.ts +26 -0
- package/dist/generated/compare-trees.d.ts.map +1 -0
- package/dist/generated/compare-trees.js +41 -0
- package/dist/generated/scan-generated.d.ts +17 -0
- package/dist/generated/scan-generated.d.ts.map +1 -0
- package/dist/generated/scan-generated.js +27 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -0
- package/dist/policy/evaluate-policy.d.ts +41 -5
- package/dist/policy/evaluate-policy.d.ts.map +1 -1
- package/dist/policy/evaluate-policy.js +112 -10
- package/dist/policy/run-policy.d.ts.map +1 -1
- package/dist/policy/run-policy.js +24 -3
- package/dist/wiring/evaluate-wiring.d.ts +81 -28
- package/dist/wiring/evaluate-wiring.d.ts.map +1 -1
- package/dist/wiring/evaluate-wiring.js +0 -0
- package/dist/wiring/explain-wiring.d.ts +15 -7
- package/dist/wiring/explain-wiring.d.ts.map +1 -1
- package/dist/wiring/explain-wiring.js +28 -27
- package/dist/wiring/registration-graph.d.ts +27 -2
- package/dist/wiring/registration-graph.d.ts.map +1 -1
- package/dist/wiring/registration-graph.js +51 -2
- package/dist/wiring/registry-query.d.ts +9 -0
- package/dist/wiring/registry-query.d.ts.map +1 -1
- package/dist/wiring/registry-query.js +11 -0
- package/dist/wiring/scan-wiring-files.d.ts.map +1 -1
- package/dist/wiring/scan-wiring-files.js +4 -7
- package/dist/wiring/trace-literal.d.ts +6 -0
- package/dist/wiring/trace-literal.d.ts.map +1 -1
- package/dist/wiring/trace-literal.js +22 -0
- package/package.json +2 -2
|
@@ -17,13 +17,19 @@ export const TRACE_DEFAULT_GLOBS = [
|
|
|
17
17
|
* - `declare` — a canonical definition (`const X = 'lit'`, `kind: 'lit'`, an enum value).
|
|
18
18
|
* - `register` — added to a collection / mapping (`register('lit')`, an array element, `{ 'lit': … }`).
|
|
19
19
|
* - `consume` — compared / switched / handled (`=== 'lit'`, `case 'lit':`).
|
|
20
|
+
* - `render` — rendered / emitted at the boundary (JSX child `>{ 'lit' }`, template
|
|
21
|
+
* interpolation `${ 'lit' }`, a `render('lit')` / `res.send('lit')` call).
|
|
20
22
|
* - `reference`— an occurrence we can't confidently classify (still reported, with context).
|
|
23
|
+
*
|
|
24
|
+
* `render` only ever refines what would otherwise be a `reference`; it never
|
|
25
|
+
* steals a site from `declare` / `register` / `consume`.
|
|
21
26
|
*/
|
|
22
27
|
export var TraceRole;
|
|
23
28
|
(function (TraceRole) {
|
|
24
29
|
TraceRole["Declare"] = "declare";
|
|
25
30
|
TraceRole["Register"] = "register";
|
|
26
31
|
TraceRole["Consume"] = "consume";
|
|
32
|
+
TraceRole["Render"] = "render";
|
|
27
33
|
TraceRole["Reference"] = "reference";
|
|
28
34
|
})(TraceRole || (TraceRole = {}));
|
|
29
35
|
function escapeRegex(s) {
|
|
@@ -89,6 +95,20 @@ function classifyRole(before, after) {
|
|
|
89
95
|
if (/\b(kind|type|id|name|slug|key|tag|code|token|permission|route|event|action|channel|topic|status|provide|providerToken)\s*[:=]$/i.test(b)) {
|
|
90
96
|
return TraceRole.Declare;
|
|
91
97
|
}
|
|
98
|
+
// Render/handle site — REACHED ONLY after every higher-precision rule above
|
|
99
|
+
// has declined, so this can only refine an occurrence that would otherwise be
|
|
100
|
+
// `reference`; it never steals from declare/register/consume:
|
|
101
|
+
// - JSX child interpolation: `<tag>{ 'lit' }` (before ends `>{`).
|
|
102
|
+
// - template-literal interpolation: `` `${ 'lit' }` `` (before ends `${`).
|
|
103
|
+
// - a render / send-to-client call: `render('lit')`, `res.render('lit')`, `res.send('lit')`.
|
|
104
|
+
if (/>\s*\{$/.test(b))
|
|
105
|
+
return TraceRole.Render;
|
|
106
|
+
if (/\$\{$/.test(b))
|
|
107
|
+
return TraceRole.Render;
|
|
108
|
+
if (/\brender\w*\s*\($/i.test(b))
|
|
109
|
+
return TraceRole.Render;
|
|
110
|
+
if (/\bsend\w*\s*\($/i.test(b))
|
|
111
|
+
return TraceRole.Render;
|
|
92
112
|
return TraceRole.Reference;
|
|
93
113
|
}
|
|
94
114
|
/** A const name is alias-resolvable only if Pascal/SCREAMING-cased (low collision risk). */
|
|
@@ -167,6 +187,7 @@ export function traceLiteral(projectRoot, literal, options = {}) {
|
|
|
167
187
|
[TraceRole.Declare]: [],
|
|
168
188
|
[TraceRole.Register]: [],
|
|
169
189
|
[TraceRole.Consume]: [],
|
|
190
|
+
[TraceRole.Render]: [],
|
|
170
191
|
[TraceRole.Reference]: [],
|
|
171
192
|
};
|
|
172
193
|
for (const s of sites)
|
|
@@ -180,6 +201,7 @@ export function traceLiteral(projectRoot, literal, options = {}) {
|
|
|
180
201
|
[TraceRole.Declare]: sortSites(byRole[TraceRole.Declare]),
|
|
181
202
|
[TraceRole.Register]: sortSites(byRole[TraceRole.Register]),
|
|
182
203
|
[TraceRole.Consume]: sortSites(byRole[TraceRole.Consume]),
|
|
204
|
+
[TraceRole.Render]: sortSites(byRole[TraceRole.Render]),
|
|
183
205
|
[TraceRole.Reference]: sortSites(byRole[TraceRole.Reference]),
|
|
184
206
|
},
|
|
185
207
|
aliases: [...aliasNames].sort(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shrkcrft/boundaries",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.28",
|
|
4
4
|
"description": "SharkCraft boundary rules: detect when a repository violates its own architecture (forbidden imports across folder/package/layer boundaries).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "SharkCraft contributors",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"typecheck": "tsc --noEmit -p tsconfig.json"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@shrkcrft/core": "^0.1.0-alpha.
|
|
46
|
+
"@shrkcrft/core": "^0.1.0-alpha.28"
|
|
47
47
|
},
|
|
48
48
|
"publishConfig": {
|
|
49
49
|
"access": "public"
|