@kernlang/review 3.4.3 → 3.4.4-canary.12.1.6ccc1ff6

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.
@@ -8,6 +8,25 @@
8
8
  */
9
9
  import { Node, SyntaxKind } from 'ts-morph';
10
10
  import { finding } from './utils.js';
11
+ /**
12
+ * Structural top-level nullability check. Replaces the substring scan
13
+ * over `type.getText()` that was firing on safe array values like
14
+ * `(string | undefined)[]`: the rendered type contains the substring
15
+ * "undefined", but the array itself is never null/undefined — only its
16
+ * elements are. Calling `.length` / `.join` / etc. on it is totally
17
+ * safe.
18
+ *
19
+ * The right question is: does the TOP-LEVEL type include `null` or
20
+ * `undefined` as a union member? `arr.find()` returns `T | undefined`
21
+ * — yes, flag. `[a,b].filter(...)` returns `(T | undefined)[]` — no,
22
+ * the array is the top-level type and it's not nullable.
23
+ */
24
+ function topLevelIsNullable(type) {
25
+ if (type.isUnion()) {
26
+ return type.getUnionTypes().some((t) => t.isUndefined() || t.isNull());
27
+ }
28
+ return type.isUndefined() || type.isNull();
29
+ }
11
30
  // ── Rule 1: unchecked-find ───────────────────────────────────────────────
12
31
  // .find() returns T | undefined — using result without null check is a bug.
13
32
  const NULLABLE_METHODS = new Set(['find', 'querySelector', 'getElementById', 'get']);
@@ -134,10 +153,14 @@ function typeCheckedNullable(ctx) {
134
153
  }
135
154
  try {
136
155
  const returnType = obj.getReturnType();
137
- const typeText = returnType.getText();
138
- // Check if the return type includes undefined or null
139
- if (typeText.includes('undefined') || typeText.includes('null')) {
156
+ // Structural top-level nullability check (see `topLevelIsNullable`).
157
+ // Replaces the previous substring scan over `getText()` which
158
+ // false-positived on `(string | undefined)[]` and other arrays
159
+ // whose ELEMENT type was nullable but whose TOP-LEVEL type is
160
+ // a non-nullable Array.
161
+ if (topLevelIsNullable(returnType)) {
140
162
  const callText = obj.getExpression().getText().substring(0, 30);
163
+ const typeText = returnType.getText();
141
164
  findings.push(finding('unchecked-find', 'warning', 'bug', `Property access on nullable return from '${callText}(...)' (type: ${typeText.substring(0, 50)}). May throw at runtime.`, ctx.filePath, prop.getStartLineNumber(), 1, { suggestion: `Use optional chaining (?.) or add a null guard before accessing .${prop.getName()}.` }));
142
165
  }
143
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"null-safety.js","sourceRoot":"","sources":["../../src/rules/null-safety.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"null-safety.js","sourceRoot":"","sources":["../../src/rules/null-safety.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.4-canary.12.1.6ccc1ff6",
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.4-canary.12.1.6ccc1ff6"
30
30
  },
31
31
  "scripts": {
32
32
  "build": "tsc -b",