@kernlang/review 3.4.5 → 3.4.6-canary.36.1.5fe03ecd
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/rules/index.js +29 -1
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/nextjs-app-router.js +233 -2
- package/dist/rules/nextjs-app-router.js.map +1 -1
- package/dist/rules/test-quality.d.ts +13 -0
- package/dist/rules/test-quality.js +138 -0
- package/dist/rules/test-quality.js.map +1 -0
- package/package.json +2 -2
package/dist/rules/index.js
CHANGED
|
@@ -37,6 +37,7 @@ import { securityV4Rules } from './security-v4.js';
|
|
|
37
37
|
import { securityV5Rules } from './security-v5.js';
|
|
38
38
|
import { suggestKernPrimitiveRules } from './suggest-kern-primitive.js';
|
|
39
39
|
import { terminalRules } from './terminal.js';
|
|
40
|
+
import { testQualityRules } from './test-quality.js';
|
|
40
41
|
import { vueRules } from './vue.js';
|
|
41
42
|
const REACT_TARGETS = new Set(['nextjs', 'tailwind', 'web', 'native', 'ink']);
|
|
42
43
|
const VUE_TARGETS = new Set(['vue', 'nuxt']);
|
|
@@ -58,6 +59,7 @@ export function getActiveRules(target) {
|
|
|
58
59
|
...nullSafetyRules,
|
|
59
60
|
...asyncRules,
|
|
60
61
|
...suggestKernPrimitiveRules,
|
|
62
|
+
...testQualityRules,
|
|
61
63
|
];
|
|
62
64
|
// Backend targets never load frontend-specific rules
|
|
63
65
|
const isBackend = target ? BACKEND_TARGETS.has(target) : false;
|
|
@@ -562,6 +564,23 @@ const REGISTRY = [
|
|
|
562
564
|
precision: 'high',
|
|
563
565
|
rolloutPhase: 2,
|
|
564
566
|
},
|
|
567
|
+
// Test-quality — phantom assertions and empty test files
|
|
568
|
+
{
|
|
569
|
+
id: 'expect-no-matcher',
|
|
570
|
+
layer: 'test-quality',
|
|
571
|
+
severity: 'error',
|
|
572
|
+
description: '`expect(x);` with no matcher chained — the assertion is a no-op and silently passes',
|
|
573
|
+
precision: 'high',
|
|
574
|
+
rolloutPhase: 5,
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
id: 'empty-test-file',
|
|
578
|
+
layer: 'test-quality',
|
|
579
|
+
severity: 'warning',
|
|
580
|
+
description: 'Test file (.test/.spec) with no `it()` / `test()` calls — likely a stub left behind after a refactor',
|
|
581
|
+
precision: 'high',
|
|
582
|
+
rolloutPhase: 5,
|
|
583
|
+
},
|
|
565
584
|
// React composition — Wave 4 (children-as-perf, prop drilling)
|
|
566
585
|
{
|
|
567
586
|
id: 'children-not-used',
|
|
@@ -956,10 +975,18 @@ const REGISTRY = [
|
|
|
956
975
|
id: 'server-api-in-client',
|
|
957
976
|
layer: 'nextjs-app-router',
|
|
958
977
|
severity: 'error',
|
|
959
|
-
description: 'next/headers (cookies/headers/draftMode)
|
|
978
|
+
description: 'next/headers (cookies/headers/draftMode), server-only, or Node fs imported in a Client Component',
|
|
960
979
|
precision: 'high',
|
|
961
980
|
rolloutPhase: 1,
|
|
962
981
|
},
|
|
982
|
+
{
|
|
983
|
+
id: 'env-var-leak-to-client',
|
|
984
|
+
layer: 'nextjs-app-router',
|
|
985
|
+
severity: 'error',
|
|
986
|
+
description: 'process.env.<NAME> referenced in a Client Component without NEXT_PUBLIC_ prefix — value is undefined in the browser bundle',
|
|
987
|
+
precision: 'high',
|
|
988
|
+
rolloutPhase: 5,
|
|
989
|
+
},
|
|
963
990
|
{
|
|
964
991
|
id: 'browser-api-in-server',
|
|
965
992
|
layer: 'nextjs-app-router',
|
|
@@ -1245,6 +1272,7 @@ const LAYER_TARGET_MAP = {
|
|
|
1245
1272
|
'dead-logic': null,
|
|
1246
1273
|
'null-safety': null,
|
|
1247
1274
|
async: null,
|
|
1275
|
+
'test-quality': null,
|
|
1248
1276
|
concept: null,
|
|
1249
1277
|
react: ['nextjs', 'tailwind', 'web', 'native', 'ink'],
|
|
1250
1278
|
'react-hooks': ['nextjs', 'tailwind', 'web', 'native', 'ink'],
|
package/dist/rules/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7C,2DAA2D;AAC3D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAElF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,MAAM,KAAK,GAAiB;QAC1B,GAAG,SAAS;QACZ,GAAG,aAAa;QAChB,GAAG,eAAe;QAClB,GAAG,eAAe;QAClB,GAAG,eAAe;QAClB,GAAG,eAAe;QAClB,GAAG,cAAc;QACjB,GAAG,eAAe;QAClB,GAAG,UAAU;QACb,GAAG,yBAAyB;KAC7B,CAAC;IAEF,qDAAqD;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAE/D,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA6CD,MAAM,QAAQ,GAAe;IAC3B,uBAAuB;IACvB;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,wDAAwD;KACtE;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,kDAAkD;KAChE;IACD,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE;IACjH;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,6CAA6C;KAC3D;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,iDAAiD;KAC/D;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,iDAAiD;KAC/D;IACD,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,sCAAsC,EAAE;IAC5G,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,uCAAuC,EAAE;IACnH;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,iDAAiD;KAC/D;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,6CAA6C;KAC3D;IAED,WAAW;IACX;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,uDAAuD;KACrE;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,6CAA6C;KAC3D;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,uCAAuC;KACrD;IACD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,wCAAwC,EAAE;IAC9G;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,sDAAsD;KACpE;IACD,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;IAChH;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,6CAA6C;KAC3D;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,6CAA6C;KAC3D;IAED,cAAc;IACd;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,+CAA+C;KAC7D;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,iDAAiD;KAC/D;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,wDAAwD;KACtE;IAED,kCAAkC;IAClC;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,uDAAuD;KACrE;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oCAAoC;KAClD;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,oDAAoD;KAClE;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,qDAAqD;KACnE;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,0CAA0C;KACxD;IAED,mCAAmC;IACnC;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,mDAAmD;KACjE;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,mDAAmD;KACjE;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,iDAAiD;KAC/D;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,uDAAuD;KACrE;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,0CAA0C;KACxD;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,wCAAwC;KACtD;IAED,aAAa;IACb;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,qCAAqC;KACnD;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,0CAA0C;KACxD;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,iDAAiD;KAC/D;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,8CAA8C;KAC5D;IAED,cAAc;IACd;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,6CAA6C;KAC3D;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,kEAAkE;KAChF;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,6CAA6C;KAC3D;IAED,qDAAqD;IACrD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,6CAA6C;QAC1D,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,6CAA6C;QAC1D,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,+CAA+C;QAC5D,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oEAAoE;QACjF,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,yCAAyC;QACtD,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,gDAAgD;QAC7D,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,4CAA4C;QACzD,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,sDAAsD;QACnE,SAAS,EAAE,MAAM;KAClB;IACD,sFAAsF;IACtF;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,iFAAiF;QAC9F,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,mFAAmF;QAChG,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,oEAAoE;QACjF,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,yDAAyD;QACtE,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,yDAAyD;QACtE,SAAS,EAAE,MAAM;KAClB;IAED,qCAAqC;IACrC;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,6FAA6F;QAC1G,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,uFAAuF;QACpG,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,0FAA0F;QACvG,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,MAAM;QAChB,WAAW,EACT,iHAAiH;QACnH,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,qIAAqI;QACvI,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,MAAM;QAChB,WAAW,EACT,sIAAsI;QACxI,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IAED,+BAA+B;IAC/B;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,0FAA0F;QACvG,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,uGAAuG;QACzG,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IAED,+DAA+D;IAC/D;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,sGAAsG;QACnH,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,2GAA2G;QAC7G,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,sHAAsH;QACxH,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,uHAAuH;QACzH,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,sHAAsH;QACxH,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,MAAM;QAChB,WAAW,EACT,wHAAwH;QAC1H,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,+BAA+B;QACnC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,4HAA4H;QAC9H,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IAED,iEAAiE;IACjE;QACE,EAAE,EAAE,8BAA8B;QAClC,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,8FAA8F;QAC3G,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,iCAAiC;QACrC,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,gGAAgG;QAC7G,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,4GAA4G;QAC9G,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,8BAA8B;QAClC,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,qGAAqG;QAClH,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IAED,gBAAgB;IAChB;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,gEAAgE;QAC7E,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,wEAAwE;QACrF,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,mEAAmE;QAChF,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,uDAAuD;QACpE,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,6EAA6E;QAC1F,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IAED,gBAAgB;IAChB;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,uEAAuE;QACpF,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,0FAA0F;QACvG,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,8BAA8B;QAClC,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,kEAAkE;QAC/E,SAAS,EAAE,cAAc;QACzB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,wIAAwI;QAC1I,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,WAAW,EACT,uGAAuG;QACzG,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IAED,oBAAoB;IACpB;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,sDAAsD;KACpE;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,uDAAuD;KACrE;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,oEAAoE;KAClF;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,wDAAwD;KACtE;IAED,0BAA0B;IAC1B;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,oDAAoD;KAClE;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,2CAA2C;KACzD;IAED,8BAA8B;IAC9B;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,EAAE,EAAE,8BAA8B;QAClC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oDAAoD;KAClE;IACD;QACE,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,EAAE,EAAE,iCAAiC;QACrC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,EAAE,EAAE,8BAA8B;QAClC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,yCAAyC;KACvD;IAED,qCAAqC;IACrC;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,iDAAiD;KAC/D;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oDAAoD;KAClE;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,8CAA8C;KAC5D;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,qCAAqC;KACnD;IAED,2BAA2B;IAC3B;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,qCAAqC;QAClD,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,wDAAwD;QACrE,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,6DAA6D;QAC1E,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,sDAAsD;QACnE,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,6DAA6D;KAC3E;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,wDAAwD;KACtE;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,2DAA2D;KACzE;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,gEAAgE;KAC9E;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,4DAA4D;KAC1E;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,MAAM;QAChB,WAAW,EACT,yHAAyH;QAC3H,SAAS,EAAE,cAAc;KAC1B;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,+IAA+I;QACjJ,SAAS,EAAE,MAAM;KAClB;IAED,8BAA8B;IAC9B;QACE,EAAE,EAAE,6BAA6B;QACjC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,yGAAyG;QAC3G,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,wFAAwF;QACrG,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,iGAAiG;QAC9G,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,kCAAkC;QACtC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,sFAAsF;QACnG,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,mCAAmC;QACvC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,0GAA0G;QAC5G,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,oCAAoC;QACxC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,kHAAkH;QACpH,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,yCAAyC;QAC7C,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oGAAoG;QACjH,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,kDAAkD;QACtD,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,iHAAiH;QACnH,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,iCAAiC;QACrC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,gGAAgG;QAC7G,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IAED,uBAAuB;IACvB;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,yEAAyE;QACtF,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,wFAAwF;QACrG,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,mEAAmE;QAChF,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD,2DAA2D;IAC3D;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,kFAAkF;QAC/F,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IAED,sBAAsB;IACtB;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,8CAA8C;KAC5D;IAED,4BAA4B;IAC5B;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,+CAA+C;KAC7D;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,+CAA+C;KAC7D;IACD,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,iCAAiC,EAAE;IAChH;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,0CAA0C;KACxD;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,4DAA4D;KAC1E;IAED,2DAA2D;IAC3D;QACE,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,oDAAoD;KAClE;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,+CAA+C;KAC7D;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,6DAA6D;KAC3E;IAED,mDAAmD;IACnD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,gDAAgD;KAC9D;IACD,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,mCAAmC,EAAE;IAChH;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,iDAAiD;KAC/D;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,0CAA0C;KACxD;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,2FAA2F;QACxG,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,CAAC,wBAAwB,EAAE,2BAA2B,CAAC;KACpE;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,2DAA2D;QACxE,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,CAAC,2BAA2B,EAAE,4BAA4B,EAAE,0BAA0B,CAAC;KACpG;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,gFAAgF;QAC7F,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,CAAC,2BAA2B,EAAE,4BAA4B,EAAE,0BAA0B,CAAC;KACpG;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,iEAAiE;QAC9E,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,CAAC,0BAA0B,CAAC;KACzC;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,uEAAuE;QACpF,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oFAAoF;QACjG,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,6EAA6E;QAC1F,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,wEAAwE;QACrF,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,8BAA8B;QAClC,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,4EAA4E;QACzF,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,uFAAuF;QACpG,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW,EACT,uIAAuI;QACzI,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,CAAC;KAChB;CACF,CAAC;AAEF,2CAA2C;AAC3C,MAAM,gBAAgB,GAAoC;IACxD,IAAI,EAAE,IAAI,EAAE,gBAAgB;IAC5B,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC;IACrD,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC;IAC7D,mBAAmB,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC;IACnE,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC;IAC5D,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC;IACpD,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC;IACpD,GAAG,EAAE,CAAC,KAAK,CAAC;IACZ,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,CAAC,KAAK,CAAC;IACZ,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,mBAAmB,EAAE,CAAC,QAAQ,CAAC;IAC/B,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,OAAO,EAAE,CAAC,SAAS,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAe;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -776,18 +776,44 @@ function useClientDrilledTooHigh(ctx) {
|
|
|
776
776
|
// - server-only (explicit guard package)
|
|
777
777
|
// These will fail at build or runtime.
|
|
778
778
|
const SERVER_API_CALLS = new Set(['cookies', 'headers', 'draftMode']);
|
|
779
|
+
/** Node built-ins that have no business running in a Client Component bundle.
|
|
780
|
+
* Limited to file/process modules that the bundler cannot polyfill safely.
|
|
781
|
+
* Excludes neutral-by-default modules (`crypto`, `stream`, `path`) that are
|
|
782
|
+
* routinely browser-polyfilled and would generate false positives. */
|
|
783
|
+
const SERVER_ONLY_NODE_MODULES = new Set(['fs', 'node:fs', 'fs/promises', 'node:fs/promises']);
|
|
784
|
+
/** True when an import is fully erased at compile time:
|
|
785
|
+
* `import type X from 'm'` (declaration-level type-only), OR every named specifier
|
|
786
|
+
* uses the `type` modifier `import { type X, type Y } from 'm'`, AND there is no
|
|
787
|
+
* default-import/namespace-import (those carry runtime references). */
|
|
788
|
+
function isFullyTypeOnlyImport(imp) {
|
|
789
|
+
if (imp.isTypeOnly())
|
|
790
|
+
return true;
|
|
791
|
+
if (imp.getDefaultImport() || imp.getNamespaceImport())
|
|
792
|
+
return false;
|
|
793
|
+
const named = imp.getNamedImports();
|
|
794
|
+
if (named.length === 0)
|
|
795
|
+
return false; // bare `import 'm'` — runs at runtime
|
|
796
|
+
return named.every((n) => n.isTypeOnly());
|
|
797
|
+
}
|
|
779
798
|
function serverApiInClient(ctx) {
|
|
780
799
|
if (ctx.fileRole !== 'runtime')
|
|
781
800
|
return [];
|
|
782
801
|
const fullText = ctx.sourceFile.getFullText();
|
|
802
|
+
// 'use server' files are server actions/functions — they legitimately use
|
|
803
|
+
// server-only APIs and fs. Skip them even when imported by a Client Component
|
|
804
|
+
// (the file-context propagation could otherwise mark them as client-bound).
|
|
805
|
+
if (hasServerDirective(fullText))
|
|
806
|
+
return [];
|
|
783
807
|
const isClient = isClientBoundary(ctx, fullText);
|
|
784
808
|
if (!isClient)
|
|
785
809
|
return [];
|
|
786
810
|
const findings = [];
|
|
787
|
-
// Import check: `from 'next/headers'`
|
|
811
|
+
// Import check: `from 'next/headers'` / `from 'server-only'` / Node fs modules
|
|
788
812
|
for (const imp of ctx.sourceFile.getImportDeclarations()) {
|
|
789
813
|
const mod = imp.getModuleSpecifierValue();
|
|
790
|
-
if (
|
|
814
|
+
if (isFullyTypeOnlyImport(imp))
|
|
815
|
+
continue; // erased at compile time
|
|
816
|
+
if (mod === 'next/headers' || mod === 'server-only' || SERVER_ONLY_NODE_MODULES.has(mod)) {
|
|
791
817
|
const hit = finding('server-api-in-client', 'error', 'bug', `Client Component imports '${mod}' — this will fail at build time. Server-only APIs cannot run in a client boundary.`, ctx.filePath, imp.getStartLineNumber(), 1, {
|
|
792
818
|
suggestion: `Move this logic to a Server Component or a server action, or drop the 'use client' directive if this file does not need it`,
|
|
793
819
|
});
|
|
@@ -861,6 +887,24 @@ function serverApiInClient(ctx) {
|
|
|
861
887
|
};
|
|
862
888
|
findings.push(hit);
|
|
863
889
|
}
|
|
890
|
+
// CommonJS form: const fs = require('fs') — also crashes in the client bundle.
|
|
891
|
+
for (const call of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.CallExpression)) {
|
|
892
|
+
const callee = call.getExpression();
|
|
893
|
+
if (!Node.isIdentifier(callee) || callee.getText() !== 'require')
|
|
894
|
+
continue;
|
|
895
|
+
const args = call.getArguments();
|
|
896
|
+
if (args.length !== 1)
|
|
897
|
+
continue;
|
|
898
|
+
const arg = args[0];
|
|
899
|
+
if (!Node.isStringLiteral(arg))
|
|
900
|
+
continue;
|
|
901
|
+
const mod = arg.getLiteralValue();
|
|
902
|
+
if (!SERVER_ONLY_NODE_MODULES.has(mod))
|
|
903
|
+
continue;
|
|
904
|
+
findings.push(finding('server-api-in-client', 'error', 'bug', `Client Component calls require('${mod}') — server-only Node module will not resolve in the browser bundle`, ctx.filePath, call.getStartLineNumber(), 1, {
|
|
905
|
+
suggestion: "Move this logic to a Server Component or server action, or drop the 'use client' directive if this file does not need it",
|
|
906
|
+
}));
|
|
907
|
+
}
|
|
864
908
|
return findings;
|
|
865
909
|
}
|
|
866
910
|
// ── Rule: browser-api-in-server ──────────────────────────────────────────
|
|
@@ -1167,6 +1211,192 @@ function serverActionUnvalidatedInput(ctx) {
|
|
|
1167
1211
|
}
|
|
1168
1212
|
return findings;
|
|
1169
1213
|
}
|
|
1214
|
+
// ── Rule: env-var-leak-to-client ─────────────────────────────────────────
|
|
1215
|
+
//
|
|
1216
|
+
// In Next.js, env vars referenced in Client Components must be prefixed with
|
|
1217
|
+
// `NEXT_PUBLIC_` to be inlined at build time. A `process.env.SECRET_KEY`
|
|
1218
|
+
// reference in a `'use client'` file produces `undefined` at runtime in the
|
|
1219
|
+
// browser AND, worse, signals confusion about what's actually exposed.
|
|
1220
|
+
//
|
|
1221
|
+
// Detection: PropertyAccessExpression of shape `process.env.<NAME>`,
|
|
1222
|
+
// element-access `process.env['NAME']`, or destructuring `const { X } = process.env`,
|
|
1223
|
+
// in a client-boundary file, where <NAME> does not start with `NEXT_PUBLIC_`
|
|
1224
|
+
// and isn't on the framework-public allowlist.
|
|
1225
|
+
//
|
|
1226
|
+
// FP avoidance:
|
|
1227
|
+
// - Skip 'use server' files entirely (server actions/functions reference
|
|
1228
|
+
// process.env legitimately — file-context propagation could otherwise
|
|
1229
|
+
// mark them as client-bound).
|
|
1230
|
+
// - Allowlist `NODE_ENV` and known Vercel-public env vars — Next/Vercel
|
|
1231
|
+
// bundlers inline these for the browser bundle.
|
|
1232
|
+
// - Skip references inside a `typeof process.env.X` guard.
|
|
1233
|
+
// - Skip references inside a `typeof window === 'undefined'` SSR-only branch.
|
|
1234
|
+
const PUBLIC_ENV_PREFIX = 'NEXT_PUBLIC_';
|
|
1235
|
+
/** Env vars Next.js / Vercel inline into the client bundle without the
|
|
1236
|
+
* NEXT_PUBLIC_ prefix. Flagging these would generate massive false-positive
|
|
1237
|
+
* noise in any real Next.js codebase. */
|
|
1238
|
+
const KNOWN_PUBLIC_ENV_VARS = new Set(['NODE_ENV', 'VERCEL_ENV', 'VERCEL_URL', 'VERCEL_BRANCH_URL', 'VERCEL_REGION']);
|
|
1239
|
+
function isInTypeofExpression(node) {
|
|
1240
|
+
let cur = node.getParent();
|
|
1241
|
+
while (cur) {
|
|
1242
|
+
if (Node.isTypeOfExpression(cur))
|
|
1243
|
+
return true;
|
|
1244
|
+
if (Node.isFunctionLikeDeclaration(cur))
|
|
1245
|
+
return false;
|
|
1246
|
+
cur = cur.getParent();
|
|
1247
|
+
}
|
|
1248
|
+
return false;
|
|
1249
|
+
}
|
|
1250
|
+
/** True when `node` is inside the consequent of a `typeof window === 'undefined'`
|
|
1251
|
+
* branch (or the alternate of `typeof window !== 'undefined'`). Such branches
|
|
1252
|
+
* never execute on the client and so referencing server-only env there is OK. */
|
|
1253
|
+
function isInsideSsrOnlyBranch(node) {
|
|
1254
|
+
let cur = node;
|
|
1255
|
+
while (cur) {
|
|
1256
|
+
const parent = cur.getParent();
|
|
1257
|
+
if (!parent)
|
|
1258
|
+
break;
|
|
1259
|
+
if (Node.isIfStatement(parent)) {
|
|
1260
|
+
const condition = parent.getExpression();
|
|
1261
|
+
const thenBranch = parent.getThenStatement();
|
|
1262
|
+
const elseBranch = parent.getElseStatement();
|
|
1263
|
+
const guard = readTypeofWindowGuard(condition);
|
|
1264
|
+
if (guard) {
|
|
1265
|
+
const inThen = thenBranch && cur === thenBranch;
|
|
1266
|
+
const inElse = elseBranch && cur === elseBranch;
|
|
1267
|
+
if (guard === 'undefined' && inThen)
|
|
1268
|
+
return true;
|
|
1269
|
+
if (guard === 'defined' && inElse)
|
|
1270
|
+
return true;
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
if (Node.isConditionalExpression(parent)) {
|
|
1274
|
+
const condition = parent.getCondition();
|
|
1275
|
+
const guard = readTypeofWindowGuard(condition);
|
|
1276
|
+
if (guard) {
|
|
1277
|
+
const inWhenTrue = cur === parent.getWhenTrue();
|
|
1278
|
+
const inWhenFalse = cur === parent.getWhenFalse();
|
|
1279
|
+
if (guard === 'undefined' && inWhenTrue)
|
|
1280
|
+
return true;
|
|
1281
|
+
if (guard === 'defined' && inWhenFalse)
|
|
1282
|
+
return true;
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
if (Node.isFunctionLikeDeclaration(parent) || Node.isSourceFile(parent))
|
|
1286
|
+
break;
|
|
1287
|
+
cur = parent;
|
|
1288
|
+
}
|
|
1289
|
+
return false;
|
|
1290
|
+
}
|
|
1291
|
+
/** Recognises `typeof window === 'undefined'` / `!==` / `!=`, returning the
|
|
1292
|
+
* effective state of `window` inside the truthy branch. */
|
|
1293
|
+
function readTypeofWindowGuard(node) {
|
|
1294
|
+
if (!node)
|
|
1295
|
+
return undefined;
|
|
1296
|
+
if (!Node.isBinaryExpression(node))
|
|
1297
|
+
return undefined;
|
|
1298
|
+
const op = node.getOperatorToken().getText();
|
|
1299
|
+
if (op !== '===' && op !== '==' && op !== '!==' && op !== '!=')
|
|
1300
|
+
return undefined;
|
|
1301
|
+
const left = node.getLeft();
|
|
1302
|
+
const right = node.getRight();
|
|
1303
|
+
const isTypeofWindow = (n) => Node.isTypeOfExpression(n) && Node.isIdentifier(n.getExpression()) && n.getExpression().getText() === 'window';
|
|
1304
|
+
const isUndefStr = (n) => Node.isStringLiteral(n) && n.getLiteralValue() === 'undefined';
|
|
1305
|
+
if (!((isTypeofWindow(left) && isUndefStr(right)) || (isUndefStr(left) && isTypeofWindow(right))))
|
|
1306
|
+
return undefined;
|
|
1307
|
+
const eq = op === '===' || op === '==';
|
|
1308
|
+
return eq ? 'undefined' : 'defined';
|
|
1309
|
+
}
|
|
1310
|
+
function isExemptEnvVarName(name) {
|
|
1311
|
+
return name.startsWith(PUBLIC_ENV_PREFIX) || KNOWN_PUBLIC_ENV_VARS.has(name);
|
|
1312
|
+
}
|
|
1313
|
+
function envVarLeakToClient(ctx) {
|
|
1314
|
+
if (ctx.fileRole !== 'runtime')
|
|
1315
|
+
return [];
|
|
1316
|
+
const fullText = ctx.sourceFile.getFullText();
|
|
1317
|
+
// Server actions/functions legitimately reference process.env — never flag them
|
|
1318
|
+
// even if file-context propagation marks the file as client-bound.
|
|
1319
|
+
if (hasServerDirective(fullText))
|
|
1320
|
+
return [];
|
|
1321
|
+
if (!isClientBoundary(ctx, fullText))
|
|
1322
|
+
return [];
|
|
1323
|
+
const findings = [];
|
|
1324
|
+
for (const access of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.PropertyAccessExpression)) {
|
|
1325
|
+
// Match `process.env.<NAME>`
|
|
1326
|
+
const left = access.getExpression();
|
|
1327
|
+
if (!Node.isPropertyAccessExpression(left))
|
|
1328
|
+
continue;
|
|
1329
|
+
if (left.getName() !== 'env')
|
|
1330
|
+
continue;
|
|
1331
|
+
const procIdent = left.getExpression();
|
|
1332
|
+
if (!Node.isIdentifier(procIdent) || procIdent.getText() !== 'process')
|
|
1333
|
+
continue;
|
|
1334
|
+
const name = access.getName();
|
|
1335
|
+
if (isExemptEnvVarName(name))
|
|
1336
|
+
continue;
|
|
1337
|
+
if (isInTypeofExpression(access))
|
|
1338
|
+
continue;
|
|
1339
|
+
if (isInsideSsrOnlyBranch(access))
|
|
1340
|
+
continue;
|
|
1341
|
+
findings.push(finding('env-var-leak-to-client', 'error', 'bug', `'process.env.${name}' is referenced in a Client Component — server-only env vars are not bundled to the browser; only NEXT_PUBLIC_* vars are inlined`, ctx.filePath, access.getStartLineNumber(), 1, {
|
|
1342
|
+
suggestion: `If '${name}' is intentionally public, rename it to NEXT_PUBLIC_${name}. Otherwise, read it on the server and pass the result through props or a server action.`,
|
|
1343
|
+
}));
|
|
1344
|
+
}
|
|
1345
|
+
// Also catch element-access form: `process.env['SECRET']`
|
|
1346
|
+
for (const access of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.ElementAccessExpression)) {
|
|
1347
|
+
const left = access.getExpression();
|
|
1348
|
+
if (!Node.isPropertyAccessExpression(left))
|
|
1349
|
+
continue;
|
|
1350
|
+
if (left.getName() !== 'env')
|
|
1351
|
+
continue;
|
|
1352
|
+
const procIdent = left.getExpression();
|
|
1353
|
+
if (!Node.isIdentifier(procIdent) || procIdent.getText() !== 'process')
|
|
1354
|
+
continue;
|
|
1355
|
+
const arg = access.getArgumentExpression();
|
|
1356
|
+
if (!arg || !Node.isStringLiteral(arg))
|
|
1357
|
+
continue;
|
|
1358
|
+
const name = arg.getLiteralValue();
|
|
1359
|
+
if (isExemptEnvVarName(name))
|
|
1360
|
+
continue;
|
|
1361
|
+
if (isInTypeofExpression(access))
|
|
1362
|
+
continue;
|
|
1363
|
+
if (isInsideSsrOnlyBranch(access))
|
|
1364
|
+
continue;
|
|
1365
|
+
findings.push(finding('env-var-leak-to-client', 'error', 'bug', `'process.env[${JSON.stringify(name)}]' is referenced in a Client Component — server-only env vars are not bundled to the browser; only NEXT_PUBLIC_* vars are inlined`, ctx.filePath, access.getStartLineNumber(), 1, {
|
|
1366
|
+
suggestion: `If '${name}' is intentionally public, rename it to NEXT_PUBLIC_${name}. Otherwise, read it on the server and pass the result through props or a server action.`,
|
|
1367
|
+
}));
|
|
1368
|
+
}
|
|
1369
|
+
// Destructuring form: `const { SECRET } = process.env;`
|
|
1370
|
+
for (const decl of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.VariableDeclaration)) {
|
|
1371
|
+
const init = decl.getInitializer();
|
|
1372
|
+
if (!init || !Node.isPropertyAccessExpression(init))
|
|
1373
|
+
continue;
|
|
1374
|
+
if (init.getName() !== 'env')
|
|
1375
|
+
continue;
|
|
1376
|
+
const procIdent = init.getExpression();
|
|
1377
|
+
if (!Node.isIdentifier(procIdent) || procIdent.getText() !== 'process')
|
|
1378
|
+
continue;
|
|
1379
|
+
const nameNode = decl.getNameNode();
|
|
1380
|
+
if (!Node.isObjectBindingPattern(nameNode))
|
|
1381
|
+
continue;
|
|
1382
|
+
if (isInsideSsrOnlyBranch(decl))
|
|
1383
|
+
continue;
|
|
1384
|
+
for (const element of nameNode.getElements()) {
|
|
1385
|
+
// The destructured key — `propertyNameNode` is set when the user renames
|
|
1386
|
+
// (`{ SECRET: s }`); otherwise it's the binding name.
|
|
1387
|
+
const keyNode = element.getPropertyNameNode() ?? element.getNameNode();
|
|
1388
|
+
if (!Node.isIdentifier(keyNode))
|
|
1389
|
+
continue;
|
|
1390
|
+
const name = keyNode.getText();
|
|
1391
|
+
if (isExemptEnvVarName(name))
|
|
1392
|
+
continue;
|
|
1393
|
+
findings.push(finding('env-var-leak-to-client', 'error', 'bug', `'${name}' is destructured from process.env in a Client Component — server-only env vars are not bundled to the browser`, ctx.filePath, element.getStartLineNumber(), 1, {
|
|
1394
|
+
suggestion: `If '${name}' is intentionally public, rename it to NEXT_PUBLIC_${name}. Otherwise, read it on the server and pass the result through props or a server action.`,
|
|
1395
|
+
}));
|
|
1396
|
+
}
|
|
1397
|
+
}
|
|
1398
|
+
return findings;
|
|
1399
|
+
}
|
|
1170
1400
|
// ── Exported App Router Rules ────────────────────────────────────────────
|
|
1171
1401
|
export const nextjsAppRouterRules = [
|
|
1172
1402
|
useClientDrilledTooHigh,
|
|
@@ -1178,5 +1408,6 @@ export const nextjsAppRouterRules = [
|
|
|
1178
1408
|
serverActionFormReturnValueIgnored,
|
|
1179
1409
|
serverActionFormMutationMissingInvalidation,
|
|
1180
1410
|
serverActionUnvalidatedInput,
|
|
1411
|
+
envVarLeakToClient,
|
|
1181
1412
|
];
|
|
1182
1413
|
//# sourceMappingURL=nextjs-app-router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextjs-app-router.js","sourceRoot":"","sources":["../../src/rules/nextjs-app-router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nextjs-app-router.js","sourceRoot":"","sources":["../../src/rules/nextjs-app-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test-quality rules — high-precision patterns that catch tests which appear
|
|
3
|
+
* to assert something but in fact assert nothing.
|
|
4
|
+
*
|
|
5
|
+
* - expect-no-matcher — `expect(x);` with no chained matcher (a no-op)
|
|
6
|
+
* - empty-test-file — `*.test.{ts,tsx}` / `*.spec.{ts,tsx}` with zero
|
|
7
|
+
* `it()` / `test()` calls (likely a stub left behind
|
|
8
|
+
* after a refactor)
|
|
9
|
+
*/
|
|
10
|
+
import type { ReviewFinding, RuleContext } from '../types.js';
|
|
11
|
+
declare function expectNoMatcher(ctx: RuleContext): ReviewFinding[];
|
|
12
|
+
export declare const testQualityRules: (typeof expectNoMatcher)[];
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test-quality rules — high-precision patterns that catch tests which appear
|
|
3
|
+
* to assert something but in fact assert nothing.
|
|
4
|
+
*
|
|
5
|
+
* - expect-no-matcher — `expect(x);` with no chained matcher (a no-op)
|
|
6
|
+
* - empty-test-file — `*.test.{ts,tsx}` / `*.spec.{ts,tsx}` with zero
|
|
7
|
+
* `it()` / `test()` calls (likely a stub left behind
|
|
8
|
+
* after a refactor)
|
|
9
|
+
*/
|
|
10
|
+
import { Node, SyntaxKind } from 'ts-morph';
|
|
11
|
+
import { finding } from './utils.js';
|
|
12
|
+
const TEST_FILE_RE = /\.(test|spec)\.(ts|tsx|js|jsx|mts|cts)$/;
|
|
13
|
+
/** Function names that register a test case. */
|
|
14
|
+
const TEST_REGISTRAR_NAMES = new Set(['it', 'test', 'fit', 'xit', 'xtest']);
|
|
15
|
+
function isTestFile(filePath) {
|
|
16
|
+
return TEST_FILE_RE.test(filePath);
|
|
17
|
+
}
|
|
18
|
+
/** Unwrap `await` / parens to get to the underlying expression. */
|
|
19
|
+
function unwrapAwaitAndParens(node) {
|
|
20
|
+
let cur = node;
|
|
21
|
+
while (Node.isAwaitExpression(cur) || Node.isParenthesizedExpression(cur)) {
|
|
22
|
+
cur = cur.getExpression();
|
|
23
|
+
}
|
|
24
|
+
return cur;
|
|
25
|
+
}
|
|
26
|
+
/** True when `expr` is a CallExpression whose callee is the bare identifier `expect`. */
|
|
27
|
+
function isBareExpectCall(expr) {
|
|
28
|
+
if (!Node.isCallExpression(expr))
|
|
29
|
+
return false;
|
|
30
|
+
const callee = expr.getExpression();
|
|
31
|
+
return Node.isIdentifier(callee) && callee.getText() === 'expect';
|
|
32
|
+
}
|
|
33
|
+
// ── Rule: expect-no-matcher ────────────────────────────────────────────────
|
|
34
|
+
//
|
|
35
|
+
// Flags an `expect(x)` call used in a position where no matcher is chained —
|
|
36
|
+
// a no-op assertion that silently passes. Covers:
|
|
37
|
+
// - bare statement `expect(x);`
|
|
38
|
+
// - awaited bare statement `await expect(p);`
|
|
39
|
+
// - bare return `return expect(x);`
|
|
40
|
+
function expectNoMatcher(ctx) {
|
|
41
|
+
if (!isTestFile(ctx.filePath))
|
|
42
|
+
return [];
|
|
43
|
+
const findings = [];
|
|
44
|
+
const reported = new Set();
|
|
45
|
+
function flag(node, line) {
|
|
46
|
+
if (reported.has(line))
|
|
47
|
+
return;
|
|
48
|
+
reported.add(line);
|
|
49
|
+
findings.push(finding('expect-no-matcher', 'error', 'bug', '`expect(x)` with no matcher chained — this is a no-op and silently passes', ctx.filePath, line, 1, {
|
|
50
|
+
suggestion: 'Chain a matcher (e.g. .toBe(...), .toEqual(...), .toThrow()) or remove the line',
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
for (const stmt of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.ExpressionStatement)) {
|
|
54
|
+
const inner = unwrapAwaitAndParens(stmt.getExpression());
|
|
55
|
+
if (!isBareExpectCall(inner))
|
|
56
|
+
continue;
|
|
57
|
+
flag(stmt, stmt.getStartLineNumber());
|
|
58
|
+
}
|
|
59
|
+
for (const ret of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.ReturnStatement)) {
|
|
60
|
+
const value = ret.getExpression();
|
|
61
|
+
if (!value)
|
|
62
|
+
continue;
|
|
63
|
+
const inner = unwrapAwaitAndParens(value);
|
|
64
|
+
if (!isBareExpectCall(inner))
|
|
65
|
+
continue;
|
|
66
|
+
flag(ret, ret.getStartLineNumber());
|
|
67
|
+
}
|
|
68
|
+
return findings;
|
|
69
|
+
}
|
|
70
|
+
// ── Rule: empty-test-file ──────────────────────────────────────────────────
|
|
71
|
+
//
|
|
72
|
+
// Flags a `.test.{ts,tsx}` / `.spec.{ts,tsx}` file that registers no test
|
|
73
|
+
// cases — likely a stub left behind after a refactor.
|
|
74
|
+
//
|
|
75
|
+
// Scope reductions:
|
|
76
|
+
// - skip files that export anything (fixtures, mocks, setup helpers)
|
|
77
|
+
// - skip files whose name contains `setup`, `fixture`, `mock`, `helper`
|
|
78
|
+
// (matches `setupTests.ts`, `fixtures.ts`, `mocks.ts`, etc. — intentionally
|
|
79
|
+
// does not require word-boundary, since `setupTests` is one identifier)
|
|
80
|
+
// - recognises both regular call form `it(...)` and tagged template form
|
|
81
|
+
// `` it.each`a | b ${1} | ${2}`('...', ...) `` used by Jest/Vitest
|
|
82
|
+
const TEST_HELPER_PATH_RE = /(^|[/\\])(setup|fixture|mock|helper|util)/i;
|
|
83
|
+
function isTestRegistrarName(name) {
|
|
84
|
+
return TEST_REGISTRAR_NAMES.has(name);
|
|
85
|
+
}
|
|
86
|
+
function getRegistrarRootName(callee) {
|
|
87
|
+
if (Node.isIdentifier(callee))
|
|
88
|
+
return callee.getText();
|
|
89
|
+
if (Node.isPropertyAccessExpression(callee)) {
|
|
90
|
+
const left = callee.getExpression();
|
|
91
|
+
if (Node.isIdentifier(left))
|
|
92
|
+
return left.getText();
|
|
93
|
+
}
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
function emptyTestFile(ctx) {
|
|
97
|
+
if (!isTestFile(ctx.filePath))
|
|
98
|
+
return [];
|
|
99
|
+
if (TEST_HELPER_PATH_RE.test(ctx.filePath))
|
|
100
|
+
return [];
|
|
101
|
+
// A file that exports anything is treated as a fixture / helper, not a test.
|
|
102
|
+
for (const stmt of ctx.sourceFile.getStatements()) {
|
|
103
|
+
if (Node.isExportDeclaration(stmt))
|
|
104
|
+
return [];
|
|
105
|
+
if (Node.isExportAssignment(stmt))
|
|
106
|
+
return [];
|
|
107
|
+
if ((Node.isFunctionDeclaration(stmt) ||
|
|
108
|
+
Node.isVariableStatement(stmt) ||
|
|
109
|
+
Node.isClassDeclaration(stmt) ||
|
|
110
|
+
Node.isTypeAliasDeclaration(stmt) ||
|
|
111
|
+
Node.isInterfaceDeclaration(stmt)) &&
|
|
112
|
+
stmt.getModifiers().some((m) => m.getText() === 'export')) {
|
|
113
|
+
return [];
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Regular call form: `it('name', fn)` / `test.only(...)` / `it.each([...])(...)`
|
|
117
|
+
for (const call of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.CallExpression)) {
|
|
118
|
+
const root = getRegistrarRootName(call.getExpression());
|
|
119
|
+
if (root && isTestRegistrarName(root))
|
|
120
|
+
return [];
|
|
121
|
+
}
|
|
122
|
+
// Tagged-template form: `` it.each`a | b ${1} | ${2}`('...', fn) `` —
|
|
123
|
+
// this produces a TaggedTemplateExpression (the table) wrapped in a
|
|
124
|
+
// CallExpression (the test name + fn). Walk all tagged templates so we
|
|
125
|
+
// also accept the bare-tagged style without arguments (defensive).
|
|
126
|
+
for (const tag of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.TaggedTemplateExpression)) {
|
|
127
|
+
const root = getRegistrarRootName(tag.getTag());
|
|
128
|
+
if (root && isTestRegistrarName(root))
|
|
129
|
+
return [];
|
|
130
|
+
}
|
|
131
|
+
return [
|
|
132
|
+
finding('empty-test-file', 'warning', 'structure', 'Test file registers no test cases (no `it()` / `test()` calls) — likely a stub left behind after a refactor', ctx.filePath, 1, 1, {
|
|
133
|
+
suggestion: 'Add at least one `it()` / `test()` block, or delete the file if the tests moved elsewhere',
|
|
134
|
+
}),
|
|
135
|
+
];
|
|
136
|
+
}
|
|
137
|
+
export const testQualityRules = [expectNoMatcher, emptyTestFile];
|
|
138
|
+
//# sourceMappingURL=test-quality.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-quality.js","sourceRoot":"","sources":["../../src/rules/test-quality.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
|
+
"version": "3.4.6-canary.36.1.5fe03ecd",
|
|
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.
|
|
29
|
+
"@kernlang/core": "3.4.6-canary.36.1.5fe03ecd"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"build": "tsc -b",
|