shlink/composer.json

176 lines
7.7 KiB
JSON
Raw Normal View History

2016-04-10 10:38:07 +03:00
{
2016-07-19 17:30:48 +03:00
"name": "shlinkio/shlink",
2016-04-10 10:38:07 +03:00
"type": "project",
"homepage": "https://shlink.io",
"description": "A self-hosted and PHP-based URL shortener application with CLI and REST interfaces",
2016-04-10 10:38:07 +03:00
"license": "MIT",
"authors": [
{
"name": "Alejandro Celaya Alastrué",
"homepage": "https://www.alejandrocelaya.com",
2016-04-10 10:38:07 +03:00
"email": "alejandro@alejandrocelaya.com"
}
],
"require": {
"php": "^7.4",
"ext-json": "*",
"ext-pdo": "*",
"akrabat/ip-address-middleware": "^1.0",
"cakephp/chronos": "^1.2",
"cocur/slugify": "^4.0",
"doctrine/cache": "^1.9",
"doctrine/dbal": "^2.10",
2020-06-15 19:35:53 +03:00
"doctrine/migrations": "^3.0.1",
"doctrine/orm": "^2.7",
2019-10-15 20:06:37 +03:00
"endroid/qr-code": "^3.6",
2018-11-11 14:04:42 +03:00
"geoip2/geoip2": "^2.9",
2020-06-28 11:06:49 +03:00
"guzzlehttp/guzzle": "^7.0",
2020-01-01 23:11:53 +03:00
"laminas/laminas-config": "^3.3",
"laminas/laminas-config-aggregator": "^1.1",
"laminas/laminas-dependency-plugin": "^1.0",
2020-01-01 23:11:53 +03:00
"laminas/laminas-diactoros": "^2.1.3",
"laminas/laminas-inputfilter": "^2.10",
"laminas/laminas-paginator": "^2.8",
"laminas/laminas-servicemanager": "^3.4",
"laminas/laminas-stdlib": "^3.2",
2020-03-15 19:13:57 +03:00
"lcobucci/jwt": "^4.0@alpha",
"league/uri": "^6.2",
"lstrojny/functional-php": "^1.9",
2020-01-01 23:11:53 +03:00
"mezzio/mezzio": "^3.2",
"mezzio/mezzio-fastroute": "^3.0",
"mezzio/mezzio-helpers": "^5.3",
"mezzio/mezzio-platesrenderer": "^2.1",
"mezzio/mezzio-problem-details": "^1.1",
"mezzio/mezzio-swoole": "^2.6.4",
2019-11-30 19:21:36 +03:00
"monolog/monolog": "^2.0",
"nikolaposa/monolog-factory": "^3.0",
"ocramius/proxy-manager": "^2.7.0",
"phly/phly-event-dispatcher": "^1.0",
"php-middleware/request-id": "^4.0",
"predis/predis": "^1.1",
"pugx/shortid-php": "^0.5",
"ramsey/uuid": "^3.9",
2020-06-28 11:06:49 +03:00
"shlinkio/shlink-common": "^3.2.0",
"shlinkio/shlink-config": "^1.0",
"shlinkio/shlink-event-dispatcher": "^1.4",
"shlinkio/shlink-installer": "^5.1.0",
2020-06-28 11:06:49 +03:00
"shlinkio/shlink-ip-geolocation": "^1.5",
"symfony/console": "^5.1",
"symfony/filesystem": "^5.1",
"symfony/lock": "^5.1",
"symfony/mercure": "^0.3.0",
"symfony/process": "^5.1",
2020-06-28 11:06:49 +03:00
"symfony/string": "^5.1"
2016-04-10 10:38:07 +03:00
},
"require-dev": {
2018-11-11 20:57:32 +03:00
"devster/ubench": "^2.0",
2020-02-15 23:14:14 +03:00
"dms/phpunit-arraysubset-asserts": "^0.2.0",
"eaglewu/swoole-ide-helper": "dev-master",
2020-03-29 14:07:27 +03:00
"infection/infection": "^0.16.1",
"phpstan/phpstan": "^0.12.18",
2020-09-26 11:43:50 +03:00
"phpunit/php-code-coverage": "^8.0",
"phpunit/phpunit": "~9.0.1",
2019-02-04 21:43:21 +03:00
"roave/security-advisories": "dev-master",
2020-01-01 22:48:31 +03:00
"shlinkio/php-coding-standard": "~2.1.0",
2020-06-28 11:06:49 +03:00
"shlinkio/shlink-test-utils": "^1.5",
2019-11-30 19:21:36 +03:00
"symfony/var-dumper": "^5.0"
2016-04-10 10:38:07 +03:00
},
"autoload": {
"psr-4": {
2016-07-19 17:50:02 +03:00
"Shlinkio\\Shlink\\CLI\\": "module/CLI/src",
"Shlinkio\\Shlink\\Rest\\": "module/Rest/src",
"Shlinkio\\Shlink\\Core\\": "module/Core/src"
},
"files": [
"module/Core/functions/functions.php"
]
2016-04-10 10:38:07 +03:00
},
"autoload-dev": {
"psr-4": {
2016-07-19 17:50:02 +03:00
"ShlinkioTest\\Shlink\\CLI\\": "module/CLI/test",
"ShlinkioTest\\Shlink\\Rest\\": "module/Rest/test",
2019-01-26 12:19:20 +03:00
"ShlinkioApiTest\\Shlink\\Rest\\": "module/Rest/test-api",
"ShlinkioTest\\Shlink\\Core\\": [
"module/Core/test",
"module/Core/test-db"
]
2020-09-26 11:43:50 +03:00
},
"files": [
"config/test/constants.php"
]
2016-04-10 10:38:07 +03:00
},
"scripts": {
"ci": [
"@cs",
"@stan",
"@test:ci",
"@infect:ci"
],
2016-04-10 10:38:07 +03:00
"cs": "phpcs",
"cs:fix": "phpcbf",
"stan": "phpstan analyse module/*/src/ module/*/config config docker/config --level=6",
"test": [
"@test:unit",
"@test:db",
"@test:api"
],
"test:ci": [
"@test:unit:ci",
"@test:db"
],
2020-09-26 11:43:50 +03:00
"test:unit": "@php vendor/bin/phpunit --order-by=random --colors=always --coverage-php build/coverage-unit.cov --testdox",
"test:unit:ci": "@test:unit --coverage-xml=build/coverage-unit/coverage-xml --log-junit=build/coverage-unit/junit.xml",
"test:db": [
"@test:db:sqlite:ci",
"@test:db:mysql",
"@test:db:maria",
2020-02-03 23:20:40 +03:00
"@test:db:postgres",
"@test:db:ms"
],
2020-09-26 11:43:50 +03:00
"test:db:sqlite": "APP_ENV=test php vendor/bin/phpunit --order-by=random --colors=always --testdox -c phpunit-db.xml",
"test:db:sqlite:ci": "@test:db:sqlite --coverage-php build/coverage-db.cov --coverage-xml=build/coverage-db/coverage-xml --log-junit=build/coverage-db/junit.xml",
"test:db:mysql": "DB_DRIVER=mysql composer test:db:sqlite",
"test:db:maria": "DB_DRIVER=maria composer test:db:sqlite",
"test:db:postgres": "DB_DRIVER=postgres composer test:db:sqlite",
2020-02-03 23:20:40 +03:00
"test:db:ms": "DB_DRIVER=mssql composer test:db:sqlite",
2019-01-27 12:54:04 +03:00
"test:api": "bin/test/run-api-tests.sh",
2020-09-26 11:43:50 +03:00
"test:unit:pretty": "@php vendor/bin/phpunit --order-by=random --colors=always --coverage-html build/coverage-unit-html",
2019-12-01 14:34:26 +03:00
"infect": "infection --threads=4 --min-msi=80 --log-verbosity=default --only-covered",
"infect:ci:base": "@infect --skip-initial-tests",
"infect:ci": [
"@infect:ci:base --coverage=build/coverage-unit",
"@infect:ci:base --coverage=build/coverage-db --test-framework-options=--configuration=phpunit-db.xml"
],
2018-11-17 19:36:22 +03:00
"infect:test": [
"@test:unit:ci",
"@test:db:sqlite:ci",
2018-11-17 19:36:22 +03:00
"@infect:ci"
2019-11-17 12:00:29 +03:00
],
"clean:dev": "rm -f data/database.sqlite && rm -f config/params/generated_config.php"
},
"scripts-descriptions": {
"ci": "<fg=blue;options=bold>Alias for \"cs\", \"stan\", \"test:ci\" and \"infect:ci\"</>",
"cs": "<fg=blue;options=bold>Checks coding styles</>",
"cs:fix": "<fg=blue;options=bold>Fixes coding styles, when possible</>",
"stan": "<fg=blue;options=bold>Inspects code with phpstan</>",
"test": "<fg=blue;options=bold>Runs all test suites</>",
"test:ci": "<fg=blue;options=bold>Runs all test suites, generating all needed reports and logs for CI envs</>",
"test:unit": "<fg=blue;options=bold>Runs unit test suites</>",
"test:unit:ci": "<fg=blue;options=bold>Runs unit test suites, generating all needed reports and logs for CI envs</>",
"test:db": "<fg=blue;options=bold>Runs database test suites on a SQLite, MySQL, MariaDB, PostgreSQL and MsSQL</>",
"test:db:sqlite": "<fg=blue;options=bold>Runs database test suites on a SQLite database</>",
"test:db:mysql": "<fg=blue;options=bold>Runs database test suites on a MySQL database</>",
"test:db:maria": "<fg=blue;options=bold>Runs database test suites on a MariaDB database</>",
"test:db:postgres": "<fg=blue;options=bold>Runs database test suites on a PostgreSQL database</>",
2019-01-27 12:30:38 +03:00
"test:api": "<fg=blue;options=bold>Runs API test suites</>",
"test:unit:pretty": "<fg=blue;options=bold>Runs unit test suites and generates an HTML code coverage report</>",
"infect": "<fg=blue;options=bold>Checks unit tests quality applying mutation testing</>",
"infect:ci": "<fg=blue;options=bold>Checks unit tests quality applying mutation testing with existing reports and logs</>",
2019-11-17 12:00:29 +03:00
"infect:test": "<fg=blue;options=bold>Checks unit tests quality applying mutation testing</>",
"clean:dev": "<fg=blue;options=bold>Deletes artifacts which are gitignored and could affect dev env</>"
},
"config": {
"sort-packages": true
2016-04-10 10:38:07 +03:00
}
}