eslint-config-isaacscript 4.17.0 → 4.18.0

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.
@@ -104,7 +104,20 @@ const SUPPORTED_RULES = {
104
104
  "@typescript-eslint/no-duplicate-enum-values": "error",
105
105
  "@typescript-eslint/no-duplicate-type-constituents": "error",
106
106
  "@typescript-eslint/no-dynamic-delete": "error",
107
- "@typescript-eslint/no-empty-interface": "error",
107
+
108
+ /**
109
+ * The `allowSingleExtends` option is enabled to allow for the common pattern of using using
110
+ * interfaces to provide an opaque type. (This can be useful with type-builders such as Zod, since
111
+ * `z.infer` uses `Expand`, which is sometimes not desired since it can lead to verbose/confusing
112
+ * mouseover tooltips and TypeScript errors.)
113
+ */
114
+ "@typescript-eslint/no-empty-interface": [
115
+ "error",
116
+ {
117
+ allowSingleExtends: true,
118
+ },
119
+ ],
120
+
108
121
  "@typescript-eslint/no-explicit-any": "error",
109
122
  "@typescript-eslint/no-extra-non-null-assertion": "error",
110
123
  "@typescript-eslint/no-extraneous-class": "error",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-config-isaacscript",
3
- "version": "4.17.0",
3
+ "version": "4.18.0",
4
4
  "description": "A sharable ESLint config for TypeScript and IsaacScript projects.",
5
5
  "keywords": [
6
6
  "eslint",