package.json 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. {
  2. "name": "eslint-plugin-unicorn",
  3. "version": "45.0.2",
  4. "description": "More than 100 powerful ESLint rules",
  5. "license": "MIT",
  6. "repository": "sindresorhus/eslint-plugin-unicorn",
  7. "funding": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1",
  8. "author": {
  9. "name": "Sindre Sorhus",
  10. "email": "sindresorhus@gmail.com",
  11. "url": "https://sindresorhus.com"
  12. },
  13. "engines": {
  14. "node": ">=14.18"
  15. },
  16. "scripts": {
  17. "create-rule": "node ./scripts/create-rule.mjs && npm run fix:eslint-docs",
  18. "fix": "run-p --continue-on-error fix:*",
  19. "fix:eslint-docs": "eslint-doc-generator --ignore-deprecated-rules --ignore-config all --rule-doc-title-format desc --url-configs \"https://github.com/sindresorhus/eslint-plugin-unicorn#preset-configs\"",
  20. "fix:js": "npm run lint:js -- --fix",
  21. "fix:md": "npm run lint:md -- --fix",
  22. "integration": "node ./test/integration/test.mjs",
  23. "lint": "run-p --continue-on-error lint:*",
  24. "lint:eslint-docs": "npm run fix:eslint-docs -- --check",
  25. "lint:js": "xo",
  26. "lint:md": "markdownlint \"**/*.md\"",
  27. "lint:package-json": "npmPkgJsonLint .",
  28. "run-rules-on-codebase": "node ./test/run-rules-on-codebase/lint.mjs",
  29. "smoke": "eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js",
  30. "test": "npm-run-all --continue-on-error lint test:*",
  31. "test:js": "c8 ava"
  32. },
  33. "files": [
  34. "index.js",
  35. "rules",
  36. "configs"
  37. ],
  38. "keywords": [
  39. "eslint",
  40. "eslintplugin",
  41. "eslint-plugin",
  42. "unicorn",
  43. "linter",
  44. "lint",
  45. "style",
  46. "xo"
  47. ],
  48. "dependencies": {
  49. "@babel/helper-validator-identifier": "^7.19.1",
  50. "@eslint-community/eslint-utils": "^4.1.2",
  51. "ci-info": "^3.6.1",
  52. "clean-regexp": "^1.0.0",
  53. "esquery": "^1.4.0",
  54. "indent-string": "^4.0.0",
  55. "is-builtin-module": "^3.2.0",
  56. "jsesc": "^3.0.2",
  57. "lodash": "^4.17.21",
  58. "pluralize": "^8.0.0",
  59. "read-pkg-up": "^7.0.1",
  60. "regexp-tree": "^0.1.24",
  61. "regjsparser": "^0.9.1",
  62. "safe-regex": "^2.1.1",
  63. "semver": "^7.3.8",
  64. "strip-indent": "^3.0.0"
  65. },
  66. "devDependencies": {
  67. "@babel/code-frame": "^7.18.6",
  68. "@babel/core": "^7.20.2",
  69. "@babel/eslint-parser": "^7.19.1",
  70. "@lubien/fixture-beta-package": "^1.0.0-beta.1",
  71. "@typescript-eslint/parser": "^5.43.0",
  72. "ava": "^3.15.0",
  73. "c8": "^7.12.0",
  74. "chalk": "^5.1.2",
  75. "enquirer": "^2.3.6",
  76. "eslint": "^8.28.0",
  77. "eslint-ava-rule-tester": "^4.0.0",
  78. "eslint-doc-generator": "^1.0.0",
  79. "eslint-plugin-eslint-plugin": "^5.0.6",
  80. "eslint-plugin-internal-rules": "file:./scripts/internal-rules/",
  81. "eslint-remote-tester": "^3.0.0",
  82. "eslint-remote-tester-repositories": "^0.0.7",
  83. "execa": "^6.1.0",
  84. "listr": "^0.14.3",
  85. "lodash-es": "^4.17.21",
  86. "markdownlint-cli": "^0.32.2",
  87. "mem": "^9.0.2",
  88. "npm-package-json-lint": "^6.3.0",
  89. "npm-run-all": "^4.1.5",
  90. "outdent": "^0.8.0",
  91. "typescript": "^4.9.3",
  92. "vue-eslint-parser": "^9.1.0",
  93. "xo": "^0.53.1",
  94. "yaml": "^2.1.3"
  95. },
  96. "peerDependencies": {
  97. "eslint": ">=8.28.0"
  98. },
  99. "ava": {
  100. "files": [
  101. "test/*.mjs",
  102. "test/unit/*.mjs"
  103. ]
  104. },
  105. "c8": {
  106. "reporter": [
  107. "text",
  108. "lcov"
  109. ]
  110. },
  111. "xo": {
  112. "ignores": [
  113. ".cache-eslint-remote-tester",
  114. "eslint-remote-tester-results",
  115. "test/integration/{fixtures,fixtures-local}/**"
  116. ],
  117. "rules": {
  118. "unicorn/no-null": "error",
  119. "unicorn/prefer-array-flat": [
  120. "error",
  121. {
  122. "functions": [
  123. "flat",
  124. "flatten"
  125. ]
  126. }
  127. ]
  128. },
  129. "overrides": [
  130. {
  131. "files": [
  132. "**/*.js"
  133. ],
  134. "parserOptions": {
  135. "sourceType": "script"
  136. },
  137. "rules": {
  138. "strict": "error",
  139. "unicorn/prefer-module": "off"
  140. }
  141. },
  142. {
  143. "files": [
  144. "rules/*.js"
  145. ],
  146. "plugins": [
  147. "eslint-plugin"
  148. ],
  149. "extends": [
  150. "plugin:eslint-plugin/all"
  151. ],
  152. "rules": {
  153. "eslint-plugin/require-meta-docs-description": [
  154. "error",
  155. {
  156. "pattern": ".+"
  157. }
  158. ],
  159. "eslint-plugin/require-meta-docs-url": "off",
  160. "eslint-plugin/require-meta-has-suggestions": "off",
  161. "eslint-plugin/require-meta-schema": "off"
  162. }
  163. },
  164. {
  165. "files": [
  166. "rules/**/*.js"
  167. ],
  168. "extends": [
  169. "plugin:internal-rules/all"
  170. ]
  171. }
  172. ]
  173. },
  174. "npmpackagejsonlint": {
  175. "rules": {
  176. "prefer-caret-version-devDependencies": [
  177. "error",
  178. {
  179. "exceptions": [
  180. "eslint-plugin-internal-rules"
  181. ]
  182. }
  183. ]
  184. }
  185. }
  186. }