composer.json 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. {
  2. "name": "ramsey/collection",
  3. "description": "A PHP library for representing and manipulating collections.",
  4. "license": "MIT",
  5. "type": "library",
  6. "keywords": [
  7. "array",
  8. "collection",
  9. "hash",
  10. "map",
  11. "queue",
  12. "set"
  13. ],
  14. "authors": [
  15. {
  16. "name": "Ben Ramsey",
  17. "email": "ben@benramsey.com",
  18. "homepage": "https://benramsey.com"
  19. }
  20. ],
  21. "require": {
  22. "php": "^8.1"
  23. },
  24. "require-dev": {
  25. "captainhook/plugin-composer": "^5.3",
  26. "ergebnis/composer-normalize": "^2.28.3",
  27. "fakerphp/faker": "^1.21",
  28. "hamcrest/hamcrest-php": "^2.0",
  29. "jangregor/phpstan-prophecy": "^1.0",
  30. "mockery/mockery": "^1.5",
  31. "php-parallel-lint/php-console-highlighter": "^1.0",
  32. "php-parallel-lint/php-parallel-lint": "^1.3",
  33. "phpcsstandards/phpcsutils": "^1.0.0-rc1",
  34. "phpspec/prophecy-phpunit": "^2.0",
  35. "phpstan/extension-installer": "^1.2",
  36. "phpstan/phpstan": "^1.9",
  37. "phpstan/phpstan-mockery": "^1.1",
  38. "phpstan/phpstan-phpunit": "^1.3",
  39. "phpunit/phpunit": "^9.5",
  40. "psalm/plugin-mockery": "^1.1",
  41. "psalm/plugin-phpunit": "^0.18.4",
  42. "ramsey/coding-standard": "^2.0.3",
  43. "ramsey/conventional-commits": "^1.3",
  44. "vimeo/psalm": "^5.4"
  45. },
  46. "minimum-stability": "RC",
  47. "prefer-stable": true,
  48. "autoload": {
  49. "psr-4": {
  50. "Ramsey\\Collection\\": "src/"
  51. }
  52. },
  53. "autoload-dev": {
  54. "psr-4": {
  55. "Ramsey\\Collection\\Test\\": "tests/",
  56. "Ramsey\\Test\\Generics\\": "tests/generics/"
  57. },
  58. "files": [
  59. "vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest.php"
  60. ]
  61. },
  62. "config": {
  63. "allow-plugins": {
  64. "dealerdirect/phpcodesniffer-composer-installer": true,
  65. "ergebnis/composer-normalize": true,
  66. "phpstan/extension-installer": true,
  67. "captainhook/plugin-composer": true
  68. },
  69. "sort-packages": true
  70. },
  71. "extra": {
  72. "captainhook": {
  73. "force-install": true
  74. },
  75. "ramsey/conventional-commits": {
  76. "configFile": "conventional-commits.json"
  77. }
  78. },
  79. "scripts": {
  80. "dev:analyze": [
  81. "@dev:analyze:phpstan",
  82. "@dev:analyze:psalm"
  83. ],
  84. "dev:analyze:phpstan": "phpstan analyse --ansi --memory-limit=1G",
  85. "dev:analyze:psalm": "psalm",
  86. "dev:build:clean": "git clean -fX build/",
  87. "dev:lint": [
  88. "@dev:lint:syntax",
  89. "@dev:lint:style"
  90. ],
  91. "dev:lint:fix": "phpcbf",
  92. "dev:lint:style": "phpcs --colors",
  93. "dev:lint:syntax": "parallel-lint --colors src/ tests/",
  94. "dev:test": [
  95. "@dev:lint",
  96. "@dev:analyze",
  97. "@dev:test:unit"
  98. ],
  99. "dev:test:coverage:ci": "phpunit --colors=always --coverage-text --coverage-clover build/coverage/clover.xml --coverage-cobertura build/coverage/cobertura.xml --coverage-crap4j build/coverage/crap4j.xml --coverage-xml build/coverage/coverage-xml --log-junit build/junit.xml",
  100. "dev:test:coverage:html": "phpunit --colors=always --coverage-html build/coverage/coverage-html/",
  101. "dev:test:unit": "phpunit --colors=always",
  102. "test": "@dev:test"
  103. },
  104. "scripts-descriptions": {
  105. "dev:analyze": "Runs all static analysis checks.",
  106. "dev:analyze:phpstan": "Runs the PHPStan static analyzer.",
  107. "dev:analyze:psalm": "Runs the Psalm static analyzer.",
  108. "dev:build:clean": "Cleans the build/ directory.",
  109. "dev:lint": "Runs all linting checks.",
  110. "dev:lint:fix": "Auto-fixes coding standards issues, if possible.",
  111. "dev:lint:style": "Checks for coding standards issues.",
  112. "dev:lint:syntax": "Checks for syntax errors.",
  113. "dev:test": "Runs linting, static analysis, and unit tests.",
  114. "dev:test:coverage:ci": "Runs unit tests and generates CI coverage reports.",
  115. "dev:test:coverage:html": "Runs unit tests and generates HTML coverage report.",
  116. "dev:test:unit": "Runs unit tests.",
  117. "test": "Runs linting, static analysis, and unit tests."
  118. }
  119. }