This commit is contained in:
Alex 2025-06-12 21:59:19 -04:00
parent d7e9b986c7
commit c38449c759
12 changed files with 540 additions and 316 deletions

View File

@ -8,13 +8,14 @@ export type Middleware =
| (() => Promise<{ default: MiddlewareResult }>);
export type Environment =
| 'react'
| 'reactRefresh'
| 'tailwind'
| 'storybook'
| 'reactQuery'
| 'testingLibrary'
| 'jsdoc'
| 'lingui'
| 'react'
| 'reactQuery'
| 'reactRefresh'
| 'storybook'
| 'tailwind'
| 'testingLibrary'
| 'vitest';
export interface NormalizedExtendConfigOptions {

17
dist/package.json vendored
View File

@ -1,6 +1,6 @@
{
"name": "@aet/eslint-rules",
"version": "2.0.48",
"version": "2.0.51",
"license": "UNLICENSED",
"type": "module",
"bin": {
@ -26,15 +26,14 @@
"@aet/eslint-define-config": "^0.1.15",
"@antfu/install-pkg": "^1.1.0",
"@eslint-community/eslint-utils": "^4.7.0",
"@eslint-react/eslint-plugin": "1.51.2",
"@eslint-react/eslint-plugin": "1.51.3",
"@eslint/js": "^9.28.0",
"@nolyfill/is-core-module": "^1.0.39",
"@stylistic/eslint-plugin": "^4.4.1",
"@types/eslint": "^9.6.1",
"@typescript-eslint/eslint-plugin": "^8.33.1",
"@typescript-eslint/parser": "^8.33.1",
"@typescript-eslint/type-utils": "^8.33.1",
"@typescript-eslint/utils": "^8.33.1",
"@typescript-eslint/eslint-plugin": "^8.34.0",
"@typescript-eslint/parser": "^8.34.0",
"@typescript-eslint/type-utils": "^8.34.0",
"@typescript-eslint/utils": "^8.34.0",
"aria-query": "^5.3.2",
"axe-core": "^4.10.3",
"axobject-query": "4.1.0",
@ -48,7 +47,7 @@
"eslint-import-resolver-typescript": "^4.4.3",
"eslint-module-utils": "^2.12.0",
"eslint-plugin-import-x": "^4.15.1",
"eslint-plugin-regexp": "^2.8.0",
"eslint-plugin-regexp": "^2.9.0",
"eslint-plugin-unicorn": "^59.0.1",
"esprima": "^4.0.1",
"esquery": "^1.6.0",
@ -63,7 +62,7 @@
"lodash-es": "^4.17.21",
"minimatch": "^10.0.1",
"semver": "^7.7.2",
"typescript-eslint": "^8.33.1"
"typescript-eslint": "^8.34.0"
},
"pnpm": {
"overrides": {

View File

@ -11,18 +11,17 @@
},
"private": true,
"dependencies": {
"@aet/eslint-define-config": "^0.1.15",
"@aet/eslint-define-config": "^0.1.16",
"@antfu/install-pkg": "^1.1.0",
"@eslint-community/eslint-utils": "^4.7.0",
"@eslint-react/eslint-plugin": "1.51.2",
"@eslint-react/eslint-plugin": "1.52.2",
"@eslint/js": "^9.28.0",
"@nolyfill/is-core-module": "^1.0.39",
"@stylistic/eslint-plugin": "^4.4.1",
"@types/eslint": "^9.6.1",
"@typescript-eslint/eslint-plugin": "^8.33.1",
"@typescript-eslint/parser": "^8.33.1",
"@typescript-eslint/type-utils": "^8.33.1",
"@typescript-eslint/utils": "^8.33.1",
"@typescript-eslint/eslint-plugin": "^8.34.0",
"@typescript-eslint/parser": "^8.34.0",
"@typescript-eslint/type-utils": "^8.34.0",
"@typescript-eslint/utils": "^8.34.0",
"aria-query": "^5.3.2",
"axe-core": "^4.10.3",
"axobject-query": "4.1.0",
@ -35,8 +34,8 @@
"eslint-import-resolver-node": "^0.3.9",
"eslint-import-resolver-typescript": "^4.4.3",
"eslint-module-utils": "^2.12.0",
"eslint-plugin-import-x": "^4.15.1",
"eslint-plugin-regexp": "^2.8.0",
"eslint-plugin-import-x": "^4.15.2",
"eslint-plugin-regexp": "^2.9.0",
"eslint-plugin-unicorn": "^59.0.1",
"esprima": "^4.0.1",
"esquery": "^1.6.0",
@ -49,9 +48,9 @@
"is-glob": "^4.0.3",
"language-tags": "^2.1.0",
"lodash-es": "^4.17.21",
"minimatch": "^10.0.1",
"minimatch": "^10.0.3",
"semver": "^7.7.2",
"typescript-eslint": "^8.33.1"
"typescript-eslint": "^8.34.0"
},
"devDependencies": {
"@babel/core": "^7.27.4",
@ -71,18 +70,19 @@
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.15.30",
"@types/react-refresh": "^0.14.6",
"@typescript-eslint/types": "^8.33.1",
"@typescript-eslint/typescript-estree": "^8.33.1",
"@vitest/eslint-plugin": "^1.2.1",
"@typescript-eslint/types": "^8.34.0",
"@typescript-eslint/typescript-estree": "^8.34.0",
"@vitest/eslint-plugin": "^1.2.4",
"babel-plugin-macros": "^3.1.0",
"dts-bundle-generator": "9.5.1",
"esbuild": "0.25.5",
"esbuild-plugin-alias": "^0.2.1",
"eslint": "^9.28.0",
"eslint-plugin-jsdoc": "^50.7.1",
"eslint-plugin-lingui": "^0.10.1",
"eslint-plugin-react-refresh": "^0.4.20",
"eslint-plugin-storybook": "^9.0.6",
"eslint-plugin-testing-library": "^7.4.0",
"eslint-plugin-storybook": "^9.0.9",
"eslint-plugin-testing-library": "^7.5.2",
"graphql": "^16.11.0",
"json-schema-to-ts": "^3.1.1",
"nolyfill": "^1.0.44",
@ -90,7 +90,7 @@
"picocolors": "^1.1.1",
"prettier": "^3.5.3",
"prop-types": "^15.8.1",
"terser": "^5.41.0",
"terser": "^5.42.0",
"type-fest": "^4.41.0",
"typescript": "^5.8.3"
},

@ -1 +1 @@
Subproject commit 91e39b45ade789c86ae14df869a86b0ea468ed95
Subproject commit a7d1a12a6198d546c4a06477b385b4fde03b762e

@ -1 +1 @@
Subproject commit 1f4e67615e85759734c2135486f5578dbefe47b3
Subproject commit 42464abe64c5cefb709e8e0a9072b6bb1cd7fcdc

748
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -12,10 +12,10 @@
"subject": "[Tests] fix linting errors introduced in 2d9ad55"
},
"eslint-plugin-n": {
"hash": "96998b972ef99618b9ce1da297847e61c0bdea53",
"date": "2025-06-02T19:04:41+08:00",
"hash": "42464abe64c5cefb709e8e0a9072b6bb1cd7fcdc",
"date": "2025-06-13T01:37:54+08:00",
"committer": "GitHub",
"subject": "chore(master): release 17.19.0 (#444)"
"subject": "chore(master): release 17.20.0 (#448)"
},
"eslint-plugin-react": {
"hash": "983b88dd3cb5e07919517d3fde4085f60883ded7",

13
src/config.d.ts vendored
View File

@ -8,13 +8,14 @@ export type Middleware =
| (() => Promise<{ default: MiddlewareResult }>);
export type Environment =
| 'react'
| 'reactRefresh'
| 'tailwind'
| 'storybook'
| 'reactQuery'
| 'testingLibrary'
| 'jsdoc'
| 'lingui'
| 'react'
| 'reactQuery'
| 'reactRefresh'
| 'storybook'
| 'tailwind'
| 'testingLibrary'
| 'vitest';
export interface NormalizedExtendConfigOptions {

View File

@ -24,6 +24,7 @@ export const middlewares = {
testingLibrary: () => import('./presets/testing-library'),
jsdoc: () => import('./presets/jsdoc'),
vitest,
lingui: () => import('./presets/lingui'),
} satisfies {
[key in Environment]: Middleware;
};
@ -52,6 +53,11 @@ export const envs: {
eslintPlugin: 'eslint-plugin-storybook',
middleware: 'storybook',
},
{
dependency: ['@lingui/core', '@lingui/react'],
eslintPlugin: 'eslint-plugin-lingui',
middleware: 'lingui',
},
{
dependency: ['@tanstack/react-query'],
eslintPlugin: '@tanstack/eslint-plugin-query',

View File

@ -6,5 +6,4 @@ export type Middleware =
| (() => Promise<MiddlewareResult>)
| (() => Promise<{ default: MiddlewareResult }>);
// eslint-disable-next-line unicorn/prevent-abbreviations
export const def = <T>(module: { default: T }): T => module.default;

12
src/presets/lingui.ts Normal file
View File

@ -0,0 +1,12 @@
import type { LinguiRulesObject } from '@aet/eslint-define-config/src/rules/lingui';
import * as pluginLingui from 'eslint-plugin-lingui';
import { defineConfig } from '../types';
// https://the-guild.dev/graphql/eslint/rules
const linguiRules: Partial<LinguiRulesObject> = {};
export default defineConfig([
pluginLingui.configs['flat/recommended'],
{ rules: linguiRules },
]);

View File

@ -20,7 +20,7 @@ export async function vitest() {
'vitest/expect-expect': [
'error',
{
assertFunctionNames: ['expect*'],
assertFunctionNames: ['expect*', 'request.**.expect'],
additionalTestBlockFunctions: ['describe*'],
},
],