composer.json 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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.45",
  27. "fakerphp/faker": "^1.24",
  28. "hamcrest/hamcrest-php": "^2.0",
  29. "jangregor/phpstan-prophecy": "^2.1",
  30. "mockery/mockery": "^1.6",
  31. "php-parallel-lint/php-console-highlighter": "^1.0",
  32. "php-parallel-lint/php-parallel-lint": "^1.4",
  33. "phpspec/prophecy-phpunit": "^2.3",
  34. "phpstan/extension-installer": "^1.4",
  35. "phpstan/phpstan": "^2.1",
  36. "phpstan/phpstan-mockery": "^2.0",
  37. "phpstan/phpstan-phpunit": "^2.0",
  38. "phpunit/phpunit": "^10.5",
  39. "ramsey/coding-standard": "^2.3",
  40. "ramsey/conventional-commits": "^1.6",
  41. "roave/security-advisories": "dev-latest"
  42. },
  43. "prefer-stable": true,
  44. "autoload": {
  45. "psr-4": {
  46. "Ramsey\\Collection\\": "src/"
  47. }
  48. },
  49. "autoload-dev": {
  50. "psr-4": {
  51. "Ramsey\\Collection\\Test\\": "tests/"
  52. }
  53. },
  54. "config": {
  55. "allow-plugins": {
  56. "captainhook/plugin-composer": true,
  57. "dealerdirect/phpcodesniffer-composer-installer": true,
  58. "ergebnis/composer-normalize": true,
  59. "phpstan/extension-installer": true
  60. },
  61. "sort-packages": true
  62. },
  63. "extra": {
  64. "captainhook": {
  65. "force-install": true
  66. },
  67. "ramsey/conventional-commits": {
  68. "configFile": "conventional-commits.json"
  69. }
  70. },
  71. "scripts": {
  72. "dev:analyze": [
  73. "@dev:analyze:phpstan"
  74. ],
  75. "dev:analyze:phpstan": "phpstan analyse --ansi --memory-limit=1G",
  76. "dev:build:clean": "git clean -fX build/",
  77. "dev:lint": [
  78. "@dev:lint:syntax",
  79. "@dev:lint:style"
  80. ],
  81. "dev:lint:fix": "phpcbf",
  82. "dev:lint:style": "phpcs --colors",
  83. "dev:lint:syntax": "parallel-lint --colors src/ tests/",
  84. "dev:test": [
  85. "@dev:lint",
  86. "@dev:analyze",
  87. "@dev:test:unit"
  88. ],
  89. "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",
  90. "dev:test:coverage:html": "phpunit --colors=always --coverage-html build/coverage/coverage-html/",
  91. "dev:test:unit": "phpunit --colors=always",
  92. "test": "@dev:test"
  93. },
  94. "scripts-descriptions": {
  95. "dev:analyze": "Runs all static analysis checks.",
  96. "dev:analyze:phpstan": "Runs the PHPStan static analyzer.",
  97. "dev:build:clean": "Cleans the build/ directory.",
  98. "dev:lint": "Runs all linting checks.",
  99. "dev:lint:fix": "Auto-fixes coding standards issues, if possible.",
  100. "dev:lint:style": "Checks for coding standards issues.",
  101. "dev:lint:syntax": "Checks for syntax errors.",
  102. "dev:test": "Runs linting, static analysis, and unit tests.",
  103. "dev:test:coverage:ci": "Runs unit tests and generates CI coverage reports.",
  104. "dev:test:coverage:html": "Runs unit tests and generates HTML coverage report.",
  105. "dev:test:unit": "Runs unit tests.",
  106. "test": "Runs linting, static analysis, and unit tests."
  107. }
  108. }