@kernlang/review 3.4.3-canary.9.1.62aecb74 → 3.4.3
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/concept-rules/index.js +2 -0
- package/dist/concept-rules/index.js.map +1 -1
- package/dist/concept-rules/mixed-host-same-endpoint.d.ts +42 -0
- package/dist/concept-rules/mixed-host-same-endpoint.js +117 -0
- package/dist/concept-rules/mixed-host-same-endpoint.js.map +1 -0
- package/dist/mappers/ts-concepts.js +364 -36
- package/dist/mappers/ts-concepts.js.map +1 -1
- package/package.json +2 -2
|
@@ -15,6 +15,7 @@ import { duplicateRoute } from './duplicate-route.js';
|
|
|
15
15
|
import { errorContractDrift } from './error-contract-drift.js';
|
|
16
16
|
import { ignoredError } from './ignored-error.js';
|
|
17
17
|
import { missingResponseModel } from './missing-response-model.js';
|
|
18
|
+
import { mixedHostSameEndpoint } from './mixed-host-same-endpoint.js';
|
|
18
19
|
import { mutationWithoutIdempotency } from './mutation-without-idempotency.js';
|
|
19
20
|
import { orphanRoute } from './orphan-route.js';
|
|
20
21
|
import { paramNameSwap } from './param-name-swap.js';
|
|
@@ -38,6 +39,7 @@ export const conceptRules = [
|
|
|
38
39
|
errorContractDrift,
|
|
39
40
|
ignoredError,
|
|
40
41
|
missingResponseModel,
|
|
42
|
+
mixedHostSameEndpoint,
|
|
41
43
|
mutationWithoutIdempotency,
|
|
42
44
|
orphanRoute,
|
|
43
45
|
paramNameSwap,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/concept-rules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAe1E,MAAM,CAAC,MAAM,YAAY,GAAkB;IACzC,SAAS;IACT,oBAAoB;IACpB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,oBAAoB;IACpB,0BAA0B;IAC1B,WAAW;IACX,aAAa;IACb,sBAAsB;IACtB,iBAAiB;IACjB,iBAAiB;IACjB,wBAAwB;IACxB,eAAe;IACf,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB;IAClB,uBAAuB;CACxB,CAAC;AAEF,MAAM,UAAU,eAAe,CAC7B,QAAoB,EACpB,QAAgB,EAChB,WAAqC,EACrC,YAAoC,EACpC,MAA6C;IAE7C,MAAM,GAAG,GAAuB;QAC9B,QAAQ;QACR,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,cAAc,EAAE,MAAM,EAAE,cAAc;KACvC,CAAC;IACF,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/concept-rules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAe1E,MAAM,CAAC,MAAM,YAAY,GAAkB;IACzC,SAAS;IACT,oBAAoB;IACpB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,oBAAoB;IACpB,qBAAqB;IACrB,0BAA0B;IAC1B,WAAW;IACX,aAAa;IACb,sBAAsB;IACtB,iBAAiB;IACjB,iBAAiB;IACjB,wBAAwB;IACxB,eAAe;IACf,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB;IAClB,uBAAuB;CACxB,CAAC;AAEF,MAAM,UAAU,eAAe,CAC7B,QAAoB,EACpB,QAAgB,EAChB,WAAqC,EACrC,YAAoC,EACpC,MAA6C;IAE7C,MAAM,GAAG,GAAuB;QAC9B,QAAQ;QACR,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,cAAc,EAAE,MAAM,EAAE,cAAc;KACvC,CAAC;IACF,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rule: mixed-host-same-endpoint
|
|
3
|
+
*
|
|
4
|
+
* Cross-file rule (single source — runs against the reviewed repo, no
|
|
5
|
+
* cross-stack partner needed). Fires when the same `(method, path)` is
|
|
6
|
+
* fetched against two or more *different* non-dev hosts in the codebase.
|
|
7
|
+
*
|
|
8
|
+
* Concrete example:
|
|
9
|
+
*
|
|
10
|
+
* // src/lib/users.ts
|
|
11
|
+
* await fetch(`https://api.example.com/api/users/${id}`);
|
|
12
|
+
*
|
|
13
|
+
* // src/admin/legacy.ts
|
|
14
|
+
* await fetch(`https://beta-api.example.com/api/users/${id}`);
|
|
15
|
+
*
|
|
16
|
+
* Same path+method, different production hosts. Almost always a stale
|
|
17
|
+
* base-URL — someone copy-pasted across a host migration or hardcoded
|
|
18
|
+
* the old URL. The rule fires on every call-site that participates in
|
|
19
|
+
* the divergence and lives in the file currently under review.
|
|
20
|
+
*
|
|
21
|
+
* This rule is built on top of the +41pp `host` data unlocked by
|
|
22
|
+
* phase-1.5 (env-fallback const resolution). Without populated `host`,
|
|
23
|
+
* the rule has nothing to compare and stays silent.
|
|
24
|
+
*
|
|
25
|
+
* FP gates:
|
|
26
|
+
* - Both/all hosts must be populated and absolute (relative URLs are
|
|
27
|
+
* intentionally same-origin; can't be inconsistent).
|
|
28
|
+
* - Dev-shaped hosts (localhost, 127.0.0.1, 0.0.0.0, *.local, *.test,
|
|
29
|
+
* and explicit ports on loopback) are skipped — `localhost` vs
|
|
30
|
+
* `api.prod.com` is normal env-aware code, not a bug.
|
|
31
|
+
* - Path must look internal (`/api/…`) so that random third-party SDK
|
|
32
|
+
* calls don't produce noise.
|
|
33
|
+
* - At least 2 different non-dev hosts must agree on path + method.
|
|
34
|
+
* Doesn't fire on single-call endpoints.
|
|
35
|
+
*
|
|
36
|
+
* Confidence: CROSS_STACK_HEURISTIC_CONFIDENCE (0.7). The match is
|
|
37
|
+
* structural (same path + method, different host) but the intent
|
|
38
|
+
* (migration vs intentional cross-region routing) needs human review.
|
|
39
|
+
*/
|
|
40
|
+
import type { ReviewFinding } from '../types.js';
|
|
41
|
+
import type { ConceptRuleContext } from './index.js';
|
|
42
|
+
export declare function mixedHostSameEndpoint(ctx: ConceptRuleContext): ReviewFinding[];
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rule: mixed-host-same-endpoint
|
|
3
|
+
*
|
|
4
|
+
* Cross-file rule (single source — runs against the reviewed repo, no
|
|
5
|
+
* cross-stack partner needed). Fires when the same `(method, path)` is
|
|
6
|
+
* fetched against two or more *different* non-dev hosts in the codebase.
|
|
7
|
+
*
|
|
8
|
+
* Concrete example:
|
|
9
|
+
*
|
|
10
|
+
* // src/lib/users.ts
|
|
11
|
+
* await fetch(`https://api.example.com/api/users/${id}`);
|
|
12
|
+
*
|
|
13
|
+
* // src/admin/legacy.ts
|
|
14
|
+
* await fetch(`https://beta-api.example.com/api/users/${id}`);
|
|
15
|
+
*
|
|
16
|
+
* Same path+method, different production hosts. Almost always a stale
|
|
17
|
+
* base-URL — someone copy-pasted across a host migration or hardcoded
|
|
18
|
+
* the old URL. The rule fires on every call-site that participates in
|
|
19
|
+
* the divergence and lives in the file currently under review.
|
|
20
|
+
*
|
|
21
|
+
* This rule is built on top of the +41pp `host` data unlocked by
|
|
22
|
+
* phase-1.5 (env-fallback const resolution). Without populated `host`,
|
|
23
|
+
* the rule has nothing to compare and stays silent.
|
|
24
|
+
*
|
|
25
|
+
* FP gates:
|
|
26
|
+
* - Both/all hosts must be populated and absolute (relative URLs are
|
|
27
|
+
* intentionally same-origin; can't be inconsistent).
|
|
28
|
+
* - Dev-shaped hosts (localhost, 127.0.0.1, 0.0.0.0, *.local, *.test,
|
|
29
|
+
* and explicit ports on loopback) are skipped — `localhost` vs
|
|
30
|
+
* `api.prod.com` is normal env-aware code, not a bug.
|
|
31
|
+
* - Path must look internal (`/api/…`) so that random third-party SDK
|
|
32
|
+
* calls don't produce noise.
|
|
33
|
+
* - At least 2 different non-dev hosts must agree on path + method.
|
|
34
|
+
* Doesn't fire on single-call endpoints.
|
|
35
|
+
*
|
|
36
|
+
* Confidence: CROSS_STACK_HEURISTIC_CONFIDENCE (0.7). The match is
|
|
37
|
+
* structural (same path + method, different host) but the intent
|
|
38
|
+
* (migration vs intentional cross-region routing) needs human review.
|
|
39
|
+
*/
|
|
40
|
+
import { createFingerprint } from '../types.js';
|
|
41
|
+
import { API_PATH_RE, CROSS_STACK_HEURISTIC_CONFIDENCE, normalizeClientUrl } from './cross-stack-utils.js';
|
|
42
|
+
import { apiCallRootCause } from './root-cause.js';
|
|
43
|
+
// Hosts we exclude from the divergence check. These are normal in
|
|
44
|
+
// dev/test code and not signs of a stale base URL.
|
|
45
|
+
const DEV_HOST_RE = /^(localhost|127\.0\.0\.1|0\.0\.0\.0|host\.docker\.internal)(:\d+)?$/i;
|
|
46
|
+
const DEV_TLD_RE = /\.(local|test|localhost)(:\d+)?$/i;
|
|
47
|
+
function isDevHost(host) {
|
|
48
|
+
return DEV_HOST_RE.test(host) || DEV_TLD_RE.test(host);
|
|
49
|
+
}
|
|
50
|
+
export function mixedHostSameEndpoint(ctx) {
|
|
51
|
+
if (!ctx.allConcepts || ctx.allConcepts.size === 0)
|
|
52
|
+
return [];
|
|
53
|
+
// Group every populated-host network call by `<METHOD> <path>`.
|
|
54
|
+
const byEndpoint = new Map();
|
|
55
|
+
for (const [, conceptMap] of ctx.allConcepts) {
|
|
56
|
+
for (const node of conceptMap.nodes) {
|
|
57
|
+
if (node.kind !== 'effect')
|
|
58
|
+
continue;
|
|
59
|
+
if (node.payload.kind !== 'effect')
|
|
60
|
+
continue;
|
|
61
|
+
if (node.payload.subtype !== 'network')
|
|
62
|
+
continue;
|
|
63
|
+
const host = node.payload.host;
|
|
64
|
+
if (!host)
|
|
65
|
+
continue;
|
|
66
|
+
if (isDevHost(host))
|
|
67
|
+
continue;
|
|
68
|
+
const method = node.payload.method;
|
|
69
|
+
if (!method)
|
|
70
|
+
continue;
|
|
71
|
+
const target = node.payload.target;
|
|
72
|
+
if (!target)
|
|
73
|
+
continue;
|
|
74
|
+
const path = normalizeClientUrl(target);
|
|
75
|
+
if (!path)
|
|
76
|
+
continue;
|
|
77
|
+
if (!API_PATH_RE.test(path))
|
|
78
|
+
continue;
|
|
79
|
+
const key = `${method.toUpperCase()} ${path}`;
|
|
80
|
+
const arr = byEndpoint.get(key);
|
|
81
|
+
if (arr)
|
|
82
|
+
arr.push({ node, host, method, path });
|
|
83
|
+
else
|
|
84
|
+
byEndpoint.set(key, [{ node, host, method, path }]);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const findings = [];
|
|
88
|
+
for (const [endpoint, calls] of byEndpoint) {
|
|
89
|
+
const distinctHosts = new Set(calls.map((c) => c.host));
|
|
90
|
+
if (distinctHosts.size < 2)
|
|
91
|
+
continue;
|
|
92
|
+
// Fire on the calls that live in the file currently being reviewed.
|
|
93
|
+
// A repo-wide rule still routes findings through the per-file context.
|
|
94
|
+
for (const call of calls) {
|
|
95
|
+
if (call.node.primarySpan.file !== ctx.filePath)
|
|
96
|
+
continue;
|
|
97
|
+
const otherHosts = [...distinctHosts].filter((h) => h !== call.host).sort();
|
|
98
|
+
const allHosts = [...distinctHosts].sort();
|
|
99
|
+
findings.push({
|
|
100
|
+
source: 'kern',
|
|
101
|
+
ruleId: 'mixed-host-same-endpoint',
|
|
102
|
+
severity: 'warning',
|
|
103
|
+
category: 'bug',
|
|
104
|
+
message: `\`${endpoint}\` is fetched against multiple hosts in this codebase: [${allHosts.join(', ')}]. ` +
|
|
105
|
+
`This call uses \`${call.host}\`; ${otherHosts.length === 1 ? 'another call uses' : 'other calls use'} ` +
|
|
106
|
+
`\`${otherHosts.join(', ')}\`. ` +
|
|
107
|
+
`Likely a stale base URL — confirm both hosts are intentional or unify them behind a single config const.`,
|
|
108
|
+
primarySpan: call.node.primarySpan,
|
|
109
|
+
fingerprint: createFingerprint('mixed-host-same-endpoint', call.node.primarySpan.startLine, call.node.primarySpan.startCol),
|
|
110
|
+
confidence: call.node.confidence * CROSS_STACK_HEURISTIC_CONFIDENCE,
|
|
111
|
+
rootCause: apiCallRootCause(call.node, call.path, call.method),
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return findings;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=mixed-host-same-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mixed-host-same-endpoint.js","sourceRoot":"","sources":["../../src/concept-rules/mixed-host-same-endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Phase 2: entrypoint, guard, state_mutation, call, dependency
|
|
6
6
|
*/
|
|
7
7
|
import { conceptId, conceptSpan } from '@kernlang/core';
|
|
8
|
-
import { SyntaxKind } from 'ts-morph';
|
|
8
|
+
import { SyntaxKind, VariableDeclarationKind } from 'ts-morph';
|
|
9
9
|
const EXTRACTOR_VERSION = '1.0.0';
|
|
10
10
|
// ── Network effect signatures ────────────────────────────────────────────
|
|
11
11
|
const NETWORK_CALLS = new Set(['fetch', 'axios', 'got', 'request', 'superagent', 'ky']);
|
|
@@ -282,6 +282,7 @@ function hasIntentComment(text) {
|
|
|
282
282
|
// ── effect ───────────────────────────────────────────────────────────────
|
|
283
283
|
function extractEffects(sf, filePath, nodes) {
|
|
284
284
|
const clientIdents = collectClientIdentifiers(sf);
|
|
285
|
+
const constLiterals = buildConstLiteralMap(sf);
|
|
285
286
|
for (const call of sf.getDescendantsOfKind(SyntaxKind.CallExpression)) {
|
|
286
287
|
const callee = call.getExpression();
|
|
287
288
|
let funcName = '';
|
|
@@ -300,9 +301,9 @@ function extractEffects(sf, filePath, nodes) {
|
|
|
300
301
|
const isWrappedClientCall = CLIENT_HTTP_METHODS.has(funcName) && clientIdents.has(objName);
|
|
301
302
|
if (isDirectNetwork || isKnownLibraryMethod || isWrappedClientCall) {
|
|
302
303
|
const isAsync = isInAsyncContext(call);
|
|
303
|
-
const target = extractTarget(call);
|
|
304
|
+
const target = extractTarget(call, constLiterals);
|
|
304
305
|
const sentFieldsInfo = extractSentFields(call, funcName);
|
|
305
|
-
const queryParamsInfo = extractQueryParams(call);
|
|
306
|
+
const queryParamsInfo = extractQueryParams(call, constLiterals);
|
|
306
307
|
const hasAuthHeader = extractHasAuthHeader(call, funcName);
|
|
307
308
|
nodes.push({
|
|
308
309
|
id: conceptId(filePath, 'effect', call.getStart()),
|
|
@@ -325,6 +326,7 @@ function extractEffects(sf, filePath, nodes) {
|
|
|
325
326
|
hasAuthHeader,
|
|
326
327
|
sentFields: sentFieldsInfo.fields,
|
|
327
328
|
sentFieldsResolved: sentFieldsInfo.resolved,
|
|
329
|
+
sentFieldTypes: sentFieldsInfo.types,
|
|
328
330
|
handlesApiErrors: extractHandlesApiErrors(call, isWrappedClientCall),
|
|
329
331
|
authPropagation: extractAuthPropagation(call, funcName, objName, isWrappedClientCall, hasAuthHeader),
|
|
330
332
|
queryParams: queryParamsInfo.params,
|
|
@@ -1497,16 +1499,10 @@ function isInAsyncContext(node) {
|
|
|
1497
1499
|
}
|
|
1498
1500
|
return false;
|
|
1499
1501
|
}
|
|
1500
|
-
// Extract the field names a network call sends on the wire. High-confidence
|
|
1501
|
-
// sources:
|
|
1502
|
-
// - literal objects: `JSON.stringify({ a, b })`, `axios.post(url, { a, b })`
|
|
1503
|
-
// - typed payload variables: `JSON.stringify(input)` where `input: CreateUser`
|
|
1504
|
-
// Everything else returns `{ fields: undefined, resolved: false }` so
|
|
1505
|
-
// body-shape-drift stays silent on opaque shapes rather than guessing.
|
|
1506
1502
|
function extractSentFields(call, funcName) {
|
|
1507
1503
|
const payload = extractNetworkPayloadExpression(call, funcName);
|
|
1508
1504
|
if (!payload)
|
|
1509
|
-
return { fields: undefined, resolved: false };
|
|
1505
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1510
1506
|
return extractPayloadFields(payload);
|
|
1511
1507
|
}
|
|
1512
1508
|
function extractNetworkPayloadExpression(call, funcName) {
|
|
@@ -1535,10 +1531,11 @@ function extractPayloadFields(node) {
|
|
|
1535
1531
|
const payload = unwrapPayloadExpression(node);
|
|
1536
1532
|
if (payload.getKind() === SyntaxKind.CallExpression) {
|
|
1537
1533
|
const bodyCall = payload;
|
|
1538
|
-
if (bodyCall.getExpression().getText() !== 'JSON.stringify')
|
|
1539
|
-
return { fields: undefined, resolved: false };
|
|
1534
|
+
if (bodyCall.getExpression().getText() !== 'JSON.stringify') {
|
|
1535
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1536
|
+
}
|
|
1540
1537
|
const stringifyArg = bodyCall.getArguments()[0];
|
|
1541
|
-
return stringifyArg ? extractPayloadFields(stringifyArg) : { fields: undefined, resolved: false };
|
|
1538
|
+
return stringifyArg ? extractPayloadFields(stringifyArg) : { fields: undefined, resolved: false, types: undefined };
|
|
1542
1539
|
}
|
|
1543
1540
|
if (payload.getKind() === SyntaxKind.ObjectLiteralExpression) {
|
|
1544
1541
|
return extractLiteralObjectFields(payload);
|
|
@@ -1546,7 +1543,7 @@ function extractPayloadFields(node) {
|
|
|
1546
1543
|
if (payload.getKind() === SyntaxKind.Identifier || payload.getKind() === SyntaxKind.PropertyAccessExpression) {
|
|
1547
1544
|
return extractObjectFieldsFromType(payload);
|
|
1548
1545
|
}
|
|
1549
|
-
return { fields: undefined, resolved: false };
|
|
1546
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1550
1547
|
}
|
|
1551
1548
|
function unwrapPayloadExpression(node) {
|
|
1552
1549
|
let current = node;
|
|
@@ -1574,26 +1571,91 @@ function unwrapPayloadExpression(node) {
|
|
|
1574
1571
|
}
|
|
1575
1572
|
function extractObjectFieldsFromType(node) {
|
|
1576
1573
|
const type = node.getType();
|
|
1577
|
-
if (type.isAny() || type.isUnknown() || type.isUnion())
|
|
1578
|
-
return { fields: undefined, resolved: false };
|
|
1579
|
-
|
|
1580
|
-
|
|
1574
|
+
if (type.isAny() || type.isUnknown() || type.isUnion()) {
|
|
1575
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1576
|
+
}
|
|
1577
|
+
if (type.getStringIndexType() || type.getNumberIndexType()) {
|
|
1578
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1579
|
+
}
|
|
1581
1580
|
const fields = new Set();
|
|
1581
|
+
const types = {};
|
|
1582
1582
|
for (const prop of type.getProperties()) {
|
|
1583
1583
|
const declarations = prop.getDeclarations();
|
|
1584
1584
|
if (declarations.length === 0)
|
|
1585
|
-
return { fields: undefined, resolved: false };
|
|
1585
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1586
1586
|
if (declarations.some((decl) => isExternalSourcePath(decl.getSourceFile().getFilePath()))) {
|
|
1587
|
-
return { fields: undefined, resolved: false };
|
|
1587
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1588
1588
|
}
|
|
1589
1589
|
if (declarations.some((decl) => declarationIsOptional(decl)))
|
|
1590
1590
|
continue;
|
|
1591
1591
|
const name = prop.getName();
|
|
1592
1592
|
if (!/^[A-Za-z_$][\w$-]*$/.test(name))
|
|
1593
|
-
return { fields: undefined, resolved: false };
|
|
1593
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1594
1594
|
fields.add(name);
|
|
1595
|
+
// Coarse type tag from the property's TS type at the use site.
|
|
1596
|
+
const propType = prop.getTypeAtLocation(node);
|
|
1597
|
+
types[name] = coarsenTsType(propType);
|
|
1598
|
+
}
|
|
1599
|
+
if (fields.size === 0) {
|
|
1600
|
+
return { fields: [], resolved: true, types: {} };
|
|
1595
1601
|
}
|
|
1596
|
-
return
|
|
1602
|
+
return { fields: Array.from(fields).sort(), resolved: true, types };
|
|
1603
|
+
}
|
|
1604
|
+
// Map a ts-morph Type to a coarse tag. Conservative: anything we don't
|
|
1605
|
+
// recognise becomes 'unknown' rather than silently dropped — body-shape-drift
|
|
1606
|
+
// can then choose to skip 'unknown' tags or treat them as wildcards.
|
|
1607
|
+
function coarsenTsType(type) {
|
|
1608
|
+
if (type.isAny() || type.isUnknown() || type.isNever())
|
|
1609
|
+
return 'unknown';
|
|
1610
|
+
if (type.isString() || type.isStringLiteral())
|
|
1611
|
+
return 'string';
|
|
1612
|
+
if (type.isNumber() || type.isNumberLiteral())
|
|
1613
|
+
return 'number';
|
|
1614
|
+
if (type.isBoolean() || type.isBooleanLiteral())
|
|
1615
|
+
return 'boolean';
|
|
1616
|
+
if (type.isNull())
|
|
1617
|
+
return 'null';
|
|
1618
|
+
// Bare `undefined` is NOT 'null' on the wire — `JSON.stringify({x: undefined})`
|
|
1619
|
+
// omits the key entirely. We tag it `unknown` so downstream rules don't
|
|
1620
|
+
// confuse it with an explicit-null field. Codex review caught this.
|
|
1621
|
+
if (type.isUndefined())
|
|
1622
|
+
return 'unknown';
|
|
1623
|
+
if (type.isArray() || type.isTuple())
|
|
1624
|
+
return 'array';
|
|
1625
|
+
if (type.isUnion()) {
|
|
1626
|
+
// Drop nullability branches (`T | null | undefined → T`) before
|
|
1627
|
+
// coarsening — `null`/`undefined` are absorbed since the rule's question
|
|
1628
|
+
// is "what is the shape of the present value?" not "is the field
|
|
1629
|
+
// optional?". Then if the remaining branches all coarsen to one tag,
|
|
1630
|
+
// return it; else `unknown`.
|
|
1631
|
+
const branches = type.getUnionTypes().filter((t) => !t.isNull() && !t.isUndefined());
|
|
1632
|
+
if (branches.length === 0)
|
|
1633
|
+
return 'null';
|
|
1634
|
+
if (branches.length === 1)
|
|
1635
|
+
return coarsenTsType(branches[0]);
|
|
1636
|
+
const tags = new Set(branches.map(coarsenTsType));
|
|
1637
|
+
if (tags.size === 1)
|
|
1638
|
+
return [...tags][0];
|
|
1639
|
+
return 'unknown';
|
|
1640
|
+
}
|
|
1641
|
+
// Branded primitives (`string & { __brand: 'UserId' }`) are very common
|
|
1642
|
+
// for ID/count types. We walk the intersection branches: if any branch
|
|
1643
|
+
// coarsens to a primitive, take that tag — the brand is structural noise
|
|
1644
|
+
// we don't need on the wire. Codex review caught the original
|
|
1645
|
+
// implementation collapsing brands to 'unknown'.
|
|
1646
|
+
if (type.isIntersection()) {
|
|
1647
|
+
const branchTags = type.getIntersectionTypes().map(coarsenTsType);
|
|
1648
|
+
for (const tag of branchTags) {
|
|
1649
|
+
if (tag === 'string' || tag === 'number' || tag === 'boolean')
|
|
1650
|
+
return tag;
|
|
1651
|
+
}
|
|
1652
|
+
if (branchTags.every((t) => t === 'object'))
|
|
1653
|
+
return 'object';
|
|
1654
|
+
return 'unknown';
|
|
1655
|
+
}
|
|
1656
|
+
if (type.isObject())
|
|
1657
|
+
return 'object';
|
|
1658
|
+
return 'unknown';
|
|
1597
1659
|
}
|
|
1598
1660
|
function declarationIsOptional(decl) {
|
|
1599
1661
|
const maybeOptional = decl;
|
|
@@ -1605,33 +1667,282 @@ function declarationIsOptional(decl) {
|
|
|
1605
1667
|
// produce false positives downstream.
|
|
1606
1668
|
function extractLiteralObjectFields(obj) {
|
|
1607
1669
|
const fields = [];
|
|
1670
|
+
const types = {};
|
|
1608
1671
|
for (const prop of obj.getProperties()) {
|
|
1609
1672
|
const kind = prop.getKind();
|
|
1610
1673
|
if (kind === SyntaxKind.SpreadAssignment)
|
|
1611
|
-
return { fields: undefined, resolved: false };
|
|
1674
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1612
1675
|
if (kind === SyntaxKind.PropertyAssignment) {
|
|
1613
|
-
const
|
|
1614
|
-
|
|
1615
|
-
|
|
1676
|
+
const pa = prop;
|
|
1677
|
+
const name = pa.getNameNode();
|
|
1678
|
+
if (name.getKind() === SyntaxKind.ComputedPropertyName) {
|
|
1679
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1680
|
+
}
|
|
1616
1681
|
if (name.getKind() === SyntaxKind.Identifier || name.getKind() === SyntaxKind.StringLiteral) {
|
|
1617
|
-
|
|
1682
|
+
const fieldName = name.getText().replace(/['"]/g, '');
|
|
1683
|
+
fields.push(fieldName);
|
|
1684
|
+
// Type tag from the value expression. Tries syntactic recognition
|
|
1685
|
+
// first (cheap, exact for literals), then falls back to TS type
|
|
1686
|
+
// inference for variables / property accesses.
|
|
1687
|
+
const init = pa.getInitializer();
|
|
1688
|
+
types[fieldName] = init ? coarsenValueExpression(init) : 'unknown';
|
|
1618
1689
|
}
|
|
1619
1690
|
else {
|
|
1620
|
-
return { fields: undefined, resolved: false };
|
|
1691
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1621
1692
|
}
|
|
1622
1693
|
}
|
|
1623
1694
|
else if (kind === SyntaxKind.ShorthandPropertyAssignment) {
|
|
1624
|
-
|
|
1695
|
+
const sh = prop;
|
|
1696
|
+
const fieldName = sh.getName();
|
|
1697
|
+
fields.push(fieldName);
|
|
1698
|
+
// Shorthand: `{ foo }` is sugar for `{ foo: foo }`. Use the binding's
|
|
1699
|
+
// inferred TS type at this location.
|
|
1700
|
+
const ident = sh.getNameNode();
|
|
1701
|
+
types[fieldName] = coarsenTsType(ident.getType());
|
|
1625
1702
|
}
|
|
1626
1703
|
else {
|
|
1627
1704
|
// Method definitions, getters, setters — unusual in a fetch body,
|
|
1628
1705
|
// treat as unresolved.
|
|
1629
|
-
return { fields: undefined, resolved: false };
|
|
1706
|
+
return { fields: undefined, resolved: false, types: undefined };
|
|
1630
1707
|
}
|
|
1631
1708
|
}
|
|
1632
|
-
return { fields, resolved: true };
|
|
1709
|
+
return { fields, resolved: true, types };
|
|
1633
1710
|
}
|
|
1634
|
-
|
|
1711
|
+
// Coarsen the value-expression of a literal object property. Syntactic
|
|
1712
|
+
// fast paths cover the common literal cases without invoking the TS type
|
|
1713
|
+
// checker; everything else falls through to type-based coarsening.
|
|
1714
|
+
function coarsenValueExpression(expr) {
|
|
1715
|
+
const k = expr.getKind();
|
|
1716
|
+
if (k === SyntaxKind.StringLiteral ||
|
|
1717
|
+
k === SyntaxKind.NoSubstitutionTemplateLiteral ||
|
|
1718
|
+
k === SyntaxKind.TemplateExpression) {
|
|
1719
|
+
return 'string';
|
|
1720
|
+
}
|
|
1721
|
+
if (k === SyntaxKind.NumericLiteral)
|
|
1722
|
+
return 'number';
|
|
1723
|
+
if (k === SyntaxKind.TrueKeyword || k === SyntaxKind.FalseKeyword)
|
|
1724
|
+
return 'boolean';
|
|
1725
|
+
if (k === SyntaxKind.NullKeyword)
|
|
1726
|
+
return 'null';
|
|
1727
|
+
if (k === SyntaxKind.ObjectLiteralExpression)
|
|
1728
|
+
return 'object';
|
|
1729
|
+
if (k === SyntaxKind.ArrayLiteralExpression)
|
|
1730
|
+
return 'array';
|
|
1731
|
+
// PrefixUnary: the unary operator dictates the result type, NOT the
|
|
1732
|
+
// operand. `+x`, `-x`, `~x` always yield number even if x is a string
|
|
1733
|
+
// (`+'1'` is type `number`); `!x` always yields boolean. Recursing into
|
|
1734
|
+
// the operand would lie. Codex review caught this.
|
|
1735
|
+
if (k === SyntaxKind.PrefixUnaryExpression) {
|
|
1736
|
+
const op = expr.getOperatorToken();
|
|
1737
|
+
if (op === SyntaxKind.PlusToken || op === SyntaxKind.MinusToken || op === SyntaxKind.TildeToken) {
|
|
1738
|
+
return 'number';
|
|
1739
|
+
}
|
|
1740
|
+
if (op === SyntaxKind.ExclamationToken) {
|
|
1741
|
+
return 'boolean';
|
|
1742
|
+
}
|
|
1743
|
+
// Unknown prefix operator — fall through to TS type checker.
|
|
1744
|
+
return coarsenTsType(expr.getType());
|
|
1745
|
+
}
|
|
1746
|
+
// Parenthesized / as-cast / non-null: unwrap and recurse.
|
|
1747
|
+
if (k === SyntaxKind.ParenthesizedExpression) {
|
|
1748
|
+
return coarsenValueExpression(expr.getExpression());
|
|
1749
|
+
}
|
|
1750
|
+
if (k === SyntaxKind.AsExpression) {
|
|
1751
|
+
return coarsenValueExpression(expr.getExpression());
|
|
1752
|
+
}
|
|
1753
|
+
if (k === SyntaxKind.NonNullExpression) {
|
|
1754
|
+
return coarsenValueExpression(expr.getExpression());
|
|
1755
|
+
}
|
|
1756
|
+
// Fallback: ask the TS type checker. Catches `Identifier`,
|
|
1757
|
+
// `PropertyAccessExpression`, `ConditionalExpression` (`x ?? null`),
|
|
1758
|
+
// `BinaryExpression`, etc.
|
|
1759
|
+
return coarsenTsType(expr.getType());
|
|
1760
|
+
}
|
|
1761
|
+
function declKey(decl) {
|
|
1762
|
+
return `${decl.getSourceFile().getFilePath()}:${decl.getStart()}`;
|
|
1763
|
+
}
|
|
1764
|
+
// Extract a literal string from a const initializer. Handles:
|
|
1765
|
+
// const X = 'lit';
|
|
1766
|
+
// const X = `lit`; (no substitutions)
|
|
1767
|
+
// const X = process.env.FOO || 'fallback'; (env-with-fallback)
|
|
1768
|
+
// const X = process.env.FOO ?? 'fallback'; (nullish-coalescing)
|
|
1769
|
+
//
|
|
1770
|
+
// The `||` / `??` fallback case is the dominant real-world shape — audiofacets
|
|
1771
|
+
// has 10+ `const API_URL = process.env.X || "https://..."` sites that the
|
|
1772
|
+
// pure-literal collector silently dropped. Resolution captures the FALLBACK
|
|
1773
|
+
// branch as the "no-env-set" value. At runtime when env IS set the URL
|
|
1774
|
+
// differs, but for cross-stack matching the path part is identical and
|
|
1775
|
+
// `host` is "best effort, stay silent if not absolute" anyway.
|
|
1776
|
+
//
|
|
1777
|
+
// Conservative: only the right-hand side of `||`/`??` is taken as the literal.
|
|
1778
|
+
// Chained `a || b || 'lit'` bails (right is BinaryExpression, not literal).
|
|
1779
|
+
// Ternaries and other shapes stay out of scope.
|
|
1780
|
+
function literalStringFromInit(init) {
|
|
1781
|
+
if (init.getKind() === SyntaxKind.StringLiteral) {
|
|
1782
|
+
return init.getLiteralValue();
|
|
1783
|
+
}
|
|
1784
|
+
if (init.getKind() === SyntaxKind.NoSubstitutionTemplateLiteral) {
|
|
1785
|
+
return init.getLiteralValue();
|
|
1786
|
+
}
|
|
1787
|
+
if (init.getKind() === SyntaxKind.BinaryExpression) {
|
|
1788
|
+
const bin = init;
|
|
1789
|
+
const op = bin.getOperatorToken().getKind();
|
|
1790
|
+
if (op === SyntaxKind.BarBarToken || op === SyntaxKind.QuestionQuestionToken) {
|
|
1791
|
+
const right = bin.getRight();
|
|
1792
|
+
if (right.getKind() === SyntaxKind.StringLiteral) {
|
|
1793
|
+
return right.getLiteralValue();
|
|
1794
|
+
}
|
|
1795
|
+
if (right.getKind() === SyntaxKind.NoSubstitutionTemplateLiteral) {
|
|
1796
|
+
return right.getLiteralValue();
|
|
1797
|
+
}
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
return undefined;
|
|
1801
|
+
}
|
|
1802
|
+
function buildConstLiteralMap(sf) {
|
|
1803
|
+
const candidates = [];
|
|
1804
|
+
for (const decl of sf.getDescendantsOfKind(SyntaxKind.VariableDeclaration)) {
|
|
1805
|
+
const stmt = decl.getVariableStatement();
|
|
1806
|
+
if (!stmt)
|
|
1807
|
+
continue;
|
|
1808
|
+
if (stmt.getDeclarationKind() !== VariableDeclarationKind.Const)
|
|
1809
|
+
continue;
|
|
1810
|
+
if (decl.getNameNode().getKind() !== SyntaxKind.Identifier)
|
|
1811
|
+
continue; // skip destructure
|
|
1812
|
+
const init = decl.getInitializer();
|
|
1813
|
+
if (!init)
|
|
1814
|
+
continue;
|
|
1815
|
+
candidates.push({ decl, key: declKey(decl), init });
|
|
1816
|
+
}
|
|
1817
|
+
const direct = new Map();
|
|
1818
|
+
for (const { key, init } of candidates) {
|
|
1819
|
+
const lit = literalStringFromInit(init);
|
|
1820
|
+
if (lit !== undefined)
|
|
1821
|
+
direct.set(key, lit);
|
|
1822
|
+
}
|
|
1823
|
+
// Pass 2: template-with-refs against pass 1. One hop — no transitive
|
|
1824
|
+
// resolution. A `const A = \`\${B}/x\`` whose `B` is itself a
|
|
1825
|
+
// template-with-refs won't resolve here; that's a phase-1 cap.
|
|
1826
|
+
const all = new Map(direct);
|
|
1827
|
+
for (const { key, init } of candidates) {
|
|
1828
|
+
if (init.getKind() !== SyntaxKind.TemplateExpression)
|
|
1829
|
+
continue;
|
|
1830
|
+
const lit = resolveTemplateAgainst(init, direct);
|
|
1831
|
+
if (lit !== undefined)
|
|
1832
|
+
all.set(key, lit);
|
|
1833
|
+
}
|
|
1834
|
+
return all;
|
|
1835
|
+
}
|
|
1836
|
+
function resolveTemplateAgainst(tmpl, map) {
|
|
1837
|
+
let out = tmpl.getHead().getLiteralText();
|
|
1838
|
+
for (const span of tmpl.getTemplateSpans()) {
|
|
1839
|
+
const expr = span.getExpression();
|
|
1840
|
+
if (expr.getKind() !== SyntaxKind.Identifier)
|
|
1841
|
+
return undefined;
|
|
1842
|
+
const inner = lookupConstLiteral(expr, map);
|
|
1843
|
+
if (inner === undefined)
|
|
1844
|
+
return undefined;
|
|
1845
|
+
out += inner;
|
|
1846
|
+
out += span.getLiteral().getLiteralText();
|
|
1847
|
+
}
|
|
1848
|
+
return out;
|
|
1849
|
+
}
|
|
1850
|
+
// Symbol-based lookup. Resolves the identifier to its binding via the TS
|
|
1851
|
+
// type checker, then checks whether that binding is a literal const we
|
|
1852
|
+
// collected. Returns `undefined` for any identifier that does NOT bind to
|
|
1853
|
+
// a single same-file VariableDeclaration in the map — including parameters,
|
|
1854
|
+
// `let` / `var`, function names, and shadowing declarations. (Phase 2A
|
|
1855
|
+
// extends this to follow named imports from relative paths to a sibling
|
|
1856
|
+
// source file.)
|
|
1857
|
+
//
|
|
1858
|
+
// Same-file filter on the in-file declarations: TypeScript's symbol for a
|
|
1859
|
+
// name that shadows a global (e.g. `URL`, `Request`, `Response`) returns
|
|
1860
|
+
// BOTH the local declaration AND the lib.dom.d.ts ambient. We only care
|
|
1861
|
+
// about the in-file declaration; the lib ambient never has a literal value.
|
|
1862
|
+
function lookupConstLiteral(ident, map) {
|
|
1863
|
+
const sym = ident.getSymbol();
|
|
1864
|
+
if (!sym)
|
|
1865
|
+
return undefined;
|
|
1866
|
+
const sfPath = ident.getSourceFile().getFilePath();
|
|
1867
|
+
const inFile = [];
|
|
1868
|
+
const importSpecs = [];
|
|
1869
|
+
for (const d of sym.getDeclarations()) {
|
|
1870
|
+
if (d.getSourceFile().getFilePath() !== sfPath)
|
|
1871
|
+
continue;
|
|
1872
|
+
const k = d.getKind();
|
|
1873
|
+
if (k === SyntaxKind.VariableDeclaration) {
|
|
1874
|
+
inFile.push(d);
|
|
1875
|
+
}
|
|
1876
|
+
else if (k === SyntaxKind.ImportSpecifier) {
|
|
1877
|
+
importSpecs.push(d);
|
|
1878
|
+
}
|
|
1879
|
+
}
|
|
1880
|
+
// Same-file binding wins (phase 1 path).
|
|
1881
|
+
if (inFile.length === 1 && importSpecs.length === 0) {
|
|
1882
|
+
return map.get(declKey(inFile[0]));
|
|
1883
|
+
}
|
|
1884
|
+
// Phase 2A: cross-file named import. Single ImportSpecifier in this file,
|
|
1885
|
+
// no in-file VariableDeclaration. Follow the import to its source.
|
|
1886
|
+
if (importSpecs.length === 1 && inFile.length === 0) {
|
|
1887
|
+
return resolveImportedConst(importSpecs[0]);
|
|
1888
|
+
}
|
|
1889
|
+
return undefined;
|
|
1890
|
+
}
|
|
1891
|
+
// Phase 2A: follow `import { X } from './c'` to the source file and resolve
|
|
1892
|
+
// the imported const. Same FP gates as phase 1: the source decl must be a
|
|
1893
|
+
// single exported `const X = <literal>` (or env-fallback / no-sub template
|
|
1894
|
+
// or template-with-refs against the source file's own const map).
|
|
1895
|
+
//
|
|
1896
|
+
// Out of scope (phase 2A):
|
|
1897
|
+
// - Default imports (`import X from './c'`)
|
|
1898
|
+
// - Namespace imports (`import * as M from './c'; M.X`)
|
|
1899
|
+
// - Non-relative module specifiers (`react`, `@/lib/x`, `@shared/y`)
|
|
1900
|
+
// - Re-export chains beyond what ts-morph's symbol resolver already follows
|
|
1901
|
+
function resolveImportedConst(spec) {
|
|
1902
|
+
const imp = spec.getImportDeclaration();
|
|
1903
|
+
const moduleSpec = imp.getModuleSpecifierValue();
|
|
1904
|
+
if (!moduleSpec)
|
|
1905
|
+
return undefined;
|
|
1906
|
+
if (!moduleSpec.startsWith('./') && !moduleSpec.startsWith('../'))
|
|
1907
|
+
return undefined;
|
|
1908
|
+
const srcSf = imp.getModuleSpecifierSourceFile();
|
|
1909
|
+
if (!srcSf)
|
|
1910
|
+
return undefined;
|
|
1911
|
+
// The imported name as declared in the source module. `import { X as Y }`
|
|
1912
|
+
// means we look for `X` in the source, regardless of `Y` alias here.
|
|
1913
|
+
const importedName = spec.getNameNode().getText();
|
|
1914
|
+
for (const decl of srcSf.getDescendantsOfKind(SyntaxKind.VariableDeclaration)) {
|
|
1915
|
+
if (decl.getNameNode().getKind() !== SyntaxKind.Identifier)
|
|
1916
|
+
continue;
|
|
1917
|
+
if (decl.getName() !== importedName)
|
|
1918
|
+
continue;
|
|
1919
|
+
const stmt = decl.getVariableStatement();
|
|
1920
|
+
if (!stmt)
|
|
1921
|
+
continue;
|
|
1922
|
+
if (stmt.getDeclarationKind() !== VariableDeclarationKind.Const)
|
|
1923
|
+
continue;
|
|
1924
|
+
if (!stmt.isExported())
|
|
1925
|
+
continue;
|
|
1926
|
+
const init = decl.getInitializer();
|
|
1927
|
+
if (!init)
|
|
1928
|
+
return undefined;
|
|
1929
|
+
// Direct literal / no-sub template / env-fallback.
|
|
1930
|
+
const direct = literalStringFromInit(init);
|
|
1931
|
+
if (direct !== undefined)
|
|
1932
|
+
return direct;
|
|
1933
|
+
// Template-with-refs in the SOURCE file's scope. Build that file's own
|
|
1934
|
+
// const map and resolve the template against it. resolveTemplateAgainst
|
|
1935
|
+
// recurses through lookupConstLiteral, so chained imports
|
|
1936
|
+
// (`c.ts → d.ts`) work via the same gate.
|
|
1937
|
+
if (init.getKind() === SyntaxKind.TemplateExpression) {
|
|
1938
|
+
const srcMap = buildConstLiteralMap(srcSf);
|
|
1939
|
+
return resolveTemplateAgainst(init, srcMap);
|
|
1940
|
+
}
|
|
1941
|
+
return undefined;
|
|
1942
|
+
}
|
|
1943
|
+
return undefined;
|
|
1944
|
+
}
|
|
1945
|
+
function extractTarget(call, consts) {
|
|
1635
1946
|
const args = call.getArguments();
|
|
1636
1947
|
if (args.length === 0)
|
|
1637
1948
|
return undefined;
|
|
@@ -1643,7 +1954,10 @@ function extractTarget(call) {
|
|
|
1643
1954
|
return first.getLiteralValue();
|
|
1644
1955
|
}
|
|
1645
1956
|
if (first.getKind() === SyntaxKind.TemplateExpression) {
|
|
1646
|
-
return extractTemplateUrl(first);
|
|
1957
|
+
return extractTemplateUrl(first, consts);
|
|
1958
|
+
}
|
|
1959
|
+
if (first.getKind() === SyntaxKind.Identifier && consts) {
|
|
1960
|
+
return lookupConstLiteral(first, consts);
|
|
1647
1961
|
}
|
|
1648
1962
|
return undefined;
|
|
1649
1963
|
}
|
|
@@ -1748,8 +2062,8 @@ function isStatusPropertyAccess(node) {
|
|
|
1748
2062
|
return false;
|
|
1749
2063
|
return STATUS_LIKELY_RECEIVER_RE.test(text);
|
|
1750
2064
|
}
|
|
1751
|
-
function extractQueryParams(call) {
|
|
1752
|
-
const target = extractTarget(call);
|
|
2065
|
+
function extractQueryParams(call, consts) {
|
|
2066
|
+
const target = extractTarget(call, consts);
|
|
1753
2067
|
if (!target)
|
|
1754
2068
|
return { params: undefined, resolved: false };
|
|
1755
2069
|
const q = target.indexOf('?');
|
|
@@ -1776,7 +2090,7 @@ function extractQueryParams(call) {
|
|
|
1776
2090
|
// correlate it against backend routes. Without this every `fetch(` \`${BASE}/…\` `)`
|
|
1777
2091
|
// call is silently dropped by `normalizeClientUrl` (which rejects targets that
|
|
1778
2092
|
// start with \`$ instead of \`/).
|
|
1779
|
-
function extractTemplateUrl(tmpl) {
|
|
2093
|
+
function extractTemplateUrl(tmpl, consts) {
|
|
1780
2094
|
const head = tmpl.getHead();
|
|
1781
2095
|
let out = head.getLiteralText();
|
|
1782
2096
|
const spans = tmpl.getTemplateSpans();
|
|
@@ -1785,6 +2099,20 @@ function extractTemplateUrl(tmpl) {
|
|
|
1785
2099
|
const expr = span.getExpression();
|
|
1786
2100
|
const exprText = expr.getText();
|
|
1787
2101
|
const isBareIdent = expr.getKind() === SyntaxKind.Identifier;
|
|
2102
|
+
// Phase 1 const resolution: substitute `${IDENT}` with its same-file literal
|
|
2103
|
+
// value when the symbol-resolved binding is a literal const we collected.
|
|
2104
|
+
// Lifts host extraction and route matching on the common
|
|
2105
|
+
// `${API_BASE}/users/${id}` shape. Symbol-based (not name-based) so that
|
|
2106
|
+
// a shadowing parameter / `let` / inner non-literal const cannot
|
|
2107
|
+
// fabricate a wrong absolute URL.
|
|
2108
|
+
if (isBareIdent && consts) {
|
|
2109
|
+
const resolved = lookupConstLiteral(expr, consts);
|
|
2110
|
+
if (resolved !== undefined) {
|
|
2111
|
+
out += resolved;
|
|
2112
|
+
out += span.getLiteral().getLiteralText();
|
|
2113
|
+
continue;
|
|
2114
|
+
}
|
|
2115
|
+
}
|
|
1788
2116
|
if (i === 0 && out === '' && isBareIdent && looksLikeBaseUrlName(exprText)) {
|
|
1789
2117
|
// Drop a leading `${BASE_URL}` interpolation so the path starts with `/`.
|
|
1790
2118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-concepts.js","sourceRoot":"","sources":["../../src/mappers/ts-concepts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ts-concepts.js","sourceRoot":"","sources":["../../src/mappers/ts-concepts.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kernlang/review",
|
|
3
|
-
"version": "3.4.3
|
|
3
|
+
"version": "3.4.3",
|
|
4
4
|
"description": "Kern Review — scan TS, infer .kern IR, roundtrip diff, report",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"license": "AGPL-3.0",
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"ts-morph": "^28.0.0",
|
|
29
|
-
"@kernlang/core": "3.4.3
|
|
29
|
+
"@kernlang/core": "3.4.3"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"build": "tsc -b",
|