@jakubmazanec/eslint-config 4.1.1 → 4.1.2-next.335706bb

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -121,10 +121,13 @@ export const main = [
121
121
  parser: typescriptEslintParser,
122
122
  globals: {
123
123
  ...globals.node,
124
+ // TODO: fix somehow
125
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- plugin has bad types
124
126
  ...vitestEslintPlugin.environments.env.globals,
125
127
  jsdom: "readonly"
126
128
  }
127
129
  },
130
+ // TODO: fix the type essertions
128
131
  plugins: {
129
132
  vitest: vitestEslintPlugin,
130
133
  "testing-library": testingLibraryEslintPlugin
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../source/configs/main.ts"],
4
- "sourcesContent": ["import commentsEslintPlugin from '@eslint-community/eslint-plugin-eslint-comments';\nimport stylisticEslintPlugin from '@stylistic/eslint-plugin';\nimport typescriptEslintPlugin from '@typescript-eslint/eslint-plugin';\nimport typescriptEslintParser from '@typescript-eslint/parser';\nimport vitestEslintPlugin from '@vitest/eslint-plugin';\nimport {type default as eslint, type ESLint} from 'eslint';\nimport importEslintPlugin from 'eslint-plugin-import';\nimport a11yEslintPlugin from 'eslint-plugin-jsx-a11y';\nimport perfectionistEslintPlugin from 'eslint-plugin-perfectionist';\nimport promiseEslintPlugin from 'eslint-plugin-promise';\nimport reactEslintPlugin from 'eslint-plugin-react';\nimport reactCompilerEslintPlugin from 'eslint-plugin-react-compiler';\nimport reactHooksEslintPlugin from 'eslint-plugin-react-hooks';\nimport securityEslintPlugin from 'eslint-plugin-security';\nimport testingLibraryEslintPlugin from 'eslint-plugin-testing-library';\nimport unicornEslintPlugin from 'eslint-plugin-unicorn';\nimport globals from 'globals';\n\nimport {\n ASSET_EXTENSIONS_REGEXP,\n CSS_EXTENSIONS_REGEXP,\n GRAPHQL_EXTENSIONS_REGEXP,\n JS_AND_TS_EXTENSIONS,\n JS_AND_TS_EXTENSIONS_GLOB_PART,\n TS_EXTENSIONS,\n TS_EXTENSIONS_GLOB_PART,\n} from '../constants.js';\nimport {\n a11yRules,\n commentsRules,\n eslintRules,\n importRules,\n perfectionistRules,\n promiseRules,\n reactCompilerRules,\n reactHooksRules,\n reactRules,\n securityRules,\n stylisticRules,\n testingLibraryRules,\n typescriptRules,\n unicornRules,\n vitestRules,\n} from '../rules.js';\n\nexport const main: eslint.Linter.Config[] = [\n {\n linterOptions: {\n reportUnusedDisableDirectives: 'error',\n },\n },\n {\n files: [`**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`],\n\n languageOptions: {\n ecmaVersion: 2024,\n parserOptions: {\n ecmaFeatures: {jsx: true},\n },\n globals: {\n ...globals.builtin,\n ...globals.browser,\n ...globals.es2024,\n ...globals.serviceworker,\n ...globals.worker,\n },\n },\n // TODO: fix the type essertions\n plugins: {\n '@stylistic/js': stylisticEslintPlugin as ESLint.Plugin,\n 'eslint-comments': commentsEslintPlugin as ESLint.Plugin,\n import: importEslintPlugin as ESLint.Plugin,\n 'jsx-a11y': a11yEslintPlugin as ESLint.Plugin, // type assertions needed because of `exactOptionalPropertyTypes: true`\n promise: promiseEslintPlugin as ESLint.Plugin,\n react: reactEslintPlugin as unknown as ESLint.Plugin,\n 'react-hooks': reactHooksEslintPlugin as ESLint.Plugin,\n unicorn: unicornEslintPlugin as ESLint.Plugin, // type assertions needed because of `exactOptionalPropertyTypes: true`\n security: securityEslintPlugin as ESLint.Plugin,\n 'react-compiler': reactCompilerEslintPlugin as ESLint.Plugin,\n perfectionist: perfectionistEslintPlugin as unknown as ESLint.Plugin,\n },\n\n settings: {\n 'import/ignore': [\n 'node_modules',\n String.raw`\\.json$`,\n ASSET_EXTENSIONS_REGEXP.source,\n CSS_EXTENSIONS_REGEXP.source,\n GRAPHQL_EXTENSIONS_REGEXP.source,\n ],\n react: {\n version: 'detect',\n },\n propWrapperFunctions: ['forbidExtraProps', 'exact', 'Object.freeze'],\n 'jsx-a11y': {\n polymorphicPropName: 'as',\n components: {\n Button: 'button',\n },\n },\n perfectionist: {\n locales: ['en'],\n },\n },\n\n rules: {\n ...a11yRules,\n ...commentsRules,\n ...eslintRules,\n ...importRules,\n ...perfectionistRules,\n ...promiseRules,\n ...reactCompilerRules,\n ...reactHooksRules,\n ...reactRules,\n ...securityRules,\n ...stylisticRules,\n ...unicornRules,\n },\n },\n {\n files: [`**/*.test.${JS_AND_TS_EXTENSIONS_GLOB_PART}`],\n\n languageOptions: {\n parser: typescriptEslintParser,\n globals: {\n ...globals.node,\n ...vitestEslintPlugin.environments.env.globals,\n jsdom: 'readonly',\n },\n },\n plugins: {\n vitest: vitestEslintPlugin,\n 'testing-library': testingLibraryEslintPlugin as ESLint.Plugin,\n },\n settings: {\n vitest: {\n typecheck: true,\n },\n 'testing-library/custom-queries': 'off',\n 'testing-library/custom-renders': 'off',\n 'testing-library/utils-module': 'off',\n },\n rules: {\n ...vitestRules,\n ...testingLibraryRules,\n\n // override ESLint rules\n 'max-classes-per-file': 'off', // enforce a maximum number of classes per file\n\n // override eslint-plugin-node rules\n 'node/no-sync': 'off', // disallow synchronous methods\n },\n },\n {\n files: [`**/*.${TS_EXTENSIONS_GLOB_PART}`],\n\n languageOptions: {\n parser: typescriptEslintParser,\n parserOptions: {\n project: 'tsconfig.typecheck.json',\n },\n },\n // TODO: fix the type essertion\n plugins: {\n '@typescript-eslint': typescriptEslintPlugin as unknown as ESLint.Plugin,\n },\n settings: {\n node: {\n tryExtensions: JS_AND_TS_EXTENSIONS,\n },\n 'import/resolver': {\n typescript: {},\n },\n 'import/parsers': {\n '@typescript-eslint/parser': TS_EXTENSIONS,\n },\n },\n rules: {\n ...typescriptRules,\n\n // override eslint-plugin-import rules\n 'import/no-extraneous-dependencies': [\n 'error',\n {\n devDependencies: [\n `**/*.test.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `**/*.tests.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `**/*.stories.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `./.storybook/**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `dbschema/**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `stories/**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `tests/**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `tools/**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `./*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n ],\n optionalDependencies: false,\n },\n ],\n },\n },\n {\n files: [`**/*.test.${TS_EXTENSIONS_GLOB_PART}`],\n\n rules: {\n // override @typescript-eslint/eslint-plugin rules\n '@typescript-eslint/ban-ts-comment': 'off', // bans // @ts-<directive> comments from being used\n '@typescript-eslint/no-floating-promises': 'off', // requires Promise-like values to be handled appropriately\n },\n },\n];\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import commentsEslintPlugin from '@eslint-community/eslint-plugin-eslint-comments';\nimport stylisticEslintPlugin from '@stylistic/eslint-plugin';\nimport typescriptEslintPlugin from '@typescript-eslint/eslint-plugin';\nimport typescriptEslintParser from '@typescript-eslint/parser';\nimport vitestEslintPlugin from '@vitest/eslint-plugin';\nimport {type default as eslint, type ESLint} from 'eslint';\nimport importEslintPlugin from 'eslint-plugin-import';\nimport a11yEslintPlugin from 'eslint-plugin-jsx-a11y';\nimport perfectionistEslintPlugin from 'eslint-plugin-perfectionist';\nimport promiseEslintPlugin from 'eslint-plugin-promise';\nimport reactEslintPlugin from 'eslint-plugin-react';\nimport reactCompilerEslintPlugin from 'eslint-plugin-react-compiler';\nimport reactHooksEslintPlugin from 'eslint-plugin-react-hooks';\nimport securityEslintPlugin from 'eslint-plugin-security';\nimport testingLibraryEslintPlugin from 'eslint-plugin-testing-library';\nimport unicornEslintPlugin from 'eslint-plugin-unicorn';\nimport globals from 'globals';\n\nimport {\n ASSET_EXTENSIONS_REGEXP,\n CSS_EXTENSIONS_REGEXP,\n GRAPHQL_EXTENSIONS_REGEXP,\n JS_AND_TS_EXTENSIONS,\n JS_AND_TS_EXTENSIONS_GLOB_PART,\n TS_EXTENSIONS,\n TS_EXTENSIONS_GLOB_PART,\n} from '../constants.js';\nimport {\n a11yRules,\n commentsRules,\n eslintRules,\n importRules,\n perfectionistRules,\n promiseRules,\n reactCompilerRules,\n reactHooksRules,\n reactRules,\n securityRules,\n stylisticRules,\n testingLibraryRules,\n typescriptRules,\n unicornRules,\n vitestRules,\n} from '../rules.js';\n\nexport const main: eslint.Linter.Config[] = [\n {\n linterOptions: {\n reportUnusedDisableDirectives: 'error',\n },\n },\n {\n files: [`**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`],\n\n languageOptions: {\n ecmaVersion: 2024,\n parserOptions: {\n ecmaFeatures: {jsx: true},\n },\n globals: {\n ...globals.builtin,\n ...globals.browser,\n ...globals.es2024,\n ...globals.serviceworker,\n ...globals.worker,\n },\n },\n // TODO: fix the type essertions\n plugins: {\n '@stylistic/js': stylisticEslintPlugin as ESLint.Plugin,\n 'eslint-comments': commentsEslintPlugin as ESLint.Plugin,\n import: importEslintPlugin as ESLint.Plugin,\n 'jsx-a11y': a11yEslintPlugin as ESLint.Plugin, // type assertions needed because of `exactOptionalPropertyTypes: true`\n promise: promiseEslintPlugin as ESLint.Plugin,\n react: reactEslintPlugin as unknown as ESLint.Plugin,\n 'react-hooks': reactHooksEslintPlugin as ESLint.Plugin,\n unicorn: unicornEslintPlugin as ESLint.Plugin, // type assertions needed because of `exactOptionalPropertyTypes: true`\n security: securityEslintPlugin as ESLint.Plugin,\n 'react-compiler': reactCompilerEslintPlugin as ESLint.Plugin,\n perfectionist: perfectionistEslintPlugin as unknown as ESLint.Plugin,\n },\n\n settings: {\n 'import/ignore': [\n 'node_modules',\n String.raw`\\.json$`,\n ASSET_EXTENSIONS_REGEXP.source,\n CSS_EXTENSIONS_REGEXP.source,\n GRAPHQL_EXTENSIONS_REGEXP.source,\n ],\n react: {\n version: 'detect',\n },\n propWrapperFunctions: ['forbidExtraProps', 'exact', 'Object.freeze'],\n 'jsx-a11y': {\n polymorphicPropName: 'as',\n components: {\n Button: 'button',\n },\n },\n perfectionist: {\n locales: ['en'],\n },\n },\n\n rules: {\n ...a11yRules,\n ...commentsRules,\n ...eslintRules,\n ...importRules,\n ...perfectionistRules,\n ...promiseRules,\n ...reactCompilerRules,\n ...reactHooksRules,\n ...reactRules,\n ...securityRules,\n ...stylisticRules,\n ...unicornRules,\n },\n },\n {\n files: [`**/*.test.${JS_AND_TS_EXTENSIONS_GLOB_PART}`],\n\n languageOptions: {\n parser: typescriptEslintParser,\n globals: {\n ...globals.node,\n // TODO: fix somehow\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- plugin has bad types\n ...(vitestEslintPlugin.environments!.env.globals as object),\n jsdom: 'readonly',\n },\n },\n // TODO: fix the type essertions\n plugins: {\n vitest: vitestEslintPlugin as unknown as ESLint.Plugin,\n 'testing-library': testingLibraryEslintPlugin as ESLint.Plugin,\n },\n settings: {\n vitest: {\n typecheck: true,\n },\n 'testing-library/custom-queries': 'off',\n 'testing-library/custom-renders': 'off',\n 'testing-library/utils-module': 'off',\n },\n rules: {\n ...vitestRules,\n ...testingLibraryRules,\n\n // override ESLint rules\n 'max-classes-per-file': 'off', // enforce a maximum number of classes per file\n\n // override eslint-plugin-node rules\n 'node/no-sync': 'off', // disallow synchronous methods\n },\n },\n {\n files: [`**/*.${TS_EXTENSIONS_GLOB_PART}`],\n\n languageOptions: {\n parser: typescriptEslintParser,\n parserOptions: {\n project: 'tsconfig.typecheck.json',\n },\n },\n // TODO: fix the type essertion\n plugins: {\n '@typescript-eslint': typescriptEslintPlugin as unknown as ESLint.Plugin,\n },\n settings: {\n node: {\n tryExtensions: JS_AND_TS_EXTENSIONS,\n },\n 'import/resolver': {\n typescript: {},\n },\n 'import/parsers': {\n '@typescript-eslint/parser': TS_EXTENSIONS,\n },\n },\n rules: {\n ...typescriptRules,\n\n // override eslint-plugin-import rules\n 'import/no-extraneous-dependencies': [\n 'error',\n {\n devDependencies: [\n `**/*.test.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `**/*.tests.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `**/*.stories.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `./.storybook/**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `dbschema/**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `stories/**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `tests/**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `tools/**/*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n `./*.${JS_AND_TS_EXTENSIONS_GLOB_PART}`,\n ],\n optionalDependencies: false,\n },\n ],\n },\n },\n {\n files: [`**/*.test.${TS_EXTENSIONS_GLOB_PART}`],\n\n rules: {\n // override @typescript-eslint/eslint-plugin rules\n '@typescript-eslint/ban-ts-comment': 'off', // bans // @ts-<directive> comments from being used\n '@typescript-eslint/no-floating-promises': 'off', // requires Promise-like values to be handled appropriately\n },\n },\n];\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakubmazanec/eslint-config",
3
- "version": "4.1.1",
3
+ "version": "4.1.2-next.335706bb",
4
4
  "description": "ESLint config for TypeScript projects.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,7 +29,7 @@
29
29
  "@stylistic/eslint-plugin": "^2.11.0",
30
30
  "@typescript-eslint/eslint-plugin": "^8.15.0",
31
31
  "@typescript-eslint/parser": "^8.15.0",
32
- "@vitest/eslint-plugin": "^1.1.10",
32
+ "@vitest/eslint-plugin": "^1.1.22",
33
33
  "confusing-browser-globals": "^1.0.11",
34
34
  "eslint-config-prettier": "^9.1.0",
35
35
  "eslint-import-resolver-typescript": "^3.6.3",
@@ -43,9 +43,9 @@
43
43
  "eslint-plugin-react-compiler": "^19.0.0-beta-a7bf2bd-20241110",
44
44
  "eslint-plugin-react-hooks": "^5.0.0",
45
45
  "eslint-plugin-security": "^3.0.1",
46
- "eslint-plugin-testing-library": "^6.4.0",
46
+ "eslint-plugin-testing-library": "^7.1.1",
47
47
  "eslint-plugin-unicorn": "^56.0.1",
48
- "globals": "^15.12.0"
48
+ "globals": "^15.14.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/confusing-browser-globals": "^1.0.3",
@@ -53,12 +53,12 @@
53
53
  "@types/eslint-plugin-jsx-a11y": "^6.9.0",
54
54
  "@types/node": "^22.9.0",
55
55
  "del-cli": "^6.0.0",
56
- "esbuild": "^0.24.0",
56
+ "esbuild": "^0.24.2",
57
57
  "eslint": "^9.15.0",
58
- "prettier": "^3.3.3",
59
- "prettier-plugin-packagejson": "^2.5.3",
58
+ "prettier": "^3.4.2",
59
+ "prettier-plugin-packagejson": "^2.5.6",
60
60
  "tsx": "^4.19.2",
61
- "typescript": "^5.6.3"
61
+ "typescript": "^5.7.2"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "eslint": "^9.0.0",
@@ -125,12 +125,15 @@ export const main: eslint.Linter.Config[] = [
125
125
  parser: typescriptEslintParser,
126
126
  globals: {
127
127
  ...globals.node,
128
- ...vitestEslintPlugin.environments.env.globals,
128
+ // TODO: fix somehow
129
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- plugin has bad types
130
+ ...(vitestEslintPlugin.environments!.env.globals as object),
129
131
  jsdom: 'readonly',
130
132
  },
131
133
  },
134
+ // TODO: fix the type essertions
132
135
  plugins: {
133
- vitest: vitestEslintPlugin,
136
+ vitest: vitestEslintPlugin as unknown as ESLint.Plugin,
134
137
  'testing-library': testingLibraryEslintPlugin as ESLint.Plugin,
135
138
  },
136
139
  settings: {