From bdc2193605c4643cafcd5aceead82f12b4caf1f8 Mon Sep 17 00:00:00 2001 From: Mark Skelton Date: Tue, 22 Oct 2024 20:56:25 -0500 Subject: [PATCH] feat!: Update to flat config --- .eslintrc | 8 ----- LICENSE | 2 +- README.md | 62 +++++++++++-------------------------- bun.lockb | Bin 305017 -> 364648 bytes eslint.config.js | 10 ++++++ index.js | 57 ---------------------------------- jest.js | 14 --------- lib/configs/jest.js | 24 ++++++++++++++ lib/configs/playwright.js | 24 ++++++++++++++ lib/configs/react.js | 49 +++++++++++++++++++++++++++++ lib/configs/recommended.js | 61 ++++++++++++++++++++++++++++++++++++ lib/configs/vitest.js | 15 +++++++++ lib/index.d.ts | 11 +++++++ lib/index.js | 15 +++++++++ package.json | 52 +++++++++++++------------------ playwright.js | 17 ---------- react.js | 37 ---------------------- vitest.js | 12 ------- 18 files changed, 250 insertions(+), 220 deletions(-) delete mode 100644 .eslintrc create mode 100644 eslint.config.js delete mode 100644 index.js delete mode 100644 jest.js create mode 100644 lib/configs/jest.js create mode 100644 lib/configs/playwright.js create mode 100644 lib/configs/react.js create mode 100644 lib/configs/recommended.js create mode 100644 lib/configs/vitest.js create mode 100644 lib/index.d.ts create mode 100644 lib/index.js delete mode 100644 playwright.js delete mode 100644 react.js delete mode 100644 vitest.js diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index f8775e8..0000000 --- a/.eslintrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": ["eslint:recommended", "plugin:sort/recommended"], - "plugins": ["sort"], - "env": { - "es6": true, - "node": true - } -} diff --git a/LICENSE b/LICENSE index 94c103c..4ec57a8 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ ISC License -Copyright (c) 2022, Mark Skelton +Copyright (c) 2024, Mark Skelton Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above diff --git a/README.md b/README.md index 22295e5..c914aa1 100644 --- a/README.md +++ b/README.md @@ -4,61 +4,35 @@ [![package version](https://img.shields.io/npm/v/@mskelton/eslint-config)](https://www.npmjs.com/package/@mskelton/eslint-config) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) -> Simple and sensible ESLint config. +Simple and sensible ESLint config. ## Description This package contains a simple and sensible ESLint config that you can use to -get up and running with a TypeScript. It uses the -[TypeScript ESLint parser](https://github.com/typescript-eslint/typescript-eslint) -and [Prettier](https://prettier.io). +get up and running. It uses the +[TypeScript ESLint](https://github.com/typescript-eslint/typescript-eslint) and +[Prettier](https://prettier.io). ## Installation ```sh -npm install -D @mskelton/eslint-config eslint eslint-plugin-sort @typescript-eslint/eslint-plugin @typescript-eslint/parser -``` - -### React - -If using React, install the following peer dependencies in addition to the list -above. - -```sh -npm install -D eslint-plugin-react eslint-plugin-react-hooks -``` - -### Vitest - -If using Vitest, install the following peer dependencies in addition to the list -above. - -```sh -npm install -D eslint-plugin-vitest -``` - -### Jest - -If using Jest, install the following peer dependencies in addition to the list -above. - -```sh -npm install -D eslint-plugin-jest +npm install -D @mskelton/eslint-config eslint ``` ## Usage -In your `.eslintrc` file, add the following content including the configs you -want for your project. +In your `eslint.config.mjs` file, add the following content including the +configs you want for your project. + +```js +import mskelton from "@mskelton/eslint-config" -```json -{ - "extends": [ - "@mskelton", - "@mskelton/eslint-config/react", - "@mskelton/eslint-config/vitest", - "@mskelton/eslint-config/jest", - "@mskelton/eslint-config/playwright" - ] -} +/** @type {import('eslint').Linter.Config[]} */ +export default [ + ...mskelton.recommended, + ...mskelton.react, + ...mskelton.playwright, + ...mskelton.vitest, + ...mskelton.jest, +] ``` diff --git a/bun.lockb b/bun.lockb index 4a84d9c2812579f0a6fc0f94a8dc0e4ec915d6fc..04d0e0e3fa52e152b6bfc4e9776a972c2a533167 100755 GIT binary patch delta 109068 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%0Ap~@VI0{GJ`FNsnU@V9LqX9MToiAK^uf6k)(aFOb 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 VA+unPs6YW*g?%Y9KP;1${tqjrKZXDR diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..6735d2e --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,10 @@ +import mskelton from "./lib/index.js" + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + // ...mskelton.recommended, + // ...mskelton.react, + // ...mskelton.playwright, + // ...mskelton.vitest, + ...mskelton.jest, +] diff --git a/index.js b/index.js deleted file mode 100644 index 5ebd2f8..0000000 --- a/index.js +++ /dev/null @@ -1,57 +0,0 @@ -module.exports = { - env: { - es6: true, - node: true, - }, - extends: [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:sort/recommended", - "prettier", - ], - parser: "@typescript-eslint/parser", - parserOptions: { - ecmaVersion: 2018, - loggerFn: false, - }, - plugins: ["sort"], - rules: { - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/no-empty-interface": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/no-unused-vars": [ - "error", - { - argsIgnorePattern: "^_", - varsIgnorePattern: "^_", - }, - ], - "@typescript-eslint/no-useless-constructor": "error", - "no-template-curly-in-string": "error", - "no-unused-vars": "off", - "no-useless-constructor": "off", - "no-useless-rename": "warn", - "no-var": "error", - "object-shorthand": "warn", - "prefer-template": "error", - "sort/exports": "off", - "sort/imports": [ - "warn", - { - groups: [ - { order: 10, type: "side-effect" }, - { order: 40, regex: "^\\.+\\/" }, - { order: 20, type: "dependency" }, - { order: 30, type: "other" }, - ], - typeOrder: "last", - }, - ], - "sort/string-enums": "warn", - "sort/string-unions": "warn", - "sort/type-properties": "warn", - }, -} diff --git a/jest.js b/jest.js deleted file mode 100644 index 593e163..0000000 --- a/jest.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - overrides: [ - { - env: { jest: true }, - extends: ["plugin:jest/recommended", "plugin:jest/style"], - files: ["**/__tests__/**", "*.{spec,test}.{js,jsx,ts,tsx}"], - plugins: ["jest"], - }, - { - env: { jest: true }, - files: ["**/__mocks__/**"], - }, - ], -} diff --git a/lib/configs/jest.js b/lib/configs/jest.js new file mode 100644 index 0000000..3564376 --- /dev/null +++ b/lib/configs/jest.js @@ -0,0 +1,24 @@ +// @ts-check + +import jest from "eslint-plugin-jest" +import globals from "globals" + +/** @type {import("eslint").Linter.Config[]} */ +export default [ + { + ...jest.configs["flat/recommended"], + files: ["**/__tests__/**", "**/*.{spec,test}.{js,jsx,ts,tsx}"], + rules: { + ...jest.configs["flat/recommended"].rules, + ...jest.configs["flat/style"].rules, + }, + }, + { + files: ["**/__mocks__/**"], + languageOptions: { + globals: { + ...globals.jest, + }, + }, + }, +] diff --git a/lib/configs/playwright.js b/lib/configs/playwright.js new file mode 100644 index 0000000..deeecf1 --- /dev/null +++ b/lib/configs/playwright.js @@ -0,0 +1,24 @@ +// @ts-check + +import playwright from "eslint-plugin-playwright" + +/** @type {import("eslint").Linter.Config[]} */ +export default [ + playwright.configs["flat/recommended"], + { + rules: { + "playwright/missing-playwright-await": [ + "error", + { customMatchers: ["toPassAxe"] }, + ], + "playwright/prefer-lowercase-title": [ + "error", + { ignoreTopLevelDescribe: true }, + ], + "playwright/prefer-strict-equal": "error", + "playwright/prefer-to-be": "error", + "playwright/prefer-to-have-length": "error", + "playwright/require-top-level-describe": "error", + }, + }, +] diff --git a/lib/configs/react.js b/lib/configs/react.js new file mode 100644 index 0000000..f9adfcb --- /dev/null +++ b/lib/configs/react.js @@ -0,0 +1,49 @@ +import react from "eslint-plugin-react" +import globals from "globals" +import reactHooks from "eslint-plugin-react-hooks" + +/** @type {import("eslint").Linter.Config[]} */ +export default [ + react.configs.flat.recommended, + { + languageOptions: { + globals: { + ...globals.browser, + }, + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + }, + }, + plugins: { + react, + "react-hooks": reactHooks, + }, + settings: { + react: { + version: "detect", + }, + }, + rules: { + "react/button-has-type": "error", + "react/destructuring-assignment": "error", + "react/function-component-definition": [ + "error", + { + namedComponents: "function-declaration", + unnamedComponents: "function-expression", + }, + ], + "react/jsx-boolean-value": "error", + "react/jsx-curly-brace-presence": ["error", "never"], + "react/jsx-no-useless-fragment": "error", + "react/jsx-sort-props": ["error", { reservedFirst: true }], + "react/prop-types": "off", + "react/react-in-jsx-scope": "off", + "react/self-closing-comp": "warn", + "react-hooks/exhaustive-deps": "warn", + "react-hooks/rules-of-hooks": "error", + }, + }, +] diff --git a/lib/configs/recommended.js b/lib/configs/recommended.js new file mode 100644 index 0000000..7d61dbb --- /dev/null +++ b/lib/configs/recommended.js @@ -0,0 +1,61 @@ +// @ts-check + +import eslint from "@eslint/js" +import prettier from "eslint-config-prettier" +import sort from "eslint-plugin-sort" +import globals from "globals" +import tseslint from "typescript-eslint" + +/** @type {import("eslint").Linter.Config[]} */ +export default [ + eslint.configs.recommended, + ...tseslint.configs.recommended, + sort.configs["flat/recommended"], + prettier, + { + languageOptions: { + globals: { + ...globals.node, + }, + }, + rules: { + "@typescript-eslint/explicit-function-return-type": "off", + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-empty-interface": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-unused-vars": [ + "error", + { + argsIgnorePattern: "^_", + varsIgnorePattern: "^_", + }, + ], + "@typescript-eslint/no-useless-constructor": "error", + "no-template-curly-in-string": "error", + "no-unused-vars": "off", + "no-useless-constructor": "off", + "no-useless-rename": "warn", + "no-var": "error", + "object-shorthand": "warn", + "prefer-template": "error", + "sort/exports": "off", + "sort/imports": [ + "warn", + { + groups: [ + { order: 10, type: "side-effect" }, + { order: 40, regex: "^\\.+\\/" }, + { order: 20, type: "dependency" }, + { order: 30, type: "other" }, + ], + typeOrder: "last", + }, + ], + "sort/string-enums": "warn", + "sort/string-unions": "warn", + "sort/type-properties": "warn", + }, + }, +] diff --git a/lib/configs/vitest.js b/lib/configs/vitest.js new file mode 100644 index 0000000..4638d52 --- /dev/null +++ b/lib/configs/vitest.js @@ -0,0 +1,15 @@ +// @ts-check + +import vitest from "eslint-plugin-vitest" + +/** @type {import("eslint").Linter.Config[]} */ +export default [ + { + files: ["**/*.{spec,test}.{js,jsx,cjs,mjs,ts,tsx,cts,mts}"], + plugins: { vitest }, + rules: { + ...vitest.configs.all.rules, + "vitest/no-hooks": "off", + }, + }, +] diff --git a/lib/index.d.ts b/lib/index.d.ts new file mode 100644 index 0000000..f861cd6 --- /dev/null +++ b/lib/index.d.ts @@ -0,0 +1,11 @@ +import { Linter } from "eslint" + +declare const config: { + jest: Linter.Config[] + playwright: Linter.Config[] + react: Linter.Config[] + recommended: Linter.Config[] + vitest: Linter.Config[] +} + +export default config diff --git a/lib/index.js b/lib/index.js new file mode 100644 index 0000000..a20283a --- /dev/null +++ b/lib/index.js @@ -0,0 +1,15 @@ +import jest from "./configs/jest.js" +import playwright from "./configs/playwright.js" +import react from "./configs/react.js" +import recommended from "./configs/recommended.js" +import vitest from "./configs/vitest.js" + +const config = { + jest, + playwright, + react, + recommended, + vitest, +} + +export default config diff --git a/package.json b/package.json index c975d7f..3e30c07 100644 --- a/package.json +++ b/package.json @@ -18,48 +18,40 @@ "publishConfig": { "access": "public" }, - "main": "index.js", + "type": "module", "files": [ - "jest.js", - "react.js", - "playwright.js", - "vitest.js" + "lib" ], + "exports": { + ".": { + "types": "./lib/index.d.ts", + "import": "./lib/index.js" + } + }, "scripts": { "lint": "eslint .", "fmt": "prettier --write ." }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": ">= 5", - "@typescript-eslint/parser": ">= 5", - "eslint": ">= 8", - "eslint-plugin-jest": ">= 25", - "eslint-plugin-react": ">= 7", - "eslint-plugin-react-hooks": ">= 4", - "eslint-plugin-sort": ">= 2.10.0", - "eslint-plugin-vitest": ">= 0.2.8" - }, - "peerDependenciesMeta": { - "eslint-plugin-react": { - "optional": true - }, - "eslint-plugin-react-hooks": { - "optional": true - }, - "eslint-plugin-jest": { - "optional": true - }, - "eslint-plugin-vitest": { - "optional": true - } + "eslint": ">= 9" }, "dependencies": { - "eslint-config-prettier": "^8.3.0" + "@eslint/js": "^9.13.0", + "@typescript-eslint/eslint-plugin": "^8.11.0", + "@typescript-eslint/parser": "^8.11.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-jest": "^28.8.3", + "eslint-plugin-playwright": "^1.8.1", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-sort": "^3.1.0", + "eslint-plugin-vitest": "^0.5.4", + "globals": "^15.11.0", + "typescript-eslint": "^8.11.0" }, "devDependencies": { "@mskelton/semantic-release-config": "^1.0.1", - "eslint": "^8.49.0", - "eslint-plugin-sort": "^2.10.0", + "eslint": "^9.13.0", "prettier": "^3.0.3", "semantic-release": "^23.0.2" } diff --git a/playwright.js b/playwright.js deleted file mode 100644 index 597c356..0000000 --- a/playwright.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = { - extends: "plugin:playwright/playwright-test", - rules: { - "playwright/missing-playwright-await": [ - "error", - { customMatchers: ["toPassAxe"] }, - ], - "playwright/prefer-lowercase-title": [ - "error", - { ignoreTopLevelDescribe: true }, - ], - "playwright/prefer-strict-equal": "error", - "playwright/prefer-to-be": "error", - "playwright/prefer-to-have-length": "error", - "playwright/require-top-level-describe": "error", - }, -} diff --git a/react.js b/react.js deleted file mode 100644 index 30fed7f..0000000 --- a/react.js +++ /dev/null @@ -1,37 +0,0 @@ -module.exports = { - env: { - browser: true, - }, - extends: "plugin:react/recommended", - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - }, - plugins: ["react-hooks"], - rules: { - "react/button-has-type": "error", - "react/destructuring-assignment": "error", - "react/function-component-definition": [ - "error", - { - namedComponents: "function-declaration", - unnamedComponents: "function-expression", - }, - ], - "react/jsx-boolean-value": "error", - "react/jsx-curly-brace-presence": ["error", "never"], - "react/jsx-no-useless-fragment": "error", - "react/jsx-sort-props": ["error", { reservedFirst: true }], - "react/prop-types": "off", - "react/react-in-jsx-scope": "off", - "react/self-closing-comp": "warn", - "react-hooks/exhaustive-deps": "warn", - "react-hooks/rules-of-hooks": "error", - }, - settings: { - react: { - version: "detect", - }, - }, -} diff --git a/vitest.js b/vitest.js deleted file mode 100644 index b08b491..0000000 --- a/vitest.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - overrides: [ - { - extends: ["plugin:vitest/all"], - files: ["*.{spec,test}.{js,jsx,cjs,mjs,ts,tsx,cts,mts}"], - plugins: ["vitest"], - rules: { - "vitest/no-hooks": "off", - }, - }, - ], -}