@checkdigit/eslint-plugin 6.6.0-PR.75-1f73 → 6.6.0-PR.75-b19c
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 +780 -615
- package/dist-cjs/metafile.json +106 -24
- package/dist-mjs/index.mjs +20 -14
- package/dist-mjs/no-duplicated-imports.mjs +87 -0
- package/dist-mjs/require-fixed-services-import.mjs +46 -0
- package/dist-mjs/require-type-out-of-type-only-imports.mjs +48 -0
- package/dist-types/index.d.ts +9 -12
- package/dist-types/no-duplicated-imports.d.ts +4 -0
- package/dist-types/require-fixed-services-import.d.ts +4 -0
- package/dist-types/require-type-out-of-type-only-imports.d.ts +4 -0
- package/package.json +1 -1
- package/src/agent/add-url-domain.ts +1 -1
- package/src/agent/fetch-response-body-json.ts +1 -1
- package/src/agent/fetch-response-header-getter.ts +1 -1
- package/src/agent/fetch-then.ts +1 -1
- package/src/agent/fetch.ts +1 -1
- package/src/agent/no-fixture.ts +1 -1
- package/src/agent/no-full-response.ts +1 -1
- package/src/agent/no-mapped-response.ts +1 -1
- package/src/agent/no-service-wrapper.ts +1 -1
- package/src/agent/no-status-code.ts +1 -1
- package/src/agent/response-reference.ts +1 -1
- package/src/agent/url.ts +1 -1
- package/src/index.ts +18 -12
- package/src/library/format.ts +1 -1
- package/src/library/tree.ts +1 -1
- package/src/library/ts-tree.ts +1 -1
- package/src/library/variable.ts +1 -1
- package/src/no-duplicated-imports.ts +116 -0
- package/src/require-fixed-services-import.ts +52 -0
- package/src/require-type-out-of-type-only-imports.ts +63 -0
package/dist-cjs/metafile.json
CHANGED
|
@@ -12161,7 +12161,7 @@
|
|
|
12161
12161
|
"format": "cjs"
|
|
12162
12162
|
},
|
|
12163
12163
|
"src/agent/url.ts": {
|
|
12164
|
-
"bytes":
|
|
12164
|
+
"bytes": 888,
|
|
12165
12165
|
"imports": [],
|
|
12166
12166
|
"format": "esm"
|
|
12167
12167
|
},
|
|
@@ -12188,7 +12188,7 @@
|
|
|
12188
12188
|
"format": "esm"
|
|
12189
12189
|
},
|
|
12190
12190
|
"src/agent/add-url-domain.ts": {
|
|
12191
|
-
"bytes":
|
|
12191
|
+
"bytes": 2338,
|
|
12192
12192
|
"imports": [
|
|
12193
12193
|
{
|
|
12194
12194
|
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
@@ -12209,7 +12209,7 @@
|
|
|
12209
12209
|
"format": "esm"
|
|
12210
12210
|
},
|
|
12211
12211
|
"src/agent/fetch-response-body-json.ts": {
|
|
12212
|
-
"bytes":
|
|
12212
|
+
"bytes": 2631,
|
|
12213
12213
|
"imports": [
|
|
12214
12214
|
{
|
|
12215
12215
|
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
@@ -12225,7 +12225,7 @@
|
|
|
12225
12225
|
"format": "esm"
|
|
12226
12226
|
},
|
|
12227
12227
|
"src/agent/fetch-response-header-getter.ts": {
|
|
12228
|
-
"bytes":
|
|
12228
|
+
"bytes": 6085,
|
|
12229
12229
|
"imports": [
|
|
12230
12230
|
{
|
|
12231
12231
|
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
@@ -12241,12 +12241,12 @@
|
|
|
12241
12241
|
"format": "esm"
|
|
12242
12242
|
},
|
|
12243
12243
|
"src/library/tree.ts": {
|
|
12244
|
-
"bytes":
|
|
12244
|
+
"bytes": 2327,
|
|
12245
12245
|
"imports": [],
|
|
12246
12246
|
"format": "esm"
|
|
12247
12247
|
},
|
|
12248
12248
|
"src/agent/fetch.ts": {
|
|
12249
|
-
"bytes":
|
|
12249
|
+
"bytes": 1429,
|
|
12250
12250
|
"imports": [
|
|
12251
12251
|
{
|
|
12252
12252
|
"path": "src/library/tree.ts",
|
|
@@ -12257,7 +12257,7 @@
|
|
|
12257
12257
|
"format": "esm"
|
|
12258
12258
|
},
|
|
12259
12259
|
"src/library/format.ts": {
|
|
12260
|
-
"bytes":
|
|
12260
|
+
"bytes": 655,
|
|
12261
12261
|
"imports": [
|
|
12262
12262
|
{
|
|
12263
12263
|
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
@@ -12278,7 +12278,7 @@
|
|
|
12278
12278
|
"format": "esm"
|
|
12279
12279
|
},
|
|
12280
12280
|
"src/agent/fetch-then.ts": {
|
|
12281
|
-
"bytes":
|
|
12281
|
+
"bytes": 14761,
|
|
12282
12282
|
"imports": [
|
|
12283
12283
|
{
|
|
12284
12284
|
"path": "node_modules/eslint/lib/api.js",
|
|
@@ -12334,8 +12334,29 @@
|
|
|
12334
12334
|
],
|
|
12335
12335
|
"format": "esm"
|
|
12336
12336
|
},
|
|
12337
|
+
"src/no-duplicated-imports.ts": {
|
|
12338
|
+
"bytes": 4278,
|
|
12339
|
+
"imports": [
|
|
12340
|
+
{
|
|
12341
|
+
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
12342
|
+
"kind": "import-statement",
|
|
12343
|
+
"original": "@typescript-eslint/utils"
|
|
12344
|
+
},
|
|
12345
|
+
{
|
|
12346
|
+
"path": "node:assert",
|
|
12347
|
+
"kind": "import-statement",
|
|
12348
|
+
"external": true
|
|
12349
|
+
},
|
|
12350
|
+
{
|
|
12351
|
+
"path": "src/get-documentation-url.ts",
|
|
12352
|
+
"kind": "import-statement",
|
|
12353
|
+
"original": "./get-documentation-url"
|
|
12354
|
+
}
|
|
12355
|
+
],
|
|
12356
|
+
"format": "esm"
|
|
12357
|
+
},
|
|
12337
12358
|
"src/agent/response-reference.ts": {
|
|
12338
|
-
"bytes":
|
|
12359
|
+
"bytes": 4005,
|
|
12339
12360
|
"imports": [
|
|
12340
12361
|
{
|
|
12341
12362
|
"path": "node_modules/eslint/lib/api.js",
|
|
@@ -12356,7 +12377,7 @@
|
|
|
12356
12377
|
"format": "esm"
|
|
12357
12378
|
},
|
|
12358
12379
|
"src/agent/no-fixture.ts": {
|
|
12359
|
-
"bytes":
|
|
12380
|
+
"bytes": 19849,
|
|
12360
12381
|
"imports": [
|
|
12361
12382
|
{
|
|
12362
12383
|
"path": "node_modules/eslint/lib/api.js",
|
|
@@ -12407,7 +12428,7 @@
|
|
|
12407
12428
|
"format": "esm"
|
|
12408
12429
|
},
|
|
12409
12430
|
"src/library/ts-tree.ts": {
|
|
12410
|
-
"bytes":
|
|
12431
|
+
"bytes": 2883,
|
|
12411
12432
|
"imports": [
|
|
12412
12433
|
{
|
|
12413
12434
|
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
@@ -12418,7 +12439,7 @@
|
|
|
12418
12439
|
"format": "esm"
|
|
12419
12440
|
},
|
|
12420
12441
|
"src/agent/no-full-response.ts": {
|
|
12421
|
-
"bytes":
|
|
12442
|
+
"bytes": 2331,
|
|
12422
12443
|
"imports": [
|
|
12423
12444
|
{
|
|
12424
12445
|
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
@@ -12444,7 +12465,7 @@
|
|
|
12444
12465
|
"format": "esm"
|
|
12445
12466
|
},
|
|
12446
12467
|
"src/agent/no-mapped-response.ts": {
|
|
12447
|
-
"bytes":
|
|
12468
|
+
"bytes": 2803,
|
|
12448
12469
|
"imports": [
|
|
12449
12470
|
{
|
|
12450
12471
|
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
@@ -12471,7 +12492,7 @@
|
|
|
12471
12492
|
"format": "esm"
|
|
12472
12493
|
},
|
|
12473
12494
|
"src/agent/no-service-wrapper.ts": {
|
|
12474
|
-
"bytes":
|
|
12495
|
+
"bytes": 9464,
|
|
12475
12496
|
"imports": [
|
|
12476
12497
|
{
|
|
12477
12498
|
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
@@ -12512,7 +12533,7 @@
|
|
|
12512
12533
|
"format": "esm"
|
|
12513
12534
|
},
|
|
12514
12535
|
"src/agent/no-status-code.ts": {
|
|
12515
|
-
"bytes":
|
|
12536
|
+
"bytes": 2351,
|
|
12516
12537
|
"imports": [
|
|
12517
12538
|
{
|
|
12518
12539
|
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
@@ -12527,6 +12548,22 @@
|
|
|
12527
12548
|
],
|
|
12528
12549
|
"format": "esm"
|
|
12529
12550
|
},
|
|
12551
|
+
"src/require-fixed-services-import.ts": {
|
|
12552
|
+
"bytes": 1467,
|
|
12553
|
+
"imports": [
|
|
12554
|
+
{
|
|
12555
|
+
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
12556
|
+
"kind": "import-statement",
|
|
12557
|
+
"original": "@typescript-eslint/utils"
|
|
12558
|
+
},
|
|
12559
|
+
{
|
|
12560
|
+
"path": "src/get-documentation-url.ts",
|
|
12561
|
+
"kind": "import-statement",
|
|
12562
|
+
"original": "./get-documentation-url"
|
|
12563
|
+
}
|
|
12564
|
+
],
|
|
12565
|
+
"format": "esm"
|
|
12566
|
+
},
|
|
12530
12567
|
"src/require-resolve-full-response.ts": {
|
|
12531
12568
|
"bytes": 7515,
|
|
12532
12569
|
"imports": [
|
|
@@ -12563,6 +12600,22 @@
|
|
|
12563
12600
|
],
|
|
12564
12601
|
"format": "esm"
|
|
12565
12602
|
},
|
|
12603
|
+
"src/require-type-out-of-type-only-imports.ts": {
|
|
12604
|
+
"bytes": 1901,
|
|
12605
|
+
"imports": [
|
|
12606
|
+
{
|
|
12607
|
+
"path": "node_modules/@typescript-eslint/utils/dist/index.js",
|
|
12608
|
+
"kind": "import-statement",
|
|
12609
|
+
"original": "@typescript-eslint/utils"
|
|
12610
|
+
},
|
|
12611
|
+
{
|
|
12612
|
+
"path": "src/get-documentation-url.ts",
|
|
12613
|
+
"kind": "import-statement",
|
|
12614
|
+
"original": "./get-documentation-url"
|
|
12615
|
+
}
|
|
12616
|
+
],
|
|
12617
|
+
"format": "esm"
|
|
12618
|
+
},
|
|
12566
12619
|
"src/file-path-comment.ts": {
|
|
12567
12620
|
"bytes": 2234,
|
|
12568
12621
|
"imports": [],
|
|
@@ -12609,7 +12662,7 @@
|
|
|
12609
12662
|
"format": "esm"
|
|
12610
12663
|
},
|
|
12611
12664
|
"src/index.ts": {
|
|
12612
|
-
"bytes":
|
|
12665
|
+
"bytes": 6346,
|
|
12613
12666
|
"imports": [
|
|
12614
12667
|
{
|
|
12615
12668
|
"path": "src/agent/add-url-domain.ts",
|
|
@@ -12636,6 +12689,11 @@
|
|
|
12636
12689
|
"kind": "import-statement",
|
|
12637
12690
|
"original": "./invalid-json-stringify"
|
|
12638
12691
|
},
|
|
12692
|
+
{
|
|
12693
|
+
"path": "src/no-duplicated-imports.ts",
|
|
12694
|
+
"kind": "import-statement",
|
|
12695
|
+
"original": "./no-duplicated-imports"
|
|
12696
|
+
},
|
|
12639
12697
|
{
|
|
12640
12698
|
"path": "src/agent/no-fixture.ts",
|
|
12641
12699
|
"kind": "import-statement",
|
|
@@ -12666,11 +12724,21 @@
|
|
|
12666
12724
|
"kind": "import-statement",
|
|
12667
12725
|
"original": "./agent/no-status-code"
|
|
12668
12726
|
},
|
|
12727
|
+
{
|
|
12728
|
+
"path": "src/require-fixed-services-import.ts",
|
|
12729
|
+
"kind": "import-statement",
|
|
12730
|
+
"original": "./require-fixed-services-import"
|
|
12731
|
+
},
|
|
12669
12732
|
{
|
|
12670
12733
|
"path": "src/require-resolve-full-response.ts",
|
|
12671
12734
|
"kind": "import-statement",
|
|
12672
12735
|
"original": "./require-resolve-full-response"
|
|
12673
12736
|
},
|
|
12737
|
+
{
|
|
12738
|
+
"path": "src/require-type-out-of-type-only-imports.ts",
|
|
12739
|
+
"kind": "import-statement",
|
|
12740
|
+
"original": "./require-type-out-of-type-only-imports"
|
|
12741
|
+
},
|
|
12674
12742
|
{
|
|
12675
12743
|
"path": "src/file-path-comment.ts",
|
|
12676
12744
|
"kind": "import-statement",
|
|
@@ -13253,6 +13321,11 @@
|
|
|
13253
13321
|
"kind": "require-call",
|
|
13254
13322
|
"external": true
|
|
13255
13323
|
},
|
|
13324
|
+
{
|
|
13325
|
+
"path": "node:assert",
|
|
13326
|
+
"kind": "require-call",
|
|
13327
|
+
"external": true
|
|
13328
|
+
},
|
|
13256
13329
|
{
|
|
13257
13330
|
"path": "node:assert",
|
|
13258
13331
|
"kind": "require-call",
|
|
@@ -13335,7 +13408,7 @@
|
|
|
13335
13408
|
"bytesInOutput": 232
|
|
13336
13409
|
},
|
|
13337
13410
|
"node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js": {
|
|
13338
|
-
"bytesInOutput":
|
|
13411
|
+
"bytesInOutput": 1007
|
|
13339
13412
|
},
|
|
13340
13413
|
"node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js": {
|
|
13341
13414
|
"bytesInOutput": 692
|
|
@@ -13413,7 +13486,7 @@
|
|
|
13413
13486
|
"bytesInOutput": 2711
|
|
13414
13487
|
},
|
|
13415
13488
|
"node_modules/ignore/index.js": {
|
|
13416
|
-
"bytesInOutput":
|
|
13489
|
+
"bytesInOutput": 13303
|
|
13417
13490
|
},
|
|
13418
13491
|
"node_modules/@eslint/eslintrc/node_modules/brace-expansion/index.js": {
|
|
13419
13492
|
"bytesInOutput": 4594
|
|
@@ -15507,10 +15580,10 @@
|
|
|
15507
15580
|
"bytesInOutput": 1022
|
|
15508
15581
|
},
|
|
15509
15582
|
"node_modules/@typescript-eslint/utils/dist/index.js": {
|
|
15510
|
-
"bytesInOutput":
|
|
15583
|
+
"bytesInOutput": 2219
|
|
15511
15584
|
},
|
|
15512
15585
|
"src/index.ts": {
|
|
15513
|
-
"bytesInOutput":
|
|
15586
|
+
"bytesInOutput": 3848
|
|
15514
15587
|
},
|
|
15515
15588
|
"src/agent/url.ts": {
|
|
15516
15589
|
"bytesInOutput": 745
|
|
@@ -15548,6 +15621,9 @@
|
|
|
15548
15621
|
"src/invalid-json-stringify.ts": {
|
|
15549
15622
|
"bytesInOutput": 2473
|
|
15550
15623
|
},
|
|
15624
|
+
"src/no-duplicated-imports.ts": {
|
|
15625
|
+
"bytesInOutput": 3736
|
|
15626
|
+
},
|
|
15551
15627
|
"src/agent/response-reference.ts": {
|
|
15552
15628
|
"bytesInOutput": 2671
|
|
15553
15629
|
},
|
|
@@ -15564,16 +15640,22 @@
|
|
|
15564
15640
|
"bytesInOutput": 2417
|
|
15565
15641
|
},
|
|
15566
15642
|
"src/no-promise-instance-method.ts": {
|
|
15567
|
-
"bytesInOutput":
|
|
15643
|
+
"bytesInOutput": 1277
|
|
15568
15644
|
},
|
|
15569
15645
|
"src/agent/no-service-wrapper.ts": {
|
|
15570
15646
|
"bytesInOutput": 8914
|
|
15571
15647
|
},
|
|
15572
15648
|
"src/agent/no-status-code.ts": {
|
|
15573
|
-
"bytesInOutput":
|
|
15649
|
+
"bytesInOutput": 2042
|
|
15650
|
+
},
|
|
15651
|
+
"src/require-fixed-services-import.ts": {
|
|
15652
|
+
"bytesInOutput": 1260
|
|
15574
15653
|
},
|
|
15575
15654
|
"src/require-resolve-full-response.ts": {
|
|
15576
|
-
"bytesInOutput":
|
|
15655
|
+
"bytesInOutput": 7200
|
|
15656
|
+
},
|
|
15657
|
+
"src/require-type-out-of-type-only-imports.ts": {
|
|
15658
|
+
"bytesInOutput": 1637
|
|
15577
15659
|
},
|
|
15578
15660
|
"src/file-path-comment.ts": {
|
|
15579
15661
|
"bytesInOutput": 1961
|
|
@@ -15603,7 +15685,7 @@
|
|
|
15603
15685
|
"bytesInOutput": 3362
|
|
15604
15686
|
}
|
|
15605
15687
|
},
|
|
15606
|
-
"bytes":
|
|
15688
|
+
"bytes": 4344798
|
|
15607
15689
|
}
|
|
15608
15690
|
}
|
|
15609
15691
|
}
|
package/dist-mjs/index.mjs
CHANGED
|
@@ -6,15 +6,22 @@ import fetchResponseHeaderGetter, {
|
|
|
6
6
|
} from "./agent/fetch-response-header-getter.mjs";
|
|
7
7
|
import fetchThen, { ruleId as fetchThenRuleId } from "./agent/fetch-then.mjs";
|
|
8
8
|
import invalidJsonStringify, { ruleId as invalidJsonStringifyRuleId } from "./invalid-json-stringify.mjs";
|
|
9
|
+
import noDuplicatedImports, { ruleId as noDuplicatedImportsRuleId } from "./no-duplicated-imports.mjs";
|
|
9
10
|
import noFixture, { ruleId as noFixtureRuleId } from "./agent/no-fixture.mjs";
|
|
10
11
|
import noFullResponse, { ruleId as noFullResponseRuleId } from "./agent/no-full-response.mjs";
|
|
11
12
|
import noMappedResponse, { ruleId as noMappedResponseRuleId } from "./agent/no-mapped-response.mjs";
|
|
12
13
|
import noPromiseInstanceMethod, { ruleId as noPromiseInstanceMethodRuleId } from "./no-promise-instance-method.mjs";
|
|
13
14
|
import noServiceWrapper, { ruleId as noServiceWrapperRuleId } from "./agent/no-service-wrapper.mjs";
|
|
14
15
|
import noStatusCode, { ruleId as noStatusCodeRuleId } from "./agent/no-status-code.mjs";
|
|
16
|
+
import requireFixedServicesImport, {
|
|
17
|
+
ruleId as requireFixedServicesImportRuleId
|
|
18
|
+
} from "./require-fixed-services-import.mjs";
|
|
15
19
|
import requireResolveFullResponse, {
|
|
16
20
|
ruleId as requireResolveFullResponseRuleId
|
|
17
21
|
} from "./require-resolve-full-response.mjs";
|
|
22
|
+
import requireTypeOutOfTypeOnlyImports, {
|
|
23
|
+
ruleId as requireTypeOutOfTypeOnlyImportsRuleId
|
|
24
|
+
} from "./require-type-out-of-type-only-imports.mjs";
|
|
18
25
|
import filePathComment from "./file-path-comment.mjs";
|
|
19
26
|
import noCardNumbers from "./no-card-numbers.mjs";
|
|
20
27
|
import noTestImport from "./no-test-import.mjs";
|
|
@@ -46,7 +53,10 @@ var src_default = {
|
|
|
46
53
|
[addUrlDomainRuleId]: addUrlDomain,
|
|
47
54
|
[noFullResponseRuleId]: noFullResponse,
|
|
48
55
|
[noMappedResponseRuleId]: noMappedResponse,
|
|
49
|
-
[requireResolveFullResponseRuleId]: requireResolveFullResponse
|
|
56
|
+
[requireResolveFullResponseRuleId]: requireResolveFullResponse,
|
|
57
|
+
[noDuplicatedImportsRuleId]: noDuplicatedImports,
|
|
58
|
+
[requireFixedServicesImportRuleId]: requireFixedServicesImport,
|
|
59
|
+
[requireTypeOutOfTypeOnlyImportsRuleId]: requireTypeOutOfTypeOnlyImports
|
|
50
60
|
},
|
|
51
61
|
configs: {
|
|
52
62
|
all: {
|
|
@@ -64,13 +74,9 @@ var src_default = {
|
|
|
64
74
|
[`@checkdigit/${noPromiseInstanceMethodRuleId}`]: "error",
|
|
65
75
|
[`@checkdigit/${noFullResponseRuleId}`]: "error",
|
|
66
76
|
[`@checkdigit/${requireResolveFullResponseRuleId}`]: "error",
|
|
67
|
-
[`@checkdigit/${
|
|
68
|
-
[`@checkdigit/${
|
|
69
|
-
[`@checkdigit/${
|
|
70
|
-
[`@checkdigit/${noStatusCodeRuleId}`]: "off",
|
|
71
|
-
[`@checkdigit/${fetchResponseBodyJsonRuleId}`]: "off",
|
|
72
|
-
[`@checkdigit/${fetchResponseHeaderGetterRuleId}`]: "off",
|
|
73
|
-
[`@checkdigit/${fetchThenRuleId}`]: "off"
|
|
77
|
+
[`@checkdigit/${noDuplicatedImportsRuleId}`]: "error",
|
|
78
|
+
[`@checkdigit/${requireFixedServicesImportRuleId}`]: "error",
|
|
79
|
+
[`@checkdigit/${requireTypeOutOfTypeOnlyImportsRuleId}`]: "error"
|
|
74
80
|
}
|
|
75
81
|
},
|
|
76
82
|
recommended: {
|
|
@@ -89,10 +95,12 @@ var src_default = {
|
|
|
89
95
|
}
|
|
90
96
|
},
|
|
91
97
|
"agent-phase-1-test": {
|
|
92
|
-
|
|
98
|
+
overrides: [
|
|
99
|
+
{
|
|
100
|
+
files: ["*.spec.ts", "*.test.ts", "src/api/v*/index.ts"]
|
|
101
|
+
}
|
|
102
|
+
],
|
|
93
103
|
rules: {
|
|
94
|
-
[`@checkdigit/${noFullResponseRuleId}`]: "error",
|
|
95
|
-
[`@checkdigit/${requireResolveFullResponseRuleId}`]: "error",
|
|
96
104
|
[`@checkdigit/${noMappedResponseRuleId}`]: "error",
|
|
97
105
|
[`@checkdigit/${addUrlDomainRuleId}`]: "error",
|
|
98
106
|
[`@checkdigit/${noFixtureRuleId}`]: "error",
|
|
@@ -106,8 +114,6 @@ var src_default = {
|
|
|
106
114
|
"agent-phase-2-production": {
|
|
107
115
|
ignorePatterns: ["*.spec.ts", "*.test.ts"],
|
|
108
116
|
rules: {
|
|
109
|
-
[`@checkdigit/${noFullResponseRuleId}`]: "error",
|
|
110
|
-
[`@checkdigit/${requireResolveFullResponseRuleId}`]: "error",
|
|
111
117
|
[`@checkdigit/${noMappedResponseRuleId}`]: "error",
|
|
112
118
|
[`@checkdigit/${addUrlDomainRuleId}`]: "error",
|
|
113
119
|
[`@checkdigit/${noFixtureRuleId}`]: "off",
|
|
@@ -123,4 +129,4 @@ var src_default = {
|
|
|
123
129
|
export {
|
|
124
130
|
src_default as default
|
|
125
131
|
};
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,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
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// src/no-duplicated-imports.ts
|
|
2
|
+
import { ESLintUtils, TSESTree } from "@typescript-eslint/utils";
|
|
3
|
+
import { strict as assert } from "node:assert";
|
|
4
|
+
import getDocumentationUrl from "./get-documentation-url.mjs";
|
|
5
|
+
var ruleId = "no-duplicated-imports";
|
|
6
|
+
var createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
|
|
7
|
+
var rule = createRule({
|
|
8
|
+
name: ruleId,
|
|
9
|
+
meta: {
|
|
10
|
+
type: "suggestion",
|
|
11
|
+
docs: {
|
|
12
|
+
description: 'Merge duplicated import statements with the same "from".'
|
|
13
|
+
},
|
|
14
|
+
messages: {
|
|
15
|
+
mergeDuplicatedImports: 'Merge duplicated import statements with the same "from".'
|
|
16
|
+
},
|
|
17
|
+
fixable: "code",
|
|
18
|
+
schema: []
|
|
19
|
+
},
|
|
20
|
+
defaultOptions: [],
|
|
21
|
+
create(context) {
|
|
22
|
+
const sourceCode = context.sourceCode;
|
|
23
|
+
const importDeclarations = /* @__PURE__ */ new Map();
|
|
24
|
+
return {
|
|
25
|
+
ImportDeclaration(node) {
|
|
26
|
+
const moduleName = node.source.value;
|
|
27
|
+
let declarations = importDeclarations.get(moduleName);
|
|
28
|
+
if (declarations === void 0) {
|
|
29
|
+
declarations = [];
|
|
30
|
+
importDeclarations.set(moduleName, declarations);
|
|
31
|
+
}
|
|
32
|
+
declarations.push(node);
|
|
33
|
+
},
|
|
34
|
+
"Program:exit"() {
|
|
35
|
+
for (const [moduleName, declarations] of importDeclarations.entries()) {
|
|
36
|
+
if (declarations.length <= 1) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
const firstDeclaration = declarations[0];
|
|
40
|
+
assert.ok(firstDeclaration);
|
|
41
|
+
const isAllTypeOnly = declarations.every(
|
|
42
|
+
(declaration) => declaration.importKind === "type" || declaration.specifiers.every(
|
|
43
|
+
(specifier) => specifier.type === TSESTree.AST_NODE_TYPES.ImportSpecifier && specifier.importKind === "type"
|
|
44
|
+
)
|
|
45
|
+
);
|
|
46
|
+
context.report({
|
|
47
|
+
messageId: "mergeDuplicatedImports",
|
|
48
|
+
node: firstDeclaration,
|
|
49
|
+
fix(fixer) {
|
|
50
|
+
const fixes = [];
|
|
51
|
+
const defaultSpecifier = declarations.flatMap(
|
|
52
|
+
(declaration) => declaration.specifiers.map(
|
|
53
|
+
(specifier) => specifier.type === TSESTree.AST_NODE_TYPES.ImportDefaultSpecifier ? specifier : void 0
|
|
54
|
+
)
|
|
55
|
+
).filter(Boolean);
|
|
56
|
+
const defaultSpecifierText = defaultSpecifier[0] ? sourceCode.getText(defaultSpecifier[0]) : void 0;
|
|
57
|
+
const mergedSpecifiers = declarations.flatMap((declaration) => {
|
|
58
|
+
const isCurrentDeclarationTypeOnly = declaration.importKind === "type" || declaration.specifiers.every(
|
|
59
|
+
(specifier) => specifier.type === TSESTree.AST_NODE_TYPES.ImportSpecifier && specifier.importKind === "type"
|
|
60
|
+
);
|
|
61
|
+
return declaration.specifiers.filter((specifier) => specifier.type !== TSESTree.AST_NODE_TYPES.ImportDefaultSpecifier).map(
|
|
62
|
+
(specifier) => (
|
|
63
|
+
// eslint-disable-next-line no-nested-ternary
|
|
64
|
+
isAllTypeOnly ? sourceCode.getText(specifier).replace("type ", "") : isCurrentDeclarationTypeOnly ? `type ${sourceCode.getText(specifier)}` : sourceCode.getText(specifier)
|
|
65
|
+
)
|
|
66
|
+
);
|
|
67
|
+
});
|
|
68
|
+
const mergedSpecifiersText = `${isAllTypeOnly ? "type " : ""}{ ${mergedSpecifiers.join(", ")} }`;
|
|
69
|
+
const mergedImport = `import ${[defaultSpecifierText, mergedSpecifiersText].filter(Boolean).join(", ")} from '${moduleName}';`;
|
|
70
|
+
fixes.push(fixer.replaceText(firstDeclaration, mergedImport));
|
|
71
|
+
declarations.slice(1).forEach((declaration) => {
|
|
72
|
+
fixes.push(fixer.removeRange([declaration.range[0], declaration.range[1] + 1]));
|
|
73
|
+
});
|
|
74
|
+
return fixes;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
var no_duplicated_imports_default = rule;
|
|
83
|
+
export {
|
|
84
|
+
no_duplicated_imports_default as default,
|
|
85
|
+
ruleId
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLWR1cGxpY2F0ZWQtaW1wb3J0cy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLGFBQWEsZ0JBQWdCO0FBQ3RDLFNBQVMsVUFBVSxjQUFjO0FBQ2pDLE9BQU8seUJBQXlCO0FBRXpCLElBQU0sU0FBUztBQUV0QixJQUFNLGFBQWEsWUFBWSxZQUFZLENBQUMsU0FBUyxvQkFBb0IsSUFBSSxDQUFDO0FBRTlFLElBQU0sT0FBTyxXQUFXO0FBQUEsRUFDdEIsTUFBTTtBQUFBLEVBQ04sTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLHdCQUF3QjtBQUFBLElBQzFCO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRLENBQUM7QUFBQSxFQUNYO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFVBQU0sYUFBYSxRQUFRO0FBQzNCLFVBQU0scUJBQXFCLG9CQUFJLElBQTBDO0FBRXpFLFdBQU87QUFBQSxNQUNMLGtCQUFrQixNQUFNO0FBQ3RCLGNBQU0sYUFBYSxLQUFLLE9BQU87QUFDL0IsWUFBSSxlQUFlLG1CQUFtQixJQUFJLFVBQVU7QUFDcEQsWUFBSSxpQkFBaUIsUUFBVztBQUM5Qix5QkFBZSxDQUFDO0FBQ2hCLDZCQUFtQixJQUFJLFlBQVksWUFBWTtBQUFBLFFBQ2pEO0FBQ0EscUJBQWEsS0FBSyxJQUFJO0FBQUEsTUFDeEI7QUFBQSxNQUNBLGlCQUFpQjtBQUNmLG1CQUFXLENBQUMsWUFBWSxZQUFZLEtBQUssbUJBQW1CLFFBQVEsR0FBRztBQUNyRSxjQUFJLGFBQWEsVUFBVSxHQUFHO0FBQzVCO0FBQUEsVUFDRjtBQUVBLGdCQUFNLG1CQUFtQixhQUFhLENBQUM7QUFDdkMsaUJBQU8sR0FBRyxnQkFBZ0I7QUFFMUIsZ0JBQU0sZ0JBQWdCLGFBQWE7QUFBQSxZQUNqQyxDQUFDLGdCQUNDLFlBQVksZUFBZSxVQUMzQixZQUFZLFdBQVc7QUFBQSxjQUNyQixDQUFDLGNBQ0MsVUFBVSxTQUFTLFNBQVMsZUFBZSxtQkFBbUIsVUFBVSxlQUFlO0FBQUEsWUFDM0Y7QUFBQSxVQUNKO0FBRUEsa0JBQVEsT0FBTztBQUFBLFlBQ2IsV0FBVztBQUFBLFlBQ1gsTUFBTTtBQUFBLFlBQ04sSUFBSSxPQUFPO0FBQ1Qsb0JBQU0sUUFBUSxDQUFDO0FBRWYsb0JBQU0sbUJBQW1CLGFBQ3RCO0FBQUEsZ0JBQVEsQ0FBQyxnQkFDUixZQUFZLFdBQVc7QUFBQSxrQkFBSSxDQUFDLGNBQzFCLFVBQVUsU0FBUyxTQUFTLGVBQWUseUJBQXlCLFlBQVk7QUFBQSxnQkFDbEY7QUFBQSxjQUNGLEVBQ0MsT0FBTyxPQUFPO0FBQ2pCLG9CQUFNLHVCQUF1QixpQkFBaUIsQ0FBQyxJQUFJLFdBQVcsUUFBUSxpQkFBaUIsQ0FBQyxDQUFDLElBQUk7QUFFN0Ysb0JBQU0sbUJBQW1CLGFBQWEsUUFBUSxDQUFDLGdCQUFnQjtBQUM3RCxzQkFBTSwrQkFDSixZQUFZLGVBQWUsVUFDM0IsWUFBWSxXQUFXO0FBQUEsa0JBQ3JCLENBQUMsY0FDQyxVQUFVLFNBQVMsU0FBUyxlQUFlLG1CQUFtQixVQUFVLGVBQWU7QUFBQSxnQkFDM0Y7QUFDRix1QkFBTyxZQUFZLFdBQ2hCLE9BQU8sQ0FBQyxjQUFjLFVBQVUsU0FBUyxTQUFTLGVBQWUsc0JBQXNCLEVBQ3ZGO0FBQUEsa0JBQUksQ0FBQztBQUFBO0FBQUEsb0JBRUosZ0JBQ0ksV0FBVyxRQUFRLFNBQVMsRUFBRSxRQUFRLFNBQVMsRUFBRSxJQUNqRCwrQkFDRSxRQUFRLFdBQVcsUUFBUSxTQUFTLENBQUMsS0FDckMsV0FBVyxRQUFRLFNBQVM7QUFBQTtBQUFBLGdCQUNwQztBQUFBLGNBQ0osQ0FBQztBQUNELG9CQUFNLHVCQUF1QixHQUFHLGdCQUFnQixVQUFVLEVBQUUsS0FBSyxpQkFBaUIsS0FBSyxJQUFJLENBQUM7QUFHNUYsb0JBQU0sZUFBZSxVQUFVLENBQUMsc0JBQXNCLG9CQUFvQixFQUFFLE9BQU8sT0FBTyxFQUFFLEtBQUssSUFBSSxDQUFDLFVBQVUsVUFBVTtBQUMxSCxvQkFBTSxLQUFLLE1BQU0sWUFBWSxrQkFBa0IsWUFBWSxDQUFDO0FBRzVELDJCQUFhLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0I7QUFDN0Msc0JBQU0sS0FBSyxNQUFNLFlBQVksQ0FBQyxZQUFZLE1BQU0sQ0FBQyxHQUFHLFlBQVksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFBQSxjQUNoRixDQUFDO0FBRUQscUJBQU87QUFBQSxZQUNUO0FBQUEsVUFDRixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFFRCxJQUFPLGdDQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// src/require-fixed-services-import.ts
|
|
2
|
+
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
3
|
+
import getDocumentationUrl from "./get-documentation-url.mjs";
|
|
4
|
+
var ruleId = "require-fixed-services-import";
|
|
5
|
+
var createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
|
|
6
|
+
var SERVICE_TYPINGS_IMPORT_PATH_PREFIX = /(?<path>\.\.\/)+services\/.*/u;
|
|
7
|
+
var rule = createRule({
|
|
8
|
+
name: ruleId,
|
|
9
|
+
meta: {
|
|
10
|
+
type: "suggestion",
|
|
11
|
+
docs: {
|
|
12
|
+
description: 'Require fixed "from" with service typing imports from "src/services".'
|
|
13
|
+
},
|
|
14
|
+
messages: {
|
|
15
|
+
updateServicesImportFrom: 'Update service typing imports to be from the fixed "src/services" path.'
|
|
16
|
+
},
|
|
17
|
+
fixable: "code",
|
|
18
|
+
schema: []
|
|
19
|
+
},
|
|
20
|
+
defaultOptions: [],
|
|
21
|
+
create(context) {
|
|
22
|
+
return {
|
|
23
|
+
ImportDeclaration(node) {
|
|
24
|
+
const moduleName = node.source.value;
|
|
25
|
+
if (SERVICE_TYPINGS_IMPORT_PATH_PREFIX.test(moduleName)) {
|
|
26
|
+
context.report({
|
|
27
|
+
messageId: "updateServicesImportFrom",
|
|
28
|
+
node: node.source,
|
|
29
|
+
*fix(fixer) {
|
|
30
|
+
yield fixer.replaceText(
|
|
31
|
+
node.source,
|
|
32
|
+
`'${moduleName.slice(0, moduleName.indexOf("../services") + "../services".length)}'`
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
var require_fixed_services_import_default = rule;
|
|
42
|
+
export {
|
|
43
|
+
require_fixed_services_import_default as default,
|
|
44
|
+
ruleId
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlcXVpcmUtZml4ZWQtc2VydmljZXMtaW1wb3J0LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsbUJBQW1CO0FBQzVCLE9BQU8seUJBQXlCO0FBRXpCLElBQU0sU0FBUztBQUV0QixJQUFNLGFBQWEsWUFBWSxZQUFZLENBQUMsU0FBUyxvQkFBb0IsSUFBSSxDQUFDO0FBQzlFLElBQU0scUNBQXFDO0FBRTNDLElBQU0sT0FBTyxXQUFXO0FBQUEsRUFDdEIsTUFBTTtBQUFBLEVBQ04sTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLDBCQUEwQjtBQUFBLElBQzVCO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRLENBQUM7QUFBQSxFQUNYO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFdBQU87QUFBQSxNQUNMLGtCQUFrQixNQUFNO0FBQ3RCLGNBQU0sYUFBYSxLQUFLLE9BQU87QUFDL0IsWUFBSSxtQ0FBbUMsS0FBSyxVQUFVLEdBQUc7QUFDdkQsa0JBQVEsT0FBTztBQUFBLFlBQ2IsV0FBVztBQUFBLFlBQ1gsTUFBTSxLQUFLO0FBQUEsWUFDWCxDQUFDLElBQUksT0FBTztBQUNWLG9CQUFNLE1BQU07QUFBQSxnQkFDVixLQUFLO0FBQUEsZ0JBQ0wsSUFBSSxXQUFXLE1BQU0sR0FBRyxXQUFXLFFBQVEsYUFBYSxJQUFJLGNBQWMsTUFBTSxDQUFDO0FBQUEsY0FDbkY7QUFBQSxZQUNGO0FBQUEsVUFDRixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFFRCxJQUFPLHdDQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// src/require-type-out-of-type-only-imports.ts
|
|
2
|
+
import { ESLintUtils, TSESTree } from "@typescript-eslint/utils";
|
|
3
|
+
import getDocumentationUrl from "./get-documentation-url.mjs";
|
|
4
|
+
var ruleId = "require-type-out-of-type-only-imports";
|
|
5
|
+
var createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
|
|
6
|
+
var rule = createRule({
|
|
7
|
+
name: ruleId,
|
|
8
|
+
meta: {
|
|
9
|
+
type: "suggestion",
|
|
10
|
+
docs: {
|
|
11
|
+
description: 'Require "type" to be out side of type-only imports.'
|
|
12
|
+
},
|
|
13
|
+
messages: {
|
|
14
|
+
moveTypeOutside: 'Update the type-only imports to use "tpe" outside of the curly braces.'
|
|
15
|
+
},
|
|
16
|
+
fixable: "code",
|
|
17
|
+
schema: []
|
|
18
|
+
},
|
|
19
|
+
defaultOptions: [],
|
|
20
|
+
create(context) {
|
|
21
|
+
const sourceCode = context.sourceCode;
|
|
22
|
+
return {
|
|
23
|
+
ImportDeclaration(declaration) {
|
|
24
|
+
if (declaration.importKind === "type" || !declaration.specifiers.every(
|
|
25
|
+
(specifier) => specifier.type === TSESTree.AST_NODE_TYPES.ImportSpecifier && specifier.importKind === "type"
|
|
26
|
+
)) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
context.report({
|
|
30
|
+
messageId: "moveTypeOutside",
|
|
31
|
+
node: declaration,
|
|
32
|
+
*fix(fixer) {
|
|
33
|
+
const moduleName = declaration.source.value;
|
|
34
|
+
const mergedSpecifiers = declaration.specifiers.filter((specifier) => specifier.type !== TSESTree.AST_NODE_TYPES.ImportDefaultSpecifier).map((specifier) => sourceCode.getText(specifier).replace("type ", ""));
|
|
35
|
+
const updatedImportDeclaration = `import type { ${mergedSpecifiers.join(", ")} } from '${moduleName}';`;
|
|
36
|
+
yield fixer.replaceText(declaration, updatedImportDeclaration);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
var require_type_out_of_type_only_imports_default = rule;
|
|
44
|
+
export {
|
|
45
|
+
require_type_out_of_type_only_imports_default as default,
|
|
46
|
+
ruleId
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlcXVpcmUtdHlwZS1vdXQtb2YtdHlwZS1vbmx5LWltcG9ydHMudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBUUEsU0FBUyxhQUFhLGdCQUFnQjtBQUN0QyxPQUFPLHlCQUF5QjtBQUV6QixJQUFNLFNBQVM7QUFFdEIsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsb0JBQW9CLElBQUksQ0FBQztBQUU5RSxJQUFNLE9BQU8sV0FBVztBQUFBLEVBQ3RCLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixpQkFBaUI7QUFBQSxJQUNuQjtBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsUUFBUSxDQUFDO0FBQUEsRUFDWDtBQUFBLEVBQ0EsZ0JBQWdCLENBQUM7QUFBQSxFQUNqQixPQUFPLFNBQVM7QUFDZCxVQUFNLGFBQWEsUUFBUTtBQUUzQixXQUFPO0FBQUEsTUFDTCxrQkFBa0IsYUFBYTtBQUM3QixZQUNFLFlBQVksZUFBZSxVQUMzQixDQUFDLFlBQVksV0FBVztBQUFBLFVBQ3RCLENBQUMsY0FDQyxVQUFVLFNBQVMsU0FBUyxlQUFlLG1CQUFtQixVQUFVLGVBQWU7QUFBQSxRQUMzRixHQUNBO0FBQ0E7QUFBQSxRQUNGO0FBRUEsZ0JBQVEsT0FBTztBQUFBLFVBQ2IsV0FBVztBQUFBLFVBQ1gsTUFBTTtBQUFBLFVBQ04sQ0FBQyxJQUFJLE9BQU87QUFDVixrQkFBTSxhQUFhLFlBQVksT0FBTztBQUN0QyxrQkFBTSxtQkFBbUIsWUFBWSxXQUNsQyxPQUFPLENBQUMsY0FBYyxVQUFVLFNBQVMsU0FBUyxlQUFlLHNCQUFzQixFQUN2RixJQUFJLENBQUMsY0FBYyxXQUFXLFFBQVEsU0FBUyxFQUFFLFFBQVEsU0FBUyxFQUFFLENBQUM7QUFDeEUsa0JBQU0sMkJBQTJCLGlCQUFpQixpQkFBaUIsS0FBSyxJQUFJLENBQUMsWUFBWSxVQUFVO0FBRW5HLGtCQUFNLE1BQU0sWUFBWSxhQUFhLHdCQUF3QjtBQUFBLFVBQy9EO0FBQUEsUUFDRixDQUFDO0FBQUEsTUFDSDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUVELElBQU8sZ0RBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
package/dist-types/index.d.ts
CHANGED
|
@@ -21,6 +21,9 @@ declare const _default: {
|
|
|
21
21
|
"no-full-response": import("@typescript-eslint/utils/ts-eslint").RuleModule<"unknownError" | "removeFullResponse", never[], import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
22
22
|
"no-mapped-response": import("@typescript-eslint/utils/ts-eslint").RuleModule<"unknownError" | "replaceFullResponseWithFetchResponse", never[], import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
23
23
|
"require-resolve-full-response": import("@typescript-eslint/utils/ts-eslint").RuleModule<"unknownError" | "invalidOptions", never[], import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
24
|
+
"no-duplicated-imports": import("@typescript-eslint/utils/ts-eslint").RuleModule<"mergeDuplicatedImports", never[], import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
25
|
+
"require-fixed-services-import": import("@typescript-eslint/utils/ts-eslint").RuleModule<"updateServicesImportFrom", never[], import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
26
|
+
"require-type-out-of-type-only-imports": import("@typescript-eslint/utils/ts-eslint").RuleModule<"moveTypeOutside", never[], import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
24
27
|
};
|
|
25
28
|
configs: {
|
|
26
29
|
all: {
|
|
@@ -38,13 +41,9 @@ declare const _default: {
|
|
|
38
41
|
"@checkdigit/no-promise-instance-method": string;
|
|
39
42
|
"@checkdigit/no-full-response": string;
|
|
40
43
|
"@checkdigit/require-resolve-full-response": string;
|
|
41
|
-
"@checkdigit/
|
|
42
|
-
"@checkdigit/
|
|
43
|
-
"@checkdigit/
|
|
44
|
-
"@checkdigit/no-status-code": string;
|
|
45
|
-
"@checkdigit/fetch-response-body-json": string;
|
|
46
|
-
"@checkdigit/fetch-response-header-getter-ts": string;
|
|
47
|
-
"@checkdigit/fetch-then": string;
|
|
44
|
+
"@checkdigit/no-duplicated-imports": string;
|
|
45
|
+
"@checkdigit/require-fixed-services-import": string;
|
|
46
|
+
"@checkdigit/require-type-out-of-type-only-imports": string;
|
|
48
47
|
};
|
|
49
48
|
};
|
|
50
49
|
recommended: {
|
|
@@ -63,10 +62,10 @@ declare const _default: {
|
|
|
63
62
|
};
|
|
64
63
|
};
|
|
65
64
|
'agent-phase-1-test': {
|
|
66
|
-
|
|
65
|
+
overrides: {
|
|
66
|
+
files: string[];
|
|
67
|
+
}[];
|
|
67
68
|
rules: {
|
|
68
|
-
"@checkdigit/no-full-response": string;
|
|
69
|
-
"@checkdigit/require-resolve-full-response": string;
|
|
70
69
|
"@checkdigit/no-mapped-response": string;
|
|
71
70
|
"@checkdigit/add-url-domain": string;
|
|
72
71
|
"@checkdigit/no-fixture": string;
|
|
@@ -80,8 +79,6 @@ declare const _default: {
|
|
|
80
79
|
'agent-phase-2-production': {
|
|
81
80
|
ignorePatterns: string[];
|
|
82
81
|
rules: {
|
|
83
|
-
"@checkdigit/no-full-response": string;
|
|
84
|
-
"@checkdigit/require-resolve-full-response": string;
|
|
85
82
|
"@checkdigit/no-mapped-response": string;
|
|
86
83
|
"@checkdigit/add-url-domain": string;
|
|
87
84
|
"@checkdigit/no-fixture": string;
|