@checkdigit/eslint-plugin 6.6.0-PR.79-7a20 → 6.7.0-PR.79-33df

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "inputs": {
3
3
  "package.json": {
4
- "bytes": 2816,
4
+ "bytes": 2898,
5
5
  "imports": [],
6
6
  "format": "esm",
7
7
  "with": {
@@ -44,16 +44,6 @@
44
44
  ],
45
45
  "format": "esm"
46
46
  },
47
- "src/file-path-comment.ts": {
48
- "bytes": 2234,
49
- "imports": [],
50
- "format": "esm"
51
- },
52
- "src/no-card-numbers.ts": {
53
- "bytes": 3901,
54
- "imports": [],
55
- "format": "esm"
56
- },
57
47
  "node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs": {
58
48
  "bytes": 7226,
59
49
  "imports": [],
@@ -12214,8 +12204,60 @@
12214
12204
  ],
12215
12205
  "format": "cjs"
12216
12206
  },
12207
+ "src/library/ts-tree.ts": {
12208
+ "bytes": 2872,
12209
+ "imports": [
12210
+ {
12211
+ "path": "node_modules/@typescript-eslint/utils/dist/index.js",
12212
+ "kind": "import-statement",
12213
+ "original": "@typescript-eslint/utils"
12214
+ }
12215
+ ],
12216
+ "format": "esm"
12217
+ },
12218
+ "src/require-resolve-full-response.ts": {
12219
+ "bytes": 7652,
12220
+ "imports": [
12221
+ {
12222
+ "path": "node_modules/@typescript-eslint/utils/dist/index.js",
12223
+ "kind": "import-statement",
12224
+ "original": "@typescript-eslint/utils"
12225
+ },
12226
+ {
12227
+ "path": "node_modules/@typescript-eslint/scope-manager/dist/index.js",
12228
+ "kind": "import-statement",
12229
+ "original": "@typescript-eslint/scope-manager"
12230
+ },
12231
+ {
12232
+ "path": "node:assert",
12233
+ "kind": "import-statement",
12234
+ "external": true
12235
+ },
12236
+ {
12237
+ "path": "src/get-documentation-url.ts",
12238
+ "kind": "import-statement",
12239
+ "original": "./get-documentation-url"
12240
+ },
12241
+ {
12242
+ "path": "src/library/ts-tree.ts",
12243
+ "kind": "import-statement",
12244
+ "original": "./library/ts-tree"
12245
+ }
12246
+ ],
12247
+ "format": "esm"
12248
+ },
12249
+ "src/file-path-comment.ts": {
12250
+ "bytes": 2234,
12251
+ "imports": [],
12252
+ "format": "esm"
12253
+ },
12254
+ "src/no-card-numbers.ts": {
12255
+ "bytes": 3901,
12256
+ "imports": [],
12257
+ "format": "esm"
12258
+ },
12217
12259
  "src/no-enum.ts": {
12218
- "bytes": 1186,
12260
+ "bytes": 1564,
12219
12261
  "imports": [
12220
12262
  {
12221
12263
  "path": "node_modules/@typescript-eslint/utils/dist/index.js",
@@ -12261,7 +12303,7 @@
12261
12303
  "format": "esm"
12262
12304
  },
12263
12305
  "src/index.ts": {
12264
- "bytes": 2893,
12306
+ "bytes": 3156,
12265
12307
  "imports": [
12266
12308
  {
12267
12309
  "path": "src/invalid-json-stringify.ts",
@@ -12273,6 +12315,11 @@
12273
12315
  "kind": "import-statement",
12274
12316
  "original": "./no-promise-instance-method"
12275
12317
  },
12318
+ {
12319
+ "path": "src/require-resolve-full-response.ts",
12320
+ "kind": "import-statement",
12321
+ "original": "./require-resolve-full-response"
12322
+ },
12276
12323
  {
12277
12324
  "path": "src/file-path-comment.ts",
12278
12325
  "kind": "import-statement",
@@ -12829,6 +12876,11 @@
12829
12876
  "path": "espree",
12830
12877
  "kind": "require-resolve",
12831
12878
  "external": true
12879
+ },
12880
+ {
12881
+ "path": "node:assert",
12882
+ "kind": "require-call",
12883
+ "external": true
12832
12884
  }
12833
12885
  ],
12834
12886
  "exports": [],
@@ -12865,7 +12917,7 @@
12865
12917
  "bytesInOutput": 507
12866
12918
  },
12867
12919
  "node_modules/@typescript-eslint/types/dist/generated/ast-spec.js": {
12868
- "bytesInOutput": 11916
12920
+ "bytesInOutput": 11919
12869
12921
  },
12870
12922
  "node_modules/@typescript-eslint/types/dist/lib.js": {
12871
12923
  "bytesInOutput": 189
@@ -13138,7 +13190,7 @@
13138
13190
  "bytesInOutput": 157
13139
13191
  },
13140
13192
  "node_modules/@eslint/eslintrc/dist/eslintrc.cjs": {
13141
- "bytesInOutput": 103386
13193
+ "bytesInOutput": 103388
13142
13194
  },
13143
13195
  "node_modules/@eslint/js/src/configs/eslint-all.js": {
13144
13196
  "bytesInOutput": 7567
@@ -13183,7 +13235,7 @@
13183
13235
  "bytesInOutput": 2610
13184
13236
  },
13185
13237
  "node_modules/eslint-scope/dist/eslint-scope.cjs": {
13186
- "bytesInOutput": 44541
13238
+ "bytesInOutput": 44543
13187
13239
  },
13188
13240
  "node_modules/lodash.merge/index.js": {
13189
13241
  "bytesInOutput": 25626
@@ -13237,7 +13289,7 @@
13237
13289
  "bytesInOutput": 1193
13238
13290
  },
13239
13291
  "node_modules/eslint/lib/source-code/token-store/index.js": {
13240
- "bytesInOutput": 19908
13292
+ "bytesInOutput": 19913
13241
13293
  },
13242
13294
  "node_modules/eslint/conf/globals.js": {
13243
13295
  "bytesInOutput": 2513
@@ -13294,7 +13346,7 @@
13294
13346
  "bytesInOutput": 5777
13295
13347
  },
13296
13348
  "node_modules/eslint/lib/linter/code-path-analysis/fork-context.js": {
13297
- "bytesInOutput": 7669
13349
+ "bytesInOutput": 7673
13298
13350
  },
13299
13351
  "node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js": {
13300
13352
  "bytesInOutput": 45357
@@ -13306,7 +13358,7 @@
13306
13358
  "bytesInOutput": 7482
13307
13359
  },
13308
13360
  "node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js": {
13309
- "bytesInOutput": 17028
13361
+ "bytesInOutput": 17032
13310
13362
  },
13311
13363
  "node_modules/eslint/lib/linter/apply-disable-directives.js": {
13312
13364
  "bytesInOutput": 10134
@@ -13324,7 +13376,7 @@
13324
13376
  "bytesInOutput": 467
13325
13377
  },
13326
13378
  "node_modules/eslint/lib/linter/report-translator.js": {
13327
- "bytesInOutput": 7444
13379
+ "bytesInOutput": 7449
13328
13380
  },
13329
13381
  "node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js": {
13330
13382
  "bytesInOutput": 2543
@@ -14491,7 +14543,7 @@
14491
14543
  "bytesInOutput": 6454
14492
14544
  },
14493
14545
  "node_modules/glob/sync.js": {
14494
- "bytesInOutput": 11013
14546
+ "bytesInOutput": 11016
14495
14547
  },
14496
14548
  "node_modules/wrappy/wrappy.js": {
14497
14549
  "bytesInOutput": 841
@@ -14503,10 +14555,10 @@
14503
14555
  "bytesInOutput": 1156
14504
14556
  },
14505
14557
  "node_modules/glob/glob.js": {
14506
- "bytesInOutput": 16989
14558
+ "bytesInOutput": 16993
14507
14559
  },
14508
14560
  "node_modules/rimraf/rimraf.js": {
14509
- "bytesInOutput": 8371
14561
+ "bytesInOutput": 8399
14510
14562
  },
14511
14563
  "node_modules/flat-cache/src/del.js": {
14512
14564
  "bytesInOutput": 355
@@ -14521,13 +14573,13 @@
14521
14573
  "bytesInOutput": 2959
14522
14574
  },
14523
14575
  "node_modules/eslint/lib/cli-engine/lint-result-cache.js": {
14524
- "bytesInOutput": 5070
14576
+ "bytesInOutput": 5074
14525
14577
  },
14526
14578
  "node_modules/eslint/lib/eslint/flat-eslint.js": {
14527
14579
  "bytesInOutput": 25101
14528
14580
  },
14529
14581
  "node_modules/eslint/lib/rule-tester/flat-rule-tester.js": {
14530
- "bytesInOutput": 31532
14582
+ "bytesInOutput": 31581
14531
14583
  },
14532
14584
  "node_modules/eslint/conf/default-cli-options.js": {
14533
14585
  "bytesInOutput": 783
@@ -14566,7 +14618,7 @@
14566
14618
  "bytesInOutput": 7249
14567
14619
  },
14568
14620
  "node_modules/eslint/lib/rule-tester/rule-tester.js": {
14569
- "bytesInOutput": 33114
14621
+ "bytesInOutput": 33164
14570
14622
  },
14571
14623
  "node_modules/eslint/lib/rule-tester/index.js": {
14572
14624
  "bytesInOutput": 206
@@ -14602,7 +14654,7 @@
14602
14654
  "bytesInOutput": 608
14603
14655
  },
14604
14656
  "node_modules/@typescript-eslint/scope-manager/dist/assert.js": {
14605
- "bytesInOutput": 345
14657
+ "bytesInOutput": 347
14606
14658
  },
14607
14659
  "node_modules/@typescript-eslint/scope-manager/dist/ID.js": {
14608
14660
  "bytesInOutput": 671
@@ -14611,7 +14663,7 @@
14611
14663
  "bytesInOutput": 626
14612
14664
  },
14613
14665
  "node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.js": {
14614
- "bytesInOutput": 998
14666
+ "bytesInOutput": 1001
14615
14667
  },
14616
14668
  "node_modules/@typescript-eslint/scope-manager/dist/definition/CatchClauseDefinition.js": {
14617
14669
  "bytesInOutput": 739
@@ -15082,10 +15134,10 @@
15082
15134
  "bytesInOutput": 2215
15083
15135
  },
15084
15136
  "src/index.ts": {
15085
- "bytesInOutput": 2124
15137
+ "bytesInOutput": 2223
15086
15138
  },
15087
15139
  "package.json": {
15088
- "bytesInOutput": 2911
15140
+ "bytesInOutput": 2998
15089
15141
  },
15090
15142
  "src/get-documentation-url.ts": {
15091
15143
  "bytesInOutput": 146
@@ -15096,6 +15148,12 @@
15096
15148
  "src/no-promise-instance-method.ts": {
15097
15149
  "bytesInOutput": 1275
15098
15150
  },
15151
+ "src/library/ts-tree.ts": {
15152
+ "bytesInOutput": 2070
15153
+ },
15154
+ "src/require-resolve-full-response.ts": {
15155
+ "bytesInOutput": 7342
15156
+ },
15099
15157
  "src/file-path-comment.ts": {
15100
15158
  "bytesInOutput": 1961
15101
15159
  },
@@ -15103,7 +15161,7 @@
15103
15161
  "bytesInOutput": 3356
15104
15162
  },
15105
15163
  "src/no-enum.ts": {
15106
- "bytesInOutput": 955
15164
+ "bytesInOutput": 1317
15107
15165
  },
15108
15166
  "src/no-test-import.ts": {
15109
15167
  "bytesInOutput": 1458
@@ -15127,7 +15185,7 @@
15127
15185
  "bytesInOutput": 3362
15128
15186
  }
15129
15187
  },
15130
- "bytes": 4210664
15188
+ "bytes": 4228064
15131
15189
  }
15132
15190
  }
15133
15191
  }
@@ -1,6 +1,9 @@
1
1
  // src/index.ts
2
2
  import invalidJsonStringify, { ruleId as invalidJsonStringifyRuleId } from "./invalid-json-stringify.mjs";
3
3
  import noPromiseInstanceMethod, { ruleId as noPromiseInstanceMethodRuleId } from "./no-promise-instance-method.mjs";
4
+ import requireResolveFullResponse, {
5
+ ruleId as requireResolveFullResponseRuleId
6
+ } from "./require-resolve-full-response.mjs";
4
7
  import filePathComment from "./file-path-comment.mjs";
5
8
  import noCardNumbers from "./no-card-numbers.mjs";
6
9
  import noEnum from "./no-enum.mjs";
@@ -24,7 +27,8 @@ var src_default = {
24
27
  "require-assert-predicate-rejects-throws": requireAssertPredicateRejectsThrows,
25
28
  "object-literal-response": objectLiteralResponse,
26
29
  [invalidJsonStringifyRuleId]: invalidJsonStringify,
27
- [noPromiseInstanceMethodRuleId]: noPromiseInstanceMethod
30
+ [noPromiseInstanceMethodRuleId]: noPromiseInstanceMethod,
31
+ [requireResolveFullResponseRuleId]: requireResolveFullResponse
28
32
  },
29
33
  configs: {
30
34
  all: {
@@ -40,7 +44,8 @@ var src_default = {
40
44
  "@checkdigit/object-literal-response": "error",
41
45
  "@checkdigit/no-test-import": "error",
42
46
  [`@checkdigit/${invalidJsonStringifyRuleId}`]: "error",
43
- [`@checkdigit/${noPromiseInstanceMethodRuleId}`]: "error"
47
+ [`@checkdigit/${noPromiseInstanceMethodRuleId}`]: "error",
48
+ [`@checkdigit/${requireResolveFullResponseRuleId}`]: "error"
44
49
  }
45
50
  },
46
51
  recommended: {
@@ -64,4 +69,4 @@ var src_default = {
64
69
  export {
65
70
  src_default as default
66
71
  };
67
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLE9BQU8sd0JBQXdCLFVBQVUsa0NBQWtDO0FBQzNFLE9BQU8sMkJBQTJCLFVBQVUscUNBQXFDO0FBQ2pGLE9BQU8scUJBQXFCO0FBQzVCLE9BQU8sbUJBQW1CO0FBQzFCLE9BQU8sWUFBWTtBQUNuQixPQUFPLGtCQUFrQjtBQUN6QixPQUFPLFlBQVk7QUFDbkIsT0FBTyxzQkFBc0I7QUFDN0IsT0FBTywyQkFBMkI7QUFDbEMsT0FBTyxrQkFBa0I7QUFDekIsT0FBTyx5Q0FBeUM7QUFDaEQsT0FBTyx5QkFBeUI7QUFFaEMsSUFBTyxjQUFRO0FBQUEsRUFDYixPQUFPO0FBQUEsSUFDTCxxQkFBcUI7QUFBQSxJQUNyQixtQkFBbUI7QUFBQSxJQUNuQixXQUFXO0FBQUEsSUFDWCxXQUFXO0FBQUEsSUFDWCx5QkFBeUI7QUFBQSxJQUN6QixrQkFBa0I7QUFBQSxJQUNsQixzQkFBc0I7QUFBQSxJQUN0Qiw4QkFBOEI7QUFBQSxJQUM5QiwyQ0FBMkM7QUFBQSxJQUMzQywyQkFBMkI7QUFBQSxJQUMzQixDQUFDLDBCQUEwQixHQUFHO0FBQUEsSUFDOUIsQ0FBQyw2QkFBNkIsR0FBRztBQUFBLEVBQ25DO0FBQUEsRUFDQSxTQUFTO0FBQUEsSUFDUCxLQUFLO0FBQUEsTUFDSCxPQUFPO0FBQUEsUUFDTCwrQkFBK0I7QUFBQSxRQUMvQix1QkFBdUI7QUFBQSxRQUN2QixpQ0FBaUM7QUFBQSxRQUNqQyx1QkFBdUI7QUFBQSxRQUN2QixxQ0FBcUM7QUFBQSxRQUNyQyxrQ0FBa0M7QUFBQSxRQUNsQywwQ0FBMEM7QUFBQSxRQUMxQyx1REFBdUQ7QUFBQSxRQUN2RCx1Q0FBdUM7QUFBQSxRQUN2Qyw4QkFBOEI7QUFBQSxRQUM5QixDQUFDLGVBQWUsMEJBQTBCLEVBQUUsR0FBRztBQUFBLFFBQy9DLENBQUMsZUFBZSw2QkFBNkIsRUFBRSxHQUFHO0FBQUEsTUFDcEQ7QUFBQSxJQUNGO0FBQUEsSUFDQSxhQUFhO0FBQUEsTUFDWCxPQUFPO0FBQUEsUUFDTCwrQkFBK0I7QUFBQSxRQUMvQix1QkFBdUI7QUFBQSxRQUN2QixpQ0FBaUM7QUFBQSxRQUNqQyx1QkFBdUI7QUFBQSxRQUN2QixxQ0FBcUM7QUFBQSxRQUNyQyxrQ0FBa0M7QUFBQSxRQUNsQywwQ0FBMEM7QUFBQSxRQUMxQyx1REFBdUQ7QUFBQSxRQUN2RCx1Q0FBdUM7QUFBQSxRQUN2Qyw4QkFBOEI7QUFBQSxRQUM5QixDQUFDLGVBQWUsMEJBQTBCLEVBQUUsR0FBRztBQUFBLFFBQy9DLENBQUMsZUFBZSw2QkFBNkIsRUFBRSxHQUFHO0FBQUEsTUFDcEQ7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
72
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLE9BQU8sd0JBQXdCLFVBQVUsa0NBQWtDO0FBQzNFLE9BQU8sMkJBQTJCLFVBQVUscUNBQXFDO0FBQ2pGLE9BQU87QUFBQSxFQUNMLFVBQVU7QUFBQSxPQUNMO0FBQ1AsT0FBTyxxQkFBcUI7QUFDNUIsT0FBTyxtQkFBbUI7QUFDMUIsT0FBTyxZQUFZO0FBQ25CLE9BQU8sa0JBQWtCO0FBQ3pCLE9BQU8sWUFBWTtBQUNuQixPQUFPLHNCQUFzQjtBQUM3QixPQUFPLDJCQUEyQjtBQUNsQyxPQUFPLGtCQUFrQjtBQUN6QixPQUFPLHlDQUF5QztBQUNoRCxPQUFPLHlCQUF5QjtBQUVoQyxJQUFPLGNBQVE7QUFBQSxFQUNiLE9BQU87QUFBQSxJQUNMLHFCQUFxQjtBQUFBLElBQ3JCLG1CQUFtQjtBQUFBLElBQ25CLFdBQVc7QUFBQSxJQUNYLFdBQVc7QUFBQSxJQUNYLHlCQUF5QjtBQUFBLElBQ3pCLGtCQUFrQjtBQUFBLElBQ2xCLHNCQUFzQjtBQUFBLElBQ3RCLDhCQUE4QjtBQUFBLElBQzlCLDJDQUEyQztBQUFBLElBQzNDLDJCQUEyQjtBQUFBLElBQzNCLENBQUMsMEJBQTBCLEdBQUc7QUFBQSxJQUM5QixDQUFDLDZCQUE2QixHQUFHO0FBQUEsSUFDakMsQ0FBQyxnQ0FBZ0MsR0FBRztBQUFBLEVBQ3RDO0FBQUEsRUFDQSxTQUFTO0FBQUEsSUFDUCxLQUFLO0FBQUEsTUFDSCxPQUFPO0FBQUEsUUFDTCwrQkFBK0I7QUFBQSxRQUMvQix1QkFBdUI7QUFBQSxRQUN2QixpQ0FBaUM7QUFBQSxRQUNqQyx1QkFBdUI7QUFBQSxRQUN2QixxQ0FBcUM7QUFBQSxRQUNyQyxrQ0FBa0M7QUFBQSxRQUNsQywwQ0FBMEM7QUFBQSxRQUMxQyx1REFBdUQ7QUFBQSxRQUN2RCx1Q0FBdUM7QUFBQSxRQUN2Qyw4QkFBOEI7QUFBQSxRQUM5QixDQUFDLGVBQWUsMEJBQTBCLEVBQUUsR0FBRztBQUFBLFFBQy9DLENBQUMsZUFBZSw2QkFBNkIsRUFBRSxHQUFHO0FBQUEsUUFDbEQsQ0FBQyxlQUFlLGdDQUFnQyxFQUFFLEdBQUc7QUFBQSxNQUN2RDtBQUFBLElBQ0Y7QUFBQSxJQUNBLGFBQWE7QUFBQSxNQUNYLE9BQU87QUFBQSxRQUNMLCtCQUErQjtBQUFBLFFBQy9CLHVCQUF1QjtBQUFBLFFBQ3ZCLGlDQUFpQztBQUFBLFFBQ2pDLHVCQUF1QjtBQUFBLFFBQ3ZCLHFDQUFxQztBQUFBLFFBQ3JDLGtDQUFrQztBQUFBLFFBQ2xDLDBDQUEwQztBQUFBLFFBQzFDLHVEQUF1RDtBQUFBLFFBQ3ZELHVDQUF1QztBQUFBLFFBQ3ZDLDhCQUE4QjtBQUFBLFFBQzlCLENBQUMsZUFBZSwwQkFBMEIsRUFBRSxHQUFHO0FBQUEsUUFDL0MsQ0FBQyxlQUFlLDZCQUE2QixFQUFFLEdBQUc7QUFBQSxNQUNwRDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,14 @@
1
+ // src/library/format.ts
2
+ import "@typescript-eslint/utils";
3
+ import { strict as assert } from "node:assert";
4
+ function getIndentation(node, sourceCode) {
5
+ assert.ok(node.loc);
6
+ const line = sourceCode.lines[node.loc.start.line - 1];
7
+ assert.ok(line !== void 0);
8
+ const indentMatch = line.match(/^\s*/u);
9
+ return indentMatch ? indentMatch[0] : "";
10
+ }
11
+ export {
12
+ getIndentation
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2xpYnJhcnkvZm9ybWF0LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLE9BQW1DO0FBR25DLFNBQVMsVUFBVSxjQUFjO0FBRTFCLFNBQVMsZUFBZSxNQUE0QixZQUE4QztBQUN2RyxTQUFPLEdBQUcsS0FBSyxHQUFHO0FBQ2xCLFFBQU0sT0FBTyxXQUFXLE1BQU0sS0FBSyxJQUFJLE1BQU0sT0FBTyxDQUFDO0FBQ3JELFNBQU8sR0FBRyxTQUFTLE1BQVM7QUFDNUIsUUFBTSxjQUFjLEtBQUssTUFBTSxPQUFPO0FBQ3RDLFNBQU8sY0FBYyxZQUFZLENBQUMsSUFBSTtBQUN4QzsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,64 @@
1
+ // src/library/tree.ts
2
+ function getParent(node) {
3
+ return node.parent;
4
+ }
5
+ function getAncestor(node, matcher, exitMatcher) {
6
+ const parent = getParent(node);
7
+ if (!parent) {
8
+ return void 0;
9
+ } else if (typeof matcher === "string" && parent.type === matcher) {
10
+ return parent;
11
+ } else if (typeof matcher === "function" && matcher(parent)) {
12
+ return parent;
13
+ } else if (typeof exitMatcher === "string" && parent.type === exitMatcher) {
14
+ return void 0;
15
+ } else if (typeof exitMatcher === "function" && exitMatcher(parent)) {
16
+ return void 0;
17
+ }
18
+ return getAncestor(parent, matcher, exitMatcher);
19
+ }
20
+ function isBlockStatement(node) {
21
+ return node.type.endsWith("Statement") || node.type.endsWith("Declaration");
22
+ }
23
+ function getEnclosingStatement(node) {
24
+ return getAncestor(node, isBlockStatement);
25
+ }
26
+ function getEnclosingScopeNode(node) {
27
+ return getAncestor(
28
+ node,
29
+ (parentNode) => ["FunctionExpression", "FunctionDeclaration", "ArrowFunctionExpression", "Program"].includes(parentNode.type)
30
+ );
31
+ }
32
+ function isUsedInArrayOrAsArgument(node) {
33
+ if (isBlockStatement(node)) {
34
+ return false;
35
+ }
36
+ const parent = getParent(node);
37
+ if (!parent) {
38
+ return false;
39
+ }
40
+ if (parent.type === "ArrayExpression" || parent.type === "CallExpression" && parent.arguments.includes(node)) {
41
+ return true;
42
+ }
43
+ return isUsedInArrayOrAsArgument(parent);
44
+ }
45
+ function getEnclosingFunction(node) {
46
+ if (node.type === "FunctionDeclaration" || node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") {
47
+ return node;
48
+ }
49
+ const parent = getParent(node);
50
+ if (!parent) {
51
+ return;
52
+ }
53
+ return getEnclosingFunction(parent);
54
+ }
55
+ export {
56
+ getAncestor,
57
+ getEnclosingFunction,
58
+ getEnclosingScopeNode,
59
+ getEnclosingStatement,
60
+ getParent,
61
+ isBlockStatement,
62
+ isUsedInArrayOrAsArgument
63
+ };
64
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2xpYnJhcnkvdHJlZS50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFnQk8sU0FBUyxVQUFVLE1BQXFDO0FBQzdELFNBQVEsS0FBd0M7QUFDbEQ7QUFFTyxTQUFTLFlBQ2QsTUFDQSxTQUNBLGFBQ2tCO0FBQ2xCLFFBQU0sU0FBUyxVQUFVLElBQUk7QUFDN0IsTUFBSSxDQUFDLFFBQVE7QUFDWCxXQUFPO0FBQUEsRUFDVCxXQUFXLE9BQU8sWUFBWSxZQUFZLE9BQU8sU0FBUyxTQUFTO0FBQ2pFLFdBQU87QUFBQSxFQUNULFdBQVcsT0FBTyxZQUFZLGNBQWMsUUFBUSxNQUFNLEdBQUc7QUFDM0QsV0FBTztBQUFBLEVBQ1QsV0FBVyxPQUFPLGdCQUFnQixZQUFZLE9BQU8sU0FBUyxhQUFhO0FBQ3pFLFdBQU87QUFBQSxFQUNULFdBQVcsT0FBTyxnQkFBZ0IsY0FBYyxZQUFZLE1BQU0sR0FBRztBQUNuRSxXQUFPO0FBQUEsRUFDVDtBQUNBLFNBQU8sWUFBWSxRQUFRLFNBQVMsV0FBVztBQUNqRDtBQUVPLFNBQVMsaUJBQWlCLE1BQVk7QUFDM0MsU0FBTyxLQUFLLEtBQUssU0FBUyxXQUFXLEtBQUssS0FBSyxLQUFLLFNBQVMsYUFBYTtBQUM1RTtBQUVPLFNBQVMsc0JBQXNCLE1BQVk7QUFDaEQsU0FBTyxZQUFZLE1BQU0sZ0JBQWdCO0FBQzNDO0FBRU8sU0FBUyxzQkFBc0IsTUFBWTtBQUNoRCxTQUFPO0FBQUEsSUFBWTtBQUFBLElBQU0sQ0FBQyxlQUN4QixDQUFDLHNCQUFzQix1QkFBdUIsMkJBQTJCLFNBQVMsRUFBRSxTQUFTLFdBQVcsSUFBSTtBQUFBLEVBQzlHO0FBQ0Y7QUFFTyxTQUFTLDBCQUEwQixNQUFZO0FBQ3BELE1BQUksaUJBQWlCLElBQUksR0FBRztBQUMxQixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sU0FBUyxVQUFVLElBQUk7QUFDN0IsTUFBSSxDQUFDLFFBQVE7QUFDWCxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQ0UsT0FBTyxTQUFTLHFCQUNmLE9BQU8sU0FBUyxvQkFBb0IsT0FBTyxVQUFVLFNBQVMsSUFBa0IsR0FDakY7QUFDQSxXQUFPO0FBQUEsRUFDVDtBQUdBLFNBQU8sMEJBQTBCLE1BQU07QUFDekM7QUFFTyxTQUFTLHFCQUFxQixNQUFZO0FBQy9DLE1BQ0UsS0FBSyxTQUFTLHlCQUNkLEtBQUssU0FBUyx3QkFDZCxLQUFLLFNBQVMsMkJBQ2Q7QUFDQSxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sU0FBUyxVQUFVLElBQUk7QUFDN0IsTUFBSSxDQUFDLFFBQVE7QUFDWDtBQUFBLEVBQ0Y7QUFDQSxTQUFPLHFCQUFxQixNQUFNO0FBQ3BDOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,72 @@
1
+ // src/library/ts-tree.ts
2
+ import { AST_NODE_TYPES } from "@typescript-eslint/utils";
3
+ function getParent(node) {
4
+ return node.parent;
5
+ }
6
+ function getAncestor(node, matcher, exitMatcher) {
7
+ const parent = getParent(node);
8
+ if (!parent) {
9
+ return void 0;
10
+ } else if (typeof matcher === "string" && parent.type === matcher) {
11
+ return parent;
12
+ } else if (typeof matcher === "function" && matcher(parent)) {
13
+ return parent;
14
+ } else if (typeof exitMatcher === "string" && parent.type === exitMatcher) {
15
+ return void 0;
16
+ } else if (typeof exitMatcher === "function" && exitMatcher(parent)) {
17
+ return void 0;
18
+ }
19
+ return getAncestor(parent, matcher, exitMatcher);
20
+ }
21
+ function isBlockStatement(node) {
22
+ return node.type.endsWith("Statement") || node.type.endsWith("Declaration");
23
+ }
24
+ function getEnclosingStatement(node) {
25
+ return getAncestor(node, isBlockStatement);
26
+ }
27
+ function getEnclosingScopeNode(node) {
28
+ return getAncestor(
29
+ node,
30
+ (parentNode) => ["FunctionExpression", "FunctionDeclaration", "ArrowFunctionExpression", "Program"].includes(parentNode.type)
31
+ );
32
+ }
33
+ function isUsedInArrayOrAsArgument(node) {
34
+ if (isBlockStatement(node)) {
35
+ return false;
36
+ }
37
+ const parent = getParent(node);
38
+ if (!parent) {
39
+ return false;
40
+ }
41
+ if (parent.type === AST_NODE_TYPES.ArrayExpression || parent.type === AST_NODE_TYPES.CallExpression && parent.arguments.includes(node)) {
42
+ return true;
43
+ }
44
+ return isUsedInArrayOrAsArgument(parent);
45
+ }
46
+ function getEnclosingFunction(node) {
47
+ if (node.type === AST_NODE_TYPES.FunctionDeclaration || node.type === AST_NODE_TYPES.FunctionExpression || node.type === AST_NODE_TYPES.ArrowFunctionExpression) {
48
+ return node;
49
+ }
50
+ const parent = getParent(node);
51
+ if (!parent) {
52
+ return;
53
+ }
54
+ return getEnclosingFunction(parent);
55
+ }
56
+ function getTypeParentNode(node) {
57
+ if (!node) {
58
+ return void 0;
59
+ }
60
+ return node.type === AST_NODE_TYPES.TSTypeAnnotation || node.type === AST_NODE_TYPES.TSAsExpression ? node : getTypeParentNode(node.parent);
61
+ }
62
+ export {
63
+ getAncestor,
64
+ getEnclosingFunction,
65
+ getEnclosingScopeNode,
66
+ getEnclosingStatement,
67
+ getParent,
68
+ getTypeParentNode,
69
+ isBlockStatement,
70
+ isUsedInArrayOrAsArgument
71
+ };
72
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2xpYnJhcnkvdHMtdHJlZS50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLHNCQUFnQztBQVFsQyxTQUFTLFVBQVUsTUFBdUQ7QUFDL0UsU0FBUSxLQUF3QztBQUNsRDtBQUVPLFNBQVMsWUFDZCxNQUNBLFNBQ0EsYUFDMkI7QUFDM0IsUUFBTSxTQUFTLFVBQVUsSUFBSTtBQUM3QixNQUFJLENBQUMsUUFBUTtBQUNYLFdBQU87QUFBQSxFQUNULFdBQVcsT0FBTyxZQUFZLFlBQVksT0FBTyxTQUFTLFNBQVM7QUFDakUsV0FBTztBQUFBLEVBQ1QsV0FBVyxPQUFPLFlBQVksY0FBYyxRQUFRLE1BQU0sR0FBRztBQUMzRCxXQUFPO0FBQUEsRUFDVCxXQUFXLE9BQU8sZ0JBQWdCLFlBQVksT0FBTyxTQUFTLGFBQWE7QUFDekUsV0FBTztBQUFBLEVBQ1QsV0FBVyxPQUFPLGdCQUFnQixjQUFjLFlBQVksTUFBTSxHQUFHO0FBQ25FLFdBQU87QUFBQSxFQUNUO0FBQ0EsU0FBTyxZQUFZLFFBQVEsU0FBUyxXQUFXO0FBQ2pEO0FBRU8sU0FBUyxpQkFBaUIsTUFBcUI7QUFDcEQsU0FBTyxLQUFLLEtBQUssU0FBUyxXQUFXLEtBQUssS0FBSyxLQUFLLFNBQVMsYUFBYTtBQUM1RTtBQUVPLFNBQVMsc0JBQXNCLE1BQXFCO0FBQ3pELFNBQU8sWUFBWSxNQUFNLGdCQUFnQjtBQUMzQztBQUVPLFNBQVMsc0JBQXNCLE1BQXFCO0FBQ3pELFNBQU87QUFBQSxJQUFZO0FBQUEsSUFBTSxDQUFDLGVBQ3hCLENBQUMsc0JBQXNCLHVCQUF1QiwyQkFBMkIsU0FBUyxFQUFFLFNBQVMsV0FBVyxJQUFJO0FBQUEsRUFDOUc7QUFDRjtBQUVPLFNBQVMsMEJBQTBCLE1BQXFCO0FBQzdELE1BQUksaUJBQWlCLElBQUksR0FBRztBQUMxQixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sU0FBUyxVQUFVLElBQUk7QUFDN0IsTUFBSSxDQUFDLFFBQVE7QUFDWCxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQ0UsT0FBTyxTQUFTLGVBQWUsbUJBQzlCLE9BQU8sU0FBUyxlQUFlLGtCQUFrQixPQUFPLFVBQVUsU0FBUyxJQUEyQixHQUN2RztBQUNBLFdBQU87QUFBQSxFQUNUO0FBR0EsU0FBTywwQkFBMEIsTUFBTTtBQUN6QztBQUVPLFNBQVMscUJBQXFCLE1BQXFCO0FBQ3hELE1BQ0UsS0FBSyxTQUFTLGVBQWUsdUJBQzdCLEtBQUssU0FBUyxlQUFlLHNCQUM3QixLQUFLLFNBQVMsZUFBZSx5QkFDN0I7QUFDQSxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sU0FBUyxVQUFVLElBQUk7QUFDN0IsTUFBSSxDQUFDLFFBQVE7QUFDWDtBQUFBLEVBQ0Y7QUFDQSxTQUFPLHFCQUFxQixNQUFNO0FBQ3BDO0FBRU8sU0FBUyxrQkFDZCxNQUNpRTtBQUNqRSxNQUFJLENBQUMsTUFBTTtBQUNULFdBQU87QUFBQSxFQUNUO0FBQ0EsU0FBTyxLQUFLLFNBQVMsZUFBZSxvQkFBb0IsS0FBSyxTQUFTLGVBQWUsaUJBQ2pGLE9BQ0Esa0JBQWtCLEtBQUssTUFBTTtBQUNuQzsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,8 @@
1
+ // src/library/variable.ts
2
+ function isValidPropertyName(name) {
3
+ return typeof name === "string" && /^[a-zA-Z_$][a-zA-Z_$0-9]*$/u.test(name);
4
+ }
5
+ export {
6
+ isValidPropertyName
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2xpYnJhcnkvdmFyaWFibGUudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBRU8sU0FBUyxvQkFBb0IsTUFBZTtBQUNqRCxTQUFPLE9BQU8sU0FBUyxZQUFZLDhCQUE4QixLQUFLLElBQUk7QUFDNUU7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -3,6 +3,15 @@ import { ESLintUtils, TSESTree } from "@typescript-eslint/utils";
3
3
  var ruleId = "no-enum";
4
4
  var NO_ENUM = "NO_ENUM";
5
5
  var createRule = ESLintUtils.RuleCreator((name) => name);
6
+ function isJsonSchemaProperty(node) {
7
+ if (!node) {
8
+ return false;
9
+ }
10
+ if (node.type === TSESTree.AST_NODE_TYPES.Property && node.key.type === TSESTree.AST_NODE_TYPES.Identifier && node.key.name === "properties") {
11
+ return true;
12
+ }
13
+ return isJsonSchemaProperty(node.parent);
14
+ }
6
15
  var rule = createRule({
7
16
  name: ruleId,
8
17
  meta: {
@@ -25,7 +34,7 @@ var rule = createRule({
25
34
  });
26
35
  },
27
36
  Property(node) {
28
- if (node.key.type === TSESTree.AST_NODE_TYPES.Identifier && node.key.name === "enum" && node.value.type === TSESTree.AST_NODE_TYPES.ArrayExpression) {
37
+ if (node.key.type === TSESTree.AST_NODE_TYPES.Identifier && node.key.name === "enum" && node.value.type === TSESTree.AST_NODE_TYPES.ArrayExpression && !isJsonSchemaProperty(node.parent)) {
29
38
  context.report({
30
39
  node,
31
40
  messageId: NO_ENUM
@@ -40,4 +49,4 @@ export {
40
49
  no_enum_default as default,
41
50
  ruleId
42
51
  };
43
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLWVudW0udHMiXSwKICAibWFwcGluZ3MiOiAiO0FBRUEsU0FBUyxhQUFhLGdCQUFnQjtBQVEvQixJQUFNLFNBQVM7QUFDdEIsSUFBTSxVQUFVO0FBRWhCLElBQU0sYUFBYSxZQUFZLFlBQVksQ0FBQyxTQUFTLElBQUk7QUFFekQsSUFBTSxPQUFPLFdBQVc7QUFBQSxFQUN0QixNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxVQUFVO0FBQUEsTUFDUixDQUFDLE9BQU8sR0FBRztBQUFBLElBQ2I7QUFBQSxFQUNGO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFdBQU87QUFBQSxNQUNMLGtCQUFrQixNQUFrQztBQUNsRCxnQkFBUSxPQUFPO0FBQUEsVUFDYjtBQUFBLFVBQ0EsV0FBVztBQUFBLFFBQ2IsQ0FBQztBQUFBLE1BQ0g7QUFBQSxNQUNBLFNBQVMsTUFBeUI7QUFDaEMsWUFDRSxLQUFLLElBQUksU0FBUyxTQUFTLGVBQWUsY0FDMUMsS0FBSyxJQUFJLFNBQVMsVUFDbEIsS0FBSyxNQUFNLFNBQVMsU0FBUyxlQUFlLGlCQUM1QztBQUNBLGtCQUFRLE9BQU87QUFBQSxZQUNiO0FBQUEsWUFDQSxXQUFXO0FBQUEsVUFDYixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFFRCxJQUFPLGtCQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
52
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLWVudW0udHMiXSwKICAibWFwcGluZ3MiOiAiO0FBUUEsU0FBUyxhQUFhLGdCQUFnQjtBQUUvQixJQUFNLFNBQVM7QUFDdEIsSUFBTSxVQUFVO0FBRWhCLElBQU0sYUFBYSxZQUFZLFlBQVksQ0FBQyxTQUFTLElBQUk7QUFFekQsU0FBUyxxQkFBcUIsTUFBK0I7QUFDM0QsTUFBSSxDQUFDLE1BQU07QUFDVCxXQUFPO0FBQUEsRUFDVDtBQUNBLE1BQ0UsS0FBSyxTQUFTLFNBQVMsZUFBZSxZQUN0QyxLQUFLLElBQUksU0FBUyxTQUFTLGVBQWUsY0FDMUMsS0FBSyxJQUFJLFNBQVMsY0FDbEI7QUFDQSxXQUFPO0FBQUEsRUFDVDtBQUNBLFNBQU8scUJBQXFCLEtBQUssTUFBTTtBQUN6QztBQUVBLElBQU0sT0FBTyxXQUFXO0FBQUEsRUFDdEIsTUFBTTtBQUFBLEVBQ04sTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFFBQVEsQ0FBQztBQUFBLElBQ1QsVUFBVTtBQUFBLE1BQ1IsQ0FBQyxPQUFPLEdBQUc7QUFBQSxJQUNiO0FBQUEsRUFDRjtBQUFBLEVBQ0EsZ0JBQWdCLENBQUM7QUFBQSxFQUNqQixPQUFPLFNBQVM7QUFDZCxXQUFPO0FBQUEsTUFDTCxrQkFBa0IsTUFBa0M7QUFDbEQsZ0JBQVEsT0FBTztBQUFBLFVBQ2I7QUFBQSxVQUNBLFdBQVc7QUFBQSxRQUNiLENBQUM7QUFBQSxNQUNIO0FBQUEsTUFDQSxTQUFTLE1BQXlCO0FBQ2hDLFlBQ0UsS0FBSyxJQUFJLFNBQVMsU0FBUyxlQUFlLGNBQzFDLEtBQUssSUFBSSxTQUFTLFVBQ2xCLEtBQUssTUFBTSxTQUFTLFNBQVMsZUFBZSxtQkFDNUMsQ0FBQyxxQkFBcUIsS0FBSyxNQUFNLEdBQ2pDO0FBQ0Esa0JBQVEsT0FBTztBQUFBLFlBQ2I7QUFBQSxZQUNBLFdBQVc7QUFBQSxVQUNiLENBQUM7QUFBQSxRQUNIO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUVELElBQU8sa0JBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==