@checkdigit/eslint-plugin 6.6.0-PR.75-c9a3 → 6.6.0-PR.75-e357
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-cjs/index.cjs +259 -233
- package/dist-cjs/metafile.json +54 -44
- package/dist-mjs/agent/fix-function-call-arguments.mjs +28 -14
- package/dist-mjs/index.mjs +14 -2
- package/dist-types/index.d.ts +12 -0
- package/package.json +1 -1
- package/src/agent/fix-function-call-arguments.ts +40 -17
- package/src/index.ts +12 -0
package/dist-cjs/metafile.json
CHANGED
|
@@ -416,7 +416,7 @@
|
|
|
416
416
|
"format": "cjs"
|
|
417
417
|
},
|
|
418
418
|
"node_modules/ms/index.js": {
|
|
419
|
-
"bytes":
|
|
419
|
+
"bytes": 3135,
|
|
420
420
|
"imports": [],
|
|
421
421
|
"format": "cjs"
|
|
422
422
|
},
|
|
@@ -432,7 +432,7 @@
|
|
|
432
432
|
"format": "cjs"
|
|
433
433
|
},
|
|
434
434
|
"node_modules/debug/src/browser.js": {
|
|
435
|
-
"bytes":
|
|
435
|
+
"bytes": 6131,
|
|
436
436
|
"imports": [
|
|
437
437
|
{
|
|
438
438
|
"path": "node_modules/debug/src/common.js",
|
|
@@ -12166,7 +12166,7 @@
|
|
|
12166
12166
|
"format": "esm"
|
|
12167
12167
|
},
|
|
12168
12168
|
"package.json": {
|
|
12169
|
-
"bytes":
|
|
12169
|
+
"bytes": 2913,
|
|
12170
12170
|
"imports": [],
|
|
12171
12171
|
"format": "esm",
|
|
12172
12172
|
"with": {
|
|
@@ -12323,8 +12323,19 @@
|
|
|
12323
12323
|
],
|
|
12324
12324
|
"format": "esm"
|
|
12325
12325
|
},
|
|
12326
|
+
"src/library/ts-tree.ts": {
|
|
12327
|
+
"bytes": 2883,
|
|
12328
|
+
"imports": [
|
|
12329
|
+
{
|
|
12330
|
+
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
12331
|
+
"kind": "import-statement",
|
|
12332
|
+
"original": "@typescript-eslint/utils"
|
|
12333
|
+
}
|
|
12334
|
+
],
|
|
12335
|
+
"format": "esm"
|
|
12336
|
+
},
|
|
12326
12337
|
"src/agent/fix-function-call-arguments.ts": {
|
|
12327
|
-
"bytes":
|
|
12338
|
+
"bytes": 5206,
|
|
12328
12339
|
"imports": [
|
|
12329
12340
|
{
|
|
12330
12341
|
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
@@ -12336,10 +12347,20 @@
|
|
|
12336
12347
|
"kind": "import-statement",
|
|
12337
12348
|
"external": true
|
|
12338
12349
|
},
|
|
12350
|
+
{
|
|
12351
|
+
"path": "node_modules/debug/src/index.js",
|
|
12352
|
+
"kind": "import-statement",
|
|
12353
|
+
"original": "debug"
|
|
12354
|
+
},
|
|
12339
12355
|
{
|
|
12340
12356
|
"path": "src/get-documentation-url.ts",
|
|
12341
12357
|
"kind": "import-statement",
|
|
12342
12358
|
"original": "../get-documentation-url"
|
|
12359
|
+
},
|
|
12360
|
+
{
|
|
12361
|
+
"path": "src/library/ts-tree.ts",
|
|
12362
|
+
"kind": "import-statement",
|
|
12363
|
+
"original": "../library/ts-tree"
|
|
12343
12364
|
}
|
|
12344
12365
|
],
|
|
12345
12366
|
"format": "esm"
|
|
@@ -12448,17 +12469,6 @@
|
|
|
12448
12469
|
],
|
|
12449
12470
|
"format": "esm"
|
|
12450
12471
|
},
|
|
12451
|
-
"src/library/ts-tree.ts": {
|
|
12452
|
-
"bytes": 2883,
|
|
12453
|
-
"imports": [
|
|
12454
|
-
{
|
|
12455
|
-
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
12456
|
-
"kind": "import-statement",
|
|
12457
|
-
"original": "@typescript-eslint/utils"
|
|
12458
|
-
}
|
|
12459
|
-
],
|
|
12460
|
-
"format": "esm"
|
|
12461
|
-
},
|
|
12462
12472
|
"src/agent/no-full-response.ts": {
|
|
12463
12473
|
"bytes": 2331,
|
|
12464
12474
|
"imports": [
|
|
@@ -12746,7 +12756,7 @@
|
|
|
12746
12756
|
"format": "esm"
|
|
12747
12757
|
},
|
|
12748
12758
|
"src/index.ts": {
|
|
12749
|
-
"bytes":
|
|
12759
|
+
"bytes": 8293,
|
|
12750
12760
|
"imports": [
|
|
12751
12761
|
{
|
|
12752
12762
|
"path": "src/agent/add-url-domain.ts",
|
|
@@ -13566,16 +13576,16 @@
|
|
|
13566
13576
|
"bytesInOutput": 4583
|
|
13567
13577
|
},
|
|
13568
13578
|
"node_modules/eslint/node_modules/minimatch/minimatch.js": {
|
|
13569
|
-
"bytesInOutput":
|
|
13579
|
+
"bytesInOutput": 18248
|
|
13570
13580
|
},
|
|
13571
13581
|
"node_modules/ms/index.js": {
|
|
13572
13582
|
"bytesInOutput": 2883
|
|
13573
13583
|
},
|
|
13574
13584
|
"node_modules/debug/src/common.js": {
|
|
13575
|
-
"bytesInOutput":
|
|
13585
|
+
"bytesInOutput": 5483
|
|
13576
13586
|
},
|
|
13577
13587
|
"node_modules/debug/src/browser.js": {
|
|
13578
|
-
"bytesInOutput":
|
|
13588
|
+
"bytesInOutput": 4675
|
|
13579
13589
|
},
|
|
13580
13590
|
"node_modules/has-flag/index.js": {
|
|
13581
13591
|
"bytesInOutput": 459
|
|
@@ -13584,7 +13594,7 @@
|
|
|
13584
13594
|
"bytesInOutput": 3132
|
|
13585
13595
|
},
|
|
13586
13596
|
"node_modules/debug/src/node.js": {
|
|
13587
|
-
"bytesInOutput":
|
|
13597
|
+
"bytesInOutput": 4325
|
|
13588
13598
|
},
|
|
13589
13599
|
"node_modules/debug/src/index.js": {
|
|
13590
13600
|
"bytesInOutput": 316
|
|
@@ -13611,7 +13621,7 @@
|
|
|
13611
13621
|
"bytesInOutput": 4594
|
|
13612
13622
|
},
|
|
13613
13623
|
"node_modules/@eslint/eslintrc/node_modules/minimatch/minimatch.js": {
|
|
13614
|
-
"bytesInOutput":
|
|
13624
|
+
"bytesInOutput": 18260
|
|
13615
13625
|
},
|
|
13616
13626
|
"node_modules/uri-js/dist/es5/uri.all.js": {
|
|
13617
13627
|
"bytesInOutput": 49104
|
|
@@ -13758,7 +13768,7 @@
|
|
|
13758
13768
|
"bytesInOutput": 157
|
|
13759
13769
|
},
|
|
13760
13770
|
"node_modules/@eslint/eslintrc/dist/eslintrc.cjs": {
|
|
13761
|
-
"bytesInOutput":
|
|
13771
|
+
"bytesInOutput": 103422
|
|
13762
13772
|
},
|
|
13763
13773
|
"node_modules/@eslint/js/src/configs/eslint-all.js": {
|
|
13764
13774
|
"bytesInOutput": 7567
|
|
@@ -13770,7 +13780,7 @@
|
|
|
13770
13780
|
"bytesInOutput": 260
|
|
13771
13781
|
},
|
|
13772
13782
|
"node_modules/eslint/lib/cli-engine/file-enumerator.js": {
|
|
13773
|
-
"bytesInOutput":
|
|
13783
|
+
"bytesInOutput": 12998
|
|
13774
13784
|
},
|
|
13775
13785
|
"node_modules/yocto-queue/index.js": {
|
|
13776
13786
|
"bytesInOutput": 1290
|
|
@@ -13818,7 +13828,7 @@
|
|
|
13818
13828
|
"bytesInOutput": 28051
|
|
13819
13829
|
},
|
|
13820
13830
|
"node_modules/eslint/lib/shared/traverser.js": {
|
|
13821
|
-
"bytesInOutput":
|
|
13831
|
+
"bytesInOutput": 4740
|
|
13822
13832
|
},
|
|
13823
13833
|
"node_modules/eslint/lib/source-code/token-store/cursor.js": {
|
|
13824
13834
|
"bytesInOutput": 1074
|
|
@@ -13899,7 +13909,7 @@
|
|
|
13899
13909
|
"bytesInOutput": 895
|
|
13900
13910
|
},
|
|
13901
13911
|
"node_modules/eslint/lib/linter/config-comment-parser.js": {
|
|
13902
|
-
"bytesInOutput":
|
|
13912
|
+
"bytesInOutput": 4702
|
|
13903
13913
|
},
|
|
13904
13914
|
"node_modules/eslint/lib/source-code/source-code.js": {
|
|
13905
13915
|
"bytesInOutput": 27533
|
|
@@ -13908,10 +13918,10 @@
|
|
|
13908
13918
|
"bytesInOutput": 206
|
|
13909
13919
|
},
|
|
13910
13920
|
"node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js": {
|
|
13911
|
-
"bytesInOutput":
|
|
13921
|
+
"bytesInOutput": 5637
|
|
13912
13922
|
},
|
|
13913
13923
|
"node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js": {
|
|
13914
|
-
"bytesInOutput":
|
|
13924
|
+
"bytesInOutput": 5779
|
|
13915
13925
|
},
|
|
13916
13926
|
"node_modules/eslint/lib/linter/code-path-analysis/fork-context.js": {
|
|
13917
13927
|
"bytesInOutput": 7677
|
|
@@ -13926,7 +13936,7 @@
|
|
|
13926
13936
|
"bytesInOutput": 7482
|
|
13927
13937
|
},
|
|
13928
13938
|
"node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js": {
|
|
13929
|
-
"bytesInOutput":
|
|
13939
|
+
"bytesInOutput": 17048
|
|
13930
13940
|
},
|
|
13931
13941
|
"node_modules/eslint/lib/linter/apply-disable-directives.js": {
|
|
13932
13942
|
"bytesInOutput": 10137
|
|
@@ -13947,7 +13957,7 @@
|
|
|
13947
13957
|
"bytesInOutput": 7454
|
|
13948
13958
|
},
|
|
13949
13959
|
"node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js": {
|
|
13950
|
-
"bytesInOutput":
|
|
13960
|
+
"bytesInOutput": 2555
|
|
13951
13961
|
},
|
|
13952
13962
|
"node_modules/esutils/lib/ast.js": {
|
|
13953
13963
|
"bytesInOutput": 3324
|
|
@@ -14910,7 +14920,7 @@
|
|
|
14910
14920
|
"bytesInOutput": 733
|
|
14911
14921
|
},
|
|
14912
14922
|
"node_modules/eslint/lib/linter/source-code-fixer.js": {
|
|
14913
|
-
"bytesInOutput":
|
|
14923
|
+
"bytesInOutput": 2590
|
|
14914
14924
|
},
|
|
14915
14925
|
"node_modules/eslint/lib/linter/timing.js": {
|
|
14916
14926
|
"bytesInOutput": 2606
|
|
@@ -14925,7 +14935,7 @@
|
|
|
14925
14935
|
"bytesInOutput": 4605
|
|
14926
14936
|
},
|
|
14927
14937
|
"node_modules/@humanwhocodes/config-array/node_modules/minimatch/minimatch.js": {
|
|
14928
|
-
"bytesInOutput":
|
|
14938
|
+
"bytesInOutput": 18271
|
|
14929
14939
|
},
|
|
14930
14940
|
"node_modules/@humanwhocodes/object-schema/src/merge-strategy.js": {
|
|
14931
14941
|
"bytesInOutput": 1449
|
|
@@ -14940,7 +14950,7 @@
|
|
|
14940
14950
|
"bytesInOutput": 326
|
|
14941
14951
|
},
|
|
14942
14952
|
"node_modules/@humanwhocodes/config-array/api.js": {
|
|
14943
|
-
"bytesInOutput":
|
|
14953
|
+
"bytesInOutput": 22297
|
|
14944
14954
|
},
|
|
14945
14955
|
"node_modules/@ungap/structured-clone/cjs/types.js": {
|
|
14946
14956
|
"bytesInOutput": 588
|
|
@@ -14976,7 +14986,7 @@
|
|
|
14976
14986
|
"bytesInOutput": 6248
|
|
14977
14987
|
},
|
|
14978
14988
|
"node_modules/eslint/lib/linter/linter.js": {
|
|
14979
|
-
"bytesInOutput":
|
|
14989
|
+
"bytesInOutput": 57092
|
|
14980
14990
|
},
|
|
14981
14991
|
"node_modules/eslint/lib/linter/index.js": {
|
|
14982
14992
|
"bytesInOutput": 372
|
|
@@ -15096,7 +15106,7 @@
|
|
|
15096
15106
|
"bytesInOutput": 4582
|
|
15097
15107
|
},
|
|
15098
15108
|
"node_modules/glob/node_modules/minimatch/minimatch.js": {
|
|
15099
|
-
"bytesInOutput":
|
|
15109
|
+
"bytesInOutput": 18248
|
|
15100
15110
|
},
|
|
15101
15111
|
"node_modules/inherits/inherits_browser.js": {
|
|
15102
15112
|
"bytesInOutput": 897
|
|
@@ -15141,10 +15151,10 @@
|
|
|
15141
15151
|
"bytesInOutput": 2959
|
|
15142
15152
|
},
|
|
15143
15153
|
"node_modules/eslint/lib/cli-engine/lint-result-cache.js": {
|
|
15144
|
-
"bytesInOutput":
|
|
15154
|
+
"bytesInOutput": 5086
|
|
15145
15155
|
},
|
|
15146
15156
|
"node_modules/eslint/lib/eslint/flat-eslint.js": {
|
|
15147
|
-
"bytesInOutput":
|
|
15157
|
+
"bytesInOutput": 25131
|
|
15148
15158
|
},
|
|
15149
15159
|
"node_modules/eslint/lib/rule-tester/flat-rule-tester.js": {
|
|
15150
15160
|
"bytesInOutput": 31667
|
|
@@ -15156,7 +15166,7 @@
|
|
|
15156
15166
|
"bytesInOutput": 745
|
|
15157
15167
|
},
|
|
15158
15168
|
"node_modules/eslint/lib/cli-engine/cli-engine.js": {
|
|
15159
|
-
"bytesInOutput":
|
|
15169
|
+
"bytesInOutput": 23895
|
|
15160
15170
|
},
|
|
15161
15171
|
"node_modules/eslint/lib/eslint/eslint.js": {
|
|
15162
15172
|
"bytesInOutput": 19446
|
|
@@ -15702,13 +15712,13 @@
|
|
|
15702
15712
|
"bytesInOutput": 2219
|
|
15703
15713
|
},
|
|
15704
15714
|
"src/index.ts": {
|
|
15705
|
-
"bytesInOutput":
|
|
15715
|
+
"bytesInOutput": 4938
|
|
15706
15716
|
},
|
|
15707
15717
|
"src/agent/url.ts": {
|
|
15708
15718
|
"bytesInOutput": 745
|
|
15709
15719
|
},
|
|
15710
15720
|
"package.json": {
|
|
15711
|
-
"bytesInOutput":
|
|
15721
|
+
"bytesInOutput": 3015
|
|
15712
15722
|
},
|
|
15713
15723
|
"src/get-documentation-url.ts": {
|
|
15714
15724
|
"bytesInOutput": 148
|
|
@@ -15737,8 +15747,11 @@
|
|
|
15737
15747
|
"src/agent/fetch-then.ts": {
|
|
15738
15748
|
"bytesInOutput": 12231
|
|
15739
15749
|
},
|
|
15750
|
+
"src/library/ts-tree.ts": {
|
|
15751
|
+
"bytesInOutput": 2095
|
|
15752
|
+
},
|
|
15740
15753
|
"src/agent/fix-function-call-arguments.ts": {
|
|
15741
|
-
"bytesInOutput":
|
|
15754
|
+
"bytesInOutput": 4458
|
|
15742
15755
|
},
|
|
15743
15756
|
"src/invalid-json-stringify.ts": {
|
|
15744
15757
|
"bytesInOutput": 2473
|
|
@@ -15752,9 +15765,6 @@
|
|
|
15752
15765
|
"src/agent/no-fixture.ts": {
|
|
15753
15766
|
"bytesInOutput": 16455
|
|
15754
15767
|
},
|
|
15755
|
-
"src/library/ts-tree.ts": {
|
|
15756
|
-
"bytesInOutput": 2095
|
|
15757
|
-
},
|
|
15758
15768
|
"src/agent/no-full-response.ts": {
|
|
15759
15769
|
"bytesInOutput": 2006
|
|
15760
15770
|
},
|
|
@@ -15816,7 +15826,7 @@
|
|
|
15816
15826
|
"bytesInOutput": 3362
|
|
15817
15827
|
}
|
|
15818
15828
|
},
|
|
15819
|
-
"bytes":
|
|
15829
|
+
"bytes": 4370736
|
|
15820
15830
|
}
|
|
15821
15831
|
}
|
|
15822
15832
|
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
// src/agent/fix-function-call-arguments.ts
|
|
2
|
-
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
2
|
+
import { ESLintUtils, TSESTree } from "@typescript-eslint/utils";
|
|
3
3
|
import { strict as assert } from "node:assert";
|
|
4
|
+
import debug from "debug";
|
|
4
5
|
import getDocumentationUrl from "../get-documentation-url.mjs";
|
|
6
|
+
import { getParent } from "../library/ts-tree.mjs";
|
|
5
7
|
var ruleId = "fix-function-call-arguments";
|
|
6
8
|
var createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
|
|
9
|
+
var log = debug("eslint-plugin:fix-function-call-arguments");
|
|
7
10
|
var rule = createRule({
|
|
8
11
|
name: ruleId,
|
|
9
12
|
meta: {
|
|
@@ -25,11 +28,17 @@ var rule = createRule({
|
|
|
25
28
|
const sourceCode = context.sourceCode;
|
|
26
29
|
return {
|
|
27
30
|
CallExpression(callExpression) {
|
|
31
|
+
if (getParent(callExpression)?.type === TSESTree.AST_NODE_TYPES.MemberExpression) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
log("===================================");
|
|
35
|
+
log("callExpression:", sourceCode.getText(callExpression));
|
|
28
36
|
try {
|
|
29
37
|
const calleeTsNode = parserServices.esTreeNodeToTSNodeMap.get(callExpression.callee);
|
|
30
38
|
const calleeType = typeChecker.getTypeAtLocation(calleeTsNode);
|
|
31
39
|
const signature = calleeType.getCallSignatures()[0];
|
|
32
|
-
if (!signature
|
|
40
|
+
if (!signature || // ignore complex signatures
|
|
41
|
+
signature.typeParameters !== void 0 && signature.typeParameters.length > 0) {
|
|
33
42
|
return;
|
|
34
43
|
}
|
|
35
44
|
const signatureParameters = signature.getParameters();
|
|
@@ -40,17 +49,22 @@ var rule = createRule({
|
|
|
40
49
|
return;
|
|
41
50
|
}
|
|
42
51
|
const argsToKeep = [];
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
if (expectedArgsCount > 0) {
|
|
53
|
+
let parameterIndex = 0;
|
|
54
|
+
for (const arg of providedArgs) {
|
|
55
|
+
const currentExpectedArg = signatureParameters[parameterIndex];
|
|
56
|
+
assert.ok(currentExpectedArg, "Expected argument not found.");
|
|
57
|
+
const expectedType = typeChecker.getTypeOfSymbol(currentExpectedArg);
|
|
58
|
+
const actualType = typeChecker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(arg));
|
|
59
|
+
log("expected type:", currentExpectedArg.escapedName, typeChecker.typeToString(expectedType));
|
|
60
|
+
log("actual type:", sourceCode.getText(arg), typeChecker.typeToString(actualType));
|
|
61
|
+
if (typeChecker.isTypeAssignableTo(actualType, expectedType) === true) {
|
|
62
|
+
argsToKeep.push(arg);
|
|
63
|
+
parameterIndex++;
|
|
64
|
+
log("matched");
|
|
65
|
+
} else {
|
|
66
|
+
log("not matched");
|
|
67
|
+
}
|
|
54
68
|
}
|
|
55
69
|
}
|
|
56
70
|
if (argsToKeep.length === providedArgsCount) {
|
|
@@ -93,4 +107,4 @@ export {
|
|
|
93
107
|
fix_function_call_arguments_default as default,
|
|
94
108
|
ruleId
|
|
95
109
|
};
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2ZpeC1mdW5jdGlvbi1jYWxsLWFyZ3VtZW50cy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLGFBQWEsZ0JBQWdCO0FBQ3RDLFNBQVMsVUFBVSxjQUFjO0FBQ2pDLE9BQU8sV0FBVztBQUNsQixPQUFPLHlCQUF5QjtBQUNoQyxTQUFTLGlCQUFpQjtBQUVuQixJQUFNLFNBQVM7QUFFdEIsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsb0JBQW9CLElBQUksQ0FBQztBQUM5RSxJQUFNLE1BQU0sTUFBTSwyQ0FBMkM7QUFFN0QsSUFBTSxPQUFPLFdBQVc7QUFBQSxFQUN0QixNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IscUNBQXFDO0FBQUEsTUFDckMsY0FBYztBQUFBLElBQ2hCO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRLENBQUM7QUFBQSxFQUNYO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFVBQU0saUJBQWlCLFlBQVksa0JBQWtCLE9BQU87QUFDNUQsVUFBTSxjQUFjLGVBQWUsUUFBUSxlQUFlO0FBQzFELFVBQU0sYUFBYSxRQUFRO0FBRTNCLFdBQU87QUFBQSxNQUNMLGVBQWUsZ0JBQWdCO0FBRzdCLFlBQUksVUFBVSxjQUFjLEdBQUcsU0FBUyxTQUFTLGVBQWUsa0JBQWtCO0FBQ2hGO0FBQUEsUUFDRjtBQUVBLFlBQUkscUNBQXFDO0FBQ3pDLFlBQUksbUJBQW1CLFdBQVcsUUFBUSxjQUFjLENBQUM7QUFDekQsWUFBSTtBQUNGLGdCQUFNLGVBQWUsZUFBZSxzQkFBc0IsSUFBSSxlQUFlLE1BQU07QUFDbkYsZ0JBQU0sYUFBYSxZQUFZLGtCQUFrQixZQUFZO0FBQzdELGdCQUFNLFlBQVksV0FBVyxrQkFBa0Is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
|
package/dist-mjs/index.mjs
CHANGED
|
@@ -88,7 +88,19 @@ var src_default = {
|
|
|
88
88
|
[`@checkdigit/${requireResolveFullResponseRuleId}`]: "error",
|
|
89
89
|
[`@checkdigit/${noDuplicatedImportsRuleId}`]: "error",
|
|
90
90
|
[`@checkdigit/${requireFixedServicesImportRuleId}`]: "error",
|
|
91
|
-
[`@checkdigit/${requireTypeOutOfTypeOnlyImportsRuleId}`]: "error"
|
|
91
|
+
[`@checkdigit/${requireTypeOutOfTypeOnlyImportsRuleId}`]: "error",
|
|
92
|
+
[`@checkdigit/${noMappedResponseRuleId}`]: "off",
|
|
93
|
+
[`@checkdigit/${addUrlDomainRuleId}`]: "off",
|
|
94
|
+
[`@checkdigit/${noFixtureRuleId}`]: "off",
|
|
95
|
+
[`@checkdigit/${noServiceWrapperRuleId}`]: "off",
|
|
96
|
+
[`@checkdigit/${noStatusCodeRuleId}`]: "off",
|
|
97
|
+
[`@checkdigit/${fetchResponseBodyJsonRuleId}`]: "off",
|
|
98
|
+
[`@checkdigit/${fetchResponseHeaderGetterRuleId}`]: "off",
|
|
99
|
+
[`@checkdigit/${fetchThenRuleId}`]: "off",
|
|
100
|
+
[`@checkdigit/${noUnusedFunctionArgumentsRuleId}`]: "off",
|
|
101
|
+
[`@checkdigit/${noUnusedServiceVariablesRuleId}`]: "off",
|
|
102
|
+
[`@checkdigit/${noUnusedImportsRuleId}`]: "off",
|
|
103
|
+
[`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: "off"
|
|
92
104
|
}
|
|
93
105
|
},
|
|
94
106
|
recommended: {
|
|
@@ -149,4 +161,4 @@ var src_default = {
|
|
|
149
161
|
export {
|
|
150
162
|
src_default as default
|
|
151
163
|
};
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,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
|
package/dist-types/index.d.ts
CHANGED
|
@@ -48,6 +48,18 @@ declare const _default: {
|
|
|
48
48
|
"@checkdigit/no-duplicated-imports": string;
|
|
49
49
|
"@checkdigit/require-fixed-services-import": string;
|
|
50
50
|
"@checkdigit/require-type-out-of-type-only-imports": string;
|
|
51
|
+
"@checkdigit/no-mapped-response": string;
|
|
52
|
+
"@checkdigit/add-url-domain": string;
|
|
53
|
+
"@checkdigit/no-fixture": string;
|
|
54
|
+
"@checkdigit/no-service-wrapper": string;
|
|
55
|
+
"@checkdigit/no-status-code": string;
|
|
56
|
+
"@checkdigit/fetch-response-body-json": string;
|
|
57
|
+
"@checkdigit/fetch-response-header-getter-ts": string;
|
|
58
|
+
"@checkdigit/fetch-then": string;
|
|
59
|
+
"@checkdigit/no-unused-function-argument": string;
|
|
60
|
+
"@checkdigit/no-unused-service-variable": string;
|
|
61
|
+
"@checkdigit/no-unused-imports": string;
|
|
62
|
+
"@checkdigit/fix-function-call-arguments": string;
|
|
51
63
|
};
|
|
52
64
|
};
|
|
53
65
|
recommended: {
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@checkdigit/eslint-plugin","version":"6.6.0-PR.75-
|
|
1
|
+
{"name":"@checkdigit/eslint-plugin","version":"6.6.0-PR.75-e357","description":"Check Digit eslint plugins","keywords":["eslint","eslintplugin"],"homepage":"https://github.com/checkdigit/eslint-plugin#readme","bugs":{"url":"https://github.com/checkdigit/eslint-plugin/issues"},"repository":{"type":"git","url":"https://github.com/checkdigit/eslint-plugin"},"license":"MIT","author":"Check Digit, LLC","sideEffects":false,"type":"module","exports":{".":{"types":"./dist-types/index.d.ts","require":"./dist-cjs/index.cjs","import":"./dist-mjs/index.mjs","default":"./dist-mjs/index.mjs"}},"files":["src","dist-types","dist-cjs","dist-mjs","!src/**/*.test.ts","!src/**/*.spec.ts","!dist-types/**/*.test.d.ts","!dist-types/**/*.spec.d.ts","!dist-cjs/**/*.test.cjs","!dist-cjs/**/*.spec.cjs","!dist-mjs/**/*.test.mjs","!dist-mjs/**/*.spec.mjs","SECURITY.md"],"scripts":{"build:dist-cjs":"rimraf dist-cjs && npx builder --type=commonjs --sourceMap --entryPoint=index.ts --outDir=dist-cjs --outFile=index.cjs --external=espree && echo \"module.exports = module.exports.default;\" >> dist-cjs/index.cjs","build:dist-mjs":"rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs","build:dist-types":"rimraf dist-types && npx builder --type=types --outDir=dist-types","ci:compile":"tsc --noEmit","ci:coverage":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=true","ci:lint":"npm run lint","ci:style":"npm run prettier","ci:test":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=false","lint":"eslint --max-warnings 0 --ignore-path .gitignore .","lint:fix":"eslint --ignore-path .gitignore . --fix","prepublishOnly":"npm run build:dist-types && npm run build:dist-cjs && npm run build:dist-mjs","prettier":"prettier --ignore-path .gitignore --list-different .","prettier:fix":"prettier --ignore-path .gitignore --write .","test":"npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style"},"prettier":"@checkdigit/prettier-config","jest":{"preset":"@checkdigit/jest-config"},"dependencies":{"@typescript-eslint/type-utils":"7.18.0","@typescript-eslint/utils":"7.18.0","debug":"^4.3.7","ts-api-utils":"^1.3.0"},"devDependencies":{"@checkdigit/jest-config":"^6.0.2","@checkdigit/prettier-config":"^5.5.0","@checkdigit/typescript-config":"6.0.0","@types/debug":"^4.1.12","@types/eslint":"8.56.10","@typescript-eslint/eslint-plugin":"7.18.0","@typescript-eslint/parser":"7.18.0","@typescript-eslint/rule-tester":"7.18.0","eslint-config-prettier":"^9.1.0","eslint-plugin-eslint-plugin":"^6.2.0","eslint-plugin-import":"^2.29.1","eslint-plugin-no-only-tests":"^3.1.0","eslint-plugin-no-secrets":"^1.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-sonarjs":"0.24.0","http-status-codes":"^2.3.0"},"peerDependencies":{"eslint":">=8 <9"},"engines":{"node":">=20.14"}}
|
|
@@ -8,11 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
import { ESLintUtils, TSESTree } from '@typescript-eslint/utils';
|
|
10
10
|
import { strict as assert } from 'node:assert';
|
|
11
|
+
import debug from 'debug';
|
|
11
12
|
import getDocumentationUrl from '../get-documentation-url';
|
|
13
|
+
import { getParent } from '../library/ts-tree';
|
|
12
14
|
|
|
13
15
|
export const ruleId = 'fix-function-call-arguments';
|
|
14
16
|
|
|
15
17
|
const createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
|
|
18
|
+
const log = debug('eslint-plugin:fix-function-call-arguments');
|
|
16
19
|
|
|
17
20
|
const rule = createRule({
|
|
18
21
|
name: ruleId,
|
|
@@ -36,37 +39,57 @@ const rule = createRule({
|
|
|
36
39
|
|
|
37
40
|
return {
|
|
38
41
|
CallExpression(callExpression) {
|
|
42
|
+
// ignore calls like `foo.bar()` which are likely to be 3rd party module calls
|
|
43
|
+
// we only focus on calls against local functions or functions imported from the same module
|
|
44
|
+
if (getParent(callExpression)?.type === TSESTree.AST_NODE_TYPES.MemberExpression) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
log('===================================');
|
|
49
|
+
log('callExpression:', sourceCode.getText(callExpression));
|
|
39
50
|
try {
|
|
40
51
|
const calleeTsNode = parserServices.esTreeNodeToTSNodeMap.get(callExpression.callee);
|
|
41
52
|
const calleeType = typeChecker.getTypeAtLocation(calleeTsNode);
|
|
42
53
|
const signature = calleeType.getCallSignatures()[0];
|
|
43
|
-
if (
|
|
54
|
+
if (
|
|
55
|
+
!signature ||
|
|
56
|
+
// ignore complex signatures
|
|
57
|
+
(signature.typeParameters !== undefined && signature.typeParameters.length > 0)
|
|
58
|
+
) {
|
|
44
59
|
return;
|
|
45
60
|
}
|
|
46
61
|
|
|
47
62
|
const signatureParameters = signature.getParameters();
|
|
48
|
-
const expectedArgsCount = signatureParameters.length;
|
|
49
|
-
const providedArgs = callExpression.arguments;
|
|
50
|
-
const providedArgsCount = providedArgs.length;
|
|
63
|
+
const expectedArgsCount = signatureParameters.length; /*?*/
|
|
64
|
+
const providedArgs = callExpression.arguments; /*?*/
|
|
65
|
+
const providedArgsCount = providedArgs.length; /*?*/
|
|
51
66
|
if (providedArgsCount === 0 || providedArgsCount === expectedArgsCount) {
|
|
52
67
|
return;
|
|
53
68
|
}
|
|
54
69
|
const argsToKeep: TSESTree.CallExpressionArgument[] = [];
|
|
55
70
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const
|
|
59
|
-
|
|
71
|
+
if (expectedArgsCount > 0) {
|
|
72
|
+
let parameterIndex = 0;
|
|
73
|
+
for (const arg of providedArgs) {
|
|
74
|
+
const currentExpectedArg = signatureParameters[parameterIndex];
|
|
75
|
+
assert.ok(currentExpectedArg, 'Expected argument not found.');
|
|
76
|
+
|
|
77
|
+
const expectedType = typeChecker.getTypeOfSymbol(currentExpectedArg);
|
|
78
|
+
const actualType = typeChecker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(arg));
|
|
60
79
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
80
|
+
// eslint-disable-next-line no-console
|
|
81
|
+
log('expected type:', currentExpectedArg.escapedName, typeChecker.typeToString(expectedType));
|
|
82
|
+
// eslint-disable-next-line no-console
|
|
83
|
+
log('actual type:', sourceCode.getText(arg), typeChecker.typeToString(actualType));
|
|
84
|
+
// @ts-expect-error: internal API
|
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
86
|
+
if (typeChecker.isTypeAssignableTo(actualType, expectedType) === true) {
|
|
87
|
+
argsToKeep.push(arg);
|
|
88
|
+
parameterIndex++;
|
|
89
|
+
log('matched');
|
|
90
|
+
} else {
|
|
91
|
+
log('not matched');
|
|
92
|
+
}
|
|
70
93
|
}
|
|
71
94
|
}
|
|
72
95
|
|
package/src/index.ts
CHANGED
|
@@ -97,6 +97,18 @@ export default {
|
|
|
97
97
|
[`@checkdigit/${noDuplicatedImportsRuleId}`]: 'error',
|
|
98
98
|
[`@checkdigit/${requireFixedServicesImportRuleId}`]: 'error',
|
|
99
99
|
[`@checkdigit/${requireTypeOutOfTypeOnlyImportsRuleId}`]: 'error',
|
|
100
|
+
[`@checkdigit/${noMappedResponseRuleId}`]: 'off',
|
|
101
|
+
[`@checkdigit/${addUrlDomainRuleId}`]: 'off',
|
|
102
|
+
[`@checkdigit/${noFixtureRuleId}`]: 'off',
|
|
103
|
+
[`@checkdigit/${noServiceWrapperRuleId}`]: 'off',
|
|
104
|
+
[`@checkdigit/${noStatusCodeRuleId}`]: 'off',
|
|
105
|
+
[`@checkdigit/${fetchResponseBodyJsonRuleId}`]: 'off',
|
|
106
|
+
[`@checkdigit/${fetchResponseHeaderGetterRuleId}`]: 'off',
|
|
107
|
+
[`@checkdigit/${fetchThenRuleId}`]: 'off',
|
|
108
|
+
[`@checkdigit/${noUnusedFunctionArgumentsRuleId}`]: 'off',
|
|
109
|
+
[`@checkdigit/${noUnusedServiceVariablesRuleId}`]: 'off',
|
|
110
|
+
[`@checkdigit/${noUnusedImportsRuleId}`]: 'off',
|
|
111
|
+
[`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: 'off',
|
|
100
112
|
},
|
|
101
113
|
},
|
|
102
114
|
recommended: {
|