From 1a2cf671b77656a50309fdd13da0810be2ef3d5d Mon Sep 17 00:00:00 2001 From: theborakompanioni Date: Wed, 4 Feb 2026 22:46:09 +0100 Subject: [PATCH] chore(lint): add eslint-plugin-compat --- eslint.config.js | 2 ++ package-lock.json | 81 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 9 ++++++ 3 files changed, 92 insertions(+) diff --git a/eslint.config.js b/eslint.config.js index 68726cea..a33cc164 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,5 +1,6 @@ // For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format import js from '@eslint/js' +import compat from 'eslint-plugin-compat' import reactHooks from 'eslint-plugin-react-hooks' import reactRefresh from 'eslint-plugin-react-refresh' import storybook from 'eslint-plugin-storybook' @@ -35,5 +36,6 @@ export default defineConfig( ], }, }, + compat.configs['flat/recommended'], storybook.configs['flat/recommended'], ) diff --git a/package-lock.json b/package-lock.json index e2b04a81..00d49080 100644 --- a/package-lock.json +++ b/package-lock.json @@ -72,6 +72,7 @@ "@vitest/coverage-v8": "4.0.9", "conventional-changelog": "7.1.1", "eslint": "9.39.2", + "eslint-plugin-compat": "6.1.0", "eslint-plugin-react-hooks": "7.0.1", "eslint-plugin-react-refresh": "0.5.0", "eslint-plugin-storybook": "10.2.5", @@ -1290,6 +1291,13 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@mdn/browser-compat-data": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-6.1.5.tgz", + "integrity": "sha512-PzdZZzRhcXvKB0begee28n5lvwAcinGKYuLZOVxHAZm+n7y01ddEGfdS1ZXRuVcV+ndG6mSEAE8vgudom5UjYg==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/@mdx-js/react": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", @@ -5243,6 +5251,23 @@ "node": ">=12" } }, + "node_modules/ast-metadata-inferer": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.1.tgz", + "integrity": "sha512-ht3Dm6Zr7SXv6t1Ra6gFo0+kLDglHGrEbYihTkcycrbHw7WCcuhBzPlJYHEsIpycaUwzsJHje+vUcxXUX4ztTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@mdn/browser-compat-data": "^5.6.19" + } + }, + "node_modules/ast-metadata-inferer/node_modules/@mdn/browser-compat-data": { + "version": "5.7.6", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.7.6.tgz", + "integrity": "sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/ast-types": { "version": "0.16.1", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", @@ -6162,6 +6187,55 @@ } } }, + "node_modules/eslint-plugin-compat": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-6.1.0.tgz", + "integrity": "sha512-xiwHz7mj6+Zj7NWOO/uaWdrQ6zP0zL5CPyKVCNlB4JaoUFeYPYwejf5toqyHGlXzhuPUdCpg31uBRiWqcgiS0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@mdn/browser-compat-data": "^6.1.1", + "ast-metadata-inferer": "^0.8.1", + "browserslist": "^4.25.2", + "caniuse-lite": "^1.0.30001687", + "find-up": "^5.0.0", + "globals": "^15.7.0", + "lodash.memoize": "^4.1.2", + "semver": "^7.6.2" + }, + "engines": { + "node": ">=18.x" + }, + "peerDependencies": { + "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-compat/node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-compat/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/eslint-plugin-react-hooks": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", @@ -7476,6 +7550,13 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", diff --git a/package.json b/package.json index 167f1da7..6b0f4c5c 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,14 @@ ], "*.{json,css,md}": "prettier --write" }, + "browserslist": { + "production": [ + "> 0.5%", + "last 2 versions", + "not dead", + "not op_mini all" + ] + }, "dependencies": { "@hookform/resolvers": "5.2.2", "@joinmarket-webui/joinmarket-api-ts": "0.3.0", @@ -107,6 +115,7 @@ "@vitest/coverage-v8": "4.0.9", "conventional-changelog": "7.1.1", "eslint": "9.39.2", + "eslint-plugin-compat": "6.1.0", "eslint-plugin-react-hooks": "7.0.1", "eslint-plugin-react-refresh": "0.5.0", "eslint-plugin-storybook": "10.2.5",