@sarj/eslint-plugin 9.8.0 → 9.10.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.
package/README.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @sarj/eslint-plugin
2
2
 
3
+ ## New in 9.9.0 — static Next.js matchers
4
+
5
+ `require-static-next-matcher` rejects runtime expressions in exported
6
+ `middleware.ts` and `proxy.ts` matcher configuration. Next.js reads these values
7
+ during static analysis, so identifiers, calls, concatenation, interpolated
8
+ templates, and spreads can pass type checking but fail the production build.
9
+
3
10
  Custom ESLint rules for hypermodern TypeScript / React / Next.js projects.
4
11
 
5
12
  ```bash
@@ -114,6 +121,9 @@ platform too.
114
121
 
115
122
  | Rule | What it catches | Preset |
116
123
  |---|---|---|
124
+ | `no-hand-rolled-spinner` | Intrinsic elements styled as Tailwind border-ring loading spinners outside the design system. | error / error |
125
+ | `prefer-input-group-search` | Search icons and shared Input controls composed without the shared InputGroup primitive. | error / error |
126
+ | `require-static-next-matcher` | Dynamic values in exported Next.js middleware and proxy matcher configuration. | error / error |
117
127
  | `no-hand-rolled-sleep` | `new Promise((r) => setTimeout(r, ms))` in any spelling, and an uncleared `Promise.race`/`Promise.any` timeout arm. Options: `checkClientModules` (default `false`), `allowIn`. | warn / error |
118
128
 
119
129
  ## New in 2.14.0 — `no-tautological-expect`