2016-04-10 02:38:07 -05:00
|
|
|
{
|
2016-07-19 09:30:48 -05:00
|
|
|
"name": "shlinkio/shlink",
|
2016-04-10 02:38:07 -05:00
|
|
|
"type": "project",
|
2017-03-24 15:10:25 -05:00
|
|
|
"homepage": "https://shlink.io",
|
2016-07-31 09:42:19 -05:00
|
|
|
"description": "A self-hosted and PHP-based URL shortener application with CLI and REST interfaces",
|
2016-04-10 02:38:07 -05:00
|
|
|
"license": "MIT",
|
|
|
|
"authors": [
|
|
|
|
{
|
2016-07-31 09:42:19 -05:00
|
|
|
"name": "Alejandro Celaya Alastrué",
|
2017-03-24 15:10:25 -05:00
|
|
|
"homepage": "https://www.alejandrocelaya.com",
|
2016-04-10 02:38:07 -05:00
|
|
|
"email": "alejandro@alejandrocelaya.com"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"require": {
|
2019-04-09 15:40:15 -05:00
|
|
|
"php": "^7.2",
|
2018-08-10 16:14:45 -05:00
|
|
|
"ext-json": "*",
|
2018-09-13 16:50:09 -05:00
|
|
|
"ext-pdo": "*",
|
2019-08-24 03:25:43 -05:00
|
|
|
"acelaya/ze-content-based-error-handler": "^3.0",
|
2018-10-18 12:53:50 -05:00
|
|
|
"akrabat/ip-address-middleware": "^1.0",
|
2018-09-29 05:52:32 -05:00
|
|
|
"cakephp/chronos": "^1.2",
|
2017-10-21 10:18:57 -05:00
|
|
|
"cocur/slugify": "^3.0",
|
2017-12-27 08:25:59 -06:00
|
|
|
"doctrine/cache": "^1.6",
|
2019-08-12 11:59:02 -05:00
|
|
|
"doctrine/dbal": "^2.9",
|
2019-03-09 11:45:58 -06:00
|
|
|
"doctrine/migrations": "^2.0",
|
2017-12-27 08:25:59 -06:00
|
|
|
"doctrine/orm": "^2.5",
|
2019-10-15 12:06:37 -05:00
|
|
|
"endroid/qr-code": "^3.6",
|
2017-10-12 02:40:42 -05:00
|
|
|
"firebase/php-jwt": "^4.0",
|
2018-11-11 05:04:42 -06:00
|
|
|
"geoip2/geoip2": "^2.9",
|
2019-08-12 10:58:04 -05:00
|
|
|
"guzzlehttp/guzzle": "^6.3",
|
|
|
|
"lstrojny/functional-php": "^1.9",
|
2017-10-12 02:40:42 -05:00
|
|
|
"mikehaertl/phpwkhtmltopdf": "^2.2",
|
2019-08-12 10:58:04 -05:00
|
|
|
"monolog/monolog": "^1.24",
|
2019-08-08 03:01:21 -05:00
|
|
|
"ocramius/proxy-manager": "~2.2.2",
|
2019-07-13 05:04:21 -05:00
|
|
|
"phly/phly-event-dispatcher": "^1.0",
|
2019-08-07 07:17:15 -05:00
|
|
|
"predis/predis": "^1.1",
|
2019-10-11 02:14:25 -05:00
|
|
|
"pugx/shortid-php": "^0.5",
|
2019-11-01 11:16:56 -05:00
|
|
|
"shlinkio/shlink-common": "^2.2.1",
|
2019-08-12 13:54:30 -05:00
|
|
|
"shlinkio/shlink-event-dispatcher": "^1.0",
|
2019-11-10 06:07:57 -06:00
|
|
|
"shlinkio/shlink-installer": "^3.1",
|
2019-10-25 13:00:26 -05:00
|
|
|
"shlinkio/shlink-ip-geolocation": "^1.1",
|
2019-08-04 04:16:46 -05:00
|
|
|
"symfony/console": "^4.3",
|
|
|
|
"symfony/filesystem": "^4.3",
|
|
|
|
"symfony/lock": "^4.3",
|
|
|
|
"symfony/process": "^4.3",
|
2019-08-12 10:58:04 -05:00
|
|
|
"theorchard/monolog-cascade": "^0.5",
|
2019-08-04 04:16:46 -05:00
|
|
|
"zendframework/zend-config": "^3.3",
|
|
|
|
"zendframework/zend-config-aggregator": "^1.1",
|
|
|
|
"zendframework/zend-diactoros": "^2.1.3",
|
|
|
|
"zendframework/zend-expressive": "^3.2",
|
2018-03-26 11:49:28 -05:00
|
|
|
"zendframework/zend-expressive-fastroute": "^3.0",
|
2019-08-04 04:16:46 -05:00
|
|
|
"zendframework/zend-expressive-helpers": "^5.3",
|
|
|
|
"zendframework/zend-expressive-platesrenderer": "^2.1",
|
2019-03-16 04:15:21 -05:00
|
|
|
"zendframework/zend-expressive-swoole": "^2.4",
|
2019-08-04 04:16:46 -05:00
|
|
|
"zendframework/zend-inputfilter": "^2.10",
|
|
|
|
"zendframework/zend-paginator": "^2.8",
|
|
|
|
"zendframework/zend-servicemanager": "^3.4",
|
|
|
|
"zendframework/zend-stdlib": "^3.2"
|
2016-04-10 02:38:07 -05:00
|
|
|
},
|
|
|
|
"require-dev": {
|
2018-11-11 11:57:32 -06:00
|
|
|
"devster/ubench": "^2.0",
|
2019-07-19 12:54:39 -05:00
|
|
|
"eaglewu/swoole-ide-helper": "dev-master",
|
2019-08-04 04:16:46 -05:00
|
|
|
"filp/whoops": "^2.4",
|
2019-10-20 02:42:46 -05:00
|
|
|
"infection/infection": "^0.14.2",
|
|
|
|
"phpstan/phpstan": "^0.11.16",
|
2019-05-13 12:21:59 -05:00
|
|
|
"phpunit/phpcov": "^6.0",
|
2019-08-04 04:16:46 -05:00
|
|
|
"phpunit/phpunit": "^8.3",
|
2019-02-04 12:43:21 -06:00
|
|
|
"roave/security-advisories": "dev-master",
|
2019-10-05 10:26:10 -05:00
|
|
|
"shlinkio/php-coding-standard": "~2.0.0",
|
2019-08-11 14:22:27 -05:00
|
|
|
"shlinkio/shlink-test-utils": "^1.0",
|
2019-08-04 04:16:46 -05:00
|
|
|
"symfony/dotenv": "^4.3",
|
|
|
|
"symfony/var-dumper": "^4.3",
|
2018-03-26 11:49:28 -05:00
|
|
|
"zendframework/zend-component-installer": "^2.1",
|
2019-08-04 04:16:46 -05:00
|
|
|
"zendframework/zend-expressive-tooling": "^1.2"
|
2016-04-10 02:38:07 -05:00
|
|
|
},
|
|
|
|
"autoload": {
|
|
|
|
"psr-4": {
|
2016-07-19 09:50:02 -05:00
|
|
|
"Shlinkio\\Shlink\\CLI\\": "module/CLI/src",
|
|
|
|
"Shlinkio\\Shlink\\Rest\\": "module/Rest/src",
|
2016-07-19 10:27:55 -05:00
|
|
|
"Shlinkio\\Shlink\\Core\\": "module/Core/src",
|
2019-08-11 12:38:46 -05:00
|
|
|
"Shlinkio\\Shlink\\PreviewGenerator\\": "module/PreviewGenerator/src/"
|
2019-10-11 02:35:09 -05:00
|
|
|
},
|
|
|
|
"files": [
|
|
|
|
"module/Core/functions/functions.php"
|
|
|
|
]
|
2016-04-10 02:38:07 -05:00
|
|
|
},
|
|
|
|
"autoload-dev": {
|
|
|
|
"psr-4": {
|
2016-07-19 09:50:02 -05:00
|
|
|
"ShlinkioTest\\Shlink\\CLI\\": "module/CLI/test",
|
|
|
|
"ShlinkioTest\\Shlink\\Rest\\": "module/Rest/test",
|
2019-01-26 03:19:20 -06:00
|
|
|
"ShlinkioApiTest\\Shlink\\Rest\\": "module/Rest/test-api",
|
2017-10-23 04:20:55 -05:00
|
|
|
"ShlinkioTest\\Shlink\\Core\\": [
|
|
|
|
"module/Core/test",
|
2019-01-20 14:49:07 -06:00
|
|
|
"module/Core/test-db"
|
2017-10-23 04:20:55 -05:00
|
|
|
],
|
2019-08-11 14:22:27 -05:00
|
|
|
"ShlinkioTest\\Shlink\\PreviewGenerator\\": "module/PreviewGenerator/test"
|
2016-04-10 02:38:07 -05:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"scripts": {
|
2019-01-20 14:49:07 -06:00
|
|
|
"ci": [
|
2018-11-03 04:58:46 -05:00
|
|
|
"@cs",
|
|
|
|
"@stan",
|
|
|
|
"@test:ci",
|
|
|
|
"@infect:ci"
|
|
|
|
],
|
2016-04-10 02:38:07 -05:00
|
|
|
"cs": "phpcs",
|
2018-09-30 02:04:00 -05:00
|
|
|
"cs:fix": "phpcbf",
|
2019-08-16 11:38:26 -05:00
|
|
|
"stan": "phpstan analyse module/*/src/ module/*/config config docker/config --level=5 -c phpstan.neon",
|
2018-09-30 02:04:00 -05:00
|
|
|
"test": [
|
|
|
|
"@test:unit",
|
2019-01-28 03:52:05 -06:00
|
|
|
"@test:db",
|
|
|
|
"@test:api"
|
2018-09-30 02:04:00 -05:00
|
|
|
],
|
2018-11-03 04:58:46 -05:00
|
|
|
"test:ci": [
|
|
|
|
"@test:unit:ci",
|
2019-10-06 05:23:02 -05:00
|
|
|
"@test:db:ci",
|
2019-01-26 03:59:24 -06:00
|
|
|
"@test:api"
|
2018-11-03 04:58:46 -05:00
|
|
|
],
|
2019-08-20 11:46:33 -05:00
|
|
|
"test:unit": "phpdbg -qrr vendor/bin/phpunit --order-by=random --colors=always --coverage-php build/coverage-unit.cov --testdox",
|
|
|
|
"test:unit:ci": "phpdbg -qrr vendor/bin/phpunit --order-by=random --colors=always --coverage-php build/coverage-unit.cov --coverage-clover=build/clover.xml --coverage-xml=build/coverage-xml --log-junit=build/phpunit.junit.xml --testdox",
|
2019-07-23 15:17:49 -05:00
|
|
|
"test:db": [
|
|
|
|
"@test:db:sqlite",
|
|
|
|
"@test:db:mysql",
|
2019-10-06 04:21:41 -05:00
|
|
|
"@test:db:maria",
|
2019-07-23 15:17:49 -05:00
|
|
|
"@test:db:postgres"
|
|
|
|
],
|
2019-10-06 05:23:02 -05:00
|
|
|
"test:db:ci": [
|
|
|
|
"@test:db:sqlite",
|
|
|
|
"@test:db:mysql",
|
|
|
|
"@test:db:postgres"
|
|
|
|
],
|
2019-08-20 11:46:33 -05:00
|
|
|
"test:db:sqlite": "APP_ENV=test phpdbg -qrr vendor/bin/phpunit --order-by=random --colors=always -c phpunit-db.xml --coverage-php build/coverage-db.cov --testdox",
|
2019-07-23 15:17:49 -05:00
|
|
|
"test:db:mysql": "DB_DRIVER=mysql composer test:db:sqlite",
|
2019-10-06 04:21:41 -05:00
|
|
|
"test:db:maria": "DB_DRIVER=maria composer test:db:sqlite",
|
2019-07-23 15:17:49 -05:00
|
|
|
"test:db:postgres": "DB_DRIVER=postgres composer test:db:sqlite",
|
2019-01-27 03:54:04 -06:00
|
|
|
"test:api": "bin/test/run-api-tests.sh",
|
2018-09-30 02:04:00 -05:00
|
|
|
"test:pretty": [
|
2018-11-03 04:58:46 -05:00
|
|
|
"@test",
|
2018-12-02 12:13:49 -06:00
|
|
|
"phpdbg -qrr vendor/bin/phpcov merge build --html build/html"
|
2018-03-26 10:01:50 -05:00
|
|
|
],
|
2019-08-20 11:46:33 -05:00
|
|
|
"test:unit:pretty": "phpdbg -qrr vendor/bin/phpunit --order-by=random --colors=always --coverage-html build/coverage",
|
2019-08-08 10:06:20 -05:00
|
|
|
"infect": "infection --threads=4 --min-msi=75 --log-verbosity=default --only-covered",
|
|
|
|
"infect:ci": "infection --threads=4 --min-msi=75 --log-verbosity=default --only-covered --coverage=build",
|
|
|
|
"infect:show": "infection --threads=4 --min-msi=75 --log-verbosity=default --only-covered --show-mutations",
|
2018-11-17 10:36:22 -06:00
|
|
|
"infect:test": [
|
|
|
|
"@test:unit:ci",
|
|
|
|
"@infect:ci"
|
2019-11-17 03:00:29 -06:00
|
|
|
],
|
|
|
|
"clean:dev": "rm -f data/database.sqlite && rm -f config/params/generated_config.php"
|
2018-09-30 02:04:00 -05:00
|
|
|
},
|
|
|
|
"scripts-descriptions": {
|
2018-11-03 04:58:46 -05:00
|
|
|
"ci": "<fg=blue;options=bold>Alias for \"cs\", \"stan\", \"test:ci\" and \"infect:ci\"</>",
|
2018-09-30 02:04:00 -05:00
|
|
|
"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</>",
|
2018-11-03 04:58:46 -05:00
|
|
|
"test:ci": "<fg=blue;options=bold>Runs all test suites, generating all needed reports and logs for CI envs</>",
|
2018-09-30 02:04:00 -05:00
|
|
|
"test:unit": "<fg=blue;options=bold>Runs unit test suites</>",
|
2018-11-03 04:58:46 -05:00
|
|
|
"test:unit:ci": "<fg=blue;options=bold>Runs unit test suites, generating all needed reports and logs for CI envs</>",
|
2019-10-06 05:23:02 -05:00
|
|
|
"test:db": "<fg=blue;options=bold>Runs database test suites on a SQLite, MySQL, MariaDB and PostgreSQL</>",
|
|
|
|
"test:db:ci": "<fg=blue;options=bold>Runs database test suites on a SQLite, MySQL and PostgreSQL</>",
|
2019-07-23 15:17:49 -05:00
|
|
|
"test:db:sqlite": "<fg=blue;options=bold>Runs database test suites on a SQLite database</>",
|
2019-03-05 13:36:35 -06:00
|
|
|
"test:db:mysql": "<fg=blue;options=bold>Runs database test suites on a MySQL database</>",
|
2019-10-06 05:23:02 -05:00
|
|
|
"test:db:maria": "<fg=blue;options=bold>Runs database test suites on a MariaDB database</>",
|
2019-03-05 13:36:35 -06:00
|
|
|
"test:db:postgres": "<fg=blue;options=bold>Runs database test suites on a PostgreSQL database</>",
|
2019-01-27 03:30:38 -06:00
|
|
|
"test:api": "<fg=blue;options=bold>Runs API test suites</>",
|
2018-09-30 02:04:00 -05:00
|
|
|
"test:pretty": "<fg=blue;options=bold>Runs all test suites and generates an HTML code coverage report</>",
|
|
|
|
"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</>",
|
2018-11-03 04:58:46 -05:00
|
|
|
"infect:ci": "<fg=blue;options=bold>Checks unit tests quality applying mutation testing with existing reports and logs</>",
|
2019-02-16 03:53:45 -06:00
|
|
|
"infect:show": "<fg=blue;options=bold>Checks unit tests quality applying mutation testing and shows applied mutators</>",
|
2019-11-17 03:00:29 -06: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</>"
|
2016-08-28 12:32:07 -05:00
|
|
|
},
|
|
|
|
"config": {
|
2018-09-30 02:04:00 -05:00
|
|
|
"sort-packages": true
|
2016-04-10 02:38:07 -05:00
|
|
|
}
|
|
|
|
}
|