package.json 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. {
  2. "name": "eslint-plugin-unicorn",
  3. "version": "43.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 generate-rule-notices && npm run generate-rules-table",
  18. "fix": "run-p --continue-on-error fix:*",
  19. "fix:js": "npm run lint:js -- --fix",
  20. "fix:md": "npm run lint:md -- --fix",
  21. "generate-rule-notices": "node ./scripts/generate-rule-notices.mjs",
  22. "generate-rules-table": "node ./scripts/generate-rules-table.mjs",
  23. "integration": "node ./test/integration/test.mjs",
  24. "lint": "run-p --continue-on-error lint:*",
  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.18.6",
  50. "ci-info": "^3.3.2",
  51. "clean-regexp": "^1.0.0",
  52. "eslint-utils": "^3.0.0",
  53. "esquery": "^1.4.0",
  54. "indent-string": "^4.0.0",
  55. "is-builtin-module": "^3.1.0",
  56. "lodash": "^4.17.21",
  57. "pluralize": "^8.0.0",
  58. "read-pkg-up": "^7.0.1",
  59. "regexp-tree": "^0.1.24",
  60. "safe-regex": "^2.1.1",
  61. "semver": "^7.3.7",
  62. "strip-indent": "^3.0.0"
  63. },
  64. "devDependencies": {
  65. "@babel/code-frame": "^7.18.6",
  66. "@babel/core": "^7.18.6",
  67. "@babel/eslint-parser": "^7.18.2",
  68. "@lubien/fixture-beta-package": "^1.0.0-beta.1",
  69. "@typescript-eslint/parser": "^5.30.0",
  70. "ava": "^3.15.0",
  71. "c8": "^7.11.3",
  72. "chalk": "^5.0.1",
  73. "enquirer": "^2.3.6",
  74. "eslint": "^8.18.0",
  75. "eslint-ava-rule-tester": "^4.0.0",
  76. "eslint-plugin-eslint-plugin": "^5.0.0",
  77. "eslint-plugin-internal-rules": "file:./scripts/internal-rules/",
  78. "eslint-remote-tester": "^3.0.0",
  79. "eslint-remote-tester-repositories": "^0.0.6",
  80. "execa": "^6.1.0",
  81. "listr": "^0.14.3",
  82. "lodash-es": "^4.17.21",
  83. "markdownlint-cli": "^0.31.1",
  84. "mem": "^9.0.2",
  85. "npm-package-json-lint": "^6.3.0",
  86. "npm-run-all": "^4.1.5",
  87. "outdent": "^0.8.0",
  88. "typescript": "^4.7.4",
  89. "vue-eslint-parser": "^9.0.3",
  90. "xo": "^0.50.0"
  91. },
  92. "peerDependencies": {
  93. "eslint": ">=8.18.0"
  94. },
  95. "ava": {
  96. "files": [
  97. "test/*.mjs",
  98. "test/unit/*.mjs"
  99. ]
  100. },
  101. "c8": {
  102. "reporter": [
  103. "text",
  104. "lcov"
  105. ]
  106. },
  107. "xo": {
  108. "ignores": [
  109. ".cache-eslint-remote-tester",
  110. "eslint-remote-tester-results",
  111. "test/integration/{fixtures,fixtures-local}/**"
  112. ],
  113. "rules": {
  114. "unicorn/no-null": "error",
  115. "unicorn/prefer-array-flat": [
  116. "error",
  117. {
  118. "functions": [
  119. "flat",
  120. "flatten"
  121. ]
  122. }
  123. ]
  124. },
  125. "overrides": [
  126. {
  127. "files": [
  128. "**/*.js"
  129. ],
  130. "parserOptions": {
  131. "sourceType": "script"
  132. },
  133. "rules": {
  134. "strict": "error",
  135. "unicorn/prefer-module": "off"
  136. }
  137. },
  138. {
  139. "files": [
  140. "rules/*.js"
  141. ],
  142. "plugins": [
  143. "eslint-plugin"
  144. ],
  145. "extends": [
  146. "plugin:eslint-plugin/all"
  147. ],
  148. "rules": {
  149. "eslint-plugin/require-meta-docs-description": [
  150. "error",
  151. {
  152. "pattern": ".+"
  153. }
  154. ],
  155. "eslint-plugin/require-meta-docs-url": "off",
  156. "eslint-plugin/require-meta-has-suggestions": "off",
  157. "eslint-plugin/require-meta-schema": "off"
  158. }
  159. },
  160. {
  161. "files": [
  162. "rules/**/*.js"
  163. ],
  164. "extends": [
  165. "plugin:internal-rules/all"
  166. ]
  167. }
  168. ]
  169. },
  170. "npmpackagejsonlint": {
  171. "rules": {
  172. "prefer-caret-version-devDependencies": [
  173. "error",
  174. {
  175. "exceptions": [
  176. "eslint-plugin-internal-rules"
  177. ]
  178. }
  179. ]
  180. }
  181. }
  182. }