diff --git a/README.md b/README.md index 7475d78..e38897e 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ Recommended ESLint Shareable Config for TypeScript - [@eslint-community/eslint-plugin-eslint-comments](https://www.npmjs.com/package/@eslint-community/eslint-plugin-eslint-comments) - [eslint-plugin-jsdoc](https://www.npmjs.com/package/eslint-plugin-jsdoc) - [eslint-plugin-tsdoc](https://www.npmjs.com/package/eslint-plugin-tsdoc) +- [eslint-plugin-regexp](https://www.npmjs.com/package/eslint-plugin-regexp) ## Requirements diff --git a/index.js b/index.js index bd52c14..74924ad 100644 --- a/index.js +++ b/index.js @@ -11,8 +11,13 @@ const config = { 'love', 'plugin:unicorn/recommended', 'plugin:sonarjs/recommended', - 'plugin:@eslint-community/eslint-comments/recommended' + 'plugin:@eslint-community/eslint-comments/recommended', + 'plugin:regexp/recommended' ], + rules: { + // Disable because it conflicts with eslint-plugin-regexp. + 'unicorn/better-regex': 'off' + }, overrides: [ // For JavaScript { diff --git a/package-lock.json b/package-lock.json index cf20823..195dfab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "eslint": "8.57.0", "eslint-config-love": "47.0.0", "eslint-plugin-jsdoc": "48.2.7", + "eslint-plugin-regexp": "2.6.0", "eslint-plugin-sonarjs": "0.25.1", "eslint-plugin-tsdoc": "0.3.0", "eslint-plugin-unicorn": "53.0.0", @@ -28,6 +29,7 @@ "eslint": "^8.23.1", "eslint-config-love": "^47.0.0", "eslint-plugin-jsdoc": "^48.0.0", + "eslint-plugin-regexp": "^2.6.0", "eslint-plugin-sonarjs": "^0.25.0", "eslint-plugin-tsdoc": "^0.3.0", "eslint-plugin-unicorn": "^53.0.0", @@ -1989,6 +1991,27 @@ "eslint": "^7.0.0 || ^8.0.0" } }, + "node_modules/eslint-plugin-regexp": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-regexp/-/eslint-plugin-regexp-2.6.0.tgz", + "integrity": "sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.9.1", + "comment-parser": "^1.4.0", + "jsdoc-type-pratt-parser": "^4.0.0", + "refa": "^0.12.1", + "regexp-ast-analysis": "^0.7.1", + "scslre": "^0.3.0" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "eslint": ">=8.44.0" + } + }, "node_modules/eslint-plugin-sonarjs": { "version": "0.25.1", "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.25.1.tgz", @@ -3681,6 +3704,31 @@ "node": ">=8" } }, + "node_modules/refa": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/refa/-/refa-0.12.1.tgz", + "integrity": "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.8.0" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/regexp-ast-analysis": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regexp-ast-analysis/-/regexp-ast-analysis-0.7.1.tgz", + "integrity": "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.1" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/regexp-tree": { "version": "0.1.27", "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", @@ -3861,6 +3909,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/scslre": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/scslre/-/scslre-0.3.0.tgz", + "integrity": "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.0", + "regexp-ast-analysis": "^0.7.0" + }, + "engines": { + "node": "^14.0.0 || >=16.0.0" + } + }, "node_modules/semver": { "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", diff --git a/package.json b/package.json index ff80dac..d5a123e 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "eslint": "^8.23.1", "eslint-config-love": "^47.0.0", "eslint-plugin-jsdoc": "^48.0.0", + "eslint-plugin-regexp": "^2.6.0", "eslint-plugin-sonarjs": "^0.25.0", "eslint-plugin-tsdoc": "^0.3.0", "eslint-plugin-unicorn": "^53.0.0", @@ -29,6 +30,7 @@ "eslint": "8.57.0", "eslint-config-love": "47.0.0", "eslint-plugin-jsdoc": "48.2.7", + "eslint-plugin-regexp": "2.6.0", "eslint-plugin-sonarjs": "0.25.1", "eslint-plugin-tsdoc": "0.3.0", "eslint-plugin-unicorn": "53.0.0",