diff --git a/packages/shared/docs/interfaces/CustomComponentNormalized.md b/packages/shared/docs/interfaces/CustomComponentNormalized.md index 063dda866d..30dc026e61 100644 --- a/packages/shared/docs/interfaces/CustomComponentNormalized.md +++ b/packages/shared/docs/interfaces/CustomComponentNormalized.md @@ -28,4 +28,18 @@ ### re -> **re**: [`RegExp`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp) +> **re**: `object` + +#### test() + +> **test**(`s`): `boolean` + +##### Parameters + +###### s + +`string` + +##### Returns + +`boolean` diff --git a/packages/shared/package.json b/packages/shared/package.json index 78c64b5d40..1e48ebeb51 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -46,15 +46,14 @@ "@eslint-react/kit": "workspace:*", "@typescript-eslint/utils": "^8.29.1", "@zod/mini": "^4.0.0-beta.0", - "picomatch": "^4.0.2", + "fast-equals": "^5.2.2", + "micro-memoize": "^4.1.3", "ts-pattern": "^5.7.0" }, "devDependencies": { "@local/configs": "workspace:*", "@tsconfig/node22": "^22.0.1", "@types/picomatch": "^4.0.0", - "fast-equals": "^5.2.2", - "micro-memoize": "^4.1.3", "tsup": "^8.4.0", "type-fest": "^4.39.1" }, diff --git a/packages/shared/src/settings.ts b/packages/shared/src/settings.ts index c28a65bde5..b09c11ddf3 100644 --- a/packages/shared/src/settings.ts +++ b/packages/shared/src/settings.ts @@ -3,10 +3,10 @@ import type { SharedConfigurationSettings } from "@typescript-eslint/utils/ts-es import type { PartialDeep } from "type-fest"; import type { CustomHooks, ESLintReactSettings } from "./schemas"; import { identity } from "@eslint-react/eff"; +import { RE } from "@eslint-react/kit"; import * as z from "@zod/mini"; import { shallowEqual } from "fast-equals"; import memoize from "micro-memoize"; -import pm from "picomatch"; import { match, P } from "ts-pattern"; import { getReactVersion } from "./get-react-version"; @@ -16,7 +16,7 @@ export interface CustomComponentNormalized { name: string; as: string; attributes: CustomComponentPropNormalized[]; - re: RegExp; + re: { test(s: string): boolean }; // selector?: string | _; } @@ -99,7 +99,7 @@ export const toNormalizedSettings = memoize( name, as, })), - re: pm.makeRe(name, { fastpaths: true }), + re: RE.toRegExp(name), })), additionalHooks, importSource, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 10a4120802..b929bb02e7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1179,9 +1179,12 @@ importers: '@zod/mini': specifier: ^4.0.0-beta.0 version: 4.0.0-beta.20250411T005215 - picomatch: - specifier: ^4.0.2 - version: 4.0.2 + fast-equals: + specifier: ^5.2.2 + version: 5.2.2 + micro-memoize: + specifier: ^4.1.3 + version: 4.1.3 ts-pattern: specifier: ^5.7.0 version: 5.7.0 @@ -1195,12 +1198,6 @@ importers: '@types/picomatch': specifier: ^4.0.0 version: 4.0.0 - fast-equals: - specifier: ^5.2.2 - version: 5.2.2 - micro-memoize: - specifier: ^4.1.3 - version: 4.1.3 tsup: specifier: ^8.4.0 version: 8.4.0(@swc/core@1.11.20)(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.3)(typescript@5.8.3)(yaml@2.7.1)