@checkdigit/eslint-plugin 7.3.0-PR.75-912a → 7.3.0-PR.75-1901

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.
@@ -0,0 +1,58 @@
1
+ // src/agent/add-assert-import.ts
2
+ import { strict as assert } from "node:assert";
3
+ import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
4
+ import getDocumentationUrl from "../get-documentation-url.mjs";
5
+ var ruleId = "add-assert-import";
6
+ var ASSERT_IMPORT_STATEMENT = "import { strict as assert } from 'node:assert';";
7
+ var createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
8
+ var rule = createRule({
9
+ name: ruleId,
10
+ meta: {
11
+ type: "suggestion",
12
+ docs: {
13
+ description: "Add import of assert module of node."
14
+ },
15
+ messages: {
16
+ addAssertImport: "Add import of assert module of node."
17
+ },
18
+ fixable: "code",
19
+ schema: []
20
+ },
21
+ defaultOptions: [],
22
+ create(context) {
23
+ let isAssertImported = false;
24
+ let isAssertUsed = false;
25
+ return {
26
+ ImportDeclaration: (node) => {
27
+ if (node.source.value === "assert" || node.source.value === "node:assert") {
28
+ isAssertImported = true;
29
+ }
30
+ },
31
+ CallExpression: (callExpression) => {
32
+ if (callExpression.callee.type === AST_NODE_TYPES.Identifier && callExpression.callee.name === "assert" || callExpression.callee.type === AST_NODE_TYPES.MemberExpression && callExpression.callee.object.type === AST_NODE_TYPES.Identifier && callExpression.callee.object.name === "assert") {
33
+ isAssertUsed = true;
34
+ }
35
+ },
36
+ "Program:exit": (program) => {
37
+ if (isAssertUsed && !isAssertImported) {
38
+ const firstStatement = program.body[0];
39
+ assert(firstStatement);
40
+ context.report({
41
+ node: program,
42
+ messageId: "addAssertImport",
43
+ fix(fixer) {
44
+ return fixer.insertTextBefore(firstStatement, `${ASSERT_IMPORT_STATEMENT}
45
+ `);
46
+ }
47
+ });
48
+ }
49
+ }
50
+ };
51
+ }
52
+ });
53
+ var add_assert_import_default = rule;
54
+ export {
55
+ add_assert_import_default as default,
56
+ ruleId
57
+ };
58
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2FkZC1hc3NlcnQtaW1wb3J0LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsVUFBVSxjQUFjO0FBRWpDLFNBQVMsZ0JBQWdCLG1CQUFtQjtBQUU1QyxPQUFPLHlCQUF5QjtBQUV6QixJQUFNLFNBQVM7QUFFdEIsSUFBTSwwQkFBMEI7QUFFaEMsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsb0JBQW9CLElBQUksQ0FBQztBQUU5RSxJQUFNLE9BQWtELFdBQVc7QUFBQSxFQUNqRSxNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsaUJBQWlCO0FBQUEsSUFDbkI7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVEsQ0FBQztBQUFBLEVBQ1g7QUFBQSxFQUNBLGdCQUFnQixDQUFDO0FBQUEsRUFDakIsT0FBTyxTQUFTO0FBQ2QsUUFBSSxtQkFBbUI7QUFDdkIsUUFBSSxlQUFlO0FBRW5CLFdBQU87QUFBQSxNQUNMLG1CQUFtQixDQUFDLFNBQVM7QUFDM0IsWUFBSSxLQUFLLE9BQU8sVUFBVSxZQUFZLEtBQUssT0FBTyxVQUFVLGVBQWU7QUFDekUsNkJBQW1CO0FBQUEsUUFDckI7QUFBQSxNQUNGO0FBQUEsTUFDQSxnQkFBZ0IsQ0FBQyxtQkFBbUI7QUFFbEMsWUFDRyxlQUFlLE9BQU8sU0FBUyxlQUFlLGNBQWMsZUFBZSxPQUFPLFNBQVMsWUFDM0YsZUFBZSxPQUFPLFNBQVMsZUFBZSxvQkFDN0MsZUFBZSxPQUFPLE9BQU8sU0FBUyxlQUFlLGNBQ3JELGVBQWUsT0FBTyxPQUFPLFNBQVMsVUFDeEM7QUFDQSx5QkFBZTtBQUFBLFFBQ2pCO0FBQUEsTUFDRjtBQUFBLE1BQ0EsZ0JBQWdCLENBQUMsWUFBWTtBQUUzQixZQUFJLGdCQUFnQixDQUFDLGtCQUFrQjtBQUNyQyxnQkFBTSxpQkFBaUIsUUFBUSxLQUFLLENBQUM7QUFDckMsaUJBQU8sY0FBYztBQUNyQixrQkFBUSxPQUFPO0FBQUEsWUFDYixNQUFNO0FBQUEsWUFDTixXQUFXO0FBQUEsWUFDWCxJQUFJLE9BQU87QUFDVCxxQkFBTyxNQUFNLGlCQUFpQixnQkFBZ0IsR0FBRyx1QkFBdUI7QUFBQSxDQUFJO0FBQUEsWUFDOUU7QUFBQSxVQUNGLENBQUM7QUFBQSxRQUNIO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUVELElBQU8sNEJBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -10,10 +10,10 @@ var rule = createRule({
10
10
  meta: {
11
11
  type: "suggestion",
12
12
  docs: {
13
- description: "Add HTTP domain to the BASE_PATH like url constant variable."
13
+ description: "Add BASE_PATH const variable."
14
14
  },
15
15
  messages: {
16
- addBasePathConst: "Add HTTP domain to the BASE_PATH like url constant variable."
16
+ addBasePathConst: "Add BASE_PATH const variable."
17
17
  },
18
18
  fixable: "code",
19
19
  schema: []
@@ -0,0 +1,60 @@
1
+ // src/agent/add-base-path-import.ts
2
+ import { strict as assert } from "node:assert";
3
+ import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
4
+ import getDocumentationUrl from "../get-documentation-url.mjs";
5
+ import { getApiIndexPathByFilename } from "./file.mjs";
6
+ var ruleId = "add-base-path-import";
7
+ var createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
8
+ var rule = createRule({
9
+ name: ruleId,
10
+ meta: {
11
+ type: "suggestion",
12
+ docs: {
13
+ description: "Add import of BASE_PATH if it is used but not imported."
14
+ },
15
+ messages: {
16
+ addBasePathImport: "Add import of BASE_PATH."
17
+ },
18
+ fixable: "code",
19
+ schema: []
20
+ },
21
+ defaultOptions: [],
22
+ create(context) {
23
+ const sourceCode = context.sourceCode;
24
+ return {
25
+ Program: (program) => {
26
+ const isBasePathUsed = sourceCode.text.includes(`\${BASE_PATH}`);
27
+ if (isBasePathUsed) {
28
+ const topScope = sourceCode.getScope(program).childScopes[0];
29
+ assert(topScope);
30
+ if (topScope.variables.some((variable) => variable.name === "BASE_PATH")) {
31
+ return;
32
+ }
33
+ const apiIndexPath = getApiIndexPathByFilename(context.filename);
34
+ if (apiIndexPath !== void 0) {
35
+ const lastImportStatement = program.body.findLast(
36
+ (statement) => statement.type === AST_NODE_TYPES.ImportDeclaration
37
+ );
38
+ assert(lastImportStatement);
39
+ const basePathImportStatement = `
40
+ import { BASE_PATH } from '${apiIndexPath}';
41
+ `;
42
+ context.report({
43
+ node: program,
44
+ messageId: "addBasePathImport",
45
+ fix(fixer) {
46
+ return fixer.insertTextAfter(lastImportStatement, basePathImportStatement);
47
+ }
48
+ });
49
+ }
50
+ }
51
+ }
52
+ };
53
+ }
54
+ });
55
+ var add_base_path_import_default = rule;
56
+ export {
57
+ add_base_path_import_default as default,
58
+ ruleId
59
+ };
60
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2FkZC1iYXNlLXBhdGgtaW1wb3J0LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsVUFBVSxjQUFjO0FBRWpDLFNBQVMsZ0JBQWdCLG1CQUFtQjtBQUU1QyxPQUFPLHlCQUF5QjtBQUNoQyxTQUFTLGlDQUFpQztBQUVuQyxJQUFNLFNBQVM7QUFFdEIsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsb0JBQW9CLElBQUksQ0FBQztBQUU5RSxJQUFNLE9BQW9ELFdBQVc7QUFBQSxFQUNuRSxNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsbUJBQW1CO0FBQUEsSUFDckI7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVEsQ0FBQztBQUFBLEVBQ1g7QUFBQSxFQUNBLGdCQUFnQixDQUFDO0FBQUEsRUFDakIsT0FBTyxTQUFTO0FBQ2QsVUFBTSxhQUFhLFFBQVE7QUFFM0IsV0FBTztBQUFBLE1BQ0wsU0FBUyxDQUFDLFlBQVk7QUFDcEIsY0FBTSxpQkFBaUIsV0FBVyxLQUFLLFNBQVMsZUFBZTtBQUMvRCxZQUFJLGdCQUFnQjtBQUNsQixnQkFBTSxXQUFXLFdBQVcsU0FBUyxPQUFPLEVBQUUsWUFBWSxDQUFDO0FBQzNELGlCQUFPLFFBQVE7QUFDZixjQUFJLFNBQVMsVUFBVSxLQUFLLENBQUMsYUFBYSxTQUFTLFNBQVMsV0FBVyxHQUFHO0FBQ3hFO0FBQUEsVUFDRjtBQUVBLGdCQUFNLGVBQWUsMEJBQTBCLFFBQVEsUUFBUTtBQUMvRCxjQUFJLGlCQUFpQixRQUFXO0FBQzlCLGtCQUFNLHNCQUFzQixRQUFRLEtBQUs7QUFBQSxjQUN2QyxDQUFDLGNBQWMsVUFBVSxTQUFTLGVBQWU7QUFBQSxZQUNuRDtBQUNBLG1CQUFPLG1CQUFtQjtBQUUxQixrQkFBTSwwQkFBMEI7QUFBQSw2QkFBZ0MsWUFBWTtBQUFBO0FBQzVFLG9CQUFRLE9BQU87QUFBQSxjQUNiLE1BQU07QUFBQSxjQUNOLFdBQVc7QUFBQSxjQUNYLElBQUksT0FBTztBQUNULHVCQUFPLE1BQU0sZ0JBQWdCLHFCQUFxQix1QkFBdUI7QUFBQSxjQUMzRTtBQUFBLFlBQ0YsQ0FBQztBQUFBLFVBQ0g7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUVELElBQU8sK0JBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,6 +1,6 @@
1
1
  // src/agent/fix-function-call-arguments.ts
2
2
  import { strict as assert } from "node:assert";
3
- import { ESLintUtils, TSESTree } from "@typescript-eslint/utils";
3
+ import { ESLintUtils } from "@typescript-eslint/utils";
4
4
  import debug from "debug";
5
5
  import getDocumentationUrl from "../get-documentation-url.mjs";
6
6
  var ruleId = "fix-function-call-arguments";
@@ -50,9 +50,6 @@ var rule = createRule({
50
50
  const sourceCode = context.sourceCode;
51
51
  return {
52
52
  CallExpression(callExpression) {
53
- if (callExpression.callee.type === TSESTree.AST_NODE_TYPES.MemberExpression) {
54
- return;
55
- }
56
53
  log("===== file name:", context.filename);
57
54
  log("callExpression:", sourceCode.getText(callExpression));
58
55
  try {
@@ -63,8 +60,7 @@ var rule = createRule({
63
60
  return;
64
61
  }
65
62
  const signature = signatures[0];
66
- assert.ok(signature, "Signature not found.");
67
- if (signature.typeParameters !== void 0 && signature.typeParameters.length > 0) {
63
+ if (signature === void 0 || signature.typeParameters !== void 0 && signature.typeParameters.length > 0) {
68
64
  return;
69
65
  }
70
66
  log("signature:", signature.getDeclaration().getText());
@@ -101,11 +97,12 @@ var rule = createRule({
101
97
  log("actual type: #", actualParameterIndex, sourceCode.getText(actualParameter), actualTypeString);
102
98
  if (!typesToCheck.includes(actualTypeString) && !actualTypeString.endsWith("RequestType")) {
103
99
  parametersToKeep.push(actualParameter);
100
+ expectedParameterIndex++;
104
101
  log("skipped");
105
102
  } else if (typeChecker.isTypeAssignableTo(actualType, expectedType)) {
106
103
  parametersToKeep.push(actualParameter);
107
- log("matched");
108
104
  expectedParameterIndex++;
105
+ log("matched");
109
106
  } else {
110
107
  log("not matched");
111
108
  }
@@ -150,4 +147,4 @@ export {
150
147
  fix_function_call_arguments_default as default,
151
148
  ruleId
152
149
  };
153
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2ZpeC1mdW5jdGlvbi1jYWxsLWFyZ3VtZW50cy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLFVBQVUsY0FBYztBQUNqQyxTQUFTLGFBQWEsZ0JBQWdCO0FBQ3RDLE9BQU8sV0FBVztBQUNsQixPQUFPLHlCQUF5QjtBQUV6QixJQUFNLFNBQVM7QUFLdEIsSUFBTSxrQkFBa0I7QUFBQSxFQUN0QixjQUFjO0FBQUEsSUFDWjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0Y7QUFDRjtBQUVBLElBQU0sYUFBYSxZQUFZLFlBQVksQ0FBQyxTQUFTLG9CQUFvQixJQUFJLENBQUM7QUFDOUUsSUFBTSxNQUFNLE1BQU0sMkNBQTJDO0FBRTdELElBQU0sT0FHRixXQUFXO0FBQUEsRUFDYixNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IscUNBQXFDO0FBQUEsTUFDckMsY0FBYztBQUFBLElBQ2hCO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsTUFDTjtBQUFBLFFBQ0UsTUFBTTtBQUFBLFFBQ04sWUFBWTtBQUFBLFVBQ1YsY0FBYztBQUFBLFlBQ1osYUFBYTtBQUFBLFlBQ2IsTUFBTTtBQUFBLFlBQ04sT0FBTztBQUFBLGNBQ0wsTUFBTTtBQUFBLFlBQ1I7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLFFBQ0Esc0JBQXNCO0FBQUEsTUFDeEI7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0EsZ0JBQWdCLENBQUMsZUFBZTtBQUFBLEVBQ2hDLE9BQU8sU0FBUztBQUVkLFVBQU0sRUFBRSxhQUFhLElBQUksUUFBUSxRQUFRLENBQUMsS0FBSztBQUMvQyxVQUFNLGlCQUFpQixZQUFZLGtCQUFrQixPQUFPO0FBQzVELFVBQU0sY0FBYyxlQUFlLFFB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
150
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2ZpeC1mdW5jdGlvbi1jYWxsLWFyZ3VtZW50cy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLFVBQVUsY0FBYztBQUNqQyxTQUFTLG1CQUE2QjtBQUN0QyxPQUFPLFdBQVc7QUFDbEIsT0FBTyx5QkFBeUI7QUFFekIsSUFBTSxTQUFTO0FBS3RCLElBQU0sa0JBQWtCO0FBQUEsRUFDdEIsY0FBYztBQUFBLElBQ1o7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGO0FBQ0Y7QUFFQSxJQUFNLGFBQWEsWUFBWSxZQUFZLENBQUMsU0FBUyxvQkFBb0IsSUFBSSxDQUFDO0FBQzlFLElBQU0sTUFBTSxNQUFNLDJDQUEyQztBQUU3RCxJQUFNLE9BR0YsV0FBVztBQUFBLEVBQ2IsTUFBTTtBQUFBLEVBQ04sTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLHFDQUFxQztBQUFBLE1BQ3JDLGNBQWM7QUFBQSxJQUNoQjtBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLE1BQ047QUFBQSxRQUNFLE1BQU07QUFBQSxRQUNOLFlBQVk7QUFBQSxVQUNWLGNBQWM7QUFBQSxZQUNaLGFBQWE7QUFBQSxZQUNiLE1BQU07QUFBQSxZQUNOLE9BQU87QUFBQSxjQUNMLE1BQU07QUFBQSxZQUNSO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFBQSxRQUNBLHNCQUFzQjtBQUFBLE1BQ3hCO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLGdCQUFnQixDQUFDLGVBQWU7QUFBQSxFQUNoQyxPQUFPLFNBQVM7QUFFZCxVQUFNLEVBQUUsYUFBYSxJQUFJLFFBQVEsUUFBUSxDQUFDLEtBQUs7QUFDL0MsVUFBTSxpQkFBaUIsWUFBWSxrQkFBa0IsT0FBTztBQUM1RCxVQUFNLGNBQWMsZUFBZSxRQUFRLGVB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
@@ -14,7 +14,6 @@ import { isValidPropertyName } from "../library/variable.mjs";
14
14
  import { analyzeResponseReferences } from "./response-reference.mjs";
15
15
  import { getResponseBodyRetrievalText, hasAssertions } from "./fetch.mjs";
16
16
  import { replaceEndpointUrlPrefixWithBasePath } from "./url.mjs";
17
- import { getApiIndexPathByFilename } from "./file.mjs";
18
17
  var ruleId = "no-fixture";
19
18
  function analyzeFixtureCall(call, results, sourceCode) {
20
19
  const parent = getParent(call);
@@ -160,7 +159,6 @@ var rule = {
160
159
  },
161
160
  messages: {
162
161
  preferNativeFetch: "Prefer native fetch API over customized fixture API.",
163
- addBasePathImport: "Add BASE_PATH import statement to the file.",
164
162
  unknownError: 'Unknown error occurred in file "{{fileName}}": {{ error }}.'
165
163
  },
166
164
  fixable: "code",
@@ -171,7 +169,6 @@ var rule = {
171
169
  const sourceCode = context.sourceCode;
172
170
  const scopeManager = sourceCode.scopeManager;
173
171
  const scopeVariablesMap = /* @__PURE__ */ new Map();
174
- let isUrlReplacementNeeded = false;
175
172
  return {
176
173
  // eslint-disable-next-line max-lines-per-function
177
174
  'CallExpression[callee.object.object.name="fixture"][callee.object.property.name="api"]': (fixtureCall) => {
@@ -197,9 +194,6 @@ var rule = {
197
194
  } = analyzeResponseReferences(fixtureCallInformation.variableDeclaration, scopeManager);
198
195
  const originalUrlArgumentText = sourceCode.getText(urlArgumentNode);
199
196
  const fetchUrlArgumentText = replaceEndpointUrlPrefixWithBasePath(originalUrlArgumentText);
200
- if (fetchUrlArgumentText !== originalUrlArgumentText) {
201
- isUrlReplacementNeeded = true;
202
- }
203
197
  const methodNode = fixtureFunction.property;
204
198
  assert.ok(methodNode.type === "Identifier");
205
199
  const methodName = methodNode.name.toUpperCase();
@@ -321,30 +315,6 @@ ${indentation}return ${responseVariableNameToUse};`
321
315
  }
322
316
  });
323
317
  }
324
- },
325
- "Program:exit": (program) => {
326
- if (isUrlReplacementNeeded) {
327
- const topScope = sourceCode.getScope(program).childScopes[0];
328
- assert(topScope);
329
- if (topScope.variables.some((variable) => variable.name === "BASE_PATH")) {
330
- return;
331
- }
332
- const apiIndexPath = getApiIndexPathByFilename(context.filename);
333
- if (apiIndexPath !== void 0) {
334
- const lastImportStatement = program.body.findLast((statement) => statement.type === "ImportDeclaration");
335
- assert(lastImportStatement);
336
- const basePathImportStatement = `
337
- import { BASE_PATH } from '${apiIndexPath}';
338
- `;
339
- context.report({
340
- node: program,
341
- messageId: "addBasePathImport",
342
- fix(fixer) {
343
- return fixer.insertTextAfter(lastImportStatement, basePathImportStatement);
344
- }
345
- });
346
- }
347
- }
348
318
  }
349
319
  };
350
320
  }
@@ -354,4 +324,4 @@ export {
354
324
  no_fixture_default as default,
355
325
  ruleId
356
326
  };
357
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L25vLWZpeHR1cmUudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBUUEsU0FBUyxVQUFVLGNBQWM7QUFhakMsT0FBa0Q7QUFFbEQ7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxPQUFPLHlCQUF5QjtBQUNoQyxTQUFTLHNCQUFzQjtBQUMvQixTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLGlDQUFpQztBQUMxQyxTQUFTLDhCQUE4QixxQkFBcUI7QUFDNUQsU0FBUyw0Q0FBNEM7QUFDckQsU0FBUyxpQ0FBaUM7QUFFbkMsSUFBTSxTQUFTO0FBZXRCLFNBQVMsbUJBQW1CLE1BQTRCLFNBQWlDLFlBQXdCO0FBQy9HLFFBQU0sU0FBUyxVQUFVLElBQUk7QUFDN0IsU0FBTyxHQUFHLFFBQVEscURBQXFEO0FBRXZFLE1BQUk7QUFDSixNQUFJLE9BQU8sU0FBUyxtQkFBbUI7QUFFckMsWUFBUSxjQUFjO0FBQ3RCLFlBQVEsV0FBVztBQUFBLEVBQ3JCLFdBQVcsT0FBTyxTQUFTLHFCQUFxQixPQUFPLFNBQVMsa0JBQWtCO0FBRWhGLFlBQVEsY0FBYztBQUN0QixZQUFRLFdBQVc7QUFBQSxFQUNyQixXQUFXLE9BQU8sU0FBUyxtQkFBbUI7QUFDNUMsWUFBUSxjQUFjO0FBQ3RCLFVBQU0scUJBQXFCLHNCQUFzQixNQUFNO0FBQ3ZELFdBQU8sR0FBRyxrQkFBa0I7QUFDNUIsVUFBTSxjQUFjLFVBQVUsTUFBTTtBQUNwQyxRQUFJLGFBQWEsU0FBUyxvQkFBb0I7QUFDNUMsY0FBUSxXQUFXO0FBQ25CLGNBQVEsc0JBQXNCO0FBQzlCLFVBQUksWUFBWSxTQUFTLFNBQVMsZ0JBQWdCLFlBQVksU0FBUyxTQUFTLFFBQVE7QUFDdEYsZ0JBQVEsc0JBQXNCO0FBQUEsTUFDaEM7QUFBQSxJQUNGLFdBQVcsbUJBQW1CLFNBQVMsdUJBQXVCO0FBQzVELGNBQVEsc0JBQXNCO0FBQzlC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
327
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L25vLWZpeHR1cmUudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBUUEsU0FBUyxVQUFVLGNBQWM7QUFhakMsT0FBa0Q7QUFFbEQ7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxPQUFPLHlCQUF5QjtBQUNoQyxTQUFTLHNCQUFzQjtBQUMvQixTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLGlDQUFpQztBQUMxQyxTQUFTLDhCQUE4QixxQkFBcUI7QUFDNUQsU0FBUyw0Q0FBNEM7QUFFOUMsSUFBTSxTQUFTO0FBZXRCLFNBQVMsbUJBQW1CLE1BQTRCLFNBQWlDLFlBQXdCO0FBQy9HLFFBQU0sU0FBUyxVQUFVLElBQUk7QUFDN0IsU0FBTyxHQUFHLFFBQVEscURBQXFEO0FBRXZFLE1BQUk7QUFDSixNQUFJLE9BQU8sU0FBUyxtQkFBbUI7QUFFckMsWUFBUSxjQUFjO0FBQ3RCLFlBQVEsV0FBVztBQUFBLEVBQ3JCLFdBQVcsT0FBTyxTQUFTLHFCQUFxQixPQUFPLFNBQVMsa0JBQWtCO0FBRWhGLFlBQVEsY0FBYztBQUN0QixZQUFRLFdBQVc7QUFBQSxFQUNyQixXQUFXLE9BQU8sU0FBUyxtQkFBbUI7QUFDNUMsWUFBUSxjQUFjO0FBQ3RCLFVBQU0scUJBQXFCLHNCQUFzQixNQUFNO0FBQ3ZELFdBQU8sR0FBRyxrQkFBa0I7QUFDNUIsVUFBTSxjQUFjLFVBQVUsTUFBTTtBQUNwQyxRQUFJLGFBQWEsU0FBUyxvQkFBb0I7QUFDNUMsY0FBUSxXQUFXO0FBQ25CLGNBQVEsc0JBQXNCO0FBQzlCLFVBQUksWUFBWSxTQUFTLFNBQVMsZ0JBQWdCLFlBQVksU0FBUyxTQUFTLFFBQVE7QUFDdEYsZ0JBQVEsc0JBQXNCO0FBQUEsTUFDaEM7QUFBQSxJQUNGLFdBQVcsbUJBQW1CLFNBQVMsdUJBQXVCO0FBQzVELGNBQVEsc0JBQXNCO0FBQzlCLGNBQVEsV0FBVztBQUFBLElB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
@@ -5,7 +5,7 @@ import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
5
5
  import getDocumentationUrl from "../get-documentation-url.mjs";
6
6
  import { getEnclosingScopeNode } from "../library/ts-tree.mjs";
7
7
  import { getIndentation } from "../library/format.mjs";
8
- import { PLAIN_URL_REGEXP, replaceEndpointUrlPrefixWithDomain, TOKENIZED_URL_REGEXP } from "./url.mjs";
8
+ import { isServiceApiCallUrl, replaceEndpointUrlPrefixWithDomain } from "./url.mjs";
9
9
  var ruleId = "no-service-wrapper";
10
10
  var createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
11
11
  var rule = createRule({
@@ -32,7 +32,7 @@ var rule = createRule({
32
32
  function isUrlArgumentValid(urlArgument, scope) {
33
33
  if (urlArgument?.type === AST_NODE_TYPES.Literal && typeof urlArgument.value === "string" || urlArgument?.type === AST_NODE_TYPES.TemplateLiteral) {
34
34
  const urlText = sourceCode.getText(urlArgument);
35
- return PLAIN_URL_REGEXP.test(urlText) || TOKENIZED_URL_REGEXP.test(urlText);
35
+ return isServiceApiCallUrl(urlText);
36
36
  }
37
37
  if (urlArgument?.type === AST_NODE_TYPES.Identifier) {
38
38
  const foundVariable = scope.variables.find((variable) => variable.name === urlArgument.name);
@@ -180,4 +180,4 @@ export {
180
180
  no_service_wrapper_default as default,
181
181
  ruleId
182
182
  };
183
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L25vLXNlcnZpY2Utd3JhcHBlci50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLFVBQVUsY0FBYztBQUVqQyxTQUFTLHNCQUFrQztBQUMzQyxTQUFTLGdCQUFnQixtQkFBNkI7QUFFdEQsT0FBTyx5QkFBeUI7QUFDaEMsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUyxrQkFBa0Isb0NBQW9DLDRCQUE0QjtBQUVwRixJQUFNLFNBQVM7QUFFdEIsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsb0JBQW9CLElBQUksQ0FBQztBQUU5RSxJQUFNLE9BQXdGLFdBQVc7QUFBQSxFQUN2RyxNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsbUJBQW1CO0FBQUEsTUFDbkIsZ0JBQ0U7QUFBQSxNQUNGLGNBQ0U7QUFBQSxJQUNKO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRLENBQUM7QUFBQSxFQUNYO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFVBQU0sYUFBYSxRQUFRO0FBQzNCLFVBQU0sZUFBZSxXQUFXO0FBQ2hDLFVBQU0sZ0JBQWdCLFlBQVksa0JBQWtCLE9BQU87QUFDM0QsVUFBTSxjQUFjLGNBQWMsUUFBUSxlQUFlO0FBRXpELGFBQVMsbUJBQW1CLGFBQXdDLE9BQWM7QUFDaEYsVUFDRyxhQUFhLFNBQVMsZUFBZSxXQUFXLE9BQU8sWUFBWSxVQUFVLFlBQzlFLGFBQWEsU0FBUyxlQUFlLGlCQUNyQztBQUNBLGNBQU0sVUFBVSxXQUFXLFFBQVEsV0FBVztBQUM5QyxlQUFPLGlCQUFpQixLQUFLLE9BQU8sS0FBSyxxQkFBcUIsS0FBSyxPQUFPO0FBQUEsTUFDNUU7QUFFQSxVQUFJLGFBQWEsU0FBUyxl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
183
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L25vLXNlcnZpY2Utd3JhcHBlci50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLFVBQVUsY0FBYztBQUVqQyxTQUFTLHNCQUFrQztBQUMzQyxTQUFTLGdCQUFnQixtQkFBNkI7QUFFdEQsT0FBTyx5QkFBeUI7QUFDaEMsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUyxxQkFBcUIsMENBQTBDO0FBRWpFLElBQU0sU0FBUztBQUV0QixJQUFNLGFBQWEsWUFBWSxZQUFZLENBQUMsU0FBUyxvQkFBb0IsSUFBSSxDQUFDO0FBRTlFLElBQU0sT0FBd0YsV0FBVztBQUFBLEVBQ3ZHLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixtQkFBbUI7QUFBQSxNQUNuQixnQkFDRTtBQUFBLE1BQ0YsY0FDRTtBQUFBLElBQ0o7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVEsQ0FBQztBQUFBLEVBQ1g7QUFBQSxFQUNBLGdCQUFnQixDQUFDO0FBQUEsRUFDakIsT0FBTyxTQUFTO0FBQ2QsVUFBTSxhQUFhLFFBQVE7QUFDM0IsVUFBTSxlQUFlLFdBQVc7QUFDaEMsVUFBTSxnQkFBZ0IsWUFBWSxrQkFBa0IsT0FBTztBQUMzRCxVQUFNLGNBQWMsY0FBYyxRQUFRLGVBQWU7QUFFekQsYUFBUyxtQkFBbUIsYUFBd0MsT0FBYztBQUNoRixVQUNHLGFBQWEsU0FBUyxlQUFlLFdBQVcsT0FBTyxZQUFZLFVBQVUsWUFDOUUsYUFBYSxTQUFTLGVBQWUsaUJBQ3JDO0FBQ0EsY0FBTSxVQUFVLFdBQVcsUUFBUSxXQUFXO0FBQzlDLGVBQU8sb0JBQW9CLE9BQU87QUFBQSxNQUNwQztBQUVBLFVBQUksYUFBYSxTQUFTLGVBQWUsWUFBWTtBQUNuRCxjQUFNLGdCQUFnQixNQUFNLFVB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
@@ -1,8 +1,15 @@
1
1
  // src/agent/url.ts
2
2
  var PLAIN_URL_REGEXP = /^[`']\/\w+(?<serviceNamePart>-\w+)*\/v\d+\/(?<any>.|\r|\n)+[`']$/u;
3
3
  var TOKENIZED_URL_REGEXP = /^`\$\{(?<serviceNamePart>[A-Z]+_)*BASE_PATH\}\/(?<any>.|\r|\n)+`$/u;
4
+ function isServiceApiCallUrl(url) {
5
+ return PLAIN_URL_REGEXP.test(url) || TOKENIZED_URL_REGEXP.test(url);
6
+ }
4
7
  function replaceEndpointUrlPrefixWithBasePath(url) {
5
- return url.replace(/^`\/\w+(?<parts>-\w+)*\/v\d+\//u, "`${BASE_PATH}/");
8
+ return url.replace(
9
+ /^(?<quotStart>[`'])\/(?<servicename>\w+(?<parts>-\w+)*)(?<path>\/v\d+\/)(?<endpoint>(?<any>.|\r|\n)+)(?<quotEnd>[`'])$/u,
10
+ // eslint-disable-next-line no-template-curly-in-string
11
+ "`${BASE_PATH}/$5`"
12
+ );
6
13
  }
7
14
  function replaceEndpointUrlPrefixWithDomain(url) {
8
15
  return url.replace(
@@ -17,10 +24,9 @@ function addBasePathUrlDomain(url) {
17
24
  );
18
25
  }
19
26
  export {
20
- PLAIN_URL_REGEXP,
21
- TOKENIZED_URL_REGEXP,
22
27
  addBasePathUrlDomain,
28
+ isServiceApiCallUrl,
23
29
  replaceEndpointUrlPrefixWithBasePath,
24
30
  replaceEndpointUrlPrefixWithDomain
25
31
  };
26
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L3VybC50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFHTyxJQUFNLG1CQUEyQjtBQUVqQyxJQUFNLHVCQUErQjtBQUVyQyxTQUFTLHFDQUFxQyxLQUFxQjtBQUV4RSxTQUFPLElBQUksUUFBUSxtQ0FBbUMsZ0JBQWdCO0FBQ3hFO0FBRU8sU0FBUyxtQ0FBbUMsS0FBcUI7QUFDdEUsU0FBTyxJQUFJO0FBQUEsSUFDVDtBQUFBLElBQ0E7QUFBQSxFQUNGO0FBQ0Y7QUFFTyxTQUFTLHFCQUFxQixLQUFxQjtBQUN4RCxTQUFPLElBQUk7QUFBQSxJQUNUO0FBQUEsSUFDQTtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
32
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L3VybC50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFHQSxJQUFNLG1CQUEyQjtBQUVqQyxJQUFNLHVCQUErQjtBQUU5QixTQUFTLG9CQUFvQixLQUFzQjtBQUN4RCxTQUFPLGlCQUFpQixLQUFLLEdBQUcsS0FBSyxxQkFBcUIsS0FBSyxHQUFHO0FBQ3BFO0FBRU8sU0FBUyxxQ0FBcUMsS0FBcUI7QUFDeEUsU0FBTyxJQUFJO0FBQUEsSUFDVDtBQUFBO0FBQUEsSUFFQTtBQUFBLEVBQ0Y7QUFDRjtBQUVPLFNBQVMsbUNBQW1DLEtBQXFCO0FBQ3RFLFNBQU8sSUFBSTtBQUFBLElBQ1Q7QUFBQSxJQUNBO0FBQUEsRUFDRjtBQUNGO0FBRU8sU0FBUyxxQkFBcUIsS0FBcUI7QUFDeEQsU0FBTyxJQUFJO0FBQUEsSUFDVDtBQUFBLElBQ0E7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -33,6 +33,8 @@ import requireTypeOutOfTypeOnlyImports, {
33
33
  } from "./require-type-out-of-type-only-imports.mjs";
34
34
  import noServeRuntime, { ruleId as noServeRuntimeRuleId } from "./agent/no-serve-runtime.mjs";
35
35
  import addBasePathConst, { ruleId as addBasePathConstRuleId } from "./agent/add-base-path-const.mjs";
36
+ import addBasePathImport, { ruleId as addBasePathImportRuleId } from "./agent/add-base-path-import.mjs";
37
+ import addAssertImport, { ruleId as addAssertImportRuleId } from "./agent/add-assert-import.mjs";
36
38
  import filePathComment from "./file-path-comment.mjs";
37
39
  import noCardNumbers from "./no-card-numbers.mjs";
38
40
  import noTestImport from "./no-test-import.mjs";
@@ -67,6 +69,8 @@ var rules = {
67
69
  [noDuplicatedImportsRuleId]: noDuplicatedImports,
68
70
  [noServeRuntimeRuleId]: noServeRuntime,
69
71
  [addBasePathConstRuleId]: addBasePathConst,
72
+ [addBasePathImportRuleId]: addBasePathImport,
73
+ [addAssertImportRuleId]: addAssertImport,
70
74
  [requireFixedServicesImportRuleId]: requireFixedServicesImport,
71
75
  [requireTypeOutOfTypeOnlyImportsRuleId]: requireTypeOutOfTypeOnlyImports,
72
76
  [noUnusedFunctionArgumentsRuleId]: noUnusedFunctionArguments,
@@ -117,7 +121,9 @@ var configs = {
117
121
  [`@checkdigit/${noUnusedImportsRuleId}`]: "off",
118
122
  [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: "off",
119
123
  [`@checkdigit/${agentTestWiringRuleId}`]: "off",
120
- [`@checkdigit/${addBasePathConstRuleId}`]: "off"
124
+ [`@checkdigit/${addBasePathConstRuleId}`]: "off",
125
+ [`@checkdigit/${addBasePathImportRuleId}`]: "off",
126
+ [`@checkdigit/${addAssertImportRuleId}`]: "off"
121
127
  // --- agent rules END ---
122
128
  }
123
129
  }
@@ -164,7 +170,9 @@ var configs = {
164
170
  [`@checkdigit/${noUnusedServiceVariablesRuleId}`]: "error",
165
171
  [`@checkdigit/${noUnusedImportsRuleId}`]: "error",
166
172
  [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: "error",
167
- [`@checkdigit/${addBasePathConstRuleId}`]: "error"
173
+ [`@checkdigit/${addBasePathConstRuleId}`]: "error",
174
+ [`@checkdigit/${addBasePathImportRuleId}`]: "error",
175
+ [`@checkdigit/${addAssertImportRuleId}`]: "error"
168
176
  }
169
177
  },
170
178
  {
@@ -198,7 +206,9 @@ var configs = {
198
206
  [`@checkdigit/${noUnusedServiceVariablesRuleId}`]: "error",
199
207
  [`@checkdigit/${noUnusedImportsRuleId}`]: "error",
200
208
  [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: "error",
201
- [`@checkdigit/${addBasePathConstRuleId}`]: "error"
209
+ [`@checkdigit/${addBasePathConstRuleId}`]: "error",
210
+ [`@checkdigit/${addBasePathImportRuleId}`]: "error",
211
+ [`@checkdigit/${addAssertImportRuleId}`]: "error"
202
212
  }
203
213
  }
204
214
  ]
@@ -211,4 +221,4 @@ var src_default = defaultToExport;
211
221
  export {
212
222
  src_default as default
213
223
  };
214
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVVBLE9BQU8sZ0JBQWdCLFVBQVUsMEJBQTBCO0FBQzNELE9BQU8sbUJBQW1CLFVBQVUsNkJBQTZCO0FBQ2pFLE9BQU8seUJBQXlCLFVBQVUsbUNBQW1DO0FBQzdFLE9BQU87QUFBQSxFQUNMLFVBQVU7QUFBQSxPQUNMO0FBQ1AsT0FBTyxhQUFhLFVBQVUsdUJBQXVCO0FBQ3JELE9BQU87QUFBQSxFQUNMLFVBQVU7QUFBQSxPQUNMO0FBQ1AsT0FBTyx3QkFBd0IsVUFBVSxrQ0FBa0M7QUFDM0UsT0FBTyx1QkFBdUIsVUFBVSxpQ0FBaUM7QUFDekUsT0FBTyxhQUFhLFVBQVUsdUJBQXVCO0FBQ3JELE9BQU8sa0JBQWtCLFVBQVUsNEJBQTRCO0FBQy9ELE9BQU8sb0JBQW9CLFVBQVUsOEJBQThCO0FBQ25FLE9BQU8sMkJBQTJCLFVBQVUscUNBQXFDO0FBQ2pGLE9BQU8sb0JBQW9CLFVBQVUsOEJBQThCO0FBQ25FLE9BQU8sZ0JBQWdCLFVBQVUsMEJBQTBCO0FBQzNELE9BQU87QUFBQSxFQUNMLFVBQVU7QUFBQSxPQUNMO0FBQ1AsT0FBTyxtQkFBbUIsVUFBVSw2QkFBNkI7QUFDakUsT0FBTyw0QkFBNEIsVUFBVSxzQ0FBc0M7QUFDbkYsT0FBTztBQUFBLEVBQ0wsVUFBVTtBQUFBLE9BQ0w7QUFDUCxPQUFPO0FBQUEsRUFDTCxVQUFVO0FBQUEsT0FDTDtBQUNQLE9BQU87QUFBQSxFQUNMLFVBQVU7QUFBQSxPQUNMO0FBQ1AsT0FBTyxrQkFBa0IsVUFBVSw0QkFBNEI7QUFDL0QsT0FBTyxvQkFBb0IsVUFBVSw4QkFBOEI7QUFDbkUsT0FBTyxxQkFBcUI7QUFDNUIsT0FBTyxtQkFBbUI7QUFDMUIsT0FBTyxrQkFBa0I7QUFDekIsT0FBTyxZQUFZO0FBQ25CLE9BQU8sc0JBQXNCO0FBQzdCLE9BQU8sMkJBQTJCO0FBQ2xDLE9BQU8sa0JBQWtCO0FBQ3pCLE9BQU8seUNBQXlDO0FBQ2hELE9BQU8seUJBQXlCO0FBRWhDLElBQU0sUUFBc0Q7QUFBQSxFQUMxRCxxQkFBcUI7QUFBQSxFQUNyQixtQkFBbUI7QUFBQSxFQUNuQixXQUFXO0FBQUEsRUFDWCx5QkFBeUI7QUFBQSxFQUN6QixrQkFBa0I7QUFBQSxFQUNsQixzQkFBc0I7QUFBQSxFQUN0Qiw4QkFBOEI7QUFBQSxFQUM5QiwyQ0FBMkM7QUFBQSxFQUMzQywyQkFBMkI7QUFBQSxFQUMzQixDQUFDLDBCQUEwQixHQUFHO0FBQUEsRUFDOUIsQ0FBQyw2QkFBNkIsR0FBRztBQUFBLEVBQ2pDLENBQUMsZUFBZSxHQUFHO0FBQUEsRUFDbkIsQ0FBQyxlQUFlLEdBQUc7QUFBQSxFQUNuQixDQUFDLHNCQUFzQixHQUFHO0FBQUEsRUFDMUIsQ0FBQyxrQkFBa0IsR0FBRztBQUFBLEVBQ3RCLENBQUMsMkJBQTJCLEdBQUc7QUFBQSxFQUMvQixDQUFDLCtCQUErQixHQUFHO0FBQUEsRUFDbkMsQ0FBQyxrQkFBa0IsR0FBRztBQUFBLEVBQ3RCLENBQUMsb0JBQW9CLEdBQUc7QUFBQSxFQUN4QixDQUFDLHNCQUFzQixHQUFHO0FBQUEsRUFDMUIsQ0FBQyxnQ0FBZ0MsR0FBRztBQUFBLEVBQ3BDLENBQUMseUJBQXlCLEdBQUc7QUFBQSxFQUM3QixDQUFDLG9CQUFvQixHQUFHO0FBQUEsRUFDeEIsQ0FBQyxzQkFBc0IsR0FBRztBQUFBLEVBQzFCLENBQUMsZ0NBQWdDLEdBQUc7QUFBQSxFQUNwQyxDQUFDLHFDQUFxQyxHQUFHO0FBQUEsRUFDekMsQ0FBQywrQkFBK0IsR0FBRztBQUFBLEVBQ25DLENBQUMsOEJBQThCLEdBQUc7QUFBQSxFQUNsQyxDQUFDLHFCQUFxQixHQUFHO0FBQUEsRUFDekIsQ0FBQyw4QkFBOEIsR0FBRztBQUFBLEVBQ2xDLENBQUMscUJBQXFCLEdBQUc7QUFDM0I7QUFFQSxJQUFNLFNBQXFDO0FBQUEsRUFDekM7QUFDRjtBQUVBLElBQU0sVUFBcUY7QUFBQSxFQUN6RixLQUFLO0FBQUEsSUFDSDtBQUFBLE1BQ0UsT0FBTyxDQUFDLFNBQVM7QUFBQSxNQUNqQixTQUFTO0FBQUEsUUFDUCxlQUFlO0FBQUEsTUFDakI7QUFBQSxNQUNBLE9BQU87QUFBQSxRQUNMLCtCQUErQjtBQUFBLFFBQy9CLGlDQUFpQztBQUFBLFFBQ2pDLHVCQUF1QjtBQUFBLFFBQ3ZCLHFDQUFxQztBQUFBLFFBQ3JDLGtDQUFrQztBQUFBLFFBQ2xDLDBDQUEwQztBQUFBLFFBQzFDLHVEQUF1RDtBQUFBLFFBQ3ZELHVDQUF1QztBQUFBLFFBQ3ZDLDhCQUE4QjtBQUFBLFFBQzlCLENBQUMsZUFBZSwwQkFBMEIsRUFBRSxHQUFHO0FBQUEsUUFDL0MsQ0FBQyxlQUFlLDZCQUE2QixFQUFFLEdBQUc7QUFBQSxRQUNsRCxDQUFDLGVBQWUsb0JBQW9CLEVBQUUsR0FBRztBQUFBLFFBQ3pDLENBQUMsZUFBZSxnQ0FBZ0MsRUFBRSxHQUFHO0FBQUEsUUFDckQsQ0FBQyxlQUFlLHlCQUF5QixFQUFFLEdBQUc7QUFBQSxRQUM5QyxDQUFDLGVBQWUsZ0NBQWdDLEVBQUUsR0FBRztBQUFBLFFBQ3JELENBQUMsZUFBZSxxQ0FBcUMsRUFBRSxHQUFHO0FBQUEsUUFDMUQsQ0FBQyxlQUFlLG9CQUFvQixFQUFFLEdBQUc7QUFBQTtBQUFBLFFBRXpDLENBQUMsZUFBZSxzQkFBc0IsRUFBRSxHQUFHO0FBQUEsUUFDM0MsQ0FBQyxlQUFlLGtCQUFrQixFQUFFLEdBQUc7QUFBQSxRQUN2QyxDQUFDLGVBQWUsZUFBZSxFQUFFLEdBQUc7QUFBQSxRQUNwQyxDQUFDLGVBQWUsc0JBQXNCLEVBQUUsR0FBRztBQUFBLFFBQzNDLENBQUMsZUFBZSxrQkFBa0IsRUFBRSxHQUFHO0FBQUEsUUFDdkMsQ0FBQyxlQUFlLDJCQUEyQixFQUFFLEdBQUc7QUFBQSxRQUNoRCxDQUFDLGVBQWUsK0JBQStCLEVBQUUsR0FBRztBQUFBLFFBQ3BELENBQUMsZUFBZSxlQUFlLEVBQUUsR0FBRztBQUFBLFFBQ3BDLENBQUMsZUFBZSwrQkFBK0IsRUFBRSxHQUFHO0FBQUEsUUFDcEQsQ0FBQyxlQUFlLDhCQUE4QixFQUFFLEdBQUc7QUFBQSxRQUNuRCxDQUFDLGVBQWUscUJBQXFCLEVBQUUsR0FBRztBQUFBLFFBQzFDLENBQUMsZUFBZSw4QkFBOEIsRUFBRSxHQUFHO0FBQUEsUUFDbkQsQ0FBQyxlQUFlLHFCQUFxQixFQUFFLEdBQUc7QUFBQSxRQUMxQyxDQUFDLGVBQWUsc0JBQXNCLEVBQUUsR0FBRztBQUFBO0FBQUEsTUFFN0M7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0EsYUFBYTtBQUFBLElBQ1g7QUFBQSxNQUNFLE9BQU8sQ0FBQyxTQUFTO0FBQUEsTUFDakIsU0FBUztBQUFBLFFBQ1AsZUFBZTtBQUFBLE1BQ2pCO0FBQUEsTUFDQSxPQUFPO0FBQUEsUUFDTCwrQkFBK0I7QUFBQSxRQUMvQixpQ0FBaUM7QUFBQSxRQUNqQyx1QkFBdUI7QUFBQSxRQUN2QixxQ0FBcUM7QUFBQSxRQUNyQyxrQ0FBa0M7QUFBQSxRQUNsQywwQ0FBMEM7QUFBQSxRQUMxQyx1REFBdUQ7QUFBQSxRQUN2RCx1Q0FBdUM7QUFBQSxRQUN2Qyw4QkFBOEI7QUFBQSxRQUM5QixDQUFDLGVBQWUsMEJBQTBCLEVBQUUsR0FBRztBQUFBLFFBQy9DLENBQUMsZUFBZSw2QkFBNkIsRUFBRSxHQUFHO0FBQUEsTUFDcEQ7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0Esc0JBQXNCO0FBQUEsSUFDcEI7QUFBQSxNQUNFLE9BQU8sQ0FBQyxnQkFBZ0IsZ0JBQWdCLHFCQUFxQjtBQUFBO0FBQUEsTUFFN0QsU0FBUyxDQUFDLGVBQWU7QUFBQSxNQUN6QixTQUFTO0FBQUEsUUFDUCxlQUFlO0FBQUEsTUFDakI7QUFBQSxNQUNBLE9BQU87QUFBQSxRQUNMLENBQUMsZUFBZSxzQkFBc0IsRUFBRSxHQUFHO0FBQUEsUUFDM0MsQ0FBQyxlQUFlLGtCQUFrQixFQUFFLEdBQUc7QUFBQSxRQUN2QyxDQUFDLGVBQWUsZUFBZSxFQUFFLEdBQUc7QUFBQSxRQUNwQyxDQUFDLGVBQWUsc0JBQXNCLEVBQUUsR0FBRztBQUFBLFFBQzNDLENBQUMsZUFBZSxrQkFBa0IsRUFBRSxHQUFHO0FBQUEsUUFDdkMsQ0FBQyxlQUFlLDJCQUEyQixFQUFFLEdBQUc7QUFBQSxRQUNoRCxDQUFDLGVBQWUsK0JBQStCLEVBQUUsR0FBRztBQUFBLFFBQ3BELENBQUMsZUFBZSxlQUFlLEVBQUUsR0FBRztBQUFBLFFBQ3BDLENBQUMsZUFBZSwrQkFBK0IsRUFBRSxHQUFHO0FBQUEsUUFDcEQsQ0FBQyxlQUFlLDhCQUE4QixFQUFFLEdBQUc7QUFBQSxRQUNuRCxDQUFDLGVBQWUscUJBQXFCLEVBQUUsR0FBRztBQUFBLFFBQzFDLENBQUMsZUFBZSw4QkFBOEIsRUFBRSxHQUFHO0FBQUEsUUFDbkQsQ0FBQyxlQUFlLHNCQUFzQixFQUFFLEdBQUc7QUFBQSxNQUM3QztBQUFBLElBQ0Y7QUFBQSxJQUNBO0FBQUEsTUFDRSxPQUFPLENBQUMsY0FBYztBQUFBLE1BQ3RCLFNBQVMsQ0FBQyxlQUFlO0FBQUEsTUFDekIsU0FBUztBQUFBLFFBQ1AsZUFBZTtBQUFBLE1BQ2pCO0FBQUEsTUFDQSxPQUFPO0FBQUEsUUFDTCxDQUFDLGVBQWUscUJBQXFCLEVBQUUsR0FBRztBQUFBLE1BQzVDO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLDRCQUE0QjtBQUFBLElBQzFCO0FBQUEsTUFDRSxPQUFPLENBQUMsU0FBUztBQUFBLE1BQ2pCLFNBQVMsQ0FBQyxlQUFlO0FBQUEsTUFDekIsU0FBUztBQUFBLFFBQ1AsZUFBZTtBQUFBLE1BQ2pCO0FBQUEsTUFDQSxPQUFPO0FBQUEsUUFDTCxDQUFDLGVBQWUsc0JBQXNCLEVBQUUsR0FBRztBQUFBLFFBQzNDLENBQUMsZUFBZSxrQkFBa0IsRUFBRSxHQUFHO0FBQUEsUUFDdkMsQ0FBQyxlQUFlLGVBQWUsRUFBRSxHQUFHO0FBQUEsUUFDcEMsQ0FBQyxlQUFlLHNCQUFzQixFQUFFLEdBQUc7QUFBQSxRQUMzQyxDQUFDLGVBQWUsa0JBQWtCLEVBQUUsR0FBRztBQUFBLFFBQ3ZDLENBQUMsZUFBZSwyQkFBMkIsRUFBRSxHQUFHO0FBQUEsUUFDaEQsQ0FBQyxlQUFlLCtCQUErQixFQUFFLEdBQUc7QUFBQSxRQUNwRCxDQUFDLGVBQWUsZUFBZSxFQUFFLEdBQUc7QUFBQSxRQUNwQyxDQUFDLGVBQWUsK0JBQStCLEVBQUUsR0FBRztBQUFBLFFBQ3BELENBQUMsZUFBZSw4QkFBOEIsRUFBRSxHQUFHO0FBQUEsUUFDbkQsQ0FBQyxlQUFlLHFCQUFxQixFQUFFLEdBQUc7QUFBQSxRQUMxQyxDQUFDLGVBQWUsOEJBQThCLEVBQUUsR0FBRztBQUFBLFFBQ25ELENBQUMsZUFBZSxzQkFBc0IsRUFBRSxHQUFHO0FBQUEsTUFDN0M7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGO0FBRUEsSUFBTSxrQkFFRjtBQUFBLEVBQ0YsR0FBRztBQUFBLEVBQ0g7QUFDRjtBQUNBLElBQU8sY0FBUTsiLAogICJuYW1lcyI6IFtdCn0K
224
+ //# sourceMappingURL=data:application/json;base64,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
@@ -0,0 +1,4 @@
1
+ import { ESLintUtils } from '@typescript-eslint/utils';
2
+ export declare const ruleId = "add-assert-import";
3
+ declare const rule: ESLintUtils.RuleModule<'addAssertImport'>;
4
+ export default rule;
@@ -0,0 +1,4 @@
1
+ import { ESLintUtils } from '@typescript-eslint/utils';
2
+ export declare const ruleId = "add-base-path-import";
3
+ declare const rule: ESLintUtils.RuleModule<'addBasePathImport'>;
4
+ export default rule;
@@ -1,5 +1,4 @@
1
- export declare const PLAIN_URL_REGEXP: RegExp;
2
- export declare const TOKENIZED_URL_REGEXP: RegExp;
1
+ export declare function isServiceApiCallUrl(url: string): boolean;
3
2
  export declare function replaceEndpointUrlPrefixWithBasePath(url: string): string;
4
3
  export declare function replaceEndpointUrlPrefixWithDomain(url: string): string;
5
4
  export declare function addBasePathUrlDomain(url: string): string;
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@checkdigit/eslint-plugin","version":"7.3.0-PR.75-912a","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.10.0","@typescript-eslint/utils":"8.10.0","debug":"^4.3.7","ts-api-utils":"^1.3.0"},"devDependencies":{"@checkdigit/jest-config":"^6.0.2","@checkdigit/prettier-config":"^5.5.1","@checkdigit/typescript-config":"^8.0.0","@eslint/js":"^9.13.0","@types/debug":"^4.1.12","@types/eslint":"^9.6.1","@types/eslint-config-prettier":"^6.11.3","@typescript-eslint/parser":"8.10.0","@typescript-eslint/rule-tester":"8.10.0","eslint":"^9.13.0","eslint-config-prettier":"^9.1.0","eslint-import-resolver-typescript":"^3.6.3","eslint-plugin-eslint-plugin":"^6.2.0","eslint-plugin-import":"^2.31.0","eslint-plugin-no-only-tests":"^3.3.0","eslint-plugin-no-secrets":"^1.0.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.10.0"},"peerDependencies":{"eslint":">=9 <10"},"engines":{"node":">=20.17"}}
1
+ {"name":"@checkdigit/eslint-plugin","version":"7.3.0-PR.75-1901","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.12.2","@typescript-eslint/utils":"8.12.2","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.14.0","@types/debug":"^4.1.12","@types/eslint":"^9.6.1","@types/eslint-config-prettier":"^6.11.3","@typescript-eslint/parser":"8.12.2","@typescript-eslint/rule-tester":"8.12.2","eslint":"^9.14.0","eslint-config-prettier":"^9.1.0","eslint-import-resolver-typescript":"^3.6.3","eslint-plugin-eslint-plugin":"^6.3.1","eslint-plugin-import":"^2.31.0","eslint-plugin-no-only-tests":"^3.3.0","eslint-plugin-no-secrets":"^1.0.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.12.2"},"peerDependencies":{"eslint":">=9 <10"},"engines":{"node":">=20.17"}}
@@ -0,0 +1,74 @@
1
+ // agent/add-url-domain.ts
2
+
3
+ /*
4
+ * Copyright (c) 2021-2024 Check Digit, LLC
5
+ *
6
+ * This code is licensed under the MIT license (see LICENSE.txt for details).
7
+ */
8
+
9
+ import { strict as assert } from 'node:assert';
10
+
11
+ import { AST_NODE_TYPES, ESLintUtils } from '@typescript-eslint/utils';
12
+
13
+ import getDocumentationUrl from '../get-documentation-url';
14
+
15
+ export const ruleId = 'add-assert-import';
16
+
17
+ const ASSERT_IMPORT_STATEMENT = "import { strict as assert } from 'node:assert';";
18
+
19
+ const createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
20
+
21
+ const rule: ESLintUtils.RuleModule<'addAssertImport'> = createRule({
22
+ name: ruleId,
23
+ meta: {
24
+ type: 'suggestion',
25
+ docs: {
26
+ description: 'Add import of assert module of node.',
27
+ },
28
+ messages: {
29
+ addAssertImport: 'Add import of assert module of node.',
30
+ },
31
+ fixable: 'code',
32
+ schema: [],
33
+ },
34
+ defaultOptions: [],
35
+ create(context) {
36
+ let isAssertImported = false;
37
+ let isAssertUsed = false;
38
+
39
+ return {
40
+ ImportDeclaration: (node) => {
41
+ if (node.source.value === 'assert' || node.source.value === 'node:assert') {
42
+ isAssertImported = true;
43
+ }
44
+ },
45
+ CallExpression: (callExpression) => {
46
+ // detect if assert is used
47
+ if (
48
+ (callExpression.callee.type === AST_NODE_TYPES.Identifier && callExpression.callee.name === 'assert') ||
49
+ (callExpression.callee.type === AST_NODE_TYPES.MemberExpression &&
50
+ callExpression.callee.object.type === AST_NODE_TYPES.Identifier &&
51
+ callExpression.callee.object.name === 'assert')
52
+ ) {
53
+ isAssertUsed = true;
54
+ }
55
+ },
56
+ 'Program:exit': (program) => {
57
+ // add assert import if necessary
58
+ if (isAssertUsed && !isAssertImported) {
59
+ const firstStatement = program.body[0];
60
+ assert(firstStatement);
61
+ context.report({
62
+ node: program,
63
+ messageId: 'addAssertImport',
64
+ fix(fixer) {
65
+ return fixer.insertTextBefore(firstStatement, `${ASSERT_IMPORT_STATEMENT}\n`);
66
+ },
67
+ });
68
+ }
69
+ },
70
+ };
71
+ },
72
+ });
73
+
74
+ export default rule;
@@ -22,10 +22,10 @@ const rule: ESLintUtils.RuleModule<'addBasePathConst'> = createRule({
22
22
  meta: {
23
23
  type: 'suggestion',
24
24
  docs: {
25
- description: 'Add HTTP domain to the BASE_PATH like url constant variable.',
25
+ description: 'Add BASE_PATH const variable.',
26
26
  },
27
27
  messages: {
28
- addBasePathConst: 'Add HTTP domain to the BASE_PATH like url constant variable.',
28
+ addBasePathConst: 'Add BASE_PATH const variable.',
29
29
  },
30
30
  fixable: 'code',
31
31
  schema: [],
@@ -0,0 +1,69 @@
1
+ // agent/add-url-domain.ts
2
+
3
+ /*
4
+ * Copyright (c) 2021-2024 Check Digit, LLC
5
+ *
6
+ * This code is licensed under the MIT license (see LICENSE.txt for details).
7
+ */
8
+
9
+ import { strict as assert } from 'node:assert';
10
+
11
+ import { AST_NODE_TYPES, ESLintUtils } from '@typescript-eslint/utils';
12
+
13
+ import getDocumentationUrl from '../get-documentation-url';
14
+ import { getApiIndexPathByFilename } from './file';
15
+
16
+ export const ruleId = 'add-base-path-import';
17
+
18
+ const createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
19
+
20
+ const rule: ESLintUtils.RuleModule<'addBasePathImport'> = createRule({
21
+ name: ruleId,
22
+ meta: {
23
+ type: 'suggestion',
24
+ docs: {
25
+ description: 'Add import of BASE_PATH if it is used but not imported.',
26
+ },
27
+ messages: {
28
+ addBasePathImport: 'Add import of BASE_PATH.',
29
+ },
30
+ fixable: 'code',
31
+ schema: [],
32
+ },
33
+ defaultOptions: [],
34
+ create(context) {
35
+ const sourceCode = context.sourceCode;
36
+
37
+ return {
38
+ Program: (program) => {
39
+ const isBasePathUsed = sourceCode.text.includes(`$\{BASE_PATH}`);
40
+ if (isBasePathUsed) {
41
+ const topScope = sourceCode.getScope(program).childScopes[0];
42
+ assert(topScope);
43
+ if (topScope.variables.some((variable) => variable.name === 'BASE_PATH')) {
44
+ return;
45
+ }
46
+
47
+ const apiIndexPath = getApiIndexPathByFilename(context.filename);
48
+ if (apiIndexPath !== undefined) {
49
+ const lastImportStatement = program.body.findLast(
50
+ (statement) => statement.type === AST_NODE_TYPES.ImportDeclaration,
51
+ );
52
+ assert(lastImportStatement);
53
+
54
+ const basePathImportStatement = `\nimport { BASE_PATH } from '${apiIndexPath}';\n`;
55
+ context.report({
56
+ node: program,
57
+ messageId: 'addBasePathImport',
58
+ fix(fixer) {
59
+ return fixer.insertTextAfter(lastImportStatement, basePathImportStatement);
60
+ },
61
+ });
62
+ }
63
+ }
64
+ },
65
+ };
66
+ },
67
+ });
68
+
69
+ export default rule;
@@ -71,9 +71,9 @@ const rule: ESLintUtils.RuleModule<
71
71
  CallExpression(callExpression) {
72
72
  // ignore calls like `foo.bar()` which are likely to be 3rd party module calls
73
73
  // we only focus on calls against local functions or functions imported from the same module
74
- if (callExpression.callee.type === TSESTree.AST_NODE_TYPES.MemberExpression) {
75
- return;
76
- }
74
+ // if (callExpression.callee.type === TSESTree.AST_NODE_TYPES.MemberExpression) {
75
+ // return;
76
+ // }
77
77
 
78
78
  log('===== file name:', context.filename);
79
79
  log('callExpression:', sourceCode.getText(callExpression));
@@ -88,8 +88,10 @@ const rule: ESLintUtils.RuleModule<
88
88
  }
89
89
 
90
90
  const signature = signatures[0];
91
- assert.ok(signature, 'Signature not found.');
92
- if (signature.typeParameters !== undefined && signature.typeParameters.length > 0) {
91
+ if (
92
+ signature === undefined ||
93
+ (signature.typeParameters !== undefined && signature.typeParameters.length > 0)
94
+ ) {
93
95
  // ignore complex signatures with type parameters
94
96
  return;
95
97
  }
@@ -133,11 +135,12 @@ const rule: ESLintUtils.RuleModule<
133
135
  if (!typesToCheck.includes(actualTypeString) && !actualTypeString.endsWith('RequestType')) {
134
136
  // skip the parameter type checking if it's not in the candidate types
135
137
  parametersToKeep.push(actualParameter);
138
+ expectedParameterIndex++;
136
139
  log('skipped');
137
140
  } else if (typeChecker.isTypeAssignableTo(actualType, expectedType)) {
138
141
  parametersToKeep.push(actualParameter);
139
- log('matched');
140
142
  expectedParameterIndex++;
143
+ log('matched');
141
144
  } else {
142
145
  log('not matched');
143
146
  }
@@ -34,7 +34,6 @@ import { isValidPropertyName } from '../library/variable';
34
34
  import { analyzeResponseReferences } from './response-reference';
35
35
  import { getResponseBodyRetrievalText, hasAssertions } from './fetch';
36
36
  import { replaceEndpointUrlPrefixWithBasePath } from './url';
37
- import { getApiIndexPathByFilename } from './file';
38
37
 
39
38
  export const ruleId = 'no-fixture';
40
39
 
@@ -232,7 +231,6 @@ const rule: Rule.RuleModule = {
232
231
  },
233
232
  messages: {
234
233
  preferNativeFetch: 'Prefer native fetch API over customized fixture API.',
235
- addBasePathImport: 'Add BASE_PATH import statement to the file.',
236
234
  unknownError: 'Unknown error occurred in file "{{fileName}}": {{ error }}.',
237
235
  },
238
236
  fixable: 'code',
@@ -243,7 +241,6 @@ const rule: Rule.RuleModule = {
243
241
  const sourceCode = context.sourceCode;
244
242
  const scopeManager = sourceCode.scopeManager;
245
243
  const scopeVariablesMap = new Map<Scope.Scope, string[]>();
246
- let isUrlReplacementNeeded = false;
247
244
 
248
245
  return {
249
246
  // eslint-disable-next-line max-lines-per-function
@@ -283,9 +280,6 @@ const rule: Rule.RuleModule = {
283
280
  // convert url from `/sample-service/v1/ping` to `${BASE_PATH}/ping`
284
281
  const originalUrlArgumentText = sourceCode.getText(urlArgumentNode);
285
282
  const fetchUrlArgumentText = replaceEndpointUrlPrefixWithBasePath(originalUrlArgumentText);
286
- if (fetchUrlArgumentText !== originalUrlArgumentText) {
287
- isUrlReplacementNeeded = true;
288
- }
289
283
 
290
284
  // fetch request argument
291
285
  const methodNode = fixtureFunction.property; // get/put/etc.
@@ -457,31 +451,6 @@ const rule: Rule.RuleModule = {
457
451
  });
458
452
  }
459
453
  },
460
-
461
- 'Program:exit': (program) => {
462
- if (isUrlReplacementNeeded) {
463
- const topScope = sourceCode.getScope(program).childScopes[0];
464
- assert(topScope);
465
- if (topScope.variables.some((variable) => variable.name === 'BASE_PATH')) {
466
- return;
467
- }
468
-
469
- const apiIndexPath = getApiIndexPathByFilename(context.filename);
470
- if (apiIndexPath !== undefined) {
471
- const lastImportStatement = program.body.findLast((statement) => statement.type === 'ImportDeclaration');
472
- assert(lastImportStatement);
473
-
474
- const basePathImportStatement = `\nimport { BASE_PATH } from '${apiIndexPath}';\n`;
475
- context.report({
476
- node: program,
477
- messageId: 'addBasePathImport',
478
- fix(fixer) {
479
- return fixer.insertTextAfter(lastImportStatement, basePathImportStatement);
480
- },
481
- });
482
- }
483
- }
484
- },
485
454
  };
486
455
  },
487
456
  };
@@ -14,7 +14,7 @@ import { AST_NODE_TYPES, ESLintUtils, TSESTree } from '@typescript-eslint/utils'
14
14
  import getDocumentationUrl from '../get-documentation-url';
15
15
  import { getEnclosingScopeNode } from '../library/ts-tree';
16
16
  import { getIndentation } from '../library/format';
17
- import { PLAIN_URL_REGEXP, replaceEndpointUrlPrefixWithDomain, TOKENIZED_URL_REGEXP } from './url';
17
+ import { isServiceApiCallUrl, replaceEndpointUrlPrefixWithDomain } from './url';
18
18
 
19
19
  export const ruleId = 'no-service-wrapper';
20
20
 
@@ -50,7 +50,7 @@ const rule: ESLintUtils.RuleModule<'unknownError' | 'preferNativeFetch' | 'inval
50
50
  urlArgument?.type === AST_NODE_TYPES.TemplateLiteral
51
51
  ) {
52
52
  const urlText = sourceCode.getText(urlArgument);
53
- return PLAIN_URL_REGEXP.test(urlText) || TOKENIZED_URL_REGEXP.test(urlText);
53
+ return isServiceApiCallUrl(urlText);
54
54
  }
55
55
 
56
56
  if (urlArgument?.type === AST_NODE_TYPES.Identifier) {
package/src/agent/url.ts CHANGED
@@ -1,13 +1,20 @@
1
1
  // agent/url.ts
2
2
 
3
3
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
4
- export const PLAIN_URL_REGEXP: RegExp = /^[`']\/\w+(?<serviceNamePart>-\w+)*\/v\d+\/(?<any>.|\r|\n)+[`']$/u;
4
+ const PLAIN_URL_REGEXP: RegExp = /^[`']\/\w+(?<serviceNamePart>-\w+)*\/v\d+\/(?<any>.|\r|\n)+[`']$/u;
5
5
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
6
- export const TOKENIZED_URL_REGEXP: RegExp = /^`\$\{(?<serviceNamePart>[A-Z]+_)*BASE_PATH\}\/(?<any>.|\r|\n)+`$/u;
6
+ const TOKENIZED_URL_REGEXP: RegExp = /^`\$\{(?<serviceNamePart>[A-Z]+_)*BASE_PATH\}\/(?<any>.|\r|\n)+`$/u;
7
+
8
+ export function isServiceApiCallUrl(url: string): boolean {
9
+ return PLAIN_URL_REGEXP.test(url) || TOKENIZED_URL_REGEXP.test(url);
10
+ }
7
11
 
8
12
  export function replaceEndpointUrlPrefixWithBasePath(url: string): string {
9
- // eslint-disable-next-line no-template-curly-in-string
10
- return url.replace(/^`\/\w+(?<parts>-\w+)*\/v\d+\//u, '`${BASE_PATH}/');
13
+ return url.replace(
14
+ /^(?<quotStart>[`'])\/(?<servicename>\w+(?<parts>-\w+)*)(?<path>\/v\d+\/)(?<endpoint>(?<any>.|\r|\n)+)(?<quotEnd>[`'])$/u,
15
+ // eslint-disable-next-line no-template-curly-in-string
16
+ '`${BASE_PATH}/$5`',
17
+ );
11
18
  }
12
19
 
13
20
  export function replaceEndpointUrlPrefixWithDomain(url: string): string {
package/src/index.ts CHANGED
@@ -42,6 +42,8 @@ import requireTypeOutOfTypeOnlyImports, {
42
42
  } from './require-type-out-of-type-only-imports';
43
43
  import noServeRuntime, { ruleId as noServeRuntimeRuleId } from './agent/no-serve-runtime';
44
44
  import addBasePathConst, { ruleId as addBasePathConstRuleId } from './agent/add-base-path-const';
45
+ import addBasePathImport, { ruleId as addBasePathImportRuleId } from './agent/add-base-path-import';
46
+ import addAssertImport, { ruleId as addAssertImportRuleId } from './agent/add-assert-import';
45
47
  import filePathComment from './file-path-comment';
46
48
  import noCardNumbers from './no-card-numbers';
47
49
  import noTestImport from './no-test-import';
@@ -77,6 +79,8 @@ const rules: Record<string, TSESLint.LooseRuleDefinition> = {
77
79
  [noDuplicatedImportsRuleId]: noDuplicatedImports,
78
80
  [noServeRuntimeRuleId]: noServeRuntime,
79
81
  [addBasePathConstRuleId]: addBasePathConst,
82
+ [addBasePathImportRuleId]: addBasePathImport,
83
+ [addAssertImportRuleId]: addAssertImport,
80
84
  [requireFixedServicesImportRuleId]: requireFixedServicesImport,
81
85
  [requireTypeOutOfTypeOnlyImportsRuleId]: requireTypeOutOfTypeOnlyImports,
82
86
  [noUnusedFunctionArgumentsRuleId]: noUnusedFunctionArguments,
@@ -130,6 +134,8 @@ const configs: Record<string, TSESLint.FlatConfig.Config | TSESLint.FlatConfig.C
130
134
  [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: 'off',
131
135
  [`@checkdigit/${agentTestWiringRuleId}`]: 'off',
132
136
  [`@checkdigit/${addBasePathConstRuleId}`]: 'off',
137
+ [`@checkdigit/${addBasePathImportRuleId}`]: 'off',
138
+ [`@checkdigit/${addAssertImportRuleId}`]: 'off',
133
139
  // --- agent rules END ---
134
140
  },
135
141
  },
@@ -177,6 +183,8 @@ const configs: Record<string, TSESLint.FlatConfig.Config | TSESLint.FlatConfig.C
177
183
  [`@checkdigit/${noUnusedImportsRuleId}`]: 'error',
178
184
  [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: 'error',
179
185
  [`@checkdigit/${addBasePathConstRuleId}`]: 'error',
186
+ [`@checkdigit/${addBasePathImportRuleId}`]: 'error',
187
+ [`@checkdigit/${addAssertImportRuleId}`]: 'error',
180
188
  },
181
189
  },
182
190
  {
@@ -211,6 +219,8 @@ const configs: Record<string, TSESLint.FlatConfig.Config | TSESLint.FlatConfig.C
211
219
  [`@checkdigit/${noUnusedImportsRuleId}`]: 'error',
212
220
  [`@checkdigit/${fixFunctionCallArgumentsRuleId}`]: 'error',
213
221
  [`@checkdigit/${addBasePathConstRuleId}`]: 'error',
222
+ [`@checkdigit/${addBasePathImportRuleId}`]: 'error',
223
+ [`@checkdigit/${addAssertImportRuleId}`]: 'error',
214
224
  },
215
225
  },
216
226
  ],