@checkdigit/eslint-plugin 7.13.2-PR.124-53f7 → 7.14.0-PR.117-1758

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.
@@ -23,6 +23,7 @@ import noEnum from "./no-enum.mjs";
23
23
  import noSideEffects from "./no-side-effects.mjs";
24
24
  import noRandomV4UUID from "./no-random-v4-uuid.mjs";
25
25
  import noTestImport from "./no-test-import.mjs";
26
+ import noTypeAssertionAs from "./no-type-assertion-as.mjs";
26
27
  import noUuid from "./no-uuid.mjs";
27
28
  import noWallabyComment from "./no-wallaby-comment.mjs";
28
29
  import objectLiteralResponse from "./object-literal-response.mjs";
@@ -44,6 +45,7 @@ var rules = {
44
45
  "no-test-import": noTestImport,
45
46
  "no-wallaby-comment": noWallabyComment,
46
47
  "no-side-effects": noSideEffects,
48
+ "no-type-assertion-as": noTypeAssertionAs,
47
49
  "regular-expression-comment": regexComment,
48
50
  "require-assert-predicate-rejects-throws": requireAssertPredicateRejectsThrows,
49
51
  "object-literal-response": objectLiteralResponse,
@@ -79,6 +81,7 @@ var configs = {
79
81
  "@checkdigit/require-ts-extension-imports-exports": "error",
80
82
  "@checkdigit/no-wallaby-comment": "error",
81
83
  "@checkdigit/no-side-effects": "error",
84
+ "@checkdigit/no-type-assertion-as": "error",
82
85
  "@checkdigit/regular-expression-comment": "error",
83
86
  "@checkdigit/require-assert-predicate-rejects-throws": "error",
84
87
  "@checkdigit/object-literal-response": "error",
@@ -113,6 +116,7 @@ var configs = {
113
116
  "@checkdigit/require-ts-extension-imports-exports": "error",
114
117
  "@checkdigit/no-wallaby-comment": "off",
115
118
  "@checkdigit/no-side-effects": "error",
119
+ "@checkdigit/no-type-assertion-as": "error",
116
120
  "@checkdigit/regular-expression-comment": "error",
117
121
  "@checkdigit/require-assert-predicate-rejects-throws": "error",
118
122
  "@checkdigit/object-literal-response": "error",
@@ -134,8 +138,8 @@ var defaultToExport = {
134
138
  ...plugin,
135
139
  configs
136
140
  };
137
- var src_default = defaultToExport;
141
+ var index_default = defaultToExport;
138
142
  export {
139
- src_default as default
143
+ index_default as default
140
144
  };
141
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVVBLE9BQU8sd0JBQXdCLFVBQVUsa0NBQWtDO0FBQzNFLE9BQU8sdUJBQXVCLFVBQVUsaUNBQWlDO0FBQ3pFLE9BQU8seUJBQXlCLFVBQVUsbUNBQW1DO0FBQzdFLE9BQU8sMkJBQTJCLFVBQVUscUNBQXFDO0FBQ2pGLE9BQU8sd0JBQXdCO0FBQy9CLE9BQU87QUFBQSxFQUNMLFVBQVU7QUFBQSxPQUNMO0FBQ1AsT0FBTztBQUFBLEVBQ0wsVUFBVTtBQUFBLE9BQ0w7QUFDUCxPQUFPO0FBQUEsRUFDTCxVQUFVO0FBQUEsT0FDTDtBQUNQLE9BQU8sa0JBQWtCLFVBQVUsNEJBQTRCO0FBQy9ELE9BQU87QUFBQSxFQUNMLFVBQVU7QUFBQSxPQUNMO0FBQ1AsT0FBTyxxQkFBcUI7QUFDNUIsT0FBTyxtQkFBbUI7QUFDMUIsT0FBTyxZQUFZO0FBQ25CLE9BQU8sbUJBQW1CO0FBQzFCLE9BQU8sb0JBQW9CO0FBQzNCLE9BQU8sa0JBQWtCO0FBQ3pCLE9BQU8sWUFBWTtBQUNuQixPQUFPLHNCQUFzQjtBQUM3QixPQUFPLDJCQUEyQjtBQUNsQyxPQUFPLGtCQUFrQjtBQUN6QixPQUFPLHlDQUF5QztBQUNoRCxPQUFPLHlCQUF5QjtBQUNoQyxPQUFPLDBCQUEwQjtBQUNqQyxPQUFPLHNDQUFzQztBQUU3QyxJQUFNLFFBQXNEO0FBQUEsRUFDMUQscUJBQXFCO0FBQUEsRUFDckIsbUJBQW1CO0FBQUEsRUFDbkIsV0FBVztBQUFBLEVBQ1gscUJBQXFCO0FBQUEsRUFDckIseUJBQXlCO0FBQUEsRUFDekIsV0FBVztBQUFBLEVBQ1gsMEJBQTBCO0FBQUEsRUFDMUIseUJBQXlCO0FBQUEsRUFDekIsd0NBQXdDO0FBQUEsRUFDeEMsa0JBQWtCO0FBQUEsRUFDbEIsc0JBQXNCO0FBQUEsRUFDdEIsbUJBQW1CO0FBQUEsRUFDbkIsOEJBQThCO0FBQUEsRUFDOUIsMkNBQTJDO0FBQUEsRUFDM0MsMkJBQTJCO0FBQUEsRUFDM0IsQ0FBQywwQkFBMEIsR0FBRztBQUFBLEVBQzlCLENBQUMsNkJBQTZCLEdBQUc7QUFBQSxFQUNqQyxDQUFDLDJCQUEyQixHQUFHO0FBQUEsRUFDL0IsQ0FBQyxnQ0FBZ0MsR0FBRztBQUFBLEVBQ3BDLENBQUMseUJBQXlCLEdBQUc7QUFBQSxFQUM3QixDQUFDLG9CQUFvQixHQUFHO0FBQUEsRUFDeEIsQ0FBQywyQ0FBMkMsR0FBRztBQUFBLEVBQy9DLENBQUMsZ0NBQWdDLEdBQUc7QUFBQSxFQUNwQyxDQUFDLHFDQUFxQyxHQUFHO0FBQzNDO0FBRUEsSUFBTSxTQUFxQztBQUFBLEVBQ3pDO0FBQ0Y7QUFFQSxJQUFNLFVBQXdEO0FBQUEsRUFDNUQsS0FBSztBQUFBLElBQ0g7QUFBQSxNQUNFLE9BQU8sQ0FBQyxTQUFTO0FBQUEsTUFDakIsU0FBUztBQUFBLFFBQ1AsZUFBZTtBQUFBLE1BQ2pCO0FBQUEsTUFDQSxPQUFPO0FBQUEsUUFDTCwrQkFBK0I7QUFBQSxRQUMvQix1QkFBdUI7QUFBQSxRQUN2QixpQ0FBaUM7QUFBQSxRQUNqQyxpQ0FBaUM7QUFBQSxRQUNqQyxxQ0FBcUM7QUFBQSxRQUNyQyx1QkFBdUI7QUFBQSxRQUN2QixzQ0FBc0M7QUFBQSxRQUN0QyxxQ0FBcUM7QUFBQSxRQUNyQyxvREFBb0Q7QUFBQSxRQUNwRCxrQ0FBa0M7QUFBQSxRQUNsQywrQkFBK0I7QUFBQSxRQUMvQiwwQ0FBMEM7QUFBQSxRQUMxQyx1REFBdUQ7QUFBQSxRQUN2RCx1Q0FBdUM7QUFBQSxRQUN2Qyw4QkFBOEI7QUFBQSxRQUM5QixDQUFDLGVBQWUsMEJBQTBCLEVBQUUsR0FBRztBQUFBLFFBQy9DLENBQUMsZUFBZSw2QkFBNkIsRUFBRSxHQUFHO0FBQUEsUUFDbEQsQ0FBQyxlQUFlLDJCQUEyQixFQUFFLEdBQUc7QUFBQSxRQUNoRCxDQUFDLGVBQWUsZ0NBQWdDLEVBQUUsR0FBRztBQUFBLFFBQ3JELENBQUMsZUFBZSx5QkFBeUIsRUFBRSxHQUFHO0FBQUEsUUFDOUMsQ0FBQyxlQUFlLGdDQUFnQyxFQUFFLEdBQUc7QUFBQSxRQUNyRCxDQUFDLGVBQWUscUNBQXFDLEVBQUUsR0FBRztBQUFBLFFBQzFELENBQUMsZUFBZSxvQkFBb0IsRUFBRSxHQUFHO0FBQUEsUUFDekMsQ0FBQyxlQUFlLDJDQUEyQyxFQUFFLEdBQUc7QUFBQSxNQUNsRTtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxhQUFhO0FBQUEsSUFDWDtBQUFBLE1BQ0UsT0FBTyxDQUFDLFNBQVM7QUFBQSxNQUNqQixTQUFTO0FBQUEsUUFDUCxlQUFlO0FBQUEsTUFDakI7QUFBQSxNQUNBLE9BQU87QUFBQSxRQUNMLCtCQUErQjtBQUFBLFFBQy9CLHVCQUF1QjtBQUFBLFFBQ3ZCLGlDQUFpQztBQUFBLFFBQ2pDLGlDQUFpQztBQUFBLFFBQ2pDLHFDQUFxQztBQUFBLFFBQ3JDLHVCQUF1QjtBQUFBLFFBQ3ZCLHNDQUFzQztBQUFBLFFBQ3RDLHFDQUFxQztBQUFBLFFBQ3JDLG9EQUFvRDtBQUFBLFFBQ3BELGtDQUFrQztBQUFBLFFBQ2xDLCtCQUErQjtBQUFBLFFBQy9CLDBDQUEwQztBQUFBLFFBQzFDLHVEQUF1RDtBQUFBLFFBQ3ZELHVDQUF1QztBQUFBLFFBQ3ZDLDhCQUE4QjtBQUFBLFFBQzlCLENBQUMsZUFBZSwwQkFBMEIsRUFBRSxHQUFHO0FBQUEsUUFDL0MsQ0FBQyxlQUFlLDZCQUE2QixFQUFFLEdBQUc7QUFBQSxRQUNsRCxDQUFDLGVBQWUsMkJBQTJCLEVBQUUsR0FBRztBQUFBLFFBQ2hELENBQUMsZUFBZSxnQ0FBZ0MsRUFBRSxHQUFHO0FBQUEsUUFDckQsQ0FBQyxlQUFlLHlCQUF5QixFQUFFLEdBQUc7QUFBQSxRQUM5QyxDQUFDLGVBQWUsZ0NBQWdDLEVBQUUsR0FBRztBQUFBLFFBQ3JELENBQUMsZUFBZSxxQ0FBcUMsRUFBRSxHQUFHO0FBQUEsUUFDMUQsQ0FBQyxlQUFlLG9CQUFvQixFQUFFLEdBQUc7QUFBQSxRQUN6QyxDQUFDLGVBQWUsMkNBQTJDLEVBQUUsR0FBRztBQUFBLE1BQ2xFO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjtBQUVBLElBQU0sa0JBRUY7QUFBQSxFQUNGLEdBQUc7QUFBQSxFQUNIO0FBQ0Y7QUFDQSxJQUFPLGNBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
145
+ //# sourceMappingURL=data:application/json;base64,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Q3JELENBQUMsZUFBZSx5QkFBeUIsRUFBRSxHQUFHO0FBQUEsUUFDOUMsQ0FBQyxlQUFlLGdDQUFnQyxFQUFFLEdBQUc7QUFBQSxRQUNyRCxDQUFDLGVBQWUscUNBQXFDLEVBQUUsR0FBRztBQUFBLFFBQzFELENBQUMsZUFBZSxvQkFBb0IsRUFBRSxHQUFHO0FBQUEsUUFDekMsQ0FBQyxlQUFlLDJDQUEyQyxFQUFFLEdBQUc7QUFBQSxNQUNsRTtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxhQUFhO0FBQUEsSUFDWDtBQUFBLE1BQ0UsT0FBTyxDQUFDLFNBQVM7QUFBQSxNQUNqQixTQUFTO0FBQUEsUUFDUCxlQUFlO0FBQUEsTUFDakI7QUFBQSxNQUNBLE9BQU87QUFBQSxRQUNMLCtCQUErQjtBQUFBLFFBQy9CLHVCQUF1QjtBQUFBLFFBQ3ZCLGlDQUFpQztBQUFBLFFBQ2pDLGlDQUFpQztBQUFBLFFBQ2pDLHFDQUFxQztBQUFBLFFBQ3JDLHVCQUF1QjtBQUFBLFFBQ3ZCLHNDQUFzQztBQUFBLFFBQ3RDLHFDQUFxQztBQUFBLFFBQ3JDLG9EQUFvRDtBQUFBLFFBQ3BELGtDQUFrQztBQUFBLFFBQ2xDLCtCQUErQjtBQUFBLFFBQy9CLG9DQUFvQztBQUFBLFFBQ3BDLDBDQUEwQztBQUFBLFFBQzFDLHVEQUF1RDtBQUFBLFFBQ3ZELHVDQUF1QztBQUFBLFFBQ3ZDLDhCQUE4QjtBQUFBLFFBQzlCLENBQUMsZUFBZSwwQkFBMEIsRUFBRSxHQUFHO0FBQUEsUUFDL0MsQ0FBQyxlQUFlLDZCQUE2QixFQUFFLEdBQUc7QUFBQSxRQUNsRCxDQUFDLGVBQWUsMkJBQTJCLEVBQUUsR0FBRztBQUFBLFFBQ2hELENBQUMsZUFBZSxnQ0FBZ0MsRUFBRSxHQUFHO0FBQUEsUUFDckQsQ0FBQyxlQUFlLHlCQUF5QixFQUFFLEdBQUc7QUFBQSxRQUM5QyxDQUFDLGVBQWUsZ0NBQWdDLEVBQUUsR0FBRztBQUFBLFFBQ3JELENBQUMsZUFBZSxxQ0FBcUMsRUFBRSxHQUFHO0FBQUEsUUFDMUQsQ0FBQyxlQUFlLG9CQUFvQixFQUFFLEdBQUc7QUFBQSxRQUN6QyxDQUFDLGVBQWUsMkNBQTJDLEVBQUUsR0FBRztBQUFBLE1BQ2xFO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjtBQUVBLElBQU0sa0JBRUY7QUFBQSxFQUNGLEdBQUc7QUFBQSxFQUNIO0FBQ0Y7QUFDQSxJQUFPLGdCQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -25,12 +25,12 @@ var rule = createRule({
25
25
  meta: {
26
26
  type: "problem",
27
27
  docs: {
28
- description: "Disallow the use of `uuid.v4` and `crypto.randomUUID` for generating random v4 UUIDs."
28
+ description: "Disallow the use of `uuid.v4` and `crypto.randomUUID` for generating random v4 UUIDs, and suggest replacing `uuid` module usage with `crypto.randomUUID`."
29
29
  },
30
30
  schema: [],
31
31
  messages: {
32
- [NO_RANDOM_V4_UUID]: "Avoid generating v4 UUIDs",
33
- [NO_UUID_MODULE_FOR_V4]: "Avoid using the `uuid` module for v4 UUID generation"
32
+ [NO_RANDOM_V4_UUID]: "Avoid using `crypto.randomUUID` for generating random v4 UUIDs.",
33
+ [NO_UUID_MODULE_FOR_V4]: "Avoid using the `uuid` module for v4 UUID generation. Use `crypto.randomUUID` instead."
34
34
  }
35
35
  },
36
36
  defaultOptions: [],
@@ -61,4 +61,4 @@ export {
61
61
  no_random_v4_uuid_default as default,
62
62
  ruleId
63
63
  };
64
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXJhbmRvbS12NC11dWlkLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsZ0JBQWdCLG1CQUF1QztBQUNoRSxPQUFPLHlCQUF5QjtBQUV6QixJQUFNLFNBQVM7QUFDdEIsSUFBTSxvQkFBb0I7QUFDMUIsSUFBTSx3QkFBd0I7QUFFOUIsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsb0JBQW9CLElBQUksQ0FBQztBQVE5RSxJQUFNLDJCQUEyQixDQUFDLE1BQWtDLFlBQXFCO0FBQ3ZGLE9BQUssV0FBVyxRQUFRLENBQUMsY0FBYztBQUNyQyxRQUFJLFVBQVUsU0FBUyxlQUFlLGlCQUFpQjtBQUNyRCxVQUNFLEtBQUssT0FBTyxVQUFVLFVBQ3RCLFVBQVUsU0FBUyxTQUFTLGVBQWUsY0FDM0MsVUFBVSxTQUFTLFNBQVMsTUFDNUI7QUFDQSxnQkFBUSxhQUFhLFVBQVUsTUFBTTtBQUFBLE1BQ3ZDLFdBQ0UsS0FBSyxPQUFPLFVBQVUsaUJBQ3RCLFVBQVUsU0FBUyxTQUFTLGVBQWUsY0FDM0MsVUFBVSxTQUFTLFNBQVMsY0FDNUI7QUFDQSxnQkFBUSw0QkFBNEIsVUFBVSxNQUFNO0FBQUEsTUFDdEQ7QUFBQSxJQUNGLFdBQVcsVUFBVSxTQUFTLGVBQWUsMEJBQTBCLEtBQUssT0FBTyxVQUFVLFFBQVE7QUFDbkcsY0FBUSxtQkFBbUIsVUFBVSxNQUFNO0FBQUEsSUFDN0M7QUFBQSxFQUNGLENBQUM7QUFDSDtBQUVBLElBQU0sY0FBYyxDQUFDLE1BQStCLFlBQ2pELEtBQUssT0FBTyxTQUFTLGVBQWUsY0FBYyxLQUFLLE9BQU8sU0FBUyxRQUFRLGNBQy9FLEtBQUssT0FBTyxTQUFTLGVBQWUsb0JBQ25DLEtBQUssT0FBTyxPQUFPLFNBQVMsZUFBZSxjQUMzQyxLQUFLLE9BQU8sT0FBTyxTQUFTLFFBQVEsb0JBQ3BDLEtBQUssT0FBTyxTQUFTLFNBQVMsZUFBZSxjQUM3QyxLQUFLLE9BQU8sU0FBUyxTQUFTO0FBRWxDLElBQU0seUJBQXlCLENBQUMsTUFBK0IsVUFDNUQsS0FBSyxPQUFPLFNBQVMsZUFBZSxjQUFjLEtBQUssT0FBTyxTQUFTLFNBQ3ZFLEtBQUssT0FBTyxTQUFTLGVBQWUsb0JBQ25DLEtBQUssT0FBTyxPQUFPLFNBQVMsZUFBZSxjQUMzQyxLQUFLLE9BQU8sT0FBTyxTQUFTLFlBQzVCLEtBQUssT0FBTyxTQUFTLFNBQVMsZUFBZSxjQUM3QyxLQUFLLE9BQU8sU0FBUyxTQUFTO0FBRWxDLElBQU0sT0FBcUYsV0FBVztBQUFBLEVBQ3BHLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxJQUNULFVBQVU7QUFBQSxNQUNSLENBQUMsaUJBQWlCLEdBQUc7QUFBQSxNQUNyQixDQUFDLHFCQUFxQixHQUFHO0FBQUEsSUFDM0I7QUFBQSxFQUNGO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFVBQU0sVUFBbUIsQ0FBQztBQUUxQixXQUFPO0FBQUEsTUFDTCxrQkFBa0IsTUFBa0M7QUFDbEQsaUNBQXlCLE1BQU0sT0FBTztBQUFBLE1BQ3hDO0FBQUEsTUFDQSxlQUFlLE1BQStCO0FBQzVDLFlBQUksWUFBWSxNQUFNLE9BQU8sR0FBRztBQUM5QixrQkFBUSxPQUFPO0FBQUEsWUFDYjtBQUFBLFlBQ0EsV0FBVztBQUFBLFVBQ2IsQ0FBQztBQUFBLFFBQ0gsV0FBVyx1QkFBdUIsTUFBTSxRQUFRLHlCQUF5QixHQUFHO0FBQzFFLGtCQUFRLE9BQU87QUFBQSxZQUNiO0FBQUEsWUFDQSxXQUFXO0FBQUEsVUFDYixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFFRCxJQUFPLDRCQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
64
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXJhbmRvbS12NC11dWlkLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsZ0JBQWdCLG1CQUF1QztBQUNoRSxPQUFPLHlCQUF5QjtBQUV6QixJQUFNLFNBQVM7QUFDdEIsSUFBTSxvQkFBb0I7QUFDMUIsSUFBTSx3QkFBd0I7QUFFOUIsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsb0JBQW9CLElBQUksQ0FBQztBQVE5RSxJQUFNLDJCQUEyQixDQUFDLE1BQWtDLFlBQXFCO0FBQ3ZGLE9BQUssV0FBVyxRQUFRLENBQUMsY0FBYztBQUNyQyxRQUFJLFVBQVUsU0FBUyxlQUFlLGlCQUFpQjtBQUNyRCxVQUNFLEtBQUssT0FBTyxVQUFVLFVBQ3RCLFVBQVUsU0FBUyxTQUFTLGVBQWUsY0FDM0MsVUFBVSxTQUFTLFNBQVMsTUFDNUI7QUFDQSxnQkFBUSxhQUFhLFVBQVUsTUFBTTtBQUFBLE1BQ3ZDLFdBQ0UsS0FBSyxPQUFPLFVBQVUsaUJBQ3RCLFVBQVUsU0FBUyxTQUFTLGVBQWUsY0FDM0MsVUFBVSxTQUFTLFNBQVMsY0FDNUI7QUFDQSxnQkFBUSw0QkFBNEIsVUFBVSxNQUFNO0FBQUEsTUFDdEQ7QUFBQSxJQUNGLFdBQVcsVUFBVSxTQUFTLGVBQWUsMEJBQTBCLEtBQUssT0FBTyxVQUFVLFFBQVE7QUFDbkcsY0FBUSxtQkFBbUIsVUFBVSxNQUFNO0FBQUEsSUFDN0M7QUFBQSxFQUNGLENBQUM7QUFDSDtBQUVBLElBQU0sY0FBYyxDQUFDLE1BQStCLFlBQ2pELEtBQUssT0FBTyxTQUFTLGVBQWUsY0FBYyxLQUFLLE9BQU8sU0FBUyxRQUFRLGNBQy9FLEtBQUssT0FBTyxTQUFTLGVBQWUsb0JBQ25DLEtBQUssT0FBTyxPQUFPLFNBQVMsZUFBZSxjQUMzQyxLQUFLLE9BQU8sT0FBTyxTQUFTLFFBQVEsb0JBQ3BDLEtBQUssT0FBTyxTQUFTLFNBQVMsZUFBZSxjQUM3QyxLQUFLLE9BQU8sU0FBUyxTQUFTO0FBRWxDLElBQU0seUJBQXlCLENBQUMsTUFBK0IsVUFDNUQsS0FBSyxPQUFPLFNBQVMsZUFBZSxjQUFjLEtBQUssT0FBTyxTQUFTLFNBQ3ZFLEtBQUssT0FBTyxTQUFTLGVBQWUsb0JBQ25DLEtBQUssT0FBTyxPQUFPLFNBQVMsZUFBZSxjQUMzQyxLQUFLLE9BQU8sT0FBTyxTQUFTLFlBQzVCLEtBQUssT0FBTyxTQUFTLFNBQVMsZUFBZSxjQUM3QyxLQUFLLE9BQU8sU0FBUyxTQUFTO0FBRWxDLElBQU0sT0FBcUYsV0FBVztBQUFBLEVBQ3BHLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQ0U7QUFBQSxJQUNKO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxJQUNULFVBQVU7QUFBQSxNQUNSLENBQUMsaUJBQWlCLEdBQUc7QUFBQSxNQUNyQixDQUFDLHFCQUFxQixHQUFHO0FBQUEsSUFDM0I7QUFBQSxFQUNGO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFVBQU0sVUFBbUIsQ0FBQztBQUUxQixXQUFPO0FBQUEsTUFDTCxrQkFBa0IsTUFBa0M7QUFDbEQsaUNBQXlCLE1BQU0sT0FBTztBQUFBLE1BQ3hDO0FBQUEsTUFDQSxlQUFlLE1BQStCO0FBQzVDLFlBQUksWUFBWSxNQUFNLE9BQU8sR0FBRztBQUM5QixrQkFBUSxPQUFPO0FBQUEsWUFDYjtBQUFBLFlBQ0EsV0FBVztBQUFBLFVBQ2IsQ0FBQztBQUFBLFFBQ0gsV0FBVyx1QkFBdUIsTUFBTSxRQUFRLHlCQUF5QixHQUFHO0FBQzFFLGtCQUFRLE9BQU87QUFBQSxZQUNiO0FBQUEsWUFDQSxXQUFXO0FBQUEsVUFDYixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFFRCxJQUFPLDRCQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -6,7 +6,7 @@ var ruleId = "no-side-effects";
6
6
  var NO_SIDE_EFFECTS = "NO_SIDE_EFFECTS";
7
7
  var isExpressionStatement = (node) => node.type === TSESTree.AST_NODE_TYPES.ExpressionStatement;
8
8
  var isAwaitExpression = (statement) => isExpressionStatement(statement) && statement.expression.type === TSESTree.AST_NODE_TYPES.AwaitExpression;
9
- var isVariableDeclarationAwaitExpression = (node) => node.type === TSESTree.AST_NODE_TYPES.VariableDeclaration && node.declarations.length > 0 && node.declarations[0]?.init?.type === TSESTree.AST_NODE_TYPES.AwaitExpression;
9
+ var isVariableDeclarationAwaitExpression = (node) => node.type === TSESTree.AST_NODE_TYPES.VariableDeclaration && node.declarations.length > 0 && node.declarations[0].init?.type === TSESTree.AST_NODE_TYPES.AwaitExpression;
10
10
  var isNotValidVariableDeclaration = (node) => node.type === TSESTree.AST_NODE_TYPES.VariableDeclaration && node.kind !== "const" && node.kind !== "using";
11
11
  var isControlFlowStatement = (node) => [
12
12
  TSESTree.AST_NODE_TYPES.TryStatement,
@@ -27,7 +27,7 @@ var isVariableDeclarationCallExpression = (node, excludedIdentifiers) => {
27
27
  if (node.type !== TSESTree.AST_NODE_TYPES.VariableDeclaration || node.declarations.length === 0) {
28
28
  return false;
29
29
  }
30
- const init = node.declarations[0]?.init;
30
+ const init = node.declarations[0].init;
31
31
  if (init?.type !== TSESTree.AST_NODE_TYPES.CallExpression) {
32
32
  return false;
33
33
  }
@@ -45,7 +45,7 @@ var isVariableDeclarationNewExpression = (node) => {
45
45
  if (node.type !== TSESTree.AST_NODE_TYPES.VariableDeclaration || node.declarations.length === 0) {
46
46
  return false;
47
47
  }
48
- const init = node.declarations[0]?.init;
48
+ const init = node.declarations[0].init;
49
49
  return init?.type === TSESTree.AST_NODE_TYPES.NewExpression;
50
50
  };
51
51
  var isFunctionDeclarationAwaitExpression = (node) => node.type === TSESTree.AST_NODE_TYPES.FunctionDeclaration && node.body.body.some(
@@ -146,4 +146,4 @@ export {
146
146
  no_side_effects_default as default,
147
147
  ruleId
148
148
  };
149
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXNpZGUtZWZmZWN0cy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLG1CQUFtQjtBQUM1QixTQUFTLGdCQUFnQjtBQUN6QixPQUFPLHlCQUF5QjtBQU16QixJQUFNLFNBQVM7QUFDdEIsSUFBTSxrQkFBa0I7QUFLeEIsSUFBTSx3QkFBd0IsQ0FBQyxTQUM3QixLQUFLLFNBQVMsU0FBUyxlQUFlO0FBR3hDLElBQU0sb0JBQW9CLENBQUMsY0FDekIsc0JBQXNCLFNBQVMsS0FBSyxVQUFVLFdBQVcsU0FBUyxTQUFTLGVBQWU7QUFHNUYsSUFBTSx1Q0FBdUMsQ0FBQyxTQUM1QyxLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUN0QyxLQUFLLGFBQWEsU0FBUyxLQUMzQixLQUFLLGFBQWEsQ0FBQyxHQUFHLE1BQU0sU0FBUyxTQUFTLGVBQWU7QUFHL0QsSUFBTSxnQ0FBZ0MsQ0FBQyxTQUNyQyxLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUF1QixLQUFLLFNBQVMsV0FBVyxLQUFLLFNBQVM7QUFHdEcsSUFBTSx5QkFBeUIsQ0FBQyxTQUM5QjtBQUFBLEVBQ0UsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQzFCLEVBQUUsU0FBUyxLQUFLLElBQUk7QUFHdEIsSUFBTSx5QkFBeUIsQ0FBQyxTQUM5QixLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUN0QyxLQUFLLFdBQVcsU0FBUyxTQUFTLGVBQWU7QUFLbkQsSUFBTSxxQkFBcUIsQ0FBQyxNQUErQix3QkFDekQsS0FBSyxPQUFPLFNBQVMsU0FBUyxlQUFlLGNBQWMsQ0FBQyxvQkFBb0IsU0FBUyxLQUFLLE9BQU8sSUFBSTtBQUczRyxJQUFNLDJCQUEyQixDQUFDLE1BQStCLHdCQUMvRCxLQUFLLE9BQU8sU0FBUyxTQUFTLGVB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
149
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXNpZGUtZWZmZWN0cy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLG1CQUFtQjtBQUM1QixTQUFTLGdCQUFnQjtBQUN6QixPQUFPLHlCQUF5QjtBQU16QixJQUFNLFNBQVM7QUFDdEIsSUFBTSxrQkFBa0I7QUFLeEIsSUFBTSx3QkFBd0IsQ0FBQyxTQUM3QixLQUFLLFNBQVMsU0FBUyxlQUFlO0FBR3hDLElBQU0sb0JBQW9CLENBQUMsY0FDekIsc0JBQXNCLFNBQVMsS0FBSyxVQUFVLFdBQVcsU0FBUyxTQUFTLGVBQWU7QUFHNUYsSUFBTSx1Q0FBdUMsQ0FBQyxTQUM1QyxLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUN0QyxLQUFLLGFBQWEsU0FBUyxLQUMzQixLQUFLLGFBQWEsQ0FBQyxFQUFFLE1BQU0sU0FBUyxTQUFTLGVBQWU7QUFHOUQsSUFBTSxnQ0FBZ0MsQ0FBQyxTQUNyQyxLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUF1QixLQUFLLFNBQVMsV0FBVyxLQUFLLFNBQVM7QUFHdEcsSUFBTSx5QkFBeUIsQ0FBQyxTQUM5QjtBQUFBLEVBQ0UsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQUEsRUFDeEIsU0FBUyxlQUFlO0FBQzFCLEVBQUUsU0FBUyxLQUFLLElBQUk7QUFHdEIsSUFBTSx5QkFBeUIsQ0FBQyxTQUM5QixLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUN0QyxLQUFLLFdBQVcsU0FBUyxTQUFTLGVBQWU7QUFLbkQsSUFBTSxxQkFBcUIsQ0FBQyxNQUErQix3QkFDekQsS0FBSyxPQUFPLFNBQVMsU0FBUyxlQUFlLGNBQWMsQ0FBQyxvQkFBb0IsU0FBUyxLQUFLLE9BQU8sSUFBSTtBQUczRyxJQUFNLDJCQUEyQixDQUFDLE1BQStCLHdCQUMvRCxLQUFLLE9BQU8sU0FBUyxTQUFTLGVBQWUsb0JBQzdDLEtBQUssT0FBTyxPQUFPLFNBQVMsU0FBUyxlQUFlLGNBQ3BELEtBQUssT0FBTyxTQUFTLFNBQVMsU0FBUyxlQUFlLGNBQ3RELENBQUMsb0JBQW9CLFNBQVMsR0FBRyxLQUFLLE9BQU8sT0FBTyxJQUFJLElBQUksS0FBSyxPQUFPLFNBQVMsSUFBSSxFQUFFO0FBR3pGLElBQU0sOENBQThDLENBQUMsU0FDbkQsS0FBSyxPQUFPLFNBQVMsU0FBUyxlQUFlLG9CQUM3QyxLQUFLLE9BQU8sT0FBTyxTQUFTLFNBQVMsZUFBZTtBQUd0RCxJQUFNLHlDQUF5QyxDQUFDLFdBQTBCLHdCQUN4RSxzQkFBc0IsU0FBUyxLQUMvQixVQUFVLFdBQVcsU0FBUyxTQUFTLGVBQWUsa0JBQ3RELFVBQVUsV0FBVyxPQUFPLFNBQVMsU0FBUyxlQUFlLG9CQUM3RCxVQUFVLFdBQVcsT0FBTyxPQUFPLFNBQVMsU0FBUyxlQUFlLGNBQ3BFLFVBQVUsV0FBVyxPQUFPLFNBQVMsU0FBUyxTQUFTLGVBQWUsY0FDdEUsQ0FBQyxvQkFBb0IsU0FBUyxVQUFVLFdBQVcsT0FBTyxPQUFPLElBQUksS0FDckUsQ0FBQyxvQkFBb0I7QUFBQSxFQUNuQixHQUFHLFVBQVUsV0FBVyxPQUFPLE9BQU8sSUFBSSxJQUFJLFVBQVUsV0FBVyxPQUFPLFNBQVMsSUFBSTtBQUN6RjtBQUdGLElBQU0sc0NBQXNDLENBQUMsTUFBcUIsd0JBQTJDO0FBQzNHLE1BQUksS0FBSyxTQUFTLFNBQVMsZUFBZSx1QkFBdUIsS0FBSyxhQUFhLFdBQVcsR0FBRztBQUMvRixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sT0FBTyxLQUFLLGFBQWEsQ0FBQyxFQUFFO0FBQ2xDLE1BQUksTUFBTSxTQUFTLFNBQVMsZUFBZSxnQkFBZ0I7QUFDekQsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFNBQVMsS0FBSztBQUNwQixNQUNFLE9BQU8sU0FBUyxTQUFTLGVBQWUsMkJBQ3hDLE9BQU8sU0FBUyxTQUFTLGVBQWUsb0JBQ3hDO0FBQ0EsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUNFLG1CQUFtQixNQUFNLG1CQUFtQixLQUM1Qyx5QkFBeUIsTUFBTSxtQkFBbUIsS0FDbEQsNENBQTRDLElBQUk7QUFFcEQ7QUFHQSxJQUFNLDBDQUEwQyxDQUFDLFdBQTBCLHdCQUN6RSxVQUFVLFNBQVMsU0FBUyxlQUFlLDBCQUMzQyxVQUFVLGdCQUFnQixTQUN6QixxQ0FBcUMsVUFBVSxXQUFXLEtBQ3pELG9DQUFvQyxVQUFVLGFBQWEsbUJBQW1CO0FBR2xGLElBQU0sdUNBQXVDLENBQUMsV0FBMEIsd0JBQ3RFLFVBQVUsU0FBUyxTQUFTLGVBQWUsdUJBQzNDLFVBQVUsV0FBVyxTQUFTLFNBQVMsZUFBZSxtQkFDcEQsVUFBVSxXQUFXLE9BQU8sU0FBUyxTQUFTLGVBQWUsY0FDN0QsQ0FBQyxvQkFBb0IsU0FBUyxVQUFVLFdBQVcsT0FBTyxJQUFJLEtBQzdELFVBQVUsV0FBVyxPQUFPLFNBQVMsU0FBUyxlQUFlLG9CQUM1RCxVQUFVLFdBQVcsT0FBTyxPQUFPLFNBQVMsU0FBUyxlQUFlLGNBQ3BFLFVBQVUsV0FBVyxPQUFPLFNBQVMsU0FBUyxTQUFTLGVBQWUsY0FDdEUsQ0FBQyxvQkFBb0I7QUFBQSxFQUNuQixHQUFHLFVBQVUsV0FBVyxPQUFPLE9BQU8sSUFBSSxJQUFJLFVBQVUsV0FBVyxPQUFPLFNBQVMsSUFBSTtBQUN6RjtBQUdOLElBQU0scUNBQXFDLENBQUMsU0FBaUM7QUFDM0UsTUFBSSxLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUF1QixLQUFLLGFBQWEsV0FBVyxHQUFHO0FBQy9GLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxPQUFPLEtBQUssYUFBYSxDQUFDLEVBQUU7QUFDbEMsU0FBTyxNQUFNLFNBQVMsU0FBUyxlQUFlO0FBQ2hEO0FBR0EsSUFBTSx1Q0FBdUMsQ0FBQyxTQUM1QyxLQUFLLFNBQVMsU0FBUyxlQUFlLHVCQUN0QyxLQUFLLEtBQUssS0FBSztBQUFBLEVBQ2IsQ0FBQyxjQUNDLFVBQVUsU0FBUyxTQUFTLGVBQWUsdUJBQzNDLFVBQVUsV0FBVyxTQUFTLFNBQVMsZUFBZTtBQUMxRDtBQUdGLElBQU0saUJBQWlCLENBQUMsV0FBMEIsd0JBQWlEO0FBQ2pHLE1BQUksa0JBQWtCLFNBQVMsR0FBRztBQUNoQyxXQUFPLFNBQVMsZUFBZTtBQUFBLEVBQ2pDO0FBQ0EsTUFBSSx1Q0FBdUMsV0FBVyxtQkFBbUIsR0FBRztBQUMxRSxXQUFPO0FBQUEsRUFDVDtBQUNBLE1BQUkscUNBQXFDLFNBQVMsR0FBRztBQUNuRCxXQUFPO0FBQUEsRUFDVDtBQUNBLE1BQUksb0NBQW9DLFdBQVcsbUJBQW1CLEdBQUc7QUFDdkUsV0FBTztBQUFBLEVBQ1Q7QUFDQSxNQUFJLG1DQUFtQyxTQUFTLEdBQUc7QUFDakQsV0FBTztBQUFBLEVBQ1Q7QUFDQSxNQUFJLHdDQUF3QyxXQUFXLG1CQUFtQixHQUFHO0FBQzNFLFdBQU87QUFBQSxFQUNUO0FBQ0EsTUFBSSxxQ0FBcUMsV0FBVyxtQkFBbUIsR0FBRztBQUN4RSxXQUFPO0FBQUEsRUFDVDtBQUNBLE1BQUksdUJBQXVCLFNBQVMsR0FBRztBQUNyQyxXQUFPO0FBQUEsRUFDVDtBQUNBLE1BQUksOEJBQThCLFNBQVMsR0FBRztBQUM1QyxXQUFPO0FBQUEsRUFDVDtBQUNBLE1BQUksdUJBQXVCLFNBQVMsR0FBRztBQUNyQyxXQUFPLFNBQVMsZUFBZTtBQUFBLEVBQ2pDO0FBQ0EsTUFBSSxxQ0FBcUMsU0FBUyxHQUFHO0FBQ25ELFdBQU87QUFBQSxFQUNUO0FBQ0EsU0FBTztBQUNUO0FBRUEsSUFBTSxhQUF5RCxZQUFZO0FBQUEsRUFBWSxDQUFDLFNBQ3RGLG9CQUFvQixJQUFJO0FBQzFCO0FBRUEsSUFBTSxPQUFzQyxXQUFXO0FBQUEsRUFDckQsTUFBTTtBQUFBLEVBQ04sTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFFBQVE7QUFBQSxNQUNOO0FBQUEsUUFDRSxNQUFNO0FBQUEsUUFDTixZQUFZO0FBQUEsVUFDVixxQkFBcUI7QUFBQSxZQUNuQixNQUFNO0FBQUEsWUFDTixPQUFPLEVBQUUsTUFBTSxTQUFTO0FBQUEsVUFDMUI7QUFBQSxRQUNGO0FBQUEsUUFDQSxzQkFBc0I7QUFBQSxNQUN4QjtBQUFBLElBQ0Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsZUFBZSxHQUFHO0FBQUEsSUFDckI7QUFBQSxFQUNGO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQUEsRUFDOUMsT0FBTyxTQUFTO0FBQ2QsVUFBTSxVQUF1QixRQUFRLFFBQVEsQ0FBQztBQUM5QyxVQUFNLHNCQUFzQixRQUFRLG9CQUFvQixTQUFTLElBQUksUUFBUSxzQkFBc0IsQ0FBQztBQUNwRyxXQUFPO0FBQUEsTUFDTCxRQUFRLE1BQXdCO0FBQzlCLGNBQU0sWUFBWSxLQUFLLEtBQUs7QUFBQSxVQUMxQixDQUFDLGNBQ0MsVUFBVSxTQUFTLFNBQVMsZUFBZSwwQkFDM0MsVUFBVSxTQUFTLFNBQVMsZUFBZSw0QkFDM0MsVUFBVSxTQUFTLFNBQVMsZUFBZTtBQUFBLFFBQy9DO0FBRUEsWUFBSSxDQUFDLFdBQVc7QUFDZDtBQUFBLFFBQ0Y7QUFFQSxhQUFLLEtBQUssUUFBUSxDQUFDLGNBQTZCO0FBQzlDLGdCQUFNLGlCQUFpQixlQUFlLFdBQVcsbUJBQW1CO0FBQ3BFLGNBQUksbUJBQW1CLE1BQU07QUFDM0Isb0JBQVEsT0FBTztBQUFBLGNBQ2IsTUFBTTtBQUFBLGNBQ04sV0FBVztBQUFBLGNBQ1gsTUFBTTtBQUFBLGdCQUNKO0FBQUEsY0FDRjtBQUFBLFlBQ0YsQ0FBQztBQUFBLFVBQ0g7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNIO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBRUQsSUFBTywwQkFBUTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,37 @@
1
+ // src/no-type-assertion-as.ts
2
+ import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
3
+ var ruleId = "no-as-type-assertion";
4
+ var NO_AS_TYPE_ASSERTION = "NO_AS_TYPE_ASSERTION";
5
+ var createRule = ESLintUtils.RuleCreator((name) => name);
6
+ var rule = createRule({
7
+ name: ruleId,
8
+ meta: {
9
+ type: "problem",
10
+ docs: {
11
+ description: "Disallow the use of `as` type assertions and suggest using `satisfies` instead"
12
+ },
13
+ schema: [],
14
+ messages: {
15
+ [NO_AS_TYPE_ASSERTION]: "Avoid using `as` type assertions. Use `satisfies` instead."
16
+ }
17
+ },
18
+ defaultOptions: [],
19
+ create(context) {
20
+ return {
21
+ TSAsExpression(node) {
22
+ if (node.parent.type !== AST_NODE_TYPES.TSAsExpression) {
23
+ context.report({
24
+ node,
25
+ messageId: NO_AS_TYPE_ASSERTION
26
+ });
27
+ }
28
+ }
29
+ };
30
+ }
31
+ });
32
+ var no_type_assertion_as_default = rule;
33
+ export {
34
+ no_type_assertion_as_default as default,
35
+ ruleId
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXR5cGUtYXNzZXJ0aW9uLWFzLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsZ0JBQWdCLG1CQUE2QjtBQUUvQyxJQUFNLFNBQVM7QUFDdEIsSUFBTSx1QkFBdUI7QUFFN0IsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsSUFBSTtBQUV6RCxJQUFNLE9BQTRELFdBQVc7QUFBQSxFQUMzRSxNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxVQUFVO0FBQUEsTUFDUixDQUFDLG9CQUFvQixHQUFHO0FBQUEsSUFDMUI7QUFBQSxFQUNGO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFdBQU87QUFBQSxNQUNMLGVBQWUsTUFBK0I7QUFDNUMsWUFBSSxLQUFLLE9BQU8sU0FBUyxlQUFlLGdCQUFnQjtBQUN0RCxrQkFBUSxPQUFPO0FBQUEsWUFDYjtBQUFBLFlBQ0EsV0FBVztBQUFBLFVBQ2IsQ0FBQztBQUFBLFFBQ0g7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBRUQsSUFBTywrQkFBUTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,5 @@
1
+ import { ESLintUtils } from '@typescript-eslint/utils';
2
+ export declare const ruleId = "no-as-type-assertion";
3
+ declare const NO_AS_TYPE_ASSERTION = "NO_AS_TYPE_ASSERTION";
4
+ declare const rule: ESLintUtils.RuleModule<typeof NO_AS_TYPE_ASSERTION>;
5
+ export default rule;
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@checkdigit/eslint-plugin","version":"7.13.2-PR.124-53f7","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":">=20.17"}}
1
+ {"name":"@checkdigit/eslint-plugin","version":"7.14.0-PR.117-1758","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":">=20.17"}}
package/src/index.ts CHANGED
@@ -32,6 +32,7 @@ import noEnum from './no-enum.ts';
32
32
  import noSideEffects from './no-side-effects.ts';
33
33
  import noRandomV4UUID from './no-random-v4-uuid.ts';
34
34
  import noTestImport from './no-test-import.ts';
35
+ import noTypeAssertionAs from './no-type-assertion-as.ts';
35
36
  import noUuid from './no-uuid.ts';
36
37
  import noWallabyComment from './no-wallaby-comment.ts';
37
38
  import objectLiteralResponse from './object-literal-response.ts';
@@ -54,6 +55,7 @@ const rules: Record<string, TSESLint.LooseRuleDefinition> = {
54
55
  'no-test-import': noTestImport,
55
56
  'no-wallaby-comment': noWallabyComment,
56
57
  'no-side-effects': noSideEffects,
58
+ 'no-type-assertion-as': noTypeAssertionAs,
57
59
  'regular-expression-comment': regexComment,
58
60
  'require-assert-predicate-rejects-throws': requireAssertPredicateRejectsThrows,
59
61
  'object-literal-response': objectLiteralResponse,
@@ -91,6 +93,7 @@ const configs: Record<string, TSESLint.FlatConfig.Config[]> = {
91
93
  '@checkdigit/require-ts-extension-imports-exports': 'error',
92
94
  '@checkdigit/no-wallaby-comment': 'error',
93
95
  '@checkdigit/no-side-effects': 'error',
96
+ '@checkdigit/no-type-assertion-as': 'error',
94
97
  '@checkdigit/regular-expression-comment': 'error',
95
98
  '@checkdigit/require-assert-predicate-rejects-throws': 'error',
96
99
  '@checkdigit/object-literal-response': 'error',
@@ -125,6 +128,7 @@ const configs: Record<string, TSESLint.FlatConfig.Config[]> = {
125
128
  '@checkdigit/require-ts-extension-imports-exports': 'error',
126
129
  '@checkdigit/no-wallaby-comment': 'off',
127
130
  '@checkdigit/no-side-effects': 'error',
131
+ '@checkdigit/no-type-assertion-as': 'error',
128
132
  '@checkdigit/regular-expression-comment': 'error',
129
133
  '@checkdigit/require-assert-predicate-rejects-throws': 'error',
130
134
  '@checkdigit/object-literal-response': 'error',
@@ -64,12 +64,13 @@ const rule: TSESLint.RuleModule<typeof NO_RANDOM_V4_UUID | typeof NO_UUID_MODULE
64
64
  meta: {
65
65
  type: 'problem',
66
66
  docs: {
67
- description: 'Disallow the use of `uuid.v4` and `crypto.randomUUID` for generating random v4 UUIDs.',
67
+ description:
68
+ 'Disallow the use of `uuid.v4` and `crypto.randomUUID` for generating random v4 UUIDs, and suggest replacing `uuid` module usage with `crypto.randomUUID`.',
68
69
  },
69
70
  schema: [],
70
71
  messages: {
71
- [NO_RANDOM_V4_UUID]: 'Avoid generating v4 UUIDs',
72
- [NO_UUID_MODULE_FOR_V4]: 'Avoid using the `uuid` module for v4 UUID generation',
72
+ [NO_RANDOM_V4_UUID]: 'Avoid using `crypto.randomUUID` for generating random v4 UUIDs.',
73
+ [NO_UUID_MODULE_FOR_V4]: 'Avoid using the `uuid` module for v4 UUID generation. Use `crypto.randomUUID` instead.',
73
74
  },
74
75
  },
75
76
  defaultOptions: [],
@@ -31,7 +31,7 @@ const isAwaitExpression = (statement: TSESTree.Node): boolean =>
31
31
  const isVariableDeclarationAwaitExpression = (node: TSESTree.Node): boolean =>
32
32
  node.type === TSESTree.AST_NODE_TYPES.VariableDeclaration &&
33
33
  node.declarations.length > 0 &&
34
- node.declarations[0]?.init?.type === TSESTree.AST_NODE_TYPES.AwaitExpression;
34
+ node.declarations[0].init?.type === TSESTree.AST_NODE_TYPES.AwaitExpression;
35
35
 
36
36
  // Checks if a node is a VariableDeclaration that is not const or using
37
37
  const isNotValidVariableDeclaration = (node: TSESTree.Node): boolean =>
@@ -89,7 +89,7 @@ const isVariableDeclarationCallExpression = (node: TSESTree.Node, excludedIdenti
89
89
  return false;
90
90
  }
91
91
 
92
- const init = node.declarations[0]?.init;
92
+ const init = node.declarations[0].init;
93
93
  if (init?.type !== TSESTree.AST_NODE_TYPES.CallExpression) {
94
94
  return false;
95
95
  }
@@ -135,7 +135,7 @@ const isVariableDeclarationNewExpression = (node: TSESTree.Node): boolean => {
135
135
  return false;
136
136
  }
137
137
 
138
- const init = node.declarations[0]?.init;
138
+ const init = node.declarations[0].init;
139
139
  return init?.type === TSESTree.AST_NODE_TYPES.NewExpression;
140
140
  };
141
141
 
@@ -0,0 +1,43 @@
1
+ // no-type-assertion-as.ts
2
+
3
+ /*
4
+ * Copyright (c) 2021-2025 Check Digit, LLC
5
+ *
6
+ * This code is licensed under the MIT license (see LICENSE.txt for details).
7
+ */
8
+
9
+ import { AST_NODE_TYPES, ESLintUtils, TSESTree } from '@typescript-eslint/utils';
10
+
11
+ export const ruleId = 'no-as-type-assertion';
12
+ const NO_AS_TYPE_ASSERTION = 'NO_AS_TYPE_ASSERTION';
13
+
14
+ const createRule = ESLintUtils.RuleCreator((name) => name);
15
+
16
+ const rule: ESLintUtils.RuleModule<typeof NO_AS_TYPE_ASSERTION> = createRule({
17
+ name: ruleId,
18
+ meta: {
19
+ type: 'problem',
20
+ docs: {
21
+ description: 'Disallow the use of `as` type assertions and suggest using `satisfies` instead',
22
+ },
23
+ schema: [],
24
+ messages: {
25
+ [NO_AS_TYPE_ASSERTION]: 'Avoid using `as` type assertions. Use `satisfies` instead.',
26
+ },
27
+ },
28
+ defaultOptions: [],
29
+ create(context) {
30
+ return {
31
+ 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
+ });
37
+ }
38
+ },
39
+ };
40
+ },
41
+ });
42
+
43
+ export default rule;