diff --git a/eslint.config.ts b/eslint.config.ts index 8fae72101a..9f43a22dcb 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -288,7 +288,7 @@ function getRules(id) { .querySelectorAll('tr a') ) // map link to rule declaration - .map((a) => `'@eslint-react/${a.getAttribute('href')}': 1,`) + .map((a) => `'@eslint-react/${a.pathname.slice(a.pathname.lastIndexOf('/') + 1)}': 1,`) ); } copy( @@ -305,9 +305,9 @@ copy( .join('\n') ); */ - '@eslint-react/component-hook-factories': 1, '@eslint-react/error-boundaries': 1, '@eslint-react/exhaustive-deps': 1, + '@eslint-react/globals': 1, '@eslint-react/immutability': 1, '@eslint-react/no-access-state-in-setstate': 1, '@eslint-react/no-array-index-key': 0, @@ -336,12 +336,9 @@ copy( '@eslint-react/no-misused-capture-owner-stack': 1, '@eslint-react/no-nested-component-definitions': 1, '@eslint-react/no-nested-lazy-component-declarations': 1, - '@eslint-react/no-redundant-should-component-update': 1, '@eslint-react/no-set-state-in-component-did-mount': 1, '@eslint-react/no-set-state-in-component-did-update': 1, '@eslint-react/no-set-state-in-component-will-update': 1, - '@eslint-react/no-unnecessary-use-callback': 1, - '@eslint-react/no-unnecessary-use-memo': 1, '@eslint-react/no-unnecessary-use-prefix': 1, '@eslint-react/no-unsafe-component-will-mount': 1, '@eslint-react/no-unsafe-component-will-receive-props': 1, @@ -350,15 +347,13 @@ copy( '@eslint-react/no-unstable-default-props': 1, '@eslint-react/no-unused-class-component-members': 1, '@eslint-react/no-unused-props': 1, - '@eslint-react/no-unused-state': 1, '@eslint-react/no-use-context': 1, - '@eslint-react/prefer-destructuring-assignment': 1, - '@eslint-react/prefer-namespace-import': 1, '@eslint-react/purity': 1, '@eslint-react/refs': 1, '@eslint-react/rules-of-hooks': 1, '@eslint-react/set-state-in-effect': 0, '@eslint-react/set-state-in-render': 1, + '@eslint-react/static-components': 1, '@eslint-react/unsupported-syntax': 1, '@eslint-react/use-memo': 1, '@eslint-react/use-state': 1, @@ -387,8 +382,8 @@ copy( '@eslint-react/dom-no-unsafe-target-blank': 1, '@eslint-react/dom-no-use-form-state': 1, '@eslint-react/dom-no-void-elements-with-children': 1, - '@eslint-react/dom-prefer-namespace-import': 1, '@eslint-react/web-api-no-leaked-event-listener': 1, + '@eslint-react/web-api-no-leaked-fetch': 1, '@eslint-react/web-api-no-leaked-interval': 1, '@eslint-react/web-api-no-leaked-resize-observer': 1, '@eslint-react/web-api-no-leaked-timeout': 1, diff --git a/package.json b/package.json index 466ec20b74..d99230f8e0 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "typecheck": "tsgo --build" }, "devDependencies": { - "@eslint-react/eslint-plugin": "^4.2.3", + "@eslint-react/eslint-plugin": "^5.6.0", "@eslint/markdown": "^8.0.1", "@faker-js/faker": "^10.3.0", "@tanstack/react-router": "^1.166.7", @@ -68,7 +68,7 @@ "eslint-plugin-sonarjs": "^4.0.3", "jspdf": "^4.2.0", "jspdf-autotable": "^5.0.7", - "oxfmt": "0.46.0", + "oxfmt": "0.47.0", "playwright": "~1.59.0", "postcss": "^8.5.2", "react": "^19.2.5", diff --git a/src/hooks/useCalculatedColumns.ts b/src/hooks/useCalculatedColumns.ts index 9929d91a17..8dbb7f7893 100644 --- a/src/hooks/useCalculatedColumns.ts +++ b/src/hooks/useCalculatedColumns.ts @@ -177,10 +177,12 @@ export function useCalculatedColumns({ let width = getColumnWidth(column); if (typeof width === 'number') { + // eslint-disable-next-line @eslint-react/use-memo width = clampColumnWidth(width, column); } else { // This is a placeholder width so we can continue to use virtualization. // The actual value is set after the column is rendered + // eslint-disable-next-line @eslint-react/use-memo width = column.minWidth; } templateColumns.push(`${width}px`);