@checkdigit/eslint-plugin 7.6.0-PR.75-7ee9 → 7.6.0-PR.97-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.
Files changed (77) hide show
  1. package/dist-mjs/index.mjs +8 -156
  2. package/dist-mjs/no-status-code-assert.mjs +63 -0
  3. package/dist-mjs/require-resolve-full-response.mjs +5 -5
  4. package/dist-types/no-status-code-assert.d.ts +5 -0
  5. package/package.json +1 -1
  6. package/src/index.ts +4 -152
  7. package/src/no-status-code-assert.ts +85 -0
  8. package/src/require-resolve-full-response.ts +4 -4
  9. package/dist-mjs/agent/add-assert-import.mjs +0 -58
  10. package/dist-mjs/agent/add-base-path-const.mjs +0 -65
  11. package/dist-mjs/agent/add-base-path-import.mjs +0 -60
  12. package/dist-mjs/agent/add-url-domain.mjs +0 -61
  13. package/dist-mjs/agent/agent-test-wiring.mjs +0 -221
  14. package/dist-mjs/agent/fetch-response-body-json.mjs +0 -146
  15. package/dist-mjs/agent/fetch-response-header-getter.mjs +0 -117
  16. package/dist-mjs/agent/fetch-response-status.mjs +0 -76
  17. package/dist-mjs/agent/fetch-then.mjs +0 -273
  18. package/dist-mjs/agent/fetch.mjs +0 -48
  19. package/dist-mjs/agent/file.mjs +0 -43
  20. package/dist-mjs/agent/fix-function-call-arguments.mjs +0 -153
  21. package/dist-mjs/agent/no-fixture.mjs +0 -397
  22. package/dist-mjs/agent/no-mapped-response.mjs +0 -75
  23. package/dist-mjs/agent/no-service-wrapper.mjs +0 -185
  24. package/dist-mjs/agent/no-status-code.mjs +0 -59
  25. package/dist-mjs/agent/no-supertest.mjs +0 -346
  26. package/dist-mjs/agent/no-unused-function-argument.mjs +0 -79
  27. package/dist-mjs/agent/no-unused-imports.mjs +0 -81
  28. package/dist-mjs/agent/no-unused-service-variable.mjs +0 -74
  29. package/dist-mjs/agent/response-reference.mjs +0 -78
  30. package/dist-mjs/agent/supertest-then.mjs +0 -170
  31. package/dist-mjs/agent/url.mjs +0 -32
  32. package/dist-types/agent/add-assert-import.d.ts +0 -4
  33. package/dist-types/agent/add-base-path-const.d.ts +0 -4
  34. package/dist-types/agent/add-base-path-import.d.ts +0 -4
  35. package/dist-types/agent/add-url-domain.d.ts +0 -4
  36. package/dist-types/agent/agent-test-wiring.d.ts +0 -4
  37. package/dist-types/agent/fetch-response-body-json.d.ts +0 -4
  38. package/dist-types/agent/fetch-response-header-getter.d.ts +0 -4
  39. package/dist-types/agent/fetch-response-status.d.ts +0 -4
  40. package/dist-types/agent/fetch-then.d.ts +0 -4
  41. package/dist-types/agent/fetch.d.ts +0 -8
  42. package/dist-types/agent/file.d.ts +0 -7
  43. package/dist-types/agent/fix-function-call-arguments.d.ts +0 -9
  44. package/dist-types/agent/no-fixture.d.ts +0 -4
  45. package/dist-types/agent/no-mapped-response.d.ts +0 -4
  46. package/dist-types/agent/no-service-wrapper.d.ts +0 -4
  47. package/dist-types/agent/no-status-code.d.ts +0 -4
  48. package/dist-types/agent/no-supertest.d.ts +0 -4
  49. package/dist-types/agent/no-unused-function-argument.d.ts +0 -4
  50. package/dist-types/agent/no-unused-imports.d.ts +0 -4
  51. package/dist-types/agent/no-unused-service-variable.d.ts +0 -4
  52. package/dist-types/agent/response-reference.d.ts +0 -17
  53. package/dist-types/agent/supertest-then.d.ts +0 -4
  54. package/dist-types/agent/url.d.ts +0 -4
  55. package/src/agent/add-assert-import.ts +0 -74
  56. package/src/agent/add-base-path-const.ts +0 -81
  57. package/src/agent/add-base-path-import.ts +0 -69
  58. package/src/agent/add-url-domain.ts +0 -76
  59. package/src/agent/agent-test-wiring.ts +0 -273
  60. package/src/agent/fetch-response-body-json.ts +0 -194
  61. package/src/agent/fetch-response-header-getter.ts +0 -148
  62. package/src/agent/fetch-response-status.ts +0 -100
  63. package/src/agent/fetch-then.ts +0 -359
  64. package/src/agent/fetch.ts +0 -69
  65. package/src/agent/file.ts +0 -42
  66. package/src/agent/fix-function-call-arguments.ts +0 -200
  67. package/src/agent/no-fixture.ts +0 -581
  68. package/src/agent/no-mapped-response.ts +0 -84
  69. package/src/agent/no-service-wrapper.ts +0 -241
  70. package/src/agent/no-status-code.ts +0 -69
  71. package/src/agent/no-supertest.ts +0 -517
  72. package/src/agent/no-unused-function-argument.ts +0 -98
  73. package/src/agent/no-unused-imports.ts +0 -103
  74. package/src/agent/no-unused-service-variable.ts +0 -93
  75. package/src/agent/response-reference.ts +0 -153
  76. package/src/agent/supertest-then.ts +0 -230
  77. package/src/agent/url.ts +0 -32
@@ -1,30 +1,8 @@
1
1
  // src/index.ts
2
- import addUrlDomain, { ruleId as addUrlDomainRuleId } from "./agent/add-url-domain.mjs";
3
- import agentTestWiring, { ruleId as agentTestWiringRuleId } from "./agent/agent-test-wiring.mjs";
4
- import fetchResponseBodyJson, { ruleId as fetchResponseBodyJsonRuleId } from "./agent/fetch-response-body-json.mjs";
5
- import fetchResponseHeaderGetter, {
6
- ruleId as fetchResponseHeaderGetterRuleId
7
- } from "./agent/fetch-response-header-getter.mjs";
8
- import fetchResponseStatus, { ruleId as fetchResponseStatusRuleId } from "./agent/fetch-response-status.mjs";
9
- import fetchThen, { ruleId as fetchThenRuleId } from "./agent/fetch-then.mjs";
10
- import fixFunctionCallArguments, {
11
- ruleId as fixFunctionCallArgumentsRuleId
12
- } from "./agent/fix-function-call-arguments.mjs";
13
2
  import invalidJsonStringify, { ruleId as invalidJsonStringifyRuleId } from "./invalid-json-stringify.mjs";
14
3
  import noDuplicatedImports, { ruleId as noDuplicatedImportsRuleId } from "./no-duplicated-imports.mjs";
15
- import noFixture, { ruleId as noFixtureRuleId } from "./agent/no-fixture.mjs";
16
- import noSupertest, { ruleId as noSupertestRuleId } from "./agent/no-supertest.mjs";
17
- import supertestThen, { ruleId as supertestThenRuleId } from "./agent/supertest-then.mjs";
18
4
  import noLegacyServiceTyping, { ruleId as noLegacyServiceTypingRuleId } from "./no-legacy-service-typing.mjs";
19
- import noMappedResponse, { ruleId as noMappedResponseRuleId } from "./agent/no-mapped-response.mjs";
20
5
  import noPromiseInstanceMethod, { ruleId as noPromiseInstanceMethodRuleId } from "./no-promise-instance-method.mjs";
21
- import noServiceWrapper, { ruleId as noServiceWrapperRuleId } from "./agent/no-service-wrapper.mjs";
22
- import noStatusCode, { ruleId as noStatusCodeRuleId } from "./agent/no-status-code.mjs";
23
- import noUnusedFunctionArguments, {
24
- ruleId as noUnusedFunctionArgumentsRuleId
25
- } from "./agent/no-unused-function-argument.mjs";
26
- import noUnusedImports, { ruleId as noUnusedImportsRuleId } from "./agent/no-unused-imports.mjs";
27
- import noUnusedServiceVariables, { ruleId as noUnusedServiceVariablesRuleId } from "./agent/no-unused-service-variable.mjs";
28
6
  import requireFixedServicesImport, {
29
7
  ruleId as requireFixedServicesImportRuleId
30
8
  } from "./require-fixed-services-import.mjs";
@@ -35,13 +13,11 @@ import requireTypeOutOfTypeOnlyImports, {
35
13
  ruleId as requireTypeOutOfTypeOnlyImportsRuleId
36
14
  } from "./require-type-out-of-type-only-imports.mjs";
37
15
  import noServeRuntime, { ruleId as noServeRuntimeRuleId } from "./no-serve-runtime.mjs";
38
- import addBasePathConst, { ruleId as addBasePathConstRuleId } from "./agent/add-base-path-const.mjs";
39
- import addBasePathImport, { ruleId as addBasePathImportRuleId } from "./agent/add-base-path-import.mjs";
40
- import addAssertImport, { ruleId as addAssertImportRuleId } from "./agent/add-assert-import.mjs";
41
16
  import filePathComment from "./file-path-comment.mjs";
42
17
  import noCardNumbers from "./no-card-numbers.mjs";
43
18
  import noSideEffects from "./no-side-effects.mjs";
44
19
  import noRandomV4UUID from "./no-random-v4-uuid.mjs";
20
+ import noStatusCodeAssert from "./no-status-code-assert.mjs";
45
21
  import noTestImport from "./no-test-import.mjs";
46
22
  import noUuid from "./no-uuid.mjs";
47
23
  import noWallabyComment from "./no-wallaby-comment.mjs";
@@ -53,6 +29,7 @@ var rules = {
53
29
  "file-path-comment": filePathComment,
54
30
  "no-card-numbers": noCardNumbers,
55
31
  "no-random-v4-uuid": noRandomV4UUID,
32
+ "no-status-code-assert": noStatusCodeAssert,
56
33
  "no-uuid": noUuid,
57
34
  "require-strict-assert": requireStrictAssert,
58
35
  "no-test-import": noTestImport,
@@ -63,31 +40,12 @@ var rules = {
63
40
  "object-literal-response": objectLiteralResponse,
64
41
  [invalidJsonStringifyRuleId]: invalidJsonStringify,
65
42
  [noPromiseInstanceMethodRuleId]: noPromiseInstanceMethod,
66
- [noFixtureRuleId]: noFixture,
67
- [noSupertestRuleId]: noSupertest,
68
- [supertestThenRuleId]: supertestThen,
69
- [fetchThenRuleId]: fetchThen,
70
- [noServiceWrapperRuleId]: noServiceWrapper,
71
- [noStatusCodeRuleId]: noStatusCode,
72
- [fetchResponseBodyJsonRuleId]: fetchResponseBodyJson,
73
- [fetchResponseHeaderGetterRuleId]: fetchResponseHeaderGetter,
74
- [fetchResponseStatusRuleId]: fetchResponseStatus,
75
- [addUrlDomainRuleId]: addUrlDomain,
76
43
  [noLegacyServiceTypingRuleId]: noLegacyServiceTyping,
77
- [noMappedResponseRuleId]: noMappedResponse,
78
44
  [requireResolveFullResponseRuleId]: requireResolveFullResponse,
79
45
  [noDuplicatedImportsRuleId]: noDuplicatedImports,
80
46
  [noServeRuntimeRuleId]: noServeRuntime,
81
- [addBasePathConstRuleId]: addBasePathConst,
82
- [addBasePathImportRuleId]: addBasePathImport,
83
- [addAssertImportRuleId]: addAssertImport,
84
47
  [requireFixedServicesImportRuleId]: requireFixedServicesImport,
85
- [requireTypeOutOfTypeOnlyImportsRuleId]: requireTypeOutOfTypeOnlyImports,
86
- [noUnusedFunctionArgumentsRuleId]: noUnusedFunctionArguments,
87
- [noUnusedServiceVariablesRuleId]: noUnusedServiceVariables,
88
- [noUnusedImportsRuleId]: noUnusedImports,
89
- [fixFunctionCallArgumentsRuleId]: fixFunctionCallArguments,
90
- [agentTestWiringRuleId]: agentTestWiring
48
+ [requireTypeOutOfTypeOnlyImportsRuleId]: requireTypeOutOfTypeOnlyImports
91
49
  };
92
50
  var plugin = {
93
51
  rules
@@ -103,6 +61,7 @@ var configs = {
103
61
  "@checkdigit/no-card-numbers": "error",
104
62
  "@checkdigit/file-path-comment": "error",
105
63
  "@checkdigit/no-random-v4-uuid": "error",
64
+ "@checkdigit/no-status-code-assert": "error",
106
65
  "@checkdigit/no-uuid": "error",
107
66
  "@checkdigit/require-strict-assert": "error",
108
67
  "@checkdigit/no-wallaby-comment": "error",
@@ -118,28 +77,7 @@ var configs = {
118
77
  [`@checkdigit/${noDuplicatedImportsRuleId}`]: "error",
119
78
  [`@checkdigit/${requireFixedServicesImportRuleId}`]: "error",
120
79
  [`@checkdigit/${requireTypeOutOfTypeOnlyImportsRuleId}`]: "error",
121
- [`@checkdigit/${noServeRuntimeRuleId}`]: "error",
122
- // --- agent rules BEGIN ---
123
- [`@checkdigit/${noMappedResponseRuleId}`]: "off",
124
- [`@checkdigit/${addUrlDomainRuleId}`]: "off",
125
- [`@checkdigit/${noFixtureRuleId}`]: "off",
126
- [`@checkdigit/${noSupertestRuleId}`]: "off",
127
- [`@checkdigit/${supertestThenRuleId}`]: "off",
128
- [`@checkdigit/${noServiceWrapperRuleId}`]: "off",
129
- [`@checkdigit/${noStatusCodeRuleId}`]: "off",
130
- [`@checkdigit/${fetchResponseBodyJsonRuleId}`]: "off",
131
- [`@checkdigit/${fetchResponseHeaderGetterRuleId}`]: "off",
132
- [`@checkdigit/${fetchResponseStatusRuleId}`]: "off",
133
- [`@checkdigit/${fetchThenRuleId}`]: "off",
134
- [`@checkdigit/${noUnusedFunctionArgumentsRuleId}`]: "off",
135
- [`@checkdigit/${noUnusedServiceVariablesRuleId}`]: "off",
136
- [`@checkdigit/${noUnusedImportsRuleId}`]: "off",
137
- [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: "off",
138
- [`@checkdigit/${agentTestWiringRuleId}`]: "off",
139
- [`@checkdigit/${addBasePathConstRuleId}`]: "off",
140
- [`@checkdigit/${addBasePathImportRuleId}`]: "off",
141
- [`@checkdigit/${addAssertImportRuleId}`]: "off"
142
- // --- agent rules END ---
80
+ [`@checkdigit/${noServeRuntimeRuleId}`]: "error"
143
81
  }
144
82
  }
145
83
  ],
@@ -153,6 +91,7 @@ var configs = {
153
91
  "@checkdigit/no-card-numbers": "error",
154
92
  "@checkdigit/file-path-comment": "off",
155
93
  "@checkdigit/no-random-v4-uuid": "error",
94
+ "@checkdigit/no-status-code-assert": "error",
156
95
  "@checkdigit/no-uuid": "error",
157
96
  "@checkdigit/require-strict-assert": "error",
158
97
  "@checkdigit/no-wallaby-comment": "off",
@@ -168,94 +107,7 @@ var configs = {
168
107
  [`@checkdigit/${noDuplicatedImportsRuleId}`]: "error",
169
108
  [`@checkdigit/${requireFixedServicesImportRuleId}`]: "off",
170
109
  [`@checkdigit/${requireTypeOutOfTypeOnlyImportsRuleId}`]: "error",
171
- [`@checkdigit/${noServeRuntimeRuleId}`]: "off",
172
- // --- agent rules BEGIN ---
173
- [`@checkdigit/${noMappedResponseRuleId}`]: "off",
174
- [`@checkdigit/${addUrlDomainRuleId}`]: "off",
175
- [`@checkdigit/${noFixtureRuleId}`]: "off",
176
- [`@checkdigit/${noSupertestRuleId}`]: "off",
177
- [`@checkdigit/${supertestThenRuleId}`]: "off",
178
- [`@checkdigit/${noServiceWrapperRuleId}`]: "off",
179
- [`@checkdigit/${noStatusCodeRuleId}`]: "off",
180
- [`@checkdigit/${fetchResponseBodyJsonRuleId}`]: "off",
181
- [`@checkdigit/${fetchResponseHeaderGetterRuleId}`]: "off",
182
- [`@checkdigit/${fetchResponseStatusRuleId}`]: "off",
183
- [`@checkdigit/${fetchThenRuleId}`]: "off",
184
- [`@checkdigit/${noUnusedFunctionArgumentsRuleId}`]: "off",
185
- [`@checkdigit/${noUnusedServiceVariablesRuleId}`]: "off",
186
- [`@checkdigit/${noUnusedImportsRuleId}`]: "off",
187
- [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: "off",
188
- [`@checkdigit/${agentTestWiringRuleId}`]: "off",
189
- [`@checkdigit/${addBasePathConstRuleId}`]: "off",
190
- [`@checkdigit/${addBasePathImportRuleId}`]: "off",
191
- [`@checkdigit/${addAssertImportRuleId}`]: "off"
192
- // --- agent rules END ---
193
- }
194
- }
195
- ],
196
- "agent-phase-1-test": [
197
- {
198
- files: ["**/*.spec.ts", "**/*.test.ts", "src/api/v*/index.ts"],
199
- // eslint-disable-next-line sonarjs/no-duplicate-string
200
- ignores: ["src/plugin/**"],
201
- plugins: {
202
- "@checkdigit": plugin
203
- },
204
- rules: {
205
- [`@checkdigit/${noMappedResponseRuleId}`]: "error",
206
- [`@checkdigit/${addUrlDomainRuleId}`]: "error",
207
- [`@checkdigit/${noServiceWrapperRuleId}`]: "error",
208
- [`@checkdigit/${noStatusCodeRuleId}`]: "error",
209
- [`@checkdigit/${fetchResponseBodyJsonRuleId}`]: "error",
210
- [`@checkdigit/${fetchResponseHeaderGetterRuleId}`]: "error",
211
- [`@checkdigit/${fetchResponseStatusRuleId}`]: "error",
212
- [`@checkdigit/${fetchThenRuleId}`]: "error",
213
- [`@checkdigit/${noUnusedFunctionArgumentsRuleId}`]: "error",
214
- [`@checkdigit/${noUnusedServiceVariablesRuleId}`]: "error",
215
- [`@checkdigit/${noUnusedImportsRuleId}`]: "error",
216
- [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: "error",
217
- [`@checkdigit/${addBasePathConstRuleId}`]: "error",
218
- [`@checkdigit/${addBasePathImportRuleId}`]: "error",
219
- [`@checkdigit/${addAssertImportRuleId}`]: "error",
220
- [`@checkdigit/${noFixtureRuleId}`]: "error",
221
- [`@checkdigit/${noSupertestRuleId}`]: "error",
222
- [`@checkdigit/${supertestThenRuleId}`]: "error"
223
- }
224
- },
225
- {
226
- files: ["**/*.spec.ts"],
227
- ignores: ["src/plugin/**"],
228
- plugins: {
229
- "@checkdigit": plugin
230
- },
231
- rules: {
232
- [`@checkdigit/${agentTestWiringRuleId}`]: "error"
233
- }
234
- }
235
- ],
236
- "agent-phase-2-production": [
237
- {
238
- files: ["**/*.ts"],
239
- ignores: ["src/plugin/**"],
240
- plugins: {
241
- "@checkdigit": plugin
242
- },
243
- rules: {
244
- [`@checkdigit/${noMappedResponseRuleId}`]: "error",
245
- [`@checkdigit/${addUrlDomainRuleId}`]: "error",
246
- [`@checkdigit/${noServiceWrapperRuleId}`]: "error",
247
- [`@checkdigit/${noStatusCodeRuleId}`]: "error",
248
- [`@checkdigit/${fetchResponseBodyJsonRuleId}`]: "error",
249
- [`@checkdigit/${fetchResponseHeaderGetterRuleId}`]: "error",
250
- [`@checkdigit/${fetchResponseStatusRuleId}`]: "error",
251
- [`@checkdigit/${fetchThenRuleId}`]: "error",
252
- [`@checkdigit/${noUnusedFunctionArgumentsRuleId}`]: "error",
253
- [`@checkdigit/${noUnusedServiceVariablesRuleId}`]: "error",
254
- [`@checkdigit/${noUnusedImportsRuleId}`]: "error",
255
- [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: "error",
256
- [`@checkdigit/${addBasePathConstRuleId}`]: "error",
257
- [`@checkdigit/${addBasePathImportRuleId}`]: "error",
258
- [`@checkdigit/${addAssertImportRuleId}`]: "error"
110
+ [`@checkdigit/${noServeRuntimeRuleId}`]: "off"
259
111
  }
260
112
  }
261
113
  ]
@@ -268,4 +120,4 @@ var src_default = defaultToExport;
268
120
  export {
269
121
  src_default as default
270
122
  };
271
- //# sourceMappingURL=data:application/json;base64,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
123
+ //# sourceMappingURL=data:application/json;base64,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
@@ -0,0 +1,63 @@
1
+ // src/no-status-code-assert.ts
2
+ import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
3
+ import getDocumentationUrl from "./get-documentation-url.mjs";
4
+ var ruleId = "no-status-code-assert";
5
+ var NO_STATUS_CODE_ASSERT = "NO_STATUS_CODE_ASSERT";
6
+ var keywords = ["status", "code", "StatusCodes", "statusCode"];
7
+ var createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
8
+ var checkName = (name) => name !== void 0 && keywords.some((keyword) => name.toLowerCase().includes(keyword));
9
+ var hasStatusCodeOrValue = (arg) => {
10
+ switch (arg.type) {
11
+ case AST_NODE_TYPES.Identifier:
12
+ return checkName(arg.name);
13
+ case AST_NODE_TYPES.MemberExpression: {
14
+ const object = arg.object;
15
+ const property = arg.property;
16
+ if (object.type === AST_NODE_TYPES.Identifier && checkName(object.name)) {
17
+ return true;
18
+ }
19
+ if (property.type === AST_NODE_TYPES.Identifier) {
20
+ return checkName(property.name);
21
+ }
22
+ if (property.type === AST_NODE_TYPES.Literal && typeof property.value === "string") {
23
+ return checkName(property.value);
24
+ }
25
+ break;
26
+ }
27
+ case AST_NODE_TYPES.BinaryExpression:
28
+ return hasStatusCodeOrValue(arg.left) || hasStatusCodeOrValue(arg.right);
29
+ }
30
+ return false;
31
+ };
32
+ var rule = createRule({
33
+ name: ruleId,
34
+ meta: {
35
+ type: "problem",
36
+ docs: {
37
+ description: "Disallow the use of status, code, or value as parameter in assert"
38
+ },
39
+ schema: [],
40
+ messages: {
41
+ [NO_STATUS_CODE_ASSERT]: "Avoid using status, code, or value in assert"
42
+ }
43
+ },
44
+ defaultOptions: [],
45
+ create(context) {
46
+ return {
47
+ CallExpression(node) {
48
+ if (node.arguments.some(hasStatusCodeOrValue)) {
49
+ context.report({
50
+ node,
51
+ messageId: NO_STATUS_CODE_ASSERT
52
+ });
53
+ }
54
+ }
55
+ };
56
+ }
57
+ });
58
+ var no_status_code_assert_default = rule;
59
+ export {
60
+ no_status_code_assert_default as default,
61
+ ruleId
62
+ };
63
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXN0YXR1cy1jb2RlLWFzc2VydC50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLGdCQUFnQixtQkFBdUM7QUFDaEUsT0FBTyx5QkFBeUI7QUFFekIsSUFBTSxTQUFTO0FBQ3RCLElBQU0sd0JBQXdCO0FBQzlCLElBQU0sV0FBVyxDQUFDLFVBQVUsUUFBUSxlQUFlLFlBQVk7QUFFL0QsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsb0JBQW9CLElBQUksQ0FBQztBQVE5RSxJQUFNLFlBQVksQ0FBQyxTQUNqQixTQUFTLFVBQWEsU0FBUyxLQUFLLENBQUMsWUFBWSxLQUFLLFlBQVksRUFBRSxTQUFTLE9BQU8sQ0FBQztBQVN2RixJQUFNLHVCQUF1QixDQUFDLFFBQWdDO0FBQzVELFVBQVEsSUFBSSxNQUFNO0FBQUEsSUFDaEIsS0FBSyxlQUFlO0FBQ2xCLGFBQU8sVUFBVSxJQUFJLElBQUk7QUFBQSxJQUMzQixLQUFLLGVBQWUsa0JBQWtCO0FBQ3BDLFlBQU0sU0FBUyxJQUFJO0FBQ25CLFlBQU0sV0FBVyxJQUFJO0FBQ3JCLFVBQUksT0FBTyxTQUFTLGVBQWUsY0FBYyxVQUFVLE9BQU8sSUFBSSxHQUFHO0FBQ3ZFLGVBQU87QUFBQSxNQUNUO0FBQ0EsVUFBSSxTQUFTLFNBQVMsZUFBZSxZQUFZO0FBQy9DLGVBQU8sVUFBVSxTQUFTLElBQUk7QUFBQSxNQUNoQztBQUNBLFVBQUksU0FBUyxTQUFTLGVBQWUsV0FBVyxPQUFPLFNBQVMsVUFBVSxVQUFVO0FBQ2xGLGVBQU8sVUFBVSxTQUFTLEtBQUs7QUFBQSxNQUNqQztBQUNBO0FBQUEsSUFDRjtBQUFBLElBQ0EsS0FBSyxlQUFlO0FBQ2xCLGFBQU8scUJBQXFCLElBQUksSUFBSSxLQUFLLHFCQUFxQixJQUFJLEtBQUs7QUFBQSxFQUMzRTtBQUNBLFNBQU87QUFDVDtBQUVBLElBQU0sT0FBMEQsV0FBVztBQUFBLEVBQ3pFLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxJQUNULFVBQVU7QUFBQSxNQUNSLENBQUMscUJBQXFCLEdBQUc7QUFBQSxJQUMzQjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLGdCQUFnQixDQUFDO0FBQUEsRUFDakIsT0FBTyxTQUFTO0FBQ2QsV0FBTztBQUFBLE1BQ0wsZUFBZSxNQUErQjtBQUM1QyxZQUFJLEtBQUssVUFBVSxLQUFLLG9CQUFvQixHQUFHO0FBQzdDLGtCQUFRLE9BQU87QUFBQSxZQUNiO0FBQUEsWUFDQSxXQUFXO0FBQUEsVUFDYixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFFRCxJQUFPLGdDQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -25,8 +25,8 @@ var rule = createRule({
25
25
  create(context) {
26
26
  const sourceCode = context.sourceCode;
27
27
  const scopeManager = sourceCode.scopeManager;
28
- const parserServices = ESLintUtils.getParserServices(context);
29
- const typeChecker = parserServices.program.getTypeChecker();
28
+ const parserService = ESLintUtils.getParserServices(context);
29
+ const typeChecker = parserService.program.getTypeChecker();
30
30
  function isUrlArgumentValid(urlArgument, scope) {
31
31
  if (urlArgument?.type === AST_NODE_TYPES.Literal && typeof urlArgument.value === "string" || urlArgument?.type === AST_NODE_TYPES.TemplateLiteral) {
32
32
  const urlText = sourceCode.getText(urlArgument);
@@ -47,7 +47,7 @@ var rule = createRule({
47
47
  return false;
48
48
  }
49
49
  function getType(identifier) {
50
- const variable = parserServices.esTreeNodeToTSNodeMap.get(identifier);
50
+ const variable = parserService.esTreeNodeToTSNodeMap.get(identifier);
51
51
  const variableType = typeChecker.getTypeAtLocation(variable);
52
52
  return typeChecker.typeToString(variableType);
53
53
  }
@@ -130,7 +130,7 @@ var rule = createRule({
130
130
  if (optionsTypeString === "FullResponseOptions") {
131
131
  return;
132
132
  }
133
- const variable = parserServices.esTreeNodeToTSNodeMap.get(optionsArgument);
133
+ const variable = parserService.esTreeNodeToTSNodeMap.get(optionsArgument);
134
134
  const optionType = typeChecker.getTypeAtLocation(variable);
135
135
  const resolveWithFullResponseProperty = optionType.getProperty("resolveWithFullResponse");
136
136
  if (resolveWithFullResponseProperty?.declarations?.[0]?.getText() === "resolveWithFullResponse: true") {
@@ -170,4 +170,4 @@ export {
170
170
  require_resolve_full_response_default as default,
171
171
  ruleId
172
172
  };
173
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlcXVpcmUtcmVzb2x2ZS1mdWxsLXJlc3BvbnNlLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsVUFBVSxjQUFjO0FBQ2pDLFNBQVMsZ0JBQWdCLG1CQUE2QjtBQUN0RCxTQUFTLHNCQUFrQztBQUMzQyxPQUFPLHlCQUF5QjtBQUNoQyxTQUFTLDZCQUE2QjtBQUUvQixJQUFNLFNBQVM7QUFFZixJQUFNLG1CQUEyQjtBQUVqQyxJQUFNLHVCQUErQjtBQUU1QyxJQUFNLGFBQWEsWUFBWSxZQUFZLENBQUMsU0FBUyxvQkFBb0IsSUFBSSxDQUFDO0FBRTlFLElBQU0sT0FBa0UsV0FBVztBQUFBLEVBQ2pGLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixnQkFDRTtBQUFBLE1BQ0YsY0FBYztBQUFBLElBQ2hCO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxFQUNYO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFVBQU0sYUFBYSxRQUFRO0FBQzNCLFVBQU0sZUFBZSxXQUFXO0FBQ2hDLFVBQU0saUJBQWlCLFlBQVksa0JBQWtCLE9BQU87QUFDNUQsVUFBTSxjQUFjLGVBQWUsUUFBUSxlQUFlO0FBRTFELGFBQVMsbUJBQW1CLGFBQXdDLE9BQWM7QUFDaEYsVUFDRyxhQUFhLFNBQVMsZUFBZSxXQUFXLE9BQU8sWUFBWSxVQUFVLFlBQzlFLGFBQWEsU0FBUyxlQUFlLGlCQUNyQztBQUNBLGNBQU0sVUFBVSxXQUFXLFFBQVEsV0FBVztBQUM5QyxlQUFPLGlCQUFpQixLQUFLLE9BQU8sS0FBSyxxQkFBcUIsS0FBSyxPQUFPO0FBQUEsTUFDNUU7QUFFQSxVQUFJLGFBQWEsU0FBUyxlQUFlLFlBQVk7QUFDbkQsY0FBTSxnQkFBZ0IsTUFBTSxVQUFVLEtBQUssQ0FB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
173
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlcXVpcmUtcmVzb2x2ZS1mdWxsLXJlc3BvbnNlLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsVUFBVSxjQUFjO0FBQ2pDLFNBQVMsZ0JBQWdCLG1CQUE2QjtBQUN0RCxTQUFTLHNCQUFrQztBQUMzQyxPQUFPLHlCQUF5QjtBQUNoQyxTQUFTLDZCQUE2QjtBQUUvQixJQUFNLFNBQVM7QUFFZixJQUFNLG1CQUEyQjtBQUVqQyxJQUFNLHVCQUErQjtBQUU1QyxJQUFNLGFBQWEsWUFBWSxZQUFZLENBQUMsU0FBUyxvQkFBb0IsSUFBSSxDQUFDO0FBRTlFLElBQU0sT0FBa0UsV0FBVztBQUFBLEVBQ2pGLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixnQkFDRTtBQUFBLE1BQ0YsY0FBYztBQUFBLElBQ2hCO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxFQUNYO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFVBQU0sYUFBYSxRQUFRO0FBQzNCLFVBQU0sZUFBZSxXQUFXO0FBQ2hDLFVBQU0sZ0JBQWdCLFlBQVksa0JBQWtCLE9BQU87QUFDM0QsVUFBTSxjQUFjLGNBQWMsUUFBUSxlQUFlO0FBRXpELGFBQVMsbUJBQW1CLGFBQXdDLE9BQWM7QUFDaEYsVUFDRyxhQUFhLFNBQVMsZUFBZSxXQUFXLE9BQU8sWUFBWSxVQUFVLFlBQzlFLGFBQWEsU0FBUyxlQUFlLGlCQUNyQztBQUNBLGNBQU0sVUFBVSxXQUFXLFFBQVEsV0FBVztBQUM5QyxlQUFPLGlCQUFpQixLQUFLLE9BQU8sS0FBSyxxQkFBcUIsS0FBSyxPQUFPO0FBQUEsTUFDNUU7QUFFQSxVQUFJLGFBQWEsU0FBUyxlQUFlLFlBQVk7QUFDbkQsY0FBTSxnQkFBZ0IsTUFBTSxVQUFVLEtBQUssQ0FB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
@@ -0,0 +1,5 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+ export declare const ruleId = "no-status-code-assert";
3
+ declare const NO_STATUS_CODE_ASSERT = "NO_STATUS_CODE_ASSERT";
4
+ declare const rule: TSESLint.RuleModule<typeof NO_STATUS_CODE_ASSERT>;
5
+ export default rule;
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@checkdigit/eslint-plugin","version":"7.6.0-PR.75-7ee9","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","import":"./dist-mjs/index.mjs","default":"./dist-mjs/index.mjs"}},"files":["src","dist-types","dist-mjs","!src/**/test/**","!src/**/*.test.ts","!src/**/*.spec.ts","!dist-types/**/test/**","!dist-types/**/*.test.d.ts","!dist-types/**/*.spec.d.ts","!dist-mjs/**/test/**","!dist-mjs/**/*.test.mjs","!dist-mjs/**/*.spec.mjs","SECURITY.md"],"scripts":{"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 .","lint:fix":"eslint --max-warnings 0 --fix .","prepare":"","prepublishOnly":"npm run build:dist-types && 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":"^8.15.0","@typescript-eslint/utils":"^8.15.0","debug":"^4.3.7","ts-api-utils":"^1.4.0"},"devDependencies":{"@checkdigit/jest-config":"^6.0.2","@checkdigit/prettier-config":"^5.5.1","@checkdigit/typescript-config":"^8.0.0","@eslint/js":"^9.15.0","@types/debug":"^4.1.12","@types/eslint":"^9.6.1","@types/eslint-config-prettier":"^6.11.3","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/rule-tester":"^8.15.0","eslint":"^9.15.0","eslint-config-prettier":"^9.1.0","eslint-import-resolver-typescript":"^3.6.3","eslint-plugin-eslint-plugin":"^6.3.2","eslint-plugin-import":"^2.31.0","eslint-plugin-no-only-tests":"^3.3.0","eslint-plugin-no-secrets":"^1.1.2","eslint-plugin-node":"^11.1.0","eslint-plugin-sonarjs":"1.0.4","http-status-codes":"^2.3.0","rimraf":"^6.0.1","typescript-eslint":"^8.15.0"},"peerDependencies":{"eslint":">=9 <10"},"engines":{"node":">=20.17"}}
1
+ {"name":"@checkdigit/eslint-plugin","version":"7.6.0-PR.97-b19c","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","import":"./dist-mjs/index.mjs","default":"./dist-mjs/index.mjs"}},"files":["src","dist-types","dist-mjs","!src/**/test/**","!src/**/*.test.ts","!src/**/*.spec.ts","!dist-types/**/test/**","!dist-types/**/*.test.d.ts","!dist-types/**/*.spec.d.ts","!dist-mjs/**/test/**","!dist-mjs/**/*.test.mjs","!dist-mjs/**/*.spec.mjs","SECURITY.md"],"scripts":{"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 .","lint:fix":"eslint --max-warnings 0 --fix .","prepare":"","prepublishOnly":"npm run build:dist-types && 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":"^8.15.0","@typescript-eslint/utils":"^8.15.0","ts-api-utils":"^1.4.0"},"devDependencies":{"@checkdigit/jest-config":"^6.0.2","@checkdigit/prettier-config":"^5.5.1","@checkdigit/typescript-config":"^8.0.0","@eslint/js":"^9.15.0","@types/eslint":"^9.6.1","@types/eslint-config-prettier":"^6.11.3","@typescript-eslint/parser":"^8.15.0","@typescript-eslint/rule-tester":"^8.15.0","eslint":"^9.15.0","eslint-config-prettier":"^9.1.0","eslint-import-resolver-typescript":"^3.6.3","eslint-plugin-eslint-plugin":"^6.3.2","eslint-plugin-import":"^2.31.0","eslint-plugin-no-only-tests":"^3.3.0","eslint-plugin-no-secrets":"^1.1.2","eslint-plugin-node":"^11.1.0","eslint-plugin-sonarjs":"1.0.4","http-status-codes":"^2.3.0","rimraf":"^6.0.1","typescript-eslint":"^8.15.0"},"peerDependencies":{"eslint":">=9 <10"},"engines":{"node":">=20.17"}}
package/src/index.ts CHANGED
@@ -8,32 +8,10 @@
8
8
 
9
9
  import type { TSESLint } from '@typescript-eslint/utils';
10
10
 
11
- import addUrlDomain, { ruleId as addUrlDomainRuleId } from './agent/add-url-domain';
12
- import agentTestWiring, { ruleId as agentTestWiringRuleId } from './agent/agent-test-wiring';
13
- import fetchResponseBodyJson, { ruleId as fetchResponseBodyJsonRuleId } from './agent/fetch-response-body-json';
14
- import fetchResponseHeaderGetter, {
15
- ruleId as fetchResponseHeaderGetterRuleId,
16
- } from './agent/fetch-response-header-getter';
17
- import fetchResponseStatus, { ruleId as fetchResponseStatusRuleId } from './agent/fetch-response-status';
18
- import fetchThen, { ruleId as fetchThenRuleId } from './agent/fetch-then';
19
- import fixFunctionCallArguments, {
20
- ruleId as fixFunctionCallArgumentsRuleId,
21
- } from './agent/fix-function-call-arguments';
22
11
  import invalidJsonStringify, { ruleId as invalidJsonStringifyRuleId } from './invalid-json-stringify';
23
12
  import noDuplicatedImports, { ruleId as noDuplicatedImportsRuleId } from './no-duplicated-imports';
24
- import noFixture, { ruleId as noFixtureRuleId } from './agent/no-fixture';
25
- import noSupertest, { ruleId as noSupertestRuleId } from './agent/no-supertest';
26
- import supertestThen, { ruleId as supertestThenRuleId } from './agent/supertest-then';
27
13
  import noLegacyServiceTyping, { ruleId as noLegacyServiceTypingRuleId } from './no-legacy-service-typing';
28
- import noMappedResponse, { ruleId as noMappedResponseRuleId } from './agent/no-mapped-response';
29
14
  import noPromiseInstanceMethod, { ruleId as noPromiseInstanceMethodRuleId } from './no-promise-instance-method';
30
- import noServiceWrapper, { ruleId as noServiceWrapperRuleId } from './agent/no-service-wrapper';
31
- import noStatusCode, { ruleId as noStatusCodeRuleId } from './agent/no-status-code';
32
- import noUnusedFunctionArguments, {
33
- ruleId as noUnusedFunctionArgumentsRuleId,
34
- } from './agent/no-unused-function-argument';
35
- import noUnusedImports, { ruleId as noUnusedImportsRuleId } from './agent/no-unused-imports';
36
- import noUnusedServiceVariables, { ruleId as noUnusedServiceVariablesRuleId } from './agent/no-unused-service-variable';
37
15
  import requireFixedServicesImport, {
38
16
  ruleId as requireFixedServicesImportRuleId,
39
17
  } from './require-fixed-services-import';
@@ -44,13 +22,11 @@ import requireTypeOutOfTypeOnlyImports, {
44
22
  ruleId as requireTypeOutOfTypeOnlyImportsRuleId,
45
23
  } from './require-type-out-of-type-only-imports';
46
24
  import noServeRuntime, { ruleId as noServeRuntimeRuleId } from './no-serve-runtime';
47
- import addBasePathConst, { ruleId as addBasePathConstRuleId } from './agent/add-base-path-const';
48
- import addBasePathImport, { ruleId as addBasePathImportRuleId } from './agent/add-base-path-import';
49
- import addAssertImport, { ruleId as addAssertImportRuleId } from './agent/add-assert-import';
50
25
  import filePathComment from './file-path-comment';
51
26
  import noCardNumbers from './no-card-numbers';
52
27
  import noSideEffects from './no-side-effects';
53
28
  import noRandomV4UUID from './no-random-v4-uuid';
29
+ import noStatusCodeAssert from './no-status-code-assert';
54
30
  import noTestImport from './no-test-import';
55
31
  import noUuid from './no-uuid';
56
32
  import noWallabyComment from './no-wallaby-comment';
@@ -63,6 +39,7 @@ const rules: Record<string, TSESLint.LooseRuleDefinition> = {
63
39
  'file-path-comment': filePathComment,
64
40
  'no-card-numbers': noCardNumbers,
65
41
  'no-random-v4-uuid': noRandomV4UUID,
42
+ 'no-status-code-assert': noStatusCodeAssert,
66
43
  'no-uuid': noUuid,
67
44
  'require-strict-assert': requireStrictAssert,
68
45
  'no-test-import': noTestImport,
@@ -73,31 +50,12 @@ const rules: Record<string, TSESLint.LooseRuleDefinition> = {
73
50
  'object-literal-response': objectLiteralResponse,
74
51
  [invalidJsonStringifyRuleId]: invalidJsonStringify,
75
52
  [noPromiseInstanceMethodRuleId]: noPromiseInstanceMethod,
76
- [noFixtureRuleId]: noFixture,
77
- [noSupertestRuleId]: noSupertest,
78
- [supertestThenRuleId]: supertestThen,
79
- [fetchThenRuleId]: fetchThen,
80
- [noServiceWrapperRuleId]: noServiceWrapper,
81
- [noStatusCodeRuleId]: noStatusCode,
82
- [fetchResponseBodyJsonRuleId]: fetchResponseBodyJson,
83
- [fetchResponseHeaderGetterRuleId]: fetchResponseHeaderGetter,
84
- [fetchResponseStatusRuleId]: fetchResponseStatus,
85
- [addUrlDomainRuleId]: addUrlDomain,
86
53
  [noLegacyServiceTypingRuleId]: noLegacyServiceTyping,
87
- [noMappedResponseRuleId]: noMappedResponse,
88
54
  [requireResolveFullResponseRuleId]: requireResolveFullResponse,
89
55
  [noDuplicatedImportsRuleId]: noDuplicatedImports,
90
56
  [noServeRuntimeRuleId]: noServeRuntime,
91
- [addBasePathConstRuleId]: addBasePathConst,
92
- [addBasePathImportRuleId]: addBasePathImport,
93
- [addAssertImportRuleId]: addAssertImport,
94
57
  [requireFixedServicesImportRuleId]: requireFixedServicesImport,
95
58
  [requireTypeOutOfTypeOnlyImportsRuleId]: requireTypeOutOfTypeOnlyImports,
96
- [noUnusedFunctionArgumentsRuleId]: noUnusedFunctionArguments,
97
- [noUnusedServiceVariablesRuleId]: noUnusedServiceVariables,
98
- [noUnusedImportsRuleId]: noUnusedImports,
99
- [fixFunctionCallArgumentsRuleId]: fixFunctionCallArguments,
100
- [agentTestWiringRuleId]: agentTestWiring,
101
59
  };
102
60
 
103
61
  const plugin: TSESLint.FlatConfig.Plugin = {
@@ -115,6 +73,7 @@ const configs: Record<string, TSESLint.FlatConfig.Config[]> = {
115
73
  '@checkdigit/no-card-numbers': 'error',
116
74
  '@checkdigit/file-path-comment': 'error',
117
75
  '@checkdigit/no-random-v4-uuid': 'error',
76
+ '@checkdigit/no-status-code-assert': 'error',
118
77
  '@checkdigit/no-uuid': 'error',
119
78
  '@checkdigit/require-strict-assert': 'error',
120
79
  '@checkdigit/no-wallaby-comment': 'error',
@@ -131,27 +90,6 @@ const configs: Record<string, TSESLint.FlatConfig.Config[]> = {
131
90
  [`@checkdigit/${requireFixedServicesImportRuleId}`]: 'error',
132
91
  [`@checkdigit/${requireTypeOutOfTypeOnlyImportsRuleId}`]: 'error',
133
92
  [`@checkdigit/${noServeRuntimeRuleId}`]: 'error',
134
- // --- agent rules BEGIN ---
135
- [`@checkdigit/${noMappedResponseRuleId}`]: 'off',
136
- [`@checkdigit/${addUrlDomainRuleId}`]: 'off',
137
- [`@checkdigit/${noFixtureRuleId}`]: 'off',
138
- [`@checkdigit/${noSupertestRuleId}`]: 'off',
139
- [`@checkdigit/${supertestThenRuleId}`]: 'off',
140
- [`@checkdigit/${noServiceWrapperRuleId}`]: 'off',
141
- [`@checkdigit/${noStatusCodeRuleId}`]: 'off',
142
- [`@checkdigit/${fetchResponseBodyJsonRuleId}`]: 'off',
143
- [`@checkdigit/${fetchResponseHeaderGetterRuleId}`]: 'off',
144
- [`@checkdigit/${fetchResponseStatusRuleId}`]: 'off',
145
- [`@checkdigit/${fetchThenRuleId}`]: 'off',
146
- [`@checkdigit/${noUnusedFunctionArgumentsRuleId}`]: 'off',
147
- [`@checkdigit/${noUnusedServiceVariablesRuleId}`]: 'off',
148
- [`@checkdigit/${noUnusedImportsRuleId}`]: 'off',
149
- [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: 'off',
150
- [`@checkdigit/${agentTestWiringRuleId}`]: 'off',
151
- [`@checkdigit/${addBasePathConstRuleId}`]: 'off',
152
- [`@checkdigit/${addBasePathImportRuleId}`]: 'off',
153
- [`@checkdigit/${addAssertImportRuleId}`]: 'off',
154
- // --- agent rules END ---
155
93
  },
156
94
  },
157
95
  ],
@@ -165,6 +103,7 @@ const configs: Record<string, TSESLint.FlatConfig.Config[]> = {
165
103
  '@checkdigit/no-card-numbers': 'error',
166
104
  '@checkdigit/file-path-comment': 'off',
167
105
  '@checkdigit/no-random-v4-uuid': 'error',
106
+ '@checkdigit/no-status-code-assert': 'error',
168
107
  '@checkdigit/no-uuid': 'error',
169
108
  '@checkdigit/require-strict-assert': 'error',
170
109
  '@checkdigit/no-wallaby-comment': 'off',
@@ -181,93 +120,6 @@ const configs: Record<string, TSESLint.FlatConfig.Config[]> = {
181
120
  [`@checkdigit/${requireFixedServicesImportRuleId}`]: 'off',
182
121
  [`@checkdigit/${requireTypeOutOfTypeOnlyImportsRuleId}`]: 'error',
183
122
  [`@checkdigit/${noServeRuntimeRuleId}`]: 'off',
184
- // --- agent rules BEGIN ---
185
- [`@checkdigit/${noMappedResponseRuleId}`]: 'off',
186
- [`@checkdigit/${addUrlDomainRuleId}`]: 'off',
187
- [`@checkdigit/${noFixtureRuleId}`]: 'off',
188
- [`@checkdigit/${noSupertestRuleId}`]: 'off',
189
- [`@checkdigit/${supertestThenRuleId}`]: 'off',
190
- [`@checkdigit/${noServiceWrapperRuleId}`]: 'off',
191
- [`@checkdigit/${noStatusCodeRuleId}`]: 'off',
192
- [`@checkdigit/${fetchResponseBodyJsonRuleId}`]: 'off',
193
- [`@checkdigit/${fetchResponseHeaderGetterRuleId}`]: 'off',
194
- [`@checkdigit/${fetchResponseStatusRuleId}`]: 'off',
195
- [`@checkdigit/${fetchThenRuleId}`]: 'off',
196
- [`@checkdigit/${noUnusedFunctionArgumentsRuleId}`]: 'off',
197
- [`@checkdigit/${noUnusedServiceVariablesRuleId}`]: 'off',
198
- [`@checkdigit/${noUnusedImportsRuleId}`]: 'off',
199
- [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: 'off',
200
- [`@checkdigit/${agentTestWiringRuleId}`]: 'off',
201
- [`@checkdigit/${addBasePathConstRuleId}`]: 'off',
202
- [`@checkdigit/${addBasePathImportRuleId}`]: 'off',
203
- [`@checkdigit/${addAssertImportRuleId}`]: 'off',
204
- // --- agent rules END ---
205
- },
206
- },
207
- ],
208
- 'agent-phase-1-test': [
209
- {
210
- files: ['**/*.spec.ts', '**/*.test.ts', 'src/api/v*/index.ts'],
211
- // eslint-disable-next-line sonarjs/no-duplicate-string
212
- ignores: ['src/plugin/**'],
213
- plugins: {
214
- '@checkdigit': plugin,
215
- },
216
- rules: {
217
- [`@checkdigit/${noMappedResponseRuleId}`]: 'error',
218
- [`@checkdigit/${addUrlDomainRuleId}`]: 'error',
219
- [`@checkdigit/${noServiceWrapperRuleId}`]: 'error',
220
- [`@checkdigit/${noStatusCodeRuleId}`]: 'error',
221
- [`@checkdigit/${fetchResponseBodyJsonRuleId}`]: 'error',
222
- [`@checkdigit/${fetchResponseHeaderGetterRuleId}`]: 'error',
223
- [`@checkdigit/${fetchResponseStatusRuleId}`]: 'error',
224
- [`@checkdigit/${fetchThenRuleId}`]: 'error',
225
- [`@checkdigit/${noUnusedFunctionArgumentsRuleId}`]: 'error',
226
- [`@checkdigit/${noUnusedServiceVariablesRuleId}`]: 'error',
227
- [`@checkdigit/${noUnusedImportsRuleId}`]: 'error',
228
- [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: 'error',
229
- [`@checkdigit/${addBasePathConstRuleId}`]: 'error',
230
- [`@checkdigit/${addBasePathImportRuleId}`]: 'error',
231
- [`@checkdigit/${addAssertImportRuleId}`]: 'error',
232
- [`@checkdigit/${noFixtureRuleId}`]: 'error',
233
- [`@checkdigit/${noSupertestRuleId}`]: 'error',
234
- [`@checkdigit/${supertestThenRuleId}`]: 'error',
235
- },
236
- },
237
- {
238
- files: ['**/*.spec.ts'],
239
- ignores: ['src/plugin/**'],
240
- plugins: {
241
- '@checkdigit': plugin,
242
- },
243
- rules: {
244
- [`@checkdigit/${agentTestWiringRuleId}`]: 'error',
245
- },
246
- },
247
- ],
248
- 'agent-phase-2-production': [
249
- {
250
- files: ['**/*.ts'],
251
- ignores: ['src/plugin/**'],
252
- plugins: {
253
- '@checkdigit': plugin,
254
- },
255
- rules: {
256
- [`@checkdigit/${noMappedResponseRuleId}`]: 'error',
257
- [`@checkdigit/${addUrlDomainRuleId}`]: 'error',
258
- [`@checkdigit/${noServiceWrapperRuleId}`]: 'error',
259
- [`@checkdigit/${noStatusCodeRuleId}`]: 'error',
260
- [`@checkdigit/${fetchResponseBodyJsonRuleId}`]: 'error',
261
- [`@checkdigit/${fetchResponseHeaderGetterRuleId}`]: 'error',
262
- [`@checkdigit/${fetchResponseStatusRuleId}`]: 'error',
263
- [`@checkdigit/${fetchThenRuleId}`]: 'error',
264
- [`@checkdigit/${noUnusedFunctionArgumentsRuleId}`]: 'error',
265
- [`@checkdigit/${noUnusedServiceVariablesRuleId}`]: 'error',
266
- [`@checkdigit/${noUnusedImportsRuleId}`]: 'error',
267
- [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: 'error',
268
- [`@checkdigit/${addBasePathConstRuleId}`]: 'error',
269
- [`@checkdigit/${addBasePathImportRuleId}`]: 'error',
270
- [`@checkdigit/${addAssertImportRuleId}`]: 'error',
271
123
  },
272
124
  },
273
125
  ],