@checkdigit/eslint-plugin 7.14.0-PR.117-a113 → 7.14.0-PR.117-2ade

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.
@@ -48,9 +48,6 @@ var isVariableDeclarationNewExpression = (node) => {
48
48
  const init = node.declarations[0].init;
49
49
  return init?.type === TSESTree.AST_NODE_TYPES.NewExpression;
50
50
  };
51
- var isFunctionDeclarationAwaitExpression = (node) => node.type === TSESTree.AST_NODE_TYPES.FunctionDeclaration && node.body.body.some(
52
- (statement) => statement.type === TSESTree.AST_NODE_TYPES.ExpressionStatement && statement.expression.type === TSESTree.AST_NODE_TYPES.AwaitExpression
53
- );
54
51
  var hasSideEffects = (statement, excludedIdentifiers) => {
55
52
  if (isAwaitExpression(statement)) {
56
53
  return TSESTree.AST_NODE_TYPES.AwaitExpression;
@@ -82,9 +79,6 @@ var hasSideEffects = (statement, excludedIdentifiers) => {
82
79
  if (isAssignmentExpression(statement)) {
83
80
  return TSESTree.AST_NODE_TYPES.AssignmentExpression;
84
81
  }
85
- if (isFunctionDeclarationAwaitExpression(statement)) {
86
- return "FunctionDeclarationAwaitExpression";
87
- }
88
82
  return null;
89
83
  };
90
84
  var createRule = ESLintUtils.RuleCreator(
@@ -146,4 +140,4 @@ export {
146
140
  no_side_effects_default as default,
147
141
  ruleId
148
142
  };
149
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXNpZGUtZWZmZWN0cy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLG1CQUFtQjtBQUM1QixTQUFTLGdCQUFnQjtBQUN6QixPQUFPLHlCQUF5QjtBQU16QixJQUFNLFNBQVM7QUFDdEIsSUFBTSxrQkFBa0I7QUFLeEIsSUFBTSx3QkFBd0IsQ0FBQyxTQUM3QixLQUFLLFNBQVMsU0FBUyxlQUFlO0FBR3hDLElBQU0sb0JBQW9CLENBQUMsY0FDekIsc0JBQXNCLFNBQVMsS0FBSyxVQUFVLFdBQVcsU0FBUyxTQUFTLGVBQWU7QUFHNUYsSUFBTSx1Q0FBdUMsQ0FBQyxTQUM1QyxLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUN0QyxLQUFLLGFBQWEsU0FBUyxLQUMzQixLQUFLLGFBQWEsQ0FBQyxFQUFFLE1BQU0sU0FBUyxTQUFTLGVBQWU7QUFHOUQsSUFBTSxnQ0FBZ0MsQ0FBQyxTQUNyQyxLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUF1QixLQUFLLFNBQVMsV0FBVyxLQUFLLFNBQVM7QUFHdEcsSUFBTSx5QkFBeUIsQ0FBQyxTQUM5QjtBQUFBLEVBQ0UsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQzFCLEVBQUUsU0FBUyxLQUFLLElBQUk7QUFHdEIsSUFBTSx5QkFBeUIsQ0FBQyxTQUM5QixLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUN0QyxLQUFLLFdBQVcsU0FBUyxTQUFTLGVBQWU7QUFLbkQsSUFBTSxxQkFBcUIsQ0FBQyxNQUErQix3QkFDekQsS0FBSyxPQUFPLFNBQVMsU0FBUyxlQUFlLGNBQWMsQ0FBQyxvQkFBb0IsU0FBUyxLQUFLLE9BQU8sSUFBSTtBQUczRyxJQUFNLDJCQUEyQixDQUFDLE1BQStCLHdCQUMvRCxLQUFLLE9BQU8sU0FBUyxTQUFTLGVB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
143
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXNpZGUtZWZmZWN0cy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLG1CQUFtQjtBQUM1QixTQUFTLGdCQUFnQjtBQUN6QixPQUFPLHlCQUF5QjtBQU16QixJQUFNLFNBQVM7QUFDdEIsSUFBTSxrQkFBa0I7QUFLeEIsSUFBTSx3QkFBd0IsQ0FBQyxTQUM3QixLQUFLLFNBQVMsU0FBUyxlQUFlO0FBR3hDLElBQU0sb0JBQW9CLENBQUMsY0FDekIsc0JBQXNCLFNBQVMsS0FBSyxVQUFVLFdBQVcsU0FBUyxTQUFTLGVBQWU7QUFHNUYsSUFBTSx1Q0FBdUMsQ0FBQyxTQUM1QyxLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUN0QyxLQUFLLGFBQWEsU0FBUyxLQUMzQixLQUFLLGFBQWEsQ0FBQyxFQUFFLE1BQU0sU0FBUyxTQUFTLGVBQWU7QUFHOUQsSUFBTSxnQ0FBZ0MsQ0FBQyxTQUNyQyxLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUF1QixLQUFLLFNBQVMsV0FBVyxLQUFLLFNBQVM7QUFHdEcsSUFBTSx5QkFBeUIsQ0FBQyxTQUM5QjtBQUFBLEVBQ0UsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQzFCLEVBQUUsU0FBUyxLQUFLLElBQUk7QUFHdEIsSUFBTSx5QkFBeUIsQ0FBQyxTQUM5QixLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUN0QyxLQUFLLFdBQVcsU0FBUyxTQUFTLGVBQWU7QUFLbkQsSUFBTSxxQkFBcUIsQ0FBQyxNQUErQix3QkFDekQsS0FBSyxPQUFPLFNBQVMsU0FBUyxlQUFlLGNBQWMsQ0FBQyxvQkFBb0IsU0FBUyxLQUFLLE9BQU8sSUFBSTtBQUczRyxJQUFNLDJCQUEyQixDQUFDLE1BQStCLHdCQUMvRCxLQUFLLE9BQU8sU0FBUyxTQUFTLGVB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
@@ -17,14 +17,23 @@ var rule = createRule({
17
17
  },
18
18
  defaultOptions: [],
19
19
  create(context) {
20
+ const parserServices = ESLintUtils.getParserServices(context);
21
+ const checker = parserServices.program.getTypeChecker();
20
22
  return {
21
23
  TSAsExpression(node) {
22
- if (node.parent.type !== AST_NODE_TYPES.TSAsExpression) {
23
- context.report({
24
- node,
25
- messageId: NO_AS_TYPE_ASSERTION
26
- });
24
+ if (node.parent.type === AST_NODE_TYPES.TSAsExpression) {
25
+ return;
27
26
  }
27
+ const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node.expression);
28
+ const originalType = checker.getTypeAtLocation(tsNode);
29
+ const targetType = checker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(node.typeAnnotation));
30
+ if (!checker.isTypeAssignableTo(originalType, targetType)) {
31
+ return;
32
+ }
33
+ context.report({
34
+ node,
35
+ messageId: NO_AS_TYPE_ASSERTION
36
+ });
28
37
  }
29
38
  };
30
39
  }
@@ -34,4 +43,4 @@ export {
34
43
  no_type_assertion_as_default as default,
35
44
  ruleId
36
45
  };
37
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXR5cGUtYXNzZXJ0aW9uLWFzLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsZ0JBQWdCLG1CQUE2QjtBQUUvQyxJQUFNLFNBQVM7QUFDdEIsSUFBTSx1QkFBdUI7QUFFN0IsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsSUFBSTtBQUV6RCxJQUFNLE9BQTRELFdBQVc7QUFBQSxFQUMzRSxNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxVQUFVO0FBQUEsTUFDUixDQUFDLG9CQUFvQixHQUFHO0FBQUEsSUFDMUI7QUFBQSxFQUNGO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFdBQU87QUFBQSxNQUNMLGVBQWUsTUFBK0I7QUFDNUMsWUFBSSxLQUFLLE9BQU8sU0FBUyxlQUFlLGdCQUFnQjtBQUN0RCxrQkFBUSxPQUFPO0FBQUEsWUFDYjtBQUFBLFlBQ0EsV0FBVztBQUFBLFVBQ2IsQ0FBQztBQUFBLFFBQ0g7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBRUQsSUFBTywrQkFBUTsiLAogICJuYW1lcyI6IFtdCn0K
46
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXR5cGUtYXNzZXJ0aW9uLWFzLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsZ0JBQWdCLG1CQUE2QjtBQUUvQyxJQUFNLFNBQVM7QUFDdEIsSUFBTSx1QkFBdUI7QUFFN0IsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsSUFBSTtBQUV6RCxJQUFNLE9BQTRELFdBQVc7QUFBQSxFQUMzRSxNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxVQUFVO0FBQUEsTUFDUixDQUFDLG9CQUFvQixHQUFHO0FBQUEsSUFDMUI7QUFBQSxFQUNGO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFVBQU0saUJBQWlCLFlBQVksa0JBQWtCLE9BQU87QUFDNUQsVUFBTSxVQUFVLGVBQWUsUUFBUSxlQUFlO0FBRXRELFdBQU87QUFBQSxNQUNMLGVBQWUsTUFBK0I7QUFDNUMsWUFBSSxLQUFLLE9BQU8sU0FBUyxlQUFlLGdCQUFnQjtBQUN0RDtBQUFBLFFBQ0Y7QUFFQSxjQUFNLFNBQVMsZUFBZSxzQkFBc0IsSUFBSSxLQUFLLFVBQVU7QUFDdkUsY0FBTSxlQUFlLFFBQVEsa0JBQWtCLE1BQU07QUFDckQsY0FBTSxhQUFhLFFBQVEsa0JBQWtCLGVBQWUsc0JBQXNCLElBQUksS0FBSyxjQUFjLENBQUM7QUFHMUcsWUFBSSxDQUFDLFFBQVEsbUJBQW1CLGNBQWMsVUFBVSxHQUFHO0FBQ3pEO0FBQUEsUUFDRjtBQUVBLGdCQUFRLE9BQU87QUFBQSxVQUNiO0FBQUEsVUFDQSxXQUFXO0FBQUEsUUFDYixDQUFDO0FBQUEsTUFDSDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUVELElBQU8sK0JBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,5 +1,6 @@
1
1
  // src/require-fixed-services-import.ts
2
2
  import { strict as assert } from "node:assert";
3
+ import path from "node:path";
3
4
  import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
4
5
  import getDocumentationUrl from "./get-documentation-url.mjs";
5
6
  var ruleId = "require-fixed-services-import";
@@ -24,9 +25,14 @@ var rule = createRule({
24
25
  defaultOptions: [],
25
26
  create(context) {
26
27
  const importedServiceTypeMapping = /* @__PURE__ */ new Map();
28
+ const fileFolder = path.dirname(context.filename);
27
29
  return {
28
30
  ImportDeclaration(importDeclaration) {
29
31
  const moduleName = importDeclaration.source.value;
32
+ const resolvedModulePath = path.resolve(fileFolder, moduleName);
33
+ if (!resolvedModulePath.includes("src/services")) {
34
+ return;
35
+ }
30
36
  if (SERVICE_TYPINGS_IMPORT_PATH.test(moduleName)) {
31
37
  const match = SERVICE_TYPINGS_IMPORT_PATH_WITH_VERSION.exec(moduleName);
32
38
  if (match?.groups) {
@@ -82,4 +88,4 @@ export {
82
88
  require_fixed_services_import_default as default,
83
89
  ruleId
84
90
  };
85
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlcXVpcmUtZml4ZWQtc2VydmljZXMtaW1wb3J0LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsVUFBVSxjQUFjO0FBRWpDLFNBQVMsZ0JBQWdCLG1CQUE2QjtBQUV0RCxPQUFPLHlCQUF5QjtBQUV6QixJQUFNLFNBQVM7QUFFdEIsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsb0JBQW9CLElBQUksQ0FBQztBQUM5RSxJQUFNLDhCQUE4QjtBQUNwQyxJQUFNLDJDQUNKO0FBRUYsSUFBTSxPQUVGLFdBQVc7QUFBQSxFQUNiLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUiwrQkFDRTtBQUFBLE1BQ0YsNEJBQTRCO0FBQUEsTUFDNUIsNEJBQTRCO0FBQUEsSUFDOUI7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVEsQ0FBQztBQUFBLEVBQ1g7QUFBQSxFQUNBLGdCQUFnQixDQUFDO0FBQUEsRUFDakIsT0FBTyxTQUFTO0FBQ2QsVUFBTSw2QkFBNkIsb0JBQUksSUFBb0I7QUFFM0QsV0FBTztBQUFBLE1BQ0wsa0JBQWtCLG1CQUFtQjtBQUNuQyxjQUFNLGFBQWEsa0JBQWtCLE9BQU87QUFDNUMsWUFBSSw0QkFBNEIsS0FBSyxVQUFVLEdBQUc7QUFDaEQsZ0JBQU0sUUFBUSx5Q0FBeUMsS0FBSyxVQUFVO0FBQ3RFLGNBQUksT0FBTyxRQUFRO0FBRWpCLGtCQUFNLEVBQUUsU0FBUyxRQUFRLElBQUksTUFBTTtBQUNuQyxtQkFBTyxHQUFHLFlBQVksVUFBYSxZQUFZLE1BQVM7QUFHeEQsdUJBQVcsYUFBYSxrQkFBa0IsWUFBWTtBQUNwRCxrQkFDRSxVQUFVLFNBQVMsZUFBZSxtQkFDbEMsVUFBVSxTQUFTLFNBQVMsZUFBZSxZQUMzQztBQUNBLDJDQUEyQixJQUFJLFVBQVUsTUFBTSxNQUFNLEdBQUcsT0FBTyxJQUFJLFVBQVUsU0FBUyxJQUFJLEVBQUU7QUFBQSxjQUM5RjtBQUFBLFlBQ0Y7QUFFQSxrQkFBTSxhQUFhLGtCQUFrQixXQUFXLENBQUMsR0FBRyxNQUFNLENBQUM7QUFDM0QsbUJBQU8sR0FBRyxlQUFlLE1BQVM7QUFDbEMsa0JBQU0sV0FBVyxrQkFBa0IsV0FBVyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUM7QUFDN0QsbUJBQU8sR0FBRyxhQUFhLE1BQVM7QUFFaEMsb0JBQVEsT0FBTztBQUFBLGNBQ2IsV0FBVztBQUFBLGNBQ1gsTUFBTSxrQkFBa0I7QUFBQSxjQUN4QixDQUFDLElBQUksT0FBTztBQUNWLHNCQUFNLE1BQU0saUJBQWlCLENBQUMsWUFBWSxRQUFRLEdBQUcsR0FBRyxPQUFPLElBQUksUUFBUSxNQUFNLENBQUMsQ0FBQyxPQUFPLE9BQU8sRUFBRTtBQUFBLGNBQ3JHO0FBQUEsWUFDRixDQUFDO0FBQUEsVUFDSDtBQUdBLGtCQUFRLE9BQU87QUFBQSxZQUNiLFdBQVc7QUFBQSxZQUNYLE1BQU0sa0JBQWtCO0FBQUEsWUFDeEIsQ0FBQyxJQUFJLE9BQU87QUFDVixvQkFBTSxNQUFNO0FBQUEsZ0JBQ1Ysa0JBQWtCO0FBQUEsZ0JBQ2xCLElBQUksV0FBVyxNQUFNLEdBQUcsV0FBVyxRQUFRLGFBQWEsQ0FBQyxDQUFDO0FBQUEsY0FDNUQ7QUFBQSxZQUNGO0FBQUEsVUFDRixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxNQUVBLGdCQUFnQixlQUF5QztBQUN2RCxZQUNFLGNBQWMsU0FBUyxTQUFTLGVBQWUsY0FDL0MsMkJBQTJCLElBQUksY0FBYyxTQUFTLElBQUksR0FDMUQ7QUFDQSxnQkFBTSxrQkFBa0IsMkJBQTJCLElBQUksY0FBYyxTQUFTLElBQUk7QUFDbEYsaUJBQU8sR0FBRyxvQkFBb0IsTUFBUztBQUN2QyxrQkFBUSxPQUFPO0FBQUEsWUFDYixXQUFXO0FBQUEsWUFDWCxNQUFNLGNBQWM7QUFBQSxZQUNwQixJQUFJLE9BQU87QUFDVCxxQkFBTyxNQUFNLFlBQVksY0FBYyxVQUFVLGVBQWU7QUFBQSxZQUNsRTtBQUFBLFVBQ0YsQ0FBQztBQUFBLFFBQ0g7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBRUQsSUFBTyx3Q0FBUTsiLAogICJuYW1lcyI6IFtdCn0K
91
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlcXVpcmUtZml4ZWQtc2VydmljZXMtaW1wb3J0LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsVUFBVSxjQUFjO0FBQ2pDLE9BQU8sVUFBVTtBQUVqQixTQUFTLGdCQUFnQixtQkFBNkI7QUFFdEQsT0FBTyx5QkFBeUI7QUFFekIsSUFBTSxTQUFTO0FBRXRCLElBQU0sYUFBYSxZQUFZLFlBQVksQ0FBQyxTQUFTLG9CQUFvQixJQUFJLENBQUM7QUFDOUUsSUFBTSw4QkFBOEI7QUFDcEMsSUFBTSwyQ0FDSjtBQUVGLElBQU0sT0FFRixXQUFXO0FBQUEsRUFDYixNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsK0JBQ0U7QUFBQSxNQUNGLDRCQUE0QjtBQUFBLE1BQzVCLDRCQUE0QjtBQUFBLElBQzlCO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRLENBQUM7QUFBQSxFQUNYO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFVBQU0sNkJBQTZCLG9CQUFJLElBQW9CO0FBQzNELFVBQU0sYUFBYSxLQUFLLFFBQVEsUUFBUSxRQUFRO0FBRWhELFdBQU87QUFBQSxNQUNMLGtCQUFrQixtQkFBbUI7QUFDbkMsY0FBTSxhQUFhLGtCQUFrQixPQUFPO0FBQzVDLGNBQU0scUJBQXFCLEtBQUssUUFBUSxZQUFZLFVBQVU7QUFDOUQsWUFBSSxDQUFDLG1CQUFtQixTQUFTLGNBQWMsR0FBRztBQUNoRDtBQUFBLFFBQ0Y7QUFFQSxZQUFJLDRCQUE0QixLQUFLLFVBQVUsR0FBRztBQUVoRCxnQkFBTSxRQUFRLHlDQUF5QyxLQUFLLFVBQVU7QUFDdEUsY0FBSSxPQUFPLFFBQVE7QUFFakIsa0JBQU0sRUFBRSxTQUFTLFFBQVEsSUFBSSxNQUFNO0FBQ25DLG1CQUFPLEdBQUcsWUFBWSxVQUFhLFlBQVksTUFBUztBQUd4RCx1QkFBVyxhQUFhLGtCQUFrQixZQUFZO0FBQ3BELGtCQUNFLFVBQVUsU0FBUyxlQUFlLG1CQUNsQyxVQUFVLFNBQVMsU0FBUyxlQUFlLFlBQzNDO0FBQ0EsMkNBQTJCLElBQUksVUFBVSxNQUFNLE1BQU0sR0FBRyxPQUFPLElBQUksVUFBVSxTQUFTLElBQUksRUFBRTtBQUFBLGNBQzlGO0FBQUEsWUFDRjtBQUVBLGtCQUFNLGFBQWEsa0JBQWtCLFdBQVcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUMzRCxtQkFBTyxHQUFHLGVBQWUsTUFBUztBQUNsQyxrQkFBTSxXQUFXLGtCQUFrQixXQUFXLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztBQUM3RCxtQkFBTyxHQUFHLGFBQWEsTUFBUztBQUVoQyxvQkFBUSxPQUFPO0FBQUEsY0FDYixXQUFXO0FBQUEsY0FDWCxNQUFNLGtCQUFrQjtBQUFBLGNBQ3hCLENBQUMsSUFBSSxPQUFPO0FBQ1Ysc0JBQU0sTUFBTSxpQkFBaUIsQ0FBQyxZQUFZLFFBQVEsR0FBRyxHQUFHLE9BQU8sSUFBSSxRQUFRLE1BQU0sQ0FBQyxDQUFDLE9BQU8sT0FBTyxFQUFFO0FBQUEsY0FDckc7QUFBQSxZQUNGLENBQUM7QUFBQSxVQUNIO0FBR0Esa0JBQVEsT0FBTztBQUFBLFlBQ2IsV0FBVztBQUFBLFlBQ1gsTUFBTSxrQkFBa0I7QUFBQSxZQUN4QixDQUFDLElBQUksT0FBTztBQUNWLG9CQUFNLE1BQU07QUFBQSxnQkFDVixrQkFBa0I7QUFBQSxnQkFDbEIsSUFBSSxXQUFXLE1BQU0sR0FBRyxXQUFXLFFBQVEsYUFBYSxDQUFDLENBQUM7QUFBQSxjQUM1RDtBQUFBLFlBQ0Y7QUFBQSxVQUNGLENBQUM7QUFBQSxRQUNIO0FBQUEsTUFDRjtBQUFBLE1BRUEsZ0JBQWdCLGVBQXlDO0FBQ3ZELFlBQ0UsY0FBYyxTQUFTLFNBQVMsZUFBZSxjQUMvQywyQkFBMkIsSUFBSSxjQUFjLFNBQVMsSUFBSSxHQUMxRDtBQUNBLGdCQUFNLGtCQUFrQiwyQkFBMkIsSUFBSSxjQUFjLFNBQVMsSUFBSTtBQUNsRixpQkFBTyxHQUFHLG9CQUFvQixNQUFTO0FBQ3ZDLGtCQUFRLE9BQU87QUFBQSxZQUNiLFdBQVc7QUFBQSxZQUNYLE1BQU0sY0FBYztBQUFBLFlBQ3BCLElBQUksT0FBTztBQUNULHFCQUFPLE1BQU0sWUFBWSxjQUFjLFVBQVUsZUFBZTtBQUFBLFlBQ2xFO0FBQUEsVUFDRixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFFRCxJQUFPLHdDQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@checkdigit/eslint-plugin","version":"7.14.0-PR.117-a113","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.23.0","@typescript-eslint/utils":"^8.23.0","http-status-codes":"^2.3.0","ts-api-utils":"^2.0.1"},"devDependencies":{"@checkdigit/jest-config":"^6.0.2","@checkdigit/prettier-config":"^6.1.0","@checkdigit/typescript-config":"^9.0.0","@eslint/js":"^9.19.0","@types/eslint":"^9.6.1","@types/eslint-config-prettier":"^6.11.3","@typescript-eslint/parser":"^8.23.0","@typescript-eslint/rule-tester":"^8.23.0","eslint":"^9.19.0","eslint-config-prettier":"^10.0.1","eslint-import-resolver-typescript":"^3.7.0","eslint-plugin-eslint-plugin":"^6.4.0","eslint-plugin-import":"^2.31.0","eslint-plugin-no-only-tests":"^3.3.0","eslint-plugin-no-secrets":"^2.2.1","eslint-plugin-node":"^11.1.0","eslint-plugin-sonarjs":"1.0.4","rimraf":"^6.0.1","typescript-eslint":"^8.23.0"},"peerDependencies":{"eslint":">=9 <10"},"engines":{"node":">=22.14"}}
1
+ {"name":"@checkdigit/eslint-plugin","version":"7.14.0-PR.117-2ade","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.23.0","@typescript-eslint/utils":"^8.23.0","http-status-codes":"^2.3.0","ts-api-utils":"^2.0.1"},"devDependencies":{"@checkdigit/jest-config":"^6.0.2","@checkdigit/prettier-config":"^6.1.0","@checkdigit/typescript-config":"^9.0.0","@eslint/js":"^9.19.0","@types/eslint":"^9.6.1","@types/eslint-config-prettier":"^6.11.3","@typescript-eslint/parser":"^8.23.0","@typescript-eslint/rule-tester":"^8.23.0","eslint":"^9.19.0","eslint-config-prettier":"^10.0.1","eslint-import-resolver-typescript":"^3.7.0","eslint-plugin-eslint-plugin":"^6.4.0","eslint-plugin-import":"^2.31.0","eslint-plugin-no-only-tests":"^3.3.0","eslint-plugin-no-secrets":"^2.2.1","eslint-plugin-node":"^11.1.0","eslint-plugin-sonarjs":"1.0.4","rimraf":"^6.0.1","typescript-eslint":"^8.23.0"},"peerDependencies":{"eslint":">=9 <10"},"engines":{"node":">=22.14"}}
@@ -139,15 +139,6 @@ const isVariableDeclarationNewExpression = (node: TSESTree.Node): boolean => {
139
139
  return init?.type === TSESTree.AST_NODE_TYPES.NewExpression;
140
140
  };
141
141
 
142
- // Checks if a node is a FunctionDeclaration with an AwaitExpression
143
- const isFunctionDeclarationAwaitExpression = (node: TSESTree.Node): boolean =>
144
- node.type === TSESTree.AST_NODE_TYPES.FunctionDeclaration &&
145
- node.body.body.some(
146
- (statement) =>
147
- statement.type === TSESTree.AST_NODE_TYPES.ExpressionStatement &&
148
- statement.expression.type === TSESTree.AST_NODE_TYPES.AwaitExpression,
149
- );
150
-
151
142
  // Update the hasSideEffects function to return a string indicating the type of side effect
152
143
  const hasSideEffects = (statement: TSESTree.Node, excludedIdentifiers: string[]): string | null => {
153
144
  if (isAwaitExpression(statement)) {
@@ -180,9 +171,6 @@ const hasSideEffects = (statement: TSESTree.Node, excludedIdentifiers: string[])
180
171
  if (isAssignmentExpression(statement)) {
181
172
  return TSESTree.AST_NODE_TYPES.AssignmentExpression;
182
173
  }
183
- if (isFunctionDeclarationAwaitExpression(statement)) {
184
- return 'FunctionDeclarationAwaitExpression';
185
- }
186
174
  return null;
187
175
  };
188
176
 
@@ -27,14 +27,28 @@ const rule: ESLintUtils.RuleModule<typeof NO_AS_TYPE_ASSERTION> = createRule({
27
27
  },
28
28
  defaultOptions: [],
29
29
  create(context) {
30
+ const parserServices = ESLintUtils.getParserServices(context);
31
+ const checker = parserServices.program.getTypeChecker();
32
+
30
33
  return {
31
34
  TSAsExpression(node: TSESTree.TSAsExpression) {
32
- if (node.parent.type !== AST_NODE_TYPES.TSAsExpression) {
33
- context.report({
34
- node,
35
- messageId: NO_AS_TYPE_ASSERTION,
36
- });
35
+ if (node.parent.type === AST_NODE_TYPES.TSAsExpression) {
36
+ return;
37
37
  }
38
+
39
+ const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node.expression);
40
+ const originalType = checker.getTypeAtLocation(tsNode);
41
+ const targetType = checker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(node.typeAnnotation));
42
+
43
+ // Ensure the types are not assignable
44
+ if (!checker.isTypeAssignableTo(originalType, targetType)) {
45
+ return;
46
+ }
47
+
48
+ context.report({
49
+ node,
50
+ messageId: NO_AS_TYPE_ASSERTION,
51
+ });
38
52
  },
39
53
  };
40
54
  },
@@ -7,6 +7,7 @@
7
7
  */
8
8
 
9
9
  import { strict as assert } from 'node:assert';
10
+ import path from 'node:path';
10
11
 
11
12
  import { AST_NODE_TYPES, ESLintUtils, TSESTree } from '@typescript-eslint/utils';
12
13
 
@@ -40,11 +41,18 @@ const rule: ESLintUtils.RuleModule<
40
41
  defaultOptions: [],
41
42
  create(context) {
42
43
  const importedServiceTypeMapping = new Map<string, string>();
44
+ const fileFolder = path.dirname(context.filename);
43
45
 
44
46
  return {
45
47
  ImportDeclaration(importDeclaration) {
46
- const moduleName = importDeclaration.source.value;
48
+ const moduleName = importDeclaration.source.value; /*?*/
49
+ const resolvedModulePath = path.resolve(fileFolder, moduleName); /*?*/
50
+ if (!resolvedModulePath.includes('src/services')) {
51
+ return;
52
+ }
53
+
47
54
  if (SERVICE_TYPINGS_IMPORT_PATH.test(moduleName)) {
55
+ // make sure that it matches only the src/services path
48
56
  const match = SERVICE_TYPINGS_IMPORT_PATH_WITH_VERSION.exec(moduleName);
49
57
  if (match?.groups) {
50
58
  // need to import the service typings from the fixed path, and also apply the namespace to the referenced types