Initial commit
This commit is contained in:
commit
56abb2c3c4
|
@ -0,0 +1,55 @@
|
||||||
|
# React Logo
|
||||||
|
|
||||||
|
Squelette applicatif React/Symfony 4 pour la formation React personnalisée Logomotion.
|
||||||
|
|
||||||
|
## Démarrer avec les sources
|
||||||
|
|
||||||
|
### Dépendances
|
||||||
|
|
||||||
|
- [Docker](https://docs.docker.com/install/)
|
||||||
|
- [Docker Compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
|
```
|
||||||
|
git clone https://forge.cadoles.com/wpetit/react-logo.git
|
||||||
|
cd react-logo
|
||||||
|
docker-compose up
|
||||||
|
```
|
||||||
|
|
||||||
|
Une fois la procédure d'initialisation terminée, les différentes parties de l'application devraient être disponibles aux adresses suivantes:
|
||||||
|
|
||||||
|
|Section|URL|
|
||||||
|
|-------|---|
|
||||||
|
|Frontend|http://localhost:8000/|
|
||||||
|
|Backend|http://localhost:8001/|
|
||||||
|
|
||||||
|
### FAQ
|
||||||
|
|
||||||
|
#### Comment ouvrir un shell interactif dans le conteneur "backend" ?
|
||||||
|
|
||||||
|
Une fois l'application lancée, exécuter:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker-compose exec backend /bin/bash
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Comment ouvrir un shell interactif dans le conteneur "frontend" ?
|
||||||
|
|
||||||
|
Une fois l'application lancée, exécuter:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker-compose exec frontend /bin/bash
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Comment ouvrir une console MySQL ?
|
||||||
|
|
||||||
|
Une fois l'application lancée, exécuter:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker-compose exec database mysql -uroot -proot
|
||||||
|
```
|
||||||
|
|
||||||
|
### Comment réinitialiser l'environnement ?
|
||||||
|
|
||||||
|
```
|
||||||
|
docker-compose down -v
|
||||||
|
```
|
|
@ -0,0 +1,29 @@
|
||||||
|
# In all environments, the following files are loaded if they exist,
|
||||||
|
# the latter taking precedence over the former:
|
||||||
|
#
|
||||||
|
# * .env contains default values for the environment variables needed by the app
|
||||||
|
# * .env.local uncommitted file with local overrides
|
||||||
|
# * .env.$APP_ENV committed environment-specific defaults
|
||||||
|
# * .env.$APP_ENV.local uncommitted environment-specific overrides
|
||||||
|
#
|
||||||
|
# Real environment variables win over .env files.
|
||||||
|
#
|
||||||
|
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
|
||||||
|
#
|
||||||
|
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
|
||||||
|
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
|
||||||
|
|
||||||
|
###> symfony/framework-bundle ###
|
||||||
|
APP_ENV=dev
|
||||||
|
APP_SECRET=bc3856916a3206bf0b23356f46c5cf7d
|
||||||
|
#TRUSTED_PROXIES=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
|
||||||
|
#TRUSTED_HOSTS='^(localhost|example\.com)$'
|
||||||
|
###< symfony/framework-bundle ###
|
||||||
|
|
||||||
|
###> doctrine/doctrine-bundle ###
|
||||||
|
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
|
||||||
|
# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db"
|
||||||
|
# For a PostgreSQL database, use: "postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=11&charset=utf8"
|
||||||
|
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
|
||||||
|
DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7
|
||||||
|
###< doctrine/doctrine-bundle ###
|
|
@ -0,0 +1,14 @@
|
||||||
|
|
||||||
|
###> symfony/framework-bundle ###
|
||||||
|
/.env.local
|
||||||
|
/.env.local.php
|
||||||
|
/.env.*.local
|
||||||
|
/config/secrets/prod/prod.decrypt.private.php
|
||||||
|
/public/bundles/
|
||||||
|
/var/
|
||||||
|
/vendor/
|
||||||
|
###< symfony/framework-bundle ###
|
||||||
|
|
||||||
|
###> symfony/web-server-bundle ###
|
||||||
|
/.web-server-pid
|
||||||
|
###< symfony/web-server-bundle ###
|
|
@ -0,0 +1,42 @@
|
||||||
|
#!/usr/bin/env php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use App\Kernel;
|
||||||
|
use Symfony\Bundle\FrameworkBundle\Console\Application;
|
||||||
|
use Symfony\Component\Console\Input\ArgvInput;
|
||||||
|
use Symfony\Component\ErrorHandler\Debug;
|
||||||
|
|
||||||
|
if (!in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) {
|
||||||
|
echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.PHP_SAPI.' SAPI'.PHP_EOL;
|
||||||
|
}
|
||||||
|
|
||||||
|
set_time_limit(0);
|
||||||
|
|
||||||
|
require dirname(__DIR__).'/vendor/autoload.php';
|
||||||
|
|
||||||
|
if (!class_exists(Application::class)) {
|
||||||
|
throw new LogicException('You need to add "symfony/framework-bundle" as a Composer dependency.');
|
||||||
|
}
|
||||||
|
|
||||||
|
$input = new ArgvInput();
|
||||||
|
if (null !== $env = $input->getParameterOption(['--env', '-e'], null, true)) {
|
||||||
|
putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($input->hasParameterOption('--no-debug', true)) {
|
||||||
|
putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0');
|
||||||
|
}
|
||||||
|
|
||||||
|
require dirname(__DIR__).'/config/bootstrap.php';
|
||||||
|
|
||||||
|
if ($_SERVER['APP_DEBUG']) {
|
||||||
|
umask(0000);
|
||||||
|
|
||||||
|
if (class_exists(Debug::class)) {
|
||||||
|
Debug::enable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
|
||||||
|
$application = new Application($kernel);
|
||||||
|
$application->run($input);
|
|
@ -0,0 +1,65 @@
|
||||||
|
{
|
||||||
|
"type": "project",
|
||||||
|
"license": "proprietary",
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"ext-ctype": "*",
|
||||||
|
"ext-iconv": "*",
|
||||||
|
"symfony/console": "4.4.*",
|
||||||
|
"symfony/dotenv": "4.4.*",
|
||||||
|
"symfony/flex": "^1.3.1",
|
||||||
|
"symfony/framework-bundle": "4.4.*",
|
||||||
|
"symfony/orm-pack": "^1.0",
|
||||||
|
"symfony/security-bundle": "4.4.*",
|
||||||
|
"symfony/yaml": "4.4.*"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/maker-bundle": "^1.14",
|
||||||
|
"symfony/web-server-bundle": "4.4.*"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"preferred-install": {
|
||||||
|
"*": "dist"
|
||||||
|
},
|
||||||
|
"sort-packages": true
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"App\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload-dev": {
|
||||||
|
"psr-4": {
|
||||||
|
"App\\Tests\\": "tests/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"replace": {
|
||||||
|
"paragonie/random_compat": "2.*",
|
||||||
|
"symfony/polyfill-ctype": "*",
|
||||||
|
"symfony/polyfill-iconv": "*",
|
||||||
|
"symfony/polyfill-php71": "*",
|
||||||
|
"symfony/polyfill-php70": "*",
|
||||||
|
"symfony/polyfill-php56": "*"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"auto-scripts": {
|
||||||
|
"cache:clear": "symfony-cmd",
|
||||||
|
"assets:install %PUBLIC_DIR%": "symfony-cmd"
|
||||||
|
},
|
||||||
|
"post-install-cmd": [
|
||||||
|
"@auto-scripts"
|
||||||
|
],
|
||||||
|
"post-update-cmd": [
|
||||||
|
"@auto-scripts"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/symfony": "*"
|
||||||
|
},
|
||||||
|
"extra": {
|
||||||
|
"symfony": {
|
||||||
|
"allow-contrib": false,
|
||||||
|
"require": "4.4.*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,4260 @@
|
||||||
|
{
|
||||||
|
"_readme": [
|
||||||
|
"This file locks the dependencies of your project to a known state",
|
||||||
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
|
"This file is @generated automatically"
|
||||||
|
],
|
||||||
|
"content-hash": "6421c1affbb7f7322a6499bde9164df1",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"name": "doctrine/annotations",
|
||||||
|
"version": "v1.8.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/annotations.git",
|
||||||
|
"reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/annotations/zipball/904dca4eb10715b92569fbcd79e201d5c349b6bc",
|
||||||
|
"reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/lexer": "1.*",
|
||||||
|
"php": "^7.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/cache": "1.*",
|
||||||
|
"phpunit/phpunit": "^7.5"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.7.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Docblock Annotations Parser",
|
||||||
|
"homepage": "http://www.doctrine-project.org",
|
||||||
|
"keywords": [
|
||||||
|
"annotations",
|
||||||
|
"docblock",
|
||||||
|
"parser"
|
||||||
|
],
|
||||||
|
"time": "2019-10-01T18:55:10+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/cache",
|
||||||
|
"version": "1.10.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/cache.git",
|
||||||
|
"reference": "382e7f4db9a12dc6c19431743a2b096041bcdd62"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/cache/zipball/382e7f4db9a12dc6c19431743a2b096041bcdd62",
|
||||||
|
"reference": "382e7f4db9a12dc6c19431743a2b096041bcdd62",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "~7.1"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"doctrine/common": ">2.2,<2.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"alcaeus/mongo-php-adapter": "^1.1",
|
||||||
|
"doctrine/coding-standard": "^6.0",
|
||||||
|
"mongodb/mongodb": "^1.1",
|
||||||
|
"phpunit/phpunit": "^7.0",
|
||||||
|
"predis/predis": "~1.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.9.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.",
|
||||||
|
"homepage": "https://www.doctrine-project.org/projects/cache.html",
|
||||||
|
"keywords": [
|
||||||
|
"abstraction",
|
||||||
|
"apcu",
|
||||||
|
"cache",
|
||||||
|
"caching",
|
||||||
|
"couchdb",
|
||||||
|
"memcached",
|
||||||
|
"php",
|
||||||
|
"redis",
|
||||||
|
"xcache"
|
||||||
|
],
|
||||||
|
"time": "2019-11-29T15:36:20+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/collections",
|
||||||
|
"version": "1.6.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/collections.git",
|
||||||
|
"reference": "6b1e4b2b66f6d6e49983cebfe23a21b7ccc5b0d7"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/collections/zipball/6b1e4b2b66f6d6e49983cebfe23a21b7ccc5b0d7",
|
||||||
|
"reference": "6b1e4b2b66f6d6e49983cebfe23a21b7ccc5b0d7",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^6.0",
|
||||||
|
"phpstan/phpstan-shim": "^0.9.2",
|
||||||
|
"phpunit/phpunit": "^7.0",
|
||||||
|
"vimeo/psalm": "^3.2.2"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.6.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.",
|
||||||
|
"homepage": "https://www.doctrine-project.org/projects/collections.html",
|
||||||
|
"keywords": [
|
||||||
|
"array",
|
||||||
|
"collections",
|
||||||
|
"iterators",
|
||||||
|
"php"
|
||||||
|
],
|
||||||
|
"time": "2019-11-13T13:07:11+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/common",
|
||||||
|
"version": "2.12.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/common.git",
|
||||||
|
"reference": "2053eafdf60c2172ee1373d1b9289ba1db7f1fc6"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/common/zipball/2053eafdf60c2172ee1373d1b9289ba1db7f1fc6",
|
||||||
|
"reference": "2053eafdf60c2172ee1373d1b9289ba1db7f1fc6",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/annotations": "^1.0",
|
||||||
|
"doctrine/cache": "^1.0",
|
||||||
|
"doctrine/collections": "^1.0",
|
||||||
|
"doctrine/event-manager": "^1.0",
|
||||||
|
"doctrine/inflector": "^1.0",
|
||||||
|
"doctrine/lexer": "^1.0",
|
||||||
|
"doctrine/persistence": "^1.1",
|
||||||
|
"doctrine/reflection": "^1.0",
|
||||||
|
"php": "^7.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^1.0",
|
||||||
|
"phpstan/phpstan": "^0.11",
|
||||||
|
"phpstan/phpstan-phpunit": "^0.11",
|
||||||
|
"phpunit/phpunit": "^7.0",
|
||||||
|
"squizlabs/php_codesniffer": "^3.0",
|
||||||
|
"symfony/phpunit-bridge": "^4.0.5"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.11.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\": "lib/Doctrine/Common"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Marco Pivetta",
|
||||||
|
"email": "ocramius@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection support, persistence interfaces, proxies, event system and much more.",
|
||||||
|
"homepage": "https://www.doctrine-project.org/projects/common.html",
|
||||||
|
"keywords": [
|
||||||
|
"common",
|
||||||
|
"doctrine",
|
||||||
|
"php"
|
||||||
|
],
|
||||||
|
"time": "2020-01-10T15:49:25+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/dbal",
|
||||||
|
"version": "v2.10.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/dbal.git",
|
||||||
|
"reference": "c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/dbal/zipball/c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8",
|
||||||
|
"reference": "c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/cache": "^1.0",
|
||||||
|
"doctrine/event-manager": "^1.0",
|
||||||
|
"ext-pdo": "*",
|
||||||
|
"php": "^7.2"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^6.0",
|
||||||
|
"jetbrains/phpstorm-stubs": "^2019.1",
|
||||||
|
"phpstan/phpstan": "^0.11.3",
|
||||||
|
"phpunit/phpunit": "^8.4.1",
|
||||||
|
"symfony/console": "^2.0.5|^3.0|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/console": "For helpful console commands such as SQL execution and import of files."
|
||||||
|
},
|
||||||
|
"bin": [
|
||||||
|
"bin/doctrine-dbal"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.10.x-dev",
|
||||||
|
"dev-develop": "3.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\DBAL\\": "lib/Doctrine/DBAL"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.",
|
||||||
|
"homepage": "https://www.doctrine-project.org/projects/dbal.html",
|
||||||
|
"keywords": [
|
||||||
|
"abstraction",
|
||||||
|
"database",
|
||||||
|
"db2",
|
||||||
|
"dbal",
|
||||||
|
"mariadb",
|
||||||
|
"mssql",
|
||||||
|
"mysql",
|
||||||
|
"oci8",
|
||||||
|
"oracle",
|
||||||
|
"pdo",
|
||||||
|
"pgsql",
|
||||||
|
"postgresql",
|
||||||
|
"queryobject",
|
||||||
|
"sasql",
|
||||||
|
"sql",
|
||||||
|
"sqlanywhere",
|
||||||
|
"sqlite",
|
||||||
|
"sqlserver",
|
||||||
|
"sqlsrv"
|
||||||
|
],
|
||||||
|
"time": "2020-01-04T12:56:21+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/doctrine-bundle",
|
||||||
|
"version": "2.0.7",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/DoctrineBundle.git",
|
||||||
|
"reference": "6926771140ee87a823c3b2c72602de9dda4490d3"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/6926771140ee87a823c3b2c72602de9dda4490d3",
|
||||||
|
"reference": "6926771140ee87a823c3b2c72602de9dda4490d3",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/dbal": "^2.9.0",
|
||||||
|
"doctrine/persistence": "^1.3.3",
|
||||||
|
"jdorn/sql-formatter": "^1.2.16",
|
||||||
|
"php": "^7.1",
|
||||||
|
"symfony/cache": "^4.3.3|^5.0",
|
||||||
|
"symfony/config": "^4.3.3|^5.0",
|
||||||
|
"symfony/console": "^3.4.30|^4.3.3|^5.0",
|
||||||
|
"symfony/dependency-injection": "^4.3.3|^5.0",
|
||||||
|
"symfony/doctrine-bridge": "^4.3.7|^5.0",
|
||||||
|
"symfony/framework-bundle": "^3.4.30|^4.3.3|^5.0",
|
||||||
|
"symfony/service-contracts": "^1.1.1|^2.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"doctrine/orm": "<2.6",
|
||||||
|
"twig/twig": "<1.34|>=2.0,<2.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^6.0",
|
||||||
|
"doctrine/orm": "^2.6",
|
||||||
|
"ocramius/proxy-manager": "^2.1",
|
||||||
|
"phpunit/phpunit": "^7.5",
|
||||||
|
"symfony/phpunit-bridge": "^4.2",
|
||||||
|
"symfony/property-info": "^4.3.3|^5.0",
|
||||||
|
"symfony/proxy-manager-bridge": "^3.4|^4.3.3|^5.0",
|
||||||
|
"symfony/twig-bridge": "^3.4.30|^4.3.3|^5.0",
|
||||||
|
"symfony/validator": "^3.4.30|^4.3.3|^5.0",
|
||||||
|
"symfony/web-profiler-bundle": "^3.4.30|^4.3.3|^5.0",
|
||||||
|
"symfony/yaml": "^3.4.30|^4.3.3|^5.0",
|
||||||
|
"twig/twig": "^1.34|^2.12"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"doctrine/orm": "The Doctrine ORM integration is optional in the bundle.",
|
||||||
|
"symfony/web-profiler-bundle": "To use the data collector."
|
||||||
|
},
|
||||||
|
"type": "symfony-bundle",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Bundle\\DoctrineBundle\\": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "http://symfony.com/contributors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Doctrine Project",
|
||||||
|
"homepage": "http://www.doctrine-project.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony DoctrineBundle",
|
||||||
|
"homepage": "http://www.doctrine-project.org",
|
||||||
|
"keywords": [
|
||||||
|
"database",
|
||||||
|
"dbal",
|
||||||
|
"orm",
|
||||||
|
"persistence"
|
||||||
|
],
|
||||||
|
"time": "2020-01-18T11:56:15+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/doctrine-migrations-bundle",
|
||||||
|
"version": "2.1.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/DoctrineMigrationsBundle.git",
|
||||||
|
"reference": "856437e8de96a70233e1f0cc2352fc8dd15a899d"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/856437e8de96a70233e1f0cc2352fc8dd15a899d",
|
||||||
|
"reference": "856437e8de96a70233e1f0cc2352fc8dd15a899d",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/doctrine-bundle": "~1.0|~2.0",
|
||||||
|
"doctrine/migrations": "^2.2",
|
||||||
|
"php": "^7.1",
|
||||||
|
"symfony/framework-bundle": "~3.4|~4.0|~5.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^5.0",
|
||||||
|
"mikey179/vfsstream": "^1.6",
|
||||||
|
"phpstan/phpstan": "^0.9.2",
|
||||||
|
"phpstan/phpstan-strict-rules": "^0.9",
|
||||||
|
"phpunit/phpunit": "^6.4|^7.0"
|
||||||
|
},
|
||||||
|
"type": "symfony-bundle",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.1.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Bundle\\MigrationsBundle\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Doctrine Project",
|
||||||
|
"homepage": "http://www.doctrine-project.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "http://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony DoctrineMigrationsBundle",
|
||||||
|
"homepage": "https://www.doctrine-project.org",
|
||||||
|
"keywords": [
|
||||||
|
"dbal",
|
||||||
|
"migrations",
|
||||||
|
"schema"
|
||||||
|
],
|
||||||
|
"time": "2019-11-13T12:57:41+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/event-manager",
|
||||||
|
"version": "1.1.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/event-manager.git",
|
||||||
|
"reference": "629572819973f13486371cb611386eb17851e85c"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/event-manager/zipball/629572819973f13486371cb611386eb17851e85c",
|
||||||
|
"reference": "629572819973f13486371cb611386eb17851e85c",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"doctrine/common": "<2.9@dev"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^6.0",
|
||||||
|
"phpunit/phpunit": "^7.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\": "lib/Doctrine/Common"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Marco Pivetta",
|
||||||
|
"email": "ocramius@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.",
|
||||||
|
"homepage": "https://www.doctrine-project.org/projects/event-manager.html",
|
||||||
|
"keywords": [
|
||||||
|
"event",
|
||||||
|
"event dispatcher",
|
||||||
|
"event manager",
|
||||||
|
"event system",
|
||||||
|
"events"
|
||||||
|
],
|
||||||
|
"time": "2019-11-10T09:48:07+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/inflector",
|
||||||
|
"version": "1.3.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/inflector.git",
|
||||||
|
"reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/inflector/zipball/ec3a55242203ffa6a4b27c58176da97ff0a7aec1",
|
||||||
|
"reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^6.2"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.3.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common String Manipulations with regard to casing and singular/plural rules.",
|
||||||
|
"homepage": "http://www.doctrine-project.org",
|
||||||
|
"keywords": [
|
||||||
|
"inflection",
|
||||||
|
"pluralize",
|
||||||
|
"singularize",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"time": "2019-10-30T19:59:35+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/instantiator",
|
||||||
|
"version": "1.3.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/instantiator.git",
|
||||||
|
"reference": "ae466f726242e637cebdd526a7d991b9433bacf1"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1",
|
||||||
|
"reference": "ae466f726242e637cebdd526a7d991b9433bacf1",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^6.0",
|
||||||
|
"ext-pdo": "*",
|
||||||
|
"ext-phar": "*",
|
||||||
|
"phpbench/phpbench": "^0.13",
|
||||||
|
"phpstan/phpstan-phpunit": "^0.11",
|
||||||
|
"phpstan/phpstan-shim": "^0.11",
|
||||||
|
"phpunit/phpunit": "^7.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.2.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Marco Pivetta",
|
||||||
|
"email": "ocramius@gmail.com",
|
||||||
|
"homepage": "http://ocramius.github.com/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
|
||||||
|
"homepage": "https://www.doctrine-project.org/projects/instantiator.html",
|
||||||
|
"keywords": [
|
||||||
|
"constructor",
|
||||||
|
"instantiate"
|
||||||
|
],
|
||||||
|
"time": "2019-10-21T16:45:58+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/lexer",
|
||||||
|
"version": "1.2.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/lexer.git",
|
||||||
|
"reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/lexer/zipball/5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6",
|
||||||
|
"reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.2"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^6.0",
|
||||||
|
"phpstan/phpstan": "^0.11.8",
|
||||||
|
"phpunit/phpunit": "^8.2"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.2.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
|
||||||
|
"homepage": "https://www.doctrine-project.org/projects/lexer.html",
|
||||||
|
"keywords": [
|
||||||
|
"annotations",
|
||||||
|
"docblock",
|
||||||
|
"lexer",
|
||||||
|
"parser",
|
||||||
|
"php"
|
||||||
|
],
|
||||||
|
"time": "2019-10-30T14:39:59+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/migrations",
|
||||||
|
"version": "2.2.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/migrations.git",
|
||||||
|
"reference": "a3987131febeb0e9acb3c47ab0df0af004588934"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/migrations/zipball/a3987131febeb0e9acb3c47ab0df0af004588934",
|
||||||
|
"reference": "a3987131febeb0e9acb3c47ab0df0af004588934",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/dbal": "^2.9",
|
||||||
|
"ocramius/package-versions": "^1.3",
|
||||||
|
"ocramius/proxy-manager": "^2.0.2",
|
||||||
|
"php": "^7.1",
|
||||||
|
"symfony/console": "^3.4||^4.0||^5.0",
|
||||||
|
"symfony/stopwatch": "^3.4||^4.0||^5.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^6.0",
|
||||||
|
"doctrine/orm": "^2.6",
|
||||||
|
"ext-pdo_sqlite": "*",
|
||||||
|
"jdorn/sql-formatter": "^1.1",
|
||||||
|
"mikey179/vfsstream": "^1.6",
|
||||||
|
"phpstan/phpstan": "^0.10",
|
||||||
|
"phpstan/phpstan-deprecation-rules": "^0.10",
|
||||||
|
"phpstan/phpstan-phpunit": "^0.10",
|
||||||
|
"phpstan/phpstan-strict-rules": "^0.10",
|
||||||
|
"phpunit/phpunit": "^7.0",
|
||||||
|
"symfony/process": "^3.4||^4.0||^5.0",
|
||||||
|
"symfony/yaml": "^3.4||^4.0||^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"jdorn/sql-formatter": "Allows to generate formatted SQL with the diff command.",
|
||||||
|
"symfony/yaml": "Allows the use of yaml for migration configuration files."
|
||||||
|
},
|
||||||
|
"bin": [
|
||||||
|
"bin/doctrine-migrations"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.2.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Migrations\\": "lib/Doctrine/Migrations"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Michael Simonson",
|
||||||
|
"email": "contact@mikesimonson.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PHP Doctrine Migrations project offer additional functionality on top of the database abstraction layer (DBAL) for versioning your database schema and easily deploying changes to it. It is a very easy to use and a powerful tool.",
|
||||||
|
"homepage": "https://www.doctrine-project.org/projects/migrations.html",
|
||||||
|
"keywords": [
|
||||||
|
"database",
|
||||||
|
"dbal",
|
||||||
|
"migrations",
|
||||||
|
"php"
|
||||||
|
],
|
||||||
|
"time": "2019-12-04T06:09:14+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/orm",
|
||||||
|
"version": "v2.7.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/orm.git",
|
||||||
|
"reference": "4d763ca4c925f647b248b9fa01b5f47aa3685d62"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/orm/zipball/4d763ca4c925f647b248b9fa01b5f47aa3685d62",
|
||||||
|
"reference": "4d763ca4c925f647b248b9fa01b5f47aa3685d62",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/annotations": "^1.8",
|
||||||
|
"doctrine/cache": "^1.9.1",
|
||||||
|
"doctrine/collections": "^1.5",
|
||||||
|
"doctrine/common": "^2.11",
|
||||||
|
"doctrine/dbal": "^2.9.3",
|
||||||
|
"doctrine/event-manager": "^1.1",
|
||||||
|
"doctrine/instantiator": "^1.3",
|
||||||
|
"doctrine/persistence": "^1.2",
|
||||||
|
"ext-pdo": "*",
|
||||||
|
"php": "^7.1",
|
||||||
|
"symfony/console": "^3.0|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^5.0",
|
||||||
|
"phpunit/phpunit": "^7.5",
|
||||||
|
"symfony/yaml": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/yaml": "If you want to use YAML Metadata Mapping Driver"
|
||||||
|
},
|
||||||
|
"bin": [
|
||||||
|
"bin/doctrine"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.7.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\ORM\\": "lib/Doctrine/ORM"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Marco Pivetta",
|
||||||
|
"email": "ocramius@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Object-Relational-Mapper for PHP",
|
||||||
|
"homepage": "https://www.doctrine-project.org/projects/orm.html",
|
||||||
|
"keywords": [
|
||||||
|
"database",
|
||||||
|
"orm"
|
||||||
|
],
|
||||||
|
"time": "2019-11-19T08:38:05+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/persistence",
|
||||||
|
"version": "1.3.6",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/persistence.git",
|
||||||
|
"reference": "5dd3ac5eebef2d0b074daa4440bb18f93132dee4"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/persistence/zipball/5dd3ac5eebef2d0b074daa4440bb18f93132dee4",
|
||||||
|
"reference": "5dd3ac5eebef2d0b074daa4440bb18f93132dee4",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/annotations": "^1.0",
|
||||||
|
"doctrine/cache": "^1.0",
|
||||||
|
"doctrine/collections": "^1.0",
|
||||||
|
"doctrine/event-manager": "^1.0",
|
||||||
|
"doctrine/reflection": "^1.1",
|
||||||
|
"php": "^7.1"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"doctrine/common": "<2.10@dev"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^6.0",
|
||||||
|
"phpstan/phpstan": "^0.11",
|
||||||
|
"phpunit/phpunit": "^7.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.3.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\": "lib/Doctrine/Common",
|
||||||
|
"Doctrine\\Persistence\\": "lib/Doctrine/Persistence"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Marco Pivetta",
|
||||||
|
"email": "ocramius@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.",
|
||||||
|
"homepage": "https://doctrine-project.org/projects/persistence.html",
|
||||||
|
"keywords": [
|
||||||
|
"mapper",
|
||||||
|
"object",
|
||||||
|
"odm",
|
||||||
|
"orm",
|
||||||
|
"persistence"
|
||||||
|
],
|
||||||
|
"time": "2020-01-16T22:06:23+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/reflection",
|
||||||
|
"version": "v1.1.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/reflection.git",
|
||||||
|
"reference": "bc420ead87fdfe08c03ecc3549db603a45b06d4c"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/reflection/zipball/bc420ead87fdfe08c03ecc3549db603a45b06d4c",
|
||||||
|
"reference": "bc420ead87fdfe08c03ecc3549db603a45b06d4c",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/annotations": "^1.0",
|
||||||
|
"ext-tokenizer": "*",
|
||||||
|
"php": "^7.1"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"doctrine/common": "<2.9"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^5.0",
|
||||||
|
"doctrine/common": "^2.10",
|
||||||
|
"phpstan/phpstan": "^0.11.0",
|
||||||
|
"phpstan/phpstan-phpunit": "^0.11.0",
|
||||||
|
"phpunit/phpunit": "^7.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\": "lib/Doctrine/Common"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Marco Pivetta",
|
||||||
|
"email": "ocramius@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "The Doctrine Reflection project is a simple library used by the various Doctrine projects which adds some additional functionality on top of the reflection functionality that comes with PHP. It allows you to get the reflection information about classes, methods and properties statically.",
|
||||||
|
"homepage": "https://www.doctrine-project.org/projects/reflection.html",
|
||||||
|
"keywords": [
|
||||||
|
"reflection",
|
||||||
|
"static"
|
||||||
|
],
|
||||||
|
"time": "2020-01-08T19:53:19+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "jdorn/sql-formatter",
|
||||||
|
"version": "v1.2.17",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/jdorn/sql-formatter.git",
|
||||||
|
"reference": "64990d96e0959dff8e059dfcdc1af130728d92bc"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc",
|
||||||
|
"reference": "64990d96e0959dff8e059dfcdc1af130728d92bc",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.2.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "3.7.*"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.3.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"classmap": [
|
||||||
|
"lib"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Jeremy Dorn",
|
||||||
|
"email": "jeremy@jeremydorn.com",
|
||||||
|
"homepage": "http://jeremydorn.com/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "a PHP SQL highlighting library",
|
||||||
|
"homepage": "https://github.com/jdorn/sql-formatter/",
|
||||||
|
"keywords": [
|
||||||
|
"highlight",
|
||||||
|
"sql"
|
||||||
|
],
|
||||||
|
"time": "2014-01-12T16:20:24+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "laminas/laminas-code",
|
||||||
|
"version": "3.4.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/laminas/laminas-code.git",
|
||||||
|
"reference": "1cb8f203389ab1482bf89c0e70a04849bacd7766"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/laminas/laminas-code/zipball/1cb8f203389ab1482bf89c0e70a04849bacd7766",
|
||||||
|
"reference": "1cb8f203389ab1482bf89c0e70a04849bacd7766",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"laminas/laminas-eventmanager": "^2.6 || ^3.0",
|
||||||
|
"laminas/laminas-zendframework-bridge": "^1.0",
|
||||||
|
"php": "^7.1"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"phpspec/prophecy": "<1.9.0"
|
||||||
|
},
|
||||||
|
"replace": {
|
||||||
|
"zendframework/zend-code": "self.version"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/annotations": "^1.7",
|
||||||
|
"ext-phar": "*",
|
||||||
|
"laminas/laminas-coding-standard": "^1.0",
|
||||||
|
"laminas/laminas-stdlib": "^2.7 || ^3.0",
|
||||||
|
"phpunit/phpunit": "^7.5.16 || ^8.4"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features",
|
||||||
|
"laminas/laminas-stdlib": "Laminas\\Stdlib component"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "3.4.x-dev",
|
||||||
|
"dev-develop": "3.5.x-dev",
|
||||||
|
"dev-dev-4.0": "4.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Laminas\\Code\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"description": "Extensions to the PHP Reflection API, static code scanning, and code generation",
|
||||||
|
"homepage": "https://laminas.dev",
|
||||||
|
"keywords": [
|
||||||
|
"code",
|
||||||
|
"laminas"
|
||||||
|
],
|
||||||
|
"time": "2019-12-31T16:28:24+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "laminas/laminas-eventmanager",
|
||||||
|
"version": "3.2.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/laminas/laminas-eventmanager.git",
|
||||||
|
"reference": "ce4dc0bdf3b14b7f9815775af9dfee80a63b4748"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/ce4dc0bdf3b14b7f9815775af9dfee80a63b4748",
|
||||||
|
"reference": "ce4dc0bdf3b14b7f9815775af9dfee80a63b4748",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"laminas/laminas-zendframework-bridge": "^1.0",
|
||||||
|
"php": "^5.6 || ^7.0"
|
||||||
|
},
|
||||||
|
"replace": {
|
||||||
|
"zendframework/zend-eventmanager": "self.version"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"athletic/athletic": "^0.1",
|
||||||
|
"container-interop/container-interop": "^1.1.0",
|
||||||
|
"laminas/laminas-coding-standard": "~1.0.0",
|
||||||
|
"laminas/laminas-stdlib": "^2.7.3 || ^3.0",
|
||||||
|
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"container-interop/container-interop": "^1.1.0, to use the lazy listeners feature",
|
||||||
|
"laminas/laminas-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "3.2-dev",
|
||||||
|
"dev-develop": "3.3-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Laminas\\EventManager\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"description": "Trigger and listen to events within a PHP application",
|
||||||
|
"homepage": "https://laminas.dev",
|
||||||
|
"keywords": [
|
||||||
|
"event",
|
||||||
|
"eventmanager",
|
||||||
|
"events",
|
||||||
|
"laminas"
|
||||||
|
],
|
||||||
|
"time": "2019-12-31T16:44:52+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "laminas/laminas-zendframework-bridge",
|
||||||
|
"version": "1.0.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/laminas/laminas-zendframework-bridge.git",
|
||||||
|
"reference": "0fb9675b84a1666ab45182b6c5b29956921e818d"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/0fb9675b84a1666ab45182b6c5b29956921e818d",
|
||||||
|
"reference": "0fb9675b84a1666ab45182b6c5b29956921e818d",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^5.6 || ^7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1",
|
||||||
|
"squizlabs/php_codesniffer": "^3.5"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev",
|
||||||
|
"dev-develop": "1.1.x-dev"
|
||||||
|
},
|
||||||
|
"laminas": {
|
||||||
|
"module": "Laminas\\ZendFrameworkBridge"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"src/autoload.php"
|
||||||
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"Laminas\\ZendFrameworkBridge\\": "src//"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"description": "Alias legacy ZF class names to Laminas Project equivalents.",
|
||||||
|
"keywords": [
|
||||||
|
"ZendFramework",
|
||||||
|
"autoloading",
|
||||||
|
"laminas",
|
||||||
|
"zf"
|
||||||
|
],
|
||||||
|
"time": "2020-01-07T22:58:31+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ocramius/package-versions",
|
||||||
|
"version": "1.5.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/Ocramius/PackageVersions.git",
|
||||||
|
"reference": "1d32342b8c1eb27353c8887c366147b4c2da673c"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/1d32342b8c1eb27353c8887c366147b4c2da673c",
|
||||||
|
"reference": "1d32342b8c1eb27353c8887c366147b4c2da673c",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"composer-plugin-api": "^1.0.0",
|
||||||
|
"php": "^7.3.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"composer/composer": "^1.8.6",
|
||||||
|
"doctrine/coding-standard": "^6.0.0",
|
||||||
|
"ext-zip": "*",
|
||||||
|
"infection/infection": "^0.13.4",
|
||||||
|
"phpunit/phpunit": "^8.2.5",
|
||||||
|
"vimeo/psalm": "^3.4.9"
|
||||||
|
},
|
||||||
|
"type": "composer-plugin",
|
||||||
|
"extra": {
|
||||||
|
"class": "PackageVersions\\Installer",
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.6.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"PackageVersions\\": "src/PackageVersions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Marco Pivetta",
|
||||||
|
"email": "ocramius@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
|
||||||
|
"time": "2019-07-17T15:49:50+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ocramius/proxy-manager",
|
||||||
|
"version": "2.6.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/Ocramius/ProxyManager.git",
|
||||||
|
"reference": "dec37bfb3c3594440ee4fa263494189344787d22"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/Ocramius/ProxyManager/zipball/dec37bfb3c3594440ee4fa263494189344787d22",
|
||||||
|
"reference": "dec37bfb3c3594440ee4fa263494189344787d22",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"laminas/laminas-code": "^3.4.1",
|
||||||
|
"ocramius/package-versions": "^1.5.1",
|
||||||
|
"php": "7.4.*",
|
||||||
|
"webimpress/safe-writer": "^2.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"doctrine/annotations": "<1.6.1",
|
||||||
|
"laminas/laminas-stdlib": "<3.2.1",
|
||||||
|
"zendframework/zend-stdlib": "<3.2.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "^6.0.0",
|
||||||
|
"ext-phar": "*",
|
||||||
|
"infection/infection": "^0.15.0",
|
||||||
|
"mikey179/vfsstream": "^1.6.8",
|
||||||
|
"nikic/php-parser": "^4.3.0",
|
||||||
|
"phpbench/phpbench": "^0.16.10",
|
||||||
|
"phpunit/phpunit": "^8.5.1",
|
||||||
|
"slevomat/coding-standard": "^5.0.4",
|
||||||
|
"squizlabs/php_codesniffer": "^3.5.3",
|
||||||
|
"symfony/console": "^4.4.2",
|
||||||
|
"vimeo/psalm": "3.7.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"laminas/laminas-json": "To have the JsonRpc adapter (Remote Object feature)",
|
||||||
|
"laminas/laminas-soap": "To have the Soap adapter (Remote Object feature)",
|
||||||
|
"laminas/laminas-xmlrpc": "To have the XmlRpc adapter (Remote Object feature)",
|
||||||
|
"ocramius/generated-hydrator": "To have very fast object to array to object conversion for ghost objects"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "3.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"ProxyManager\\": "src/ProxyManager"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Marco Pivetta",
|
||||||
|
"email": "ocramius@gmail.com",
|
||||||
|
"homepage": "http://ocramius.github.io/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A library providing utilities to generate, instantiate and generally operate with Object Proxies",
|
||||||
|
"homepage": "https://github.com/Ocramius/ProxyManager",
|
||||||
|
"keywords": [
|
||||||
|
"aop",
|
||||||
|
"lazy loading",
|
||||||
|
"proxy",
|
||||||
|
"proxy pattern",
|
||||||
|
"service proxies"
|
||||||
|
],
|
||||||
|
"time": "2020-01-27T09:25:51+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psr/cache",
|
||||||
|
"version": "1.0.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/php-fig/cache.git",
|
||||||
|
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
|
||||||
|
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Psr\\Cache\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "PHP-FIG",
|
||||||
|
"homepage": "http://www.php-fig.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common interface for caching libraries",
|
||||||
|
"keywords": [
|
||||||
|
"cache",
|
||||||
|
"psr",
|
||||||
|
"psr-6"
|
||||||
|
],
|
||||||
|
"time": "2016-08-06T20:24:11+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psr/container",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/php-fig/container.git",
|
||||||
|
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
|
||||||
|
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Psr\\Container\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "PHP-FIG",
|
||||||
|
"homepage": "http://www.php-fig.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common Container Interface (PHP FIG PSR-11)",
|
||||||
|
"homepage": "https://github.com/php-fig/container",
|
||||||
|
"keywords": [
|
||||||
|
"PSR-11",
|
||||||
|
"container",
|
||||||
|
"container-interface",
|
||||||
|
"container-interop",
|
||||||
|
"psr"
|
||||||
|
],
|
||||||
|
"time": "2017-02-14T16:28:37+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psr/log",
|
||||||
|
"version": "1.1.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/php-fig/log.git",
|
||||||
|
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801",
|
||||||
|
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.1.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Psr\\Log\\": "Psr/Log/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "PHP-FIG",
|
||||||
|
"homepage": "http://www.php-fig.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common interface for logging libraries",
|
||||||
|
"homepage": "https://github.com/php-fig/log",
|
||||||
|
"keywords": [
|
||||||
|
"log",
|
||||||
|
"psr",
|
||||||
|
"psr-3"
|
||||||
|
],
|
||||||
|
"time": "2019-11-01T11:05:21+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/cache",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/cache.git",
|
||||||
|
"reference": "0198a01c8d918d6d717f96dfdcba9582bc5f6468"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/cache/zipball/0198a01c8d918d6d717f96dfdcba9582bc5f6468",
|
||||||
|
"reference": "0198a01c8d918d6d717f96dfdcba9582bc5f6468",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"psr/cache": "~1.0",
|
||||||
|
"psr/log": "~1.0",
|
||||||
|
"symfony/cache-contracts": "^1.1.7|^2",
|
||||||
|
"symfony/service-contracts": "^1.1|^2",
|
||||||
|
"symfony/var-exporter": "^4.2|^5.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"doctrine/dbal": "<2.5",
|
||||||
|
"symfony/dependency-injection": "<3.4",
|
||||||
|
"symfony/http-kernel": "<4.4",
|
||||||
|
"symfony/var-dumper": "<4.4"
|
||||||
|
},
|
||||||
|
"provide": {
|
||||||
|
"psr/cache-implementation": "1.0",
|
||||||
|
"psr/simple-cache-implementation": "1.0",
|
||||||
|
"symfony/cache-implementation": "1.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"cache/integration-tests": "dev-master",
|
||||||
|
"doctrine/cache": "~1.6",
|
||||||
|
"doctrine/dbal": "~2.5",
|
||||||
|
"predis/predis": "~1.1",
|
||||||
|
"psr/simple-cache": "^1.0",
|
||||||
|
"symfony/config": "^4.2|^5.0",
|
||||||
|
"symfony/dependency-injection": "^3.4|^4.1|^5.0",
|
||||||
|
"symfony/var-dumper": "^4.4|^5.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Cache\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Cache component with PSR-6, PSR-16, and tags",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"caching",
|
||||||
|
"psr6"
|
||||||
|
],
|
||||||
|
"time": "2020-01-29T14:35:06+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/cache-contracts",
|
||||||
|
"version": "v2.0.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/cache-contracts.git",
|
||||||
|
"reference": "23ed8bfc1a4115feca942cb5f1aacdf3dcdf3c16"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/23ed8bfc1a4115feca942cb5f1aacdf3dcdf3c16",
|
||||||
|
"reference": "23ed8bfc1a4115feca942cb5f1aacdf3dcdf3c16",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.2.5",
|
||||||
|
"psr/cache": "^1.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/cache-implementation": ""
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.0-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Contracts\\Cache\\": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Generic abstractions related to caching",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"abstractions",
|
||||||
|
"contracts",
|
||||||
|
"decoupling",
|
||||||
|
"interfaces",
|
||||||
|
"interoperability",
|
||||||
|
"standards"
|
||||||
|
],
|
||||||
|
"time": "2019-11-18T17:27:11+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/config",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/config.git",
|
||||||
|
"reference": "4d3979f54472637169080f802dc82197e21fdcce"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/config/zipball/4d3979f54472637169080f802dc82197e21fdcce",
|
||||||
|
"reference": "4d3979f54472637169080f802dc82197e21fdcce",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/filesystem": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/polyfill-ctype": "~1.8"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/finder": "<3.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/event-dispatcher": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/finder": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/messenger": "^4.1|^5.0",
|
||||||
|
"symfony/service-contracts": "^1.1|^2",
|
||||||
|
"symfony/yaml": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/yaml": "To use the yaml reference dumper"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Config\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Config Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-04T13:00:46+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/console",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/console.git",
|
||||||
|
"reference": "f512001679f37e6a042b51897ed24a2f05eba656"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/console/zipball/f512001679f37e6a042b51897ed24a2f05eba656",
|
||||||
|
"reference": "f512001679f37e6a042b51897ed24a2f05eba656",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/polyfill-mbstring": "~1.0",
|
||||||
|
"symfony/polyfill-php73": "^1.8",
|
||||||
|
"symfony/service-contracts": "^1.1|^2"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/dependency-injection": "<3.4",
|
||||||
|
"symfony/event-dispatcher": "<4.3|>=5",
|
||||||
|
"symfony/lock": "<4.4",
|
||||||
|
"symfony/process": "<3.3"
|
||||||
|
},
|
||||||
|
"provide": {
|
||||||
|
"psr/log-implementation": "1.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"psr/log": "~1.0",
|
||||||
|
"symfony/config": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/dependency-injection": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/event-dispatcher": "^4.3",
|
||||||
|
"symfony/lock": "^4.4|^5.0",
|
||||||
|
"symfony/process": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/var-dumper": "^4.3|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"psr/log": "For using the console logger",
|
||||||
|
"symfony/event-dispatcher": "",
|
||||||
|
"symfony/lock": "",
|
||||||
|
"symfony/process": ""
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Console\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Console Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-25T12:44:29+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/debug",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/debug.git",
|
||||||
|
"reference": "20236471058bbaa9907382500fc14005c84601f0"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/debug/zipball/20236471058bbaa9907382500fc14005c84601f0",
|
||||||
|
"reference": "20236471058bbaa9907382500fc14005c84601f0",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"psr/log": "~1.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/http-kernel": "<3.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/http-kernel": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Debug\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Debug Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-25T12:44:29+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/dependency-injection",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/dependency-injection.git",
|
||||||
|
"reference": "ec60a7d12f5e8ab0f99456adce724717d9c1784a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/ec60a7d12f5e8ab0f99456adce724717d9c1784a",
|
||||||
|
"reference": "ec60a7d12f5e8ab0f99456adce724717d9c1784a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"psr/container": "^1.0",
|
||||||
|
"symfony/service-contracts": "^1.1.6|^2"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/config": "<4.3|>=5.0",
|
||||||
|
"symfony/finder": "<3.4",
|
||||||
|
"symfony/proxy-manager-bridge": "<3.4",
|
||||||
|
"symfony/yaml": "<3.4"
|
||||||
|
},
|
||||||
|
"provide": {
|
||||||
|
"psr/container-implementation": "1.0",
|
||||||
|
"symfony/service-implementation": "1.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/config": "^4.3",
|
||||||
|
"symfony/expression-language": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/yaml": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/config": "",
|
||||||
|
"symfony/expression-language": "For using expressions in service container configuration",
|
||||||
|
"symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
|
||||||
|
"symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
|
||||||
|
"symfony/yaml": ""
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\DependencyInjection\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony DependencyInjection Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-31T09:49:27+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/doctrine-bridge",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/doctrine-bridge.git",
|
||||||
|
"reference": "b8d43116f0e5abef4b7abcbeec81c3b9328ca7b7"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/b8d43116f0e5abef4b7abcbeec81c3b9328ca7b7",
|
||||||
|
"reference": "b8d43116f0e5abef4b7abcbeec81c3b9328ca7b7",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/event-manager": "~1.0",
|
||||||
|
"doctrine/persistence": "^1.3",
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/polyfill-ctype": "~1.8",
|
||||||
|
"symfony/polyfill-mbstring": "~1.0",
|
||||||
|
"symfony/service-contracts": "^1.1|^2"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
|
||||||
|
"symfony/dependency-injection": "<3.4",
|
||||||
|
"symfony/form": "<4.4",
|
||||||
|
"symfony/http-kernel": "<4.3.7",
|
||||||
|
"symfony/messenger": "<4.3",
|
||||||
|
"symfony/security-core": "<4.4",
|
||||||
|
"symfony/validator": "<4.4.2|<5.0.2,>=5.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/annotations": "~1.7",
|
||||||
|
"doctrine/cache": "~1.6",
|
||||||
|
"doctrine/collections": "~1.0",
|
||||||
|
"doctrine/data-fixtures": "1.0.*",
|
||||||
|
"doctrine/dbal": "~2.4",
|
||||||
|
"doctrine/orm": "^2.6.3",
|
||||||
|
"doctrine/reflection": "~1.0",
|
||||||
|
"symfony/config": "^4.2|^5.0",
|
||||||
|
"symfony/dependency-injection": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/expression-language": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/form": "^4.4|^5.0",
|
||||||
|
"symfony/http-kernel": "^4.3.7",
|
||||||
|
"symfony/messenger": "^4.4|^5.0",
|
||||||
|
"symfony/property-access": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/property-info": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/proxy-manager-bridge": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/security-core": "^4.4|^5.0",
|
||||||
|
"symfony/stopwatch": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/translation": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/validator": "^4.4.2|^5.0.2",
|
||||||
|
"symfony/var-dumper": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"doctrine/data-fixtures": "",
|
||||||
|
"doctrine/dbal": "",
|
||||||
|
"doctrine/orm": "",
|
||||||
|
"symfony/form": "",
|
||||||
|
"symfony/property-info": "",
|
||||||
|
"symfony/validator": ""
|
||||||
|
},
|
||||||
|
"type": "symfony-bridge",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Bridge\\Doctrine\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Doctrine Bridge",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-23T10:56:47+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/dotenv",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/dotenv.git",
|
||||||
|
"reference": "b74a1638f53e3c65e4bbfc2a03c23fdc400fd243"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/dotenv/zipball/b74a1638f53e3c65e4bbfc2a03c23fdc400fd243",
|
||||||
|
"reference": "b74a1638f53e3c65e4bbfc2a03c23fdc400fd243",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/process": "^3.4.2|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Dotenv\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Registers environment variables from a .env file",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"dotenv",
|
||||||
|
"env",
|
||||||
|
"environment"
|
||||||
|
],
|
||||||
|
"time": "2020-01-08T17:29:02+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/error-handler",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/error-handler.git",
|
||||||
|
"reference": "d2721499ffcaf246a743e01cdf6696d3d5dd74c1"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/error-handler/zipball/d2721499ffcaf246a743e01cdf6696d3d5dd74c1",
|
||||||
|
"reference": "d2721499ffcaf246a743e01cdf6696d3d5dd74c1",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"psr/log": "~1.0",
|
||||||
|
"symfony/debug": "^4.4",
|
||||||
|
"symfony/var-dumper": "^4.4|^5.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/http-kernel": "^4.4|^5.0",
|
||||||
|
"symfony/serializer": "^4.4|^5.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\ErrorHandler\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony ErrorHandler Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-27T09:48:47+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/event-dispatcher",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||||
|
"reference": "9e3de195e5bc301704dd6915df55892f6dfc208b"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9e3de195e5bc301704dd6915df55892f6dfc208b",
|
||||||
|
"reference": "9e3de195e5bc301704dd6915df55892f6dfc208b",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/event-dispatcher-contracts": "^1.1"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/dependency-injection": "<3.4"
|
||||||
|
},
|
||||||
|
"provide": {
|
||||||
|
"psr/event-dispatcher-implementation": "1.0",
|
||||||
|
"symfony/event-dispatcher-implementation": "1.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"psr/log": "~1.0",
|
||||||
|
"symfony/config": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/dependency-injection": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/expression-language": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/http-foundation": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/service-contracts": "^1.1|^2",
|
||||||
|
"symfony/stopwatch": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/dependency-injection": "",
|
||||||
|
"symfony/http-kernel": ""
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\EventDispatcher\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony EventDispatcher Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-10T21:54:01+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/event-dispatcher-contracts",
|
||||||
|
"version": "v1.1.7",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
|
||||||
|
"reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18",
|
||||||
|
"reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"psr/event-dispatcher": "",
|
||||||
|
"symfony/event-dispatcher-implementation": ""
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.1-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Contracts\\EventDispatcher\\": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Generic abstractions related to dispatching event",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"abstractions",
|
||||||
|
"contracts",
|
||||||
|
"decoupling",
|
||||||
|
"interfaces",
|
||||||
|
"interoperability",
|
||||||
|
"standards"
|
||||||
|
],
|
||||||
|
"time": "2019-09-17T09:54:03+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/filesystem",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/filesystem.git",
|
||||||
|
"reference": "266c9540b475f26122b61ef8b23dd9198f5d1cfd"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/filesystem/zipball/266c9540b475f26122b61ef8b23dd9198f5d1cfd",
|
||||||
|
"reference": "266c9540b475f26122b61ef8b23dd9198f5d1cfd",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/polyfill-ctype": "~1.8"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Filesystem\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Filesystem Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-21T08:20:44+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/finder",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/finder.git",
|
||||||
|
"reference": "3a50be43515590faf812fbd7708200aabc327ec3"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/finder/zipball/3a50be43515590faf812fbd7708200aabc327ec3",
|
||||||
|
"reference": "3a50be43515590faf812fbd7708200aabc327ec3",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Finder\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Finder Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-04T13:00:46+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/flex",
|
||||||
|
"version": "v1.6.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/flex.git",
|
||||||
|
"reference": "e4f5a2653ca503782a31486198bd1dd1c9a47f83"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/flex/zipball/e4f5a2653ca503782a31486198bd1dd1c9a47f83",
|
||||||
|
"reference": "e4f5a2653ca503782a31486198bd1dd1c9a47f83",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"composer-plugin-api": "^1.0",
|
||||||
|
"php": "^7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"composer/composer": "^1.0.2",
|
||||||
|
"symfony/dotenv": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/phpunit-bridge": "^3.4.19|^4.1.8|^5.0",
|
||||||
|
"symfony/process": "^2.7|^3.0|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"type": "composer-plugin",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.5-dev"
|
||||||
|
},
|
||||||
|
"class": "Symfony\\Flex\\Flex"
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Flex\\": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien.potencier@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Composer plugin for Symfony",
|
||||||
|
"time": "2020-01-30T12:06:45+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/framework-bundle",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/framework-bundle.git",
|
||||||
|
"reference": "afc96daad6049cbed34312b34005d33fc670d022"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/afc96daad6049cbed34312b34005d33fc670d022",
|
||||||
|
"reference": "afc96daad6049cbed34312b34005d33fc670d022",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-xml": "*",
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/cache": "^4.4|^5.0",
|
||||||
|
"symfony/config": "^4.3.4|^5.0",
|
||||||
|
"symfony/dependency-injection": "^4.4.1|^5.0.1",
|
||||||
|
"symfony/error-handler": "^4.4.1|^5.0.1",
|
||||||
|
"symfony/filesystem": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/finder": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/http-foundation": "^4.4|^5.0",
|
||||||
|
"symfony/http-kernel": "^4.4",
|
||||||
|
"symfony/polyfill-mbstring": "~1.0",
|
||||||
|
"symfony/routing": "^4.4|^5.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"doctrine/persistence": "<1.3",
|
||||||
|
"phpdocumentor/reflection-docblock": "<3.0",
|
||||||
|
"phpdocumentor/type-resolver": "<0.2.1",
|
||||||
|
"phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
|
||||||
|
"symfony/asset": "<3.4",
|
||||||
|
"symfony/browser-kit": "<4.3",
|
||||||
|
"symfony/console": "<4.3",
|
||||||
|
"symfony/dom-crawler": "<4.3",
|
||||||
|
"symfony/dotenv": "<4.3.6",
|
||||||
|
"symfony/form": "<4.3.5",
|
||||||
|
"symfony/http-client": "<4.4",
|
||||||
|
"symfony/lock": "<4.4",
|
||||||
|
"symfony/mailer": "<4.4",
|
||||||
|
"symfony/messenger": "<4.4",
|
||||||
|
"symfony/mime": "<4.4",
|
||||||
|
"symfony/property-info": "<3.4",
|
||||||
|
"symfony/security-bundle": "<4.4",
|
||||||
|
"symfony/serializer": "<4.4",
|
||||||
|
"symfony/stopwatch": "<3.4",
|
||||||
|
"symfony/translation": "<4.4",
|
||||||
|
"symfony/twig-bridge": "<4.1.1",
|
||||||
|
"symfony/twig-bundle": "<4.4",
|
||||||
|
"symfony/validator": "<4.4",
|
||||||
|
"symfony/web-profiler-bundle": "<4.4",
|
||||||
|
"symfony/workflow": "<4.3.6"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/annotations": "~1.7",
|
||||||
|
"doctrine/cache": "~1.0",
|
||||||
|
"paragonie/sodium_compat": "^1.8",
|
||||||
|
"phpdocumentor/reflection-docblock": "^3.0|^4.0",
|
||||||
|
"symfony/asset": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/browser-kit": "^4.3|^5.0",
|
||||||
|
"symfony/console": "^4.3.4|^5.0",
|
||||||
|
"symfony/css-selector": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/dom-crawler": "^4.3|^5.0",
|
||||||
|
"symfony/dotenv": "^4.3.6|^5.0",
|
||||||
|
"symfony/expression-language": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/form": "^4.3.5|^5.0",
|
||||||
|
"symfony/http-client": "^4.4|^5.0",
|
||||||
|
"symfony/lock": "^4.4|^5.0",
|
||||||
|
"symfony/mailer": "^4.4|^5.0",
|
||||||
|
"symfony/messenger": "^4.4|^5.0",
|
||||||
|
"symfony/mime": "^4.4|^5.0",
|
||||||
|
"symfony/polyfill-intl-icu": "~1.0",
|
||||||
|
"symfony/process": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/property-info": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/security-csrf": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/security-http": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/serializer": "^4.4|^5.0",
|
||||||
|
"symfony/stopwatch": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/templating": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/translation": "^4.4|^5.0",
|
||||||
|
"symfony/twig-bundle": "^4.4|^5.0",
|
||||||
|
"symfony/validator": "^4.4|^5.0",
|
||||||
|
"symfony/web-link": "^4.4|^5.0",
|
||||||
|
"symfony/workflow": "^4.3.6|^5.0",
|
||||||
|
"symfony/yaml": "^3.4|^4.0|^5.0",
|
||||||
|
"twig/twig": "^1.41|^2.10|^3.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-apcu": "For best performance of the system caches",
|
||||||
|
"symfony/console": "For using the console commands",
|
||||||
|
"symfony/form": "For using forms",
|
||||||
|
"symfony/property-info": "For using the property_info service",
|
||||||
|
"symfony/serializer": "For using the serializer service",
|
||||||
|
"symfony/validator": "For using validation",
|
||||||
|
"symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering",
|
||||||
|
"symfony/yaml": "For using the debug:config and lint:yaml commands"
|
||||||
|
},
|
||||||
|
"type": "symfony-bundle",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Bundle\\FrameworkBundle\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony FrameworkBundle",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-30T16:24:07+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/http-foundation",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/http-foundation.git",
|
||||||
|
"reference": "491a20dfa87e0b3990170593bc2de0bb34d828a5"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/491a20dfa87e0b3990170593bc2de0bb34d828a5",
|
||||||
|
"reference": "491a20dfa87e0b3990170593bc2de0bb34d828a5",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/mime": "^4.3|^5.0",
|
||||||
|
"symfony/polyfill-mbstring": "~1.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"predis/predis": "~1.0",
|
||||||
|
"symfony/expression-language": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\HttpFoundation\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony HttpFoundation Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-31T09:11:17+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/http-kernel",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/http-kernel.git",
|
||||||
|
"reference": "62116a9c8fb15faabb158ad9cb785c353c2572e5"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/62116a9c8fb15faabb158ad9cb785c353c2572e5",
|
||||||
|
"reference": "62116a9c8fb15faabb158ad9cb785c353c2572e5",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"psr/log": "~1.0",
|
||||||
|
"symfony/error-handler": "^4.4",
|
||||||
|
"symfony/event-dispatcher": "^4.4",
|
||||||
|
"symfony/http-foundation": "^4.4|^5.0",
|
||||||
|
"symfony/polyfill-ctype": "^1.8",
|
||||||
|
"symfony/polyfill-php73": "^1.9"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/browser-kit": "<4.3",
|
||||||
|
"symfony/config": "<3.4",
|
||||||
|
"symfony/console": ">=5",
|
||||||
|
"symfony/dependency-injection": "<4.3",
|
||||||
|
"symfony/translation": "<4.2",
|
||||||
|
"twig/twig": "<1.34|<2.4,>=2"
|
||||||
|
},
|
||||||
|
"provide": {
|
||||||
|
"psr/log-implementation": "1.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"psr/cache": "~1.0",
|
||||||
|
"symfony/browser-kit": "^4.3|^5.0",
|
||||||
|
"symfony/config": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/console": "^3.4|^4.0",
|
||||||
|
"symfony/css-selector": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/dependency-injection": "^4.3|^5.0",
|
||||||
|
"symfony/dom-crawler": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/expression-language": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/finder": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/process": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/routing": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/stopwatch": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/templating": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/translation": "^4.2|^5.0",
|
||||||
|
"symfony/translation-contracts": "^1.1|^2",
|
||||||
|
"twig/twig": "^1.34|^2.4|^3.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/browser-kit": "",
|
||||||
|
"symfony/config": "",
|
||||||
|
"symfony/console": "",
|
||||||
|
"symfony/dependency-injection": ""
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\HttpKernel\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony HttpKernel Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-31T12:45:06+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/inflector",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/inflector.git",
|
||||||
|
"reference": "f419ab2853cc00471ffd7fc18e544b5f5a90adb1"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/inflector/zipball/f419ab2853cc00471ffd7fc18e544b5f5a90adb1",
|
||||||
|
"reference": "f419ab2853cc00471ffd7fc18e544b5f5a90adb1",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/polyfill-ctype": "~1.8"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Inflector\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Bernhard Schussek",
|
||||||
|
"email": "bschussek@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Inflector Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"inflection",
|
||||||
|
"pluralize",
|
||||||
|
"singularize",
|
||||||
|
"string",
|
||||||
|
"symfony",
|
||||||
|
"words"
|
||||||
|
],
|
||||||
|
"time": "2020-01-04T13:00:46+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/mime",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/mime.git",
|
||||||
|
"reference": "225034620ecd4b34fd826e9983d85e2b7a359094"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/mime/zipball/225034620ecd4b34fd826e9983d85e2b7a359094",
|
||||||
|
"reference": "225034620ecd4b34fd826e9983d85e2b7a359094",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/polyfill-intl-idn": "^1.10",
|
||||||
|
"symfony/polyfill-mbstring": "^1.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/mailer": "<4.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"egulias/email-validator": "^2.1.10",
|
||||||
|
"symfony/dependency-injection": "^3.4|^4.1|^5.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Mime\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A library to manipulate MIME messages",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"mime",
|
||||||
|
"mime-type"
|
||||||
|
],
|
||||||
|
"time": "2020-01-04T13:00:46+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/orm-pack",
|
||||||
|
"version": "v1.0.7",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/orm-pack.git",
|
||||||
|
"reference": "c57f5e05232ca40626eb9fa52a32bc8565e9231c"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/orm-pack/zipball/c57f5e05232ca40626eb9fa52a32bc8565e9231c",
|
||||||
|
"reference": "c57f5e05232ca40626eb9fa52a32bc8565e9231c",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/doctrine-bundle": "^1.6.10|^2.0",
|
||||||
|
"doctrine/doctrine-migrations-bundle": "^1.3|^2.0",
|
||||||
|
"doctrine/orm": "^2.5.11",
|
||||||
|
"php": "^7.0"
|
||||||
|
},
|
||||||
|
"type": "symfony-pack",
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"description": "A pack for the Doctrine ORM",
|
||||||
|
"time": "2019-10-18T05:41:09+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-intl-idn",
|
||||||
|
"version": "v1.13.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-intl-idn.git",
|
||||||
|
"reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6f9c239e61e1b0c9229a28ff89a812dc449c3d46",
|
||||||
|
"reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3",
|
||||||
|
"symfony/polyfill-mbstring": "^1.3",
|
||||||
|
"symfony/polyfill-php72": "^1.9"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-intl": "For best performance"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.13-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Polyfill\\Intl\\Idn\\": ""
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Laurent Bassin",
|
||||||
|
"email": "laurent@bassin.info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"compatibility",
|
||||||
|
"idn",
|
||||||
|
"intl",
|
||||||
|
"polyfill",
|
||||||
|
"portable",
|
||||||
|
"shim"
|
||||||
|
],
|
||||||
|
"time": "2019-11-27T13:56:44+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-mbstring",
|
||||||
|
"version": "v1.13.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||||
|
"reference": "7b4aab9743c30be783b73de055d24a39cf4b954f"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f",
|
||||||
|
"reference": "7b4aab9743c30be783b73de055d24a39cf4b954f",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-mbstring": "For best performance"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.13-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Polyfill\\Mbstring\\": ""
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony polyfill for the Mbstring extension",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"compatibility",
|
||||||
|
"mbstring",
|
||||||
|
"polyfill",
|
||||||
|
"portable",
|
||||||
|
"shim"
|
||||||
|
],
|
||||||
|
"time": "2019-11-27T14:18:11+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-php72",
|
||||||
|
"version": "v1.13.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-php72.git",
|
||||||
|
"reference": "66fea50f6cb37a35eea048d75a7d99a45b586038"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/66fea50f6cb37a35eea048d75a7d99a45b586038",
|
||||||
|
"reference": "66fea50f6cb37a35eea048d75a7d99a45b586038",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.13-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Polyfill\\Php72\\": ""
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"compatibility",
|
||||||
|
"polyfill",
|
||||||
|
"portable",
|
||||||
|
"shim"
|
||||||
|
],
|
||||||
|
"time": "2019-11-27T13:56:44+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-php73",
|
||||||
|
"version": "v1.13.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-php73.git",
|
||||||
|
"reference": "4b0e2222c55a25b4541305a053013d5647d3a25f"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/4b0e2222c55a25b4541305a053013d5647d3a25f",
|
||||||
|
"reference": "4b0e2222c55a25b4541305a053013d5647d3a25f",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.13-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Polyfill\\Php73\\": ""
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
],
|
||||||
|
"classmap": [
|
||||||
|
"Resources/stubs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"compatibility",
|
||||||
|
"polyfill",
|
||||||
|
"portable",
|
||||||
|
"shim"
|
||||||
|
],
|
||||||
|
"time": "2019-11-27T16:25:15+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/property-access",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/property-access.git",
|
||||||
|
"reference": "090b4bc92ded1ec512f7e2ed1691210769dffdb3"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/property-access/zipball/090b4bc92ded1ec512f7e2ed1691210769dffdb3",
|
||||||
|
"reference": "090b4bc92ded1ec512f7e2ed1691210769dffdb3",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/inflector": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/cache": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"psr/cache-implementation": "To cache access methods."
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\PropertyAccess\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony PropertyAccess Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"access",
|
||||||
|
"array",
|
||||||
|
"extraction",
|
||||||
|
"index",
|
||||||
|
"injection",
|
||||||
|
"object",
|
||||||
|
"property",
|
||||||
|
"property path",
|
||||||
|
"reflection"
|
||||||
|
],
|
||||||
|
"time": "2020-01-04T13:00:46+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/routing",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/routing.git",
|
||||||
|
"reference": "7bf4e38573728e317b926ca4482ad30470d0e86a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/routing/zipball/7bf4e38573728e317b926ca4482ad30470d0e86a",
|
||||||
|
"reference": "7bf4e38573728e317b926ca4482ad30470d0e86a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/config": "<4.2",
|
||||||
|
"symfony/dependency-injection": "<3.4",
|
||||||
|
"symfony/yaml": "<3.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/annotations": "~1.2",
|
||||||
|
"psr/log": "~1.0",
|
||||||
|
"symfony/config": "^4.2|^5.0",
|
||||||
|
"symfony/dependency-injection": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/expression-language": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/http-foundation": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/yaml": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"doctrine/annotations": "For using the annotation loader",
|
||||||
|
"symfony/config": "For using the all-in-one router or any loader",
|
||||||
|
"symfony/expression-language": "For using expression matching",
|
||||||
|
"symfony/http-foundation": "For using a Symfony Request object",
|
||||||
|
"symfony/yaml": "For using the YAML loader"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Routing\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Routing Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"router",
|
||||||
|
"routing",
|
||||||
|
"uri",
|
||||||
|
"url"
|
||||||
|
],
|
||||||
|
"time": "2020-01-08T17:29:02+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/security-bundle",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/security-bundle.git",
|
||||||
|
"reference": "7829cc34b8231cb8d10621cdf27d04bfdc600334"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/7829cc34b8231cb8d10621cdf27d04bfdc600334",
|
||||||
|
"reference": "7829cc34b8231cb8d10621cdf27d04bfdc600334",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-xml": "*",
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/config": "^4.2|^5.0",
|
||||||
|
"symfony/dependency-injection": "^4.4|^5.0",
|
||||||
|
"symfony/http-kernel": "^4.4",
|
||||||
|
"symfony/security-core": "^4.4",
|
||||||
|
"symfony/security-csrf": "^4.2|^5.0",
|
||||||
|
"symfony/security-guard": "^4.2|^5.0",
|
||||||
|
"symfony/security-http": "^4.4.3"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/browser-kit": "<4.2",
|
||||||
|
"symfony/console": "<3.4",
|
||||||
|
"symfony/framework-bundle": "<4.4",
|
||||||
|
"symfony/ldap": "<4.4",
|
||||||
|
"symfony/twig-bundle": "<4.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/doctrine-bundle": "^1.5|^2.0",
|
||||||
|
"symfony/asset": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/browser-kit": "^4.2|^5.0",
|
||||||
|
"symfony/console": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/css-selector": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/dom-crawler": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/expression-language": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/form": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/framework-bundle": "^4.4|^5.0",
|
||||||
|
"symfony/process": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/serializer": "^4.4|^5.0",
|
||||||
|
"symfony/translation": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/twig-bridge": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/twig-bundle": "^4.4|^5.0",
|
||||||
|
"symfony/validator": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/yaml": "^3.4|^4.0|^5.0",
|
||||||
|
"twig/twig": "^1.41|^2.10|^3.0"
|
||||||
|
},
|
||||||
|
"type": "symfony-bundle",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Bundle\\SecurityBundle\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony SecurityBundle",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-27T10:02:23+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/security-core",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/security-core.git",
|
||||||
|
"reference": "d2550b4ecd63f612763e0af2cbcb1a69a700fe99"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/security-core/zipball/d2550b4ecd63f612763e0af2cbcb1a69a700fe99",
|
||||||
|
"reference": "d2550b4ecd63f612763e0af2cbcb1a69a700fe99",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/event-dispatcher-contracts": "^1.1|^2",
|
||||||
|
"symfony/service-contracts": "^1.1.6|^2"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/event-dispatcher": "<4.3|>=5",
|
||||||
|
"symfony/ldap": "<4.4",
|
||||||
|
"symfony/security-guard": "<4.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"psr/container": "^1.0",
|
||||||
|
"psr/log": "~1.0",
|
||||||
|
"symfony/event-dispatcher": "^4.3",
|
||||||
|
"symfony/expression-language": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/http-foundation": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/ldap": "^4.4|^5.0",
|
||||||
|
"symfony/validator": "^3.4.31|^4.3.4|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"psr/container-implementation": "To instantiate the Security class",
|
||||||
|
"symfony/event-dispatcher": "",
|
||||||
|
"symfony/expression-language": "For using the expression voter",
|
||||||
|
"symfony/http-foundation": "",
|
||||||
|
"symfony/ldap": "For using LDAP integration",
|
||||||
|
"symfony/validator": "For using the user password constraint"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Security\\Core\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Security Component - Core Library",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-31T09:11:17+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/security-csrf",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/security-csrf.git",
|
||||||
|
"reference": "da4664d94164e2b50ce75f2453724c6c33222505"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/da4664d94164e2b50ce75f2453724c6c33222505",
|
||||||
|
"reference": "da4664d94164e2b50ce75f2453724c6c33222505",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/security-core": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/http-foundation": "<3.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/http-foundation": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/http-foundation": "For using the class SessionTokenStorage."
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Security\\Csrf\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Security Component - CSRF Library",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-04T13:00:46+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/security-guard",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/security-guard.git",
|
||||||
|
"reference": "f457f2d6d7392259b1ede1d036a26b6c1fa20202"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/security-guard/zipball/f457f2d6d7392259b1ede1d036a26b6c1fa20202",
|
||||||
|
"reference": "f457f2d6d7392259b1ede1d036a26b6c1fa20202",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/security-core": "^3.4.22|^4.2.3|^5.0",
|
||||||
|
"symfony/security-http": "^4.4.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"psr/log": "~1.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Security\\Guard\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Security Component - Guard",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-08T17:29:02+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/security-http",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/security-http.git",
|
||||||
|
"reference": "736d09554f78f3444f5aeed3d18a928c7a8a53fb"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/security-http/zipball/736d09554f78f3444f5aeed3d18a928c7a8a53fb",
|
||||||
|
"reference": "736d09554f78f3444f5aeed3d18a928c7a8a53fb",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/http-foundation": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/http-kernel": "^4.4",
|
||||||
|
"symfony/property-access": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/security-core": "^4.4"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/event-dispatcher": ">=5",
|
||||||
|
"symfony/security-csrf": "<3.4.11|~4.0,<4.0.11"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"psr/log": "~1.0",
|
||||||
|
"symfony/routing": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/security-csrf": "^3.4.11|^4.0.11|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs",
|
||||||
|
"symfony/security-csrf": "For using tokens to protect authentication/logout attempts"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Security\\Http\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Security Component - HTTP Integration",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-31T09:11:17+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/service-contracts",
|
||||||
|
"version": "v2.0.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/service-contracts.git",
|
||||||
|
"reference": "144c5e51266b281231e947b51223ba14acf1a749"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749",
|
||||||
|
"reference": "144c5e51266b281231e947b51223ba14acf1a749",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.2.5",
|
||||||
|
"psr/container": "^1.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/service-implementation": ""
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.0-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Contracts\\Service\\": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Generic abstractions related to writing services",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"abstractions",
|
||||||
|
"contracts",
|
||||||
|
"decoupling",
|
||||||
|
"interfaces",
|
||||||
|
"interoperability",
|
||||||
|
"standards"
|
||||||
|
],
|
||||||
|
"time": "2019-11-18T17:27:11+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/stopwatch",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/stopwatch.git",
|
||||||
|
"reference": "abc08d7c48987829bac301347faa10f7e8bbf4fb"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/abc08d7c48987829bac301347faa10f7e8bbf4fb",
|
||||||
|
"reference": "abc08d7c48987829bac301347faa10f7e8bbf4fb",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/service-contracts": "^1.0|^2"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Stopwatch\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Stopwatch Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-04T13:00:46+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/var-dumper",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/var-dumper.git",
|
||||||
|
"reference": "46b53fd714568af343953c039ff47b67ce8af8d6"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/46b53fd714568af343953c039ff47b67ce8af8d6",
|
||||||
|
"reference": "46b53fd714568af343953c039ff47b67ce8af8d6",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/polyfill-mbstring": "~1.0",
|
||||||
|
"symfony/polyfill-php72": "~1.5"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
|
||||||
|
"symfony/console": "<3.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"ext-iconv": "*",
|
||||||
|
"symfony/console": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/process": "^4.4|^5.0",
|
||||||
|
"twig/twig": "^1.34|^2.4|^3.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
|
||||||
|
"ext-intl": "To show region name in time zone dump",
|
||||||
|
"symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
|
||||||
|
},
|
||||||
|
"bin": [
|
||||||
|
"Resources/bin/var-dump-server"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"Resources/functions/dump.php"
|
||||||
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\VarDumper\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony mechanism for exploring and dumping PHP variables",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"debug",
|
||||||
|
"dump"
|
||||||
|
],
|
||||||
|
"time": "2020-01-25T12:44:29+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/var-exporter",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/var-exporter.git",
|
||||||
|
"reference": "1a76a943f2af334da13bc9f33f49392fa530eec9"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/1a76a943f2af334da13bc9f33f49392fa530eec9",
|
||||||
|
"reference": "1a76a943f2af334da13bc9f33f49392fa530eec9",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/var-dumper": "^4.1.1|^5.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\VarExporter\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A blend of var_export() + serialize() to turn any serializable data structure to plain PHP code",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"clone",
|
||||||
|
"construct",
|
||||||
|
"export",
|
||||||
|
"hydrate",
|
||||||
|
"instantiate",
|
||||||
|
"serialize"
|
||||||
|
],
|
||||||
|
"time": "2020-01-04T13:00:46+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/yaml",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/yaml.git",
|
||||||
|
"reference": "cd014e425b3668220adb865f53bff64b3ad21767"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/yaml/zipball/cd014e425b3668220adb865f53bff64b3ad21767",
|
||||||
|
"reference": "cd014e425b3668220adb865f53bff64b3ad21767",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/polyfill-ctype": "~1.8"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/console": "<3.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/console": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/console": "For validating YAML files using the lint command"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Yaml\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Yaml Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-21T11:12:16+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "webimpress/safe-writer",
|
||||||
|
"version": "2.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/webimpress/safe-writer.git",
|
||||||
|
"reference": "d03bea3b98abe1d4c8b24cbebf524361ffaafee4"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/webimpress/safe-writer/zipball/d03bea3b98abe1d4c8b24cbebf524361ffaafee4",
|
||||||
|
"reference": "d03bea3b98abe1d4c8b24cbebf524361ffaafee4",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.2"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^8.4.3",
|
||||||
|
"webimpress/coding-standard": "dev-develop"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.0.x-dev",
|
||||||
|
"dev-develop": "2.1.x-dev",
|
||||||
|
"dev-release-1.0": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Webimpress\\SafeWriter\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-2-Clause"
|
||||||
|
],
|
||||||
|
"description": "Tool to write files safely, to avoid race conditions",
|
||||||
|
"keywords": [
|
||||||
|
"concurrent write",
|
||||||
|
"file writer",
|
||||||
|
"race condition",
|
||||||
|
"safe writer",
|
||||||
|
"webimpress"
|
||||||
|
],
|
||||||
|
"time": "2019-11-27T19:40:53+00:00"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"packages-dev": [
|
||||||
|
{
|
||||||
|
"name": "nikic/php-parser",
|
||||||
|
"version": "v4.3.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||||
|
"reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9a9981c347c5c49d6dfe5cf826bb882b824080dc",
|
||||||
|
"reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-tokenizer": "*",
|
||||||
|
"php": ">=7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"ircmaxell/php-yacc": "0.0.5",
|
||||||
|
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0"
|
||||||
|
},
|
||||||
|
"bin": [
|
||||||
|
"bin/php-parse"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.3-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"PhpParser\\": "lib/PhpParser"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nikita Popov"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A PHP parser written in PHP",
|
||||||
|
"keywords": [
|
||||||
|
"parser",
|
||||||
|
"php"
|
||||||
|
],
|
||||||
|
"time": "2019-11-08T13:50:10+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/maker-bundle",
|
||||||
|
"version": "v1.14.3",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/maker-bundle.git",
|
||||||
|
"reference": "c864e7f9b8d1e1f5f60acc3beda11299f637aded"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/maker-bundle/zipball/c864e7f9b8d1e1f5f60acc3beda11299f637aded",
|
||||||
|
"reference": "c864e7f9b8d1e1f5f60acc3beda11299f637aded",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/inflector": "^1.2",
|
||||||
|
"nikic/php-parser": "^4.0",
|
||||||
|
"php": "^7.0.8",
|
||||||
|
"symfony/config": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/console": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/dependency-injection": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/filesystem": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/finder": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/framework-bundle": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/http-kernel": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/doctrine-bundle": "^1.8|^2.0",
|
||||||
|
"doctrine/orm": "^2.3",
|
||||||
|
"friendsofphp/php-cs-fixer": "^2.8",
|
||||||
|
"friendsoftwig/twigcs": "^3.1.2",
|
||||||
|
"symfony/http-client": "^4.3|^5.0",
|
||||||
|
"symfony/phpunit-bridge": "^4.3|^5.0",
|
||||||
|
"symfony/process": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/security-core": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/yaml": "^3.4|^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"type": "symfony-bundle",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Bundle\\MakerBundle\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.",
|
||||||
|
"homepage": "https://symfony.com/doc/current/bundles/SymfonyMakerBundle/index.html",
|
||||||
|
"keywords": [
|
||||||
|
"code generator",
|
||||||
|
"generator",
|
||||||
|
"scaffold",
|
||||||
|
"scaffolding"
|
||||||
|
],
|
||||||
|
"time": "2019-11-07T00:56:03+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/process",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/process.git",
|
||||||
|
"reference": "f5697ab4cb14a5deed7473819e63141bf5352c36"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/process/zipball/f5697ab4cb14a5deed7473819e63141bf5352c36",
|
||||||
|
"reference": "f5697ab4cb14a5deed7473819e63141bf5352c36",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Process\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Process Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-09T09:50:08+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/web-server-bundle",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/web-server-bundle.git",
|
||||||
|
"reference": "92a37564d8577f01a21e7a77dab2f4fcad32f4ba"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/web-server-bundle/zipball/92a37564d8577f01a21e7a77dab2f4fcad32f4ba",
|
||||||
|
"reference": "92a37564d8577f01a21e7a77dab2f4fcad32f4ba",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/config": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/console": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/dependency-injection": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/http-kernel": "^3.4|^4.0|^5.0",
|
||||||
|
"symfony/polyfill-ctype": "~1.8",
|
||||||
|
"symfony/process": "^3.4.2|^4.0.2|^5.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/expression-language": "For using the filter option of the log server.",
|
||||||
|
"symfony/monolog-bridge": "For using the log server."
|
||||||
|
},
|
||||||
|
"type": "symfony-bundle",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Bundle\\WebServerBundle\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony WebServerBundle",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2020-01-04T13:00:46+00:00"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"aliases": [],
|
||||||
|
"minimum-stability": "stable",
|
||||||
|
"stability-flags": [],
|
||||||
|
"prefer-stable": false,
|
||||||
|
"prefer-lowest": false,
|
||||||
|
"platform": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"ext-ctype": "*",
|
||||||
|
"ext-iconv": "*"
|
||||||
|
},
|
||||||
|
"platform-dev": []
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Symfony\Component\Dotenv\Dotenv;
|
||||||
|
|
||||||
|
require dirname(__DIR__).'/vendor/autoload.php';
|
||||||
|
|
||||||
|
// Load cached env vars if the .env.local.php file exists
|
||||||
|
// Run "composer dump-env prod" to create it (requires symfony/flex >=1.2)
|
||||||
|
if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) {
|
||||||
|
foreach ($env as $k => $v) {
|
||||||
|
$_ENV[$k] = $_ENV[$k] ?? (isset($_SERVER[$k]) && 0 !== strpos($k, 'HTTP_') ? $_SERVER[$k] : $v);
|
||||||
|
}
|
||||||
|
} elseif (!class_exists(Dotenv::class)) {
|
||||||
|
throw new RuntimeException('Please run "composer require symfony/dotenv" to load the ".env" files configuring the application.');
|
||||||
|
} else {
|
||||||
|
// load all the .env files
|
||||||
|
(new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env');
|
||||||
|
}
|
||||||
|
|
||||||
|
$_SERVER += $_ENV;
|
||||||
|
$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev';
|
||||||
|
$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV'];
|
||||||
|
$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0';
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
|
||||||
|
Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true],
|
||||||
|
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
|
||||||
|
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
||||||
|
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
||||||
|
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
|
||||||
|
];
|
|
@ -0,0 +1,19 @@
|
||||||
|
framework:
|
||||||
|
cache:
|
||||||
|
# Unique name of your app: used to compute stable namespaces for cache keys.
|
||||||
|
#prefix_seed: your_vendor_name/app_name
|
||||||
|
|
||||||
|
# The "app" cache stores to the filesystem by default.
|
||||||
|
# The data in this cache should persist between deploys.
|
||||||
|
# Other options include:
|
||||||
|
|
||||||
|
# Redis
|
||||||
|
#app: cache.adapter.redis
|
||||||
|
#default_redis_provider: redis://localhost
|
||||||
|
|
||||||
|
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues)
|
||||||
|
#app: cache.adapter.apcu
|
||||||
|
|
||||||
|
# Namespaced pools use the above "app" backend by default
|
||||||
|
#pools:
|
||||||
|
#my.dedicated.cache: null
|
|
@ -0,0 +1,18 @@
|
||||||
|
doctrine:
|
||||||
|
dbal:
|
||||||
|
url: '%env(resolve:DATABASE_URL)%'
|
||||||
|
|
||||||
|
# IMPORTANT: You MUST configure your server version,
|
||||||
|
# either here or in the DATABASE_URL env var (see .env file)
|
||||||
|
#server_version: '5.7'
|
||||||
|
orm:
|
||||||
|
auto_generate_proxy_classes: true
|
||||||
|
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
|
||||||
|
auto_mapping: true
|
||||||
|
mappings:
|
||||||
|
App:
|
||||||
|
is_bundle: false
|
||||||
|
type: annotation
|
||||||
|
dir: '%kernel.project_dir%/src/Entity'
|
||||||
|
prefix: 'App\Entity'
|
||||||
|
alias: App
|
|
@ -0,0 +1,5 @@
|
||||||
|
doctrine_migrations:
|
||||||
|
dir_name: '%kernel.project_dir%/src/Migrations'
|
||||||
|
# namespace is arbitrary but should be different from App\Migrations
|
||||||
|
# as migrations classes should NOT be autoloaded
|
||||||
|
namespace: DoctrineMigrations
|
|
@ -0,0 +1,16 @@
|
||||||
|
framework:
|
||||||
|
secret: '%env(APP_SECRET)%'
|
||||||
|
#csrf_protection: true
|
||||||
|
#http_method_override: true
|
||||||
|
|
||||||
|
# Enables session support. Note that the session will ONLY be started if you read or write from it.
|
||||||
|
# Remove or comment this section to explicitly disable session support.
|
||||||
|
session:
|
||||||
|
handler_id: null
|
||||||
|
cookie_secure: auto
|
||||||
|
cookie_samesite: lax
|
||||||
|
|
||||||
|
#esi: true
|
||||||
|
#fragments: true
|
||||||
|
php_errors:
|
||||||
|
log: true
|
|
@ -0,0 +1,20 @@
|
||||||
|
doctrine:
|
||||||
|
orm:
|
||||||
|
auto_generate_proxy_classes: false
|
||||||
|
metadata_cache_driver:
|
||||||
|
type: pool
|
||||||
|
pool: doctrine.system_cache_pool
|
||||||
|
query_cache_driver:
|
||||||
|
type: pool
|
||||||
|
pool: doctrine.system_cache_pool
|
||||||
|
result_cache_driver:
|
||||||
|
type: pool
|
||||||
|
pool: doctrine.result_cache_pool
|
||||||
|
|
||||||
|
framework:
|
||||||
|
cache:
|
||||||
|
pools:
|
||||||
|
doctrine.result_cache_pool:
|
||||||
|
adapter: cache.app
|
||||||
|
doctrine.system_cache_pool:
|
||||||
|
adapter: cache.system
|
|
@ -0,0 +1,3 @@
|
||||||
|
framework:
|
||||||
|
router:
|
||||||
|
strict_requirements: null
|
|
@ -0,0 +1,3 @@
|
||||||
|
framework:
|
||||||
|
router:
|
||||||
|
utf8: true
|
|
@ -0,0 +1,22 @@
|
||||||
|
security:
|
||||||
|
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
|
||||||
|
providers:
|
||||||
|
in_memory: { memory: null }
|
||||||
|
firewalls:
|
||||||
|
dev:
|
||||||
|
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||||
|
security: false
|
||||||
|
main:
|
||||||
|
anonymous: lazy
|
||||||
|
|
||||||
|
# activate different ways to authenticate
|
||||||
|
# https://symfony.com/doc/current/security.html#firewalls-authentication
|
||||||
|
|
||||||
|
# https://symfony.com/doc/current/security/impersonating_user.html
|
||||||
|
# switch_user: true
|
||||||
|
|
||||||
|
# Easy way to control access for large sections of your site
|
||||||
|
# Note: Only the *first* access control that matches will be used
|
||||||
|
access_control:
|
||||||
|
# - { path: ^/admin, roles: ROLE_ADMIN }
|
||||||
|
# - { path: ^/profile, roles: ROLE_USER }
|
|
@ -0,0 +1,4 @@
|
||||||
|
framework:
|
||||||
|
test: true
|
||||||
|
session:
|
||||||
|
storage_id: session.storage.mock_file
|
|
@ -0,0 +1,30 @@
|
||||||
|
#index:
|
||||||
|
# path: /
|
||||||
|
# controller: App\Controller\DefaultController::index
|
||||||
|
|
||||||
|
app_home:
|
||||||
|
path: /
|
||||||
|
controller: Symfony\Bundle\FrameworkBundle\Controller\RedirectController::urlRedirectAction
|
||||||
|
defaults:
|
||||||
|
path: /api/v1
|
||||||
|
permanent: true
|
||||||
|
|
||||||
|
app_api_login:
|
||||||
|
path: /api/v1/login
|
||||||
|
methods: ['POST']
|
||||||
|
controller: App\Controller\ApiController::login
|
||||||
|
|
||||||
|
app_api_logout:
|
||||||
|
path: /api/v1/logout
|
||||||
|
methods: ['POST']
|
||||||
|
controller: App\Controller\ApiController::logout
|
||||||
|
|
||||||
|
app_api_show_info:
|
||||||
|
path: /api/v1
|
||||||
|
methods: ['GET']
|
||||||
|
controller: App\Controller\ApiController::showVersionInfo
|
||||||
|
|
||||||
|
app_api_list_users:
|
||||||
|
path: /api/v1/users
|
||||||
|
methods: ['GET']
|
||||||
|
controller: App\Controller\ApiController::listUsers
|
|
@ -0,0 +1,7 @@
|
||||||
|
controllers:
|
||||||
|
resource: ../../src/Controller/
|
||||||
|
type: annotation
|
||||||
|
|
||||||
|
kernel:
|
||||||
|
resource: ../../src/Kernel.php
|
||||||
|
type: annotation
|
|
@ -0,0 +1,3 @@
|
||||||
|
_errors:
|
||||||
|
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
|
||||||
|
prefix: /_error
|
|
@ -0,0 +1,27 @@
|
||||||
|
# This file is the entry point to configure your own services.
|
||||||
|
# Files in the packages/ subdirectory configure your dependencies.
|
||||||
|
|
||||||
|
# Put parameters here that don't need to change on each machine where the app is deployed
|
||||||
|
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
|
||||||
|
parameters:
|
||||||
|
|
||||||
|
services:
|
||||||
|
# default configuration for services in *this* file
|
||||||
|
_defaults:
|
||||||
|
autowire: true # Automatically injects dependencies in your services.
|
||||||
|
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
|
||||||
|
|
||||||
|
# makes classes in src/ available to be used as services
|
||||||
|
# this creates a service per class whose id is the fully-qualified class name
|
||||||
|
App\:
|
||||||
|
resource: '../src/*'
|
||||||
|
exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'
|
||||||
|
|
||||||
|
# controllers are imported separately to make sure services can be injected
|
||||||
|
# as action arguments even if you don't extend any base controller class
|
||||||
|
App\Controller\:
|
||||||
|
resource: '../src/Controller'
|
||||||
|
tags: ['controller.service_arguments']
|
||||||
|
|
||||||
|
# add more service definitions when explicit configuration is needed
|
||||||
|
# please note that last definitions always *replace* previous ones
|
|
@ -0,0 +1,27 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use App\Kernel;
|
||||||
|
use Symfony\Component\ErrorHandler\Debug;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
|
require dirname(__DIR__).'/config/bootstrap.php';
|
||||||
|
|
||||||
|
if ($_SERVER['APP_DEBUG']) {
|
||||||
|
umask(0000);
|
||||||
|
|
||||||
|
Debug::enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? false) {
|
||||||
|
Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false) {
|
||||||
|
Request::setTrustedHosts([$trustedHosts]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
|
||||||
|
$request = Request::createFromGlobals();
|
||||||
|
$response = $kernel->handle($request);
|
||||||
|
$response->send();
|
||||||
|
$kernel->terminate($request, $response);
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
namespace App\Controller;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||||
|
|
||||||
|
class ApiController
|
||||||
|
{
|
||||||
|
public function login()
|
||||||
|
{
|
||||||
|
return new JsonResponse([
|
||||||
|
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function logout()
|
||||||
|
{
|
||||||
|
return new JsonResponse([
|
||||||
|
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function showVersionInfo()
|
||||||
|
{
|
||||||
|
return new JsonResponse([
|
||||||
|
'version' => '1',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function listUsers()
|
||||||
|
{
|
||||||
|
return new JsonResponse([]);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App;
|
||||||
|
|
||||||
|
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
|
||||||
|
use Symfony\Component\Config\Loader\LoaderInterface;
|
||||||
|
use Symfony\Component\Config\Resource\FileResource;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
|
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
|
||||||
|
use Symfony\Component\Routing\RouteCollectionBuilder;
|
||||||
|
|
||||||
|
class Kernel extends BaseKernel
|
||||||
|
{
|
||||||
|
use MicroKernelTrait;
|
||||||
|
|
||||||
|
private const CONFIG_EXTS = '.{php,xml,yaml,yml}';
|
||||||
|
|
||||||
|
public function registerBundles(): iterable
|
||||||
|
{
|
||||||
|
$contents = require $this->getProjectDir().'/config/bundles.php';
|
||||||
|
foreach ($contents as $class => $envs) {
|
||||||
|
if ($envs[$this->environment] ?? $envs['all'] ?? false) {
|
||||||
|
yield new $class();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getProjectDir(): string
|
||||||
|
{
|
||||||
|
return \dirname(__DIR__);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void
|
||||||
|
{
|
||||||
|
$container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php'));
|
||||||
|
$container->setParameter('container.dumper.inline_class_loader', \PHP_VERSION_ID < 70400 || $this->debug);
|
||||||
|
$container->setParameter('container.dumper.inline_factories', true);
|
||||||
|
$confDir = $this->getProjectDir().'/config';
|
||||||
|
|
||||||
|
$loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob');
|
||||||
|
$loader->load($confDir.'/{packages}/'.$this->environment.'/*'.self::CONFIG_EXTS, 'glob');
|
||||||
|
$loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob');
|
||||||
|
$loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob');
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function configureRoutes(RouteCollectionBuilder $routes): void
|
||||||
|
{
|
||||||
|
$confDir = $this->getProjectDir().'/config';
|
||||||
|
|
||||||
|
$routes->import($confDir.'/{routes}/'.$this->environment.'/*'.self::CONFIG_EXTS, '/', 'glob');
|
||||||
|
$routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob');
|
||||||
|
$routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob');
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,299 @@
|
||||||
|
{
|
||||||
|
"doctrine/annotations": {
|
||||||
|
"version": "1.0",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "master",
|
||||||
|
"version": "1.0",
|
||||||
|
"ref": "a2759dd6123694c8d901d0ec80006e044c2e6457"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/routes/annotations.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"doctrine/cache": {
|
||||||
|
"version": "1.10.0"
|
||||||
|
},
|
||||||
|
"doctrine/collections": {
|
||||||
|
"version": "1.6.4"
|
||||||
|
},
|
||||||
|
"doctrine/common": {
|
||||||
|
"version": "2.12.0"
|
||||||
|
},
|
||||||
|
"doctrine/dbal": {
|
||||||
|
"version": "v2.10.1"
|
||||||
|
},
|
||||||
|
"doctrine/doctrine-bundle": {
|
||||||
|
"version": "2.0",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "master",
|
||||||
|
"version": "2.0",
|
||||||
|
"ref": "a9f2463b9f73efe74482f831f03a204a41328555"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/doctrine.yaml",
|
||||||
|
"config/packages/prod/doctrine.yaml",
|
||||||
|
"src/Entity/.gitignore",
|
||||||
|
"src/Repository/.gitignore"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"doctrine/doctrine-migrations-bundle": {
|
||||||
|
"version": "1.2",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "master",
|
||||||
|
"version": "1.2",
|
||||||
|
"ref": "c1431086fec31f17fbcfe6d6d7e92059458facc1"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/doctrine_migrations.yaml",
|
||||||
|
"src/Migrations/.gitignore"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"doctrine/event-manager": {
|
||||||
|
"version": "1.1.0"
|
||||||
|
},
|
||||||
|
"doctrine/inflector": {
|
||||||
|
"version": "1.3.1"
|
||||||
|
},
|
||||||
|
"doctrine/instantiator": {
|
||||||
|
"version": "1.3.0"
|
||||||
|
},
|
||||||
|
"doctrine/lexer": {
|
||||||
|
"version": "1.2.0"
|
||||||
|
},
|
||||||
|
"doctrine/migrations": {
|
||||||
|
"version": "2.2.1"
|
||||||
|
},
|
||||||
|
"doctrine/orm": {
|
||||||
|
"version": "v2.7.0"
|
||||||
|
},
|
||||||
|
"doctrine/persistence": {
|
||||||
|
"version": "1.3.6"
|
||||||
|
},
|
||||||
|
"doctrine/reflection": {
|
||||||
|
"version": "v1.1.0"
|
||||||
|
},
|
||||||
|
"jdorn/sql-formatter": {
|
||||||
|
"version": "v1.2.17"
|
||||||
|
},
|
||||||
|
"laminas/laminas-code": {
|
||||||
|
"version": "3.4.1"
|
||||||
|
},
|
||||||
|
"laminas/laminas-eventmanager": {
|
||||||
|
"version": "3.2.1"
|
||||||
|
},
|
||||||
|
"laminas/laminas-zendframework-bridge": {
|
||||||
|
"version": "1.0.1"
|
||||||
|
},
|
||||||
|
"nikic/php-parser": {
|
||||||
|
"version": "v4.3.0"
|
||||||
|
},
|
||||||
|
"ocramius/package-versions": {
|
||||||
|
"version": "1.5.1"
|
||||||
|
},
|
||||||
|
"ocramius/proxy-manager": {
|
||||||
|
"version": "2.6.1"
|
||||||
|
},
|
||||||
|
"php": {
|
||||||
|
"version": "7.4"
|
||||||
|
},
|
||||||
|
"psr/cache": {
|
||||||
|
"version": "1.0.1"
|
||||||
|
},
|
||||||
|
"psr/container": {
|
||||||
|
"version": "1.0.0"
|
||||||
|
},
|
||||||
|
"psr/log": {
|
||||||
|
"version": "1.1.2"
|
||||||
|
},
|
||||||
|
"symfony/cache": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/cache-contracts": {
|
||||||
|
"version": "v2.0.1"
|
||||||
|
},
|
||||||
|
"symfony/config": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/console": {
|
||||||
|
"version": "4.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "master",
|
||||||
|
"version": "4.4",
|
||||||
|
"ref": "ea8c0eda34fda57e7d5cd8cbd889e2a387e3472c"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bin/console",
|
||||||
|
"config/bootstrap.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/debug": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/dependency-injection": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/doctrine-bridge": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/dotenv": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/error-handler": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/event-dispatcher": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/event-dispatcher-contracts": {
|
||||||
|
"version": "v1.1.7"
|
||||||
|
},
|
||||||
|
"symfony/filesystem": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/finder": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/flex": {
|
||||||
|
"version": "1.0",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "master",
|
||||||
|
"version": "1.0",
|
||||||
|
"ref": "c0eeb50665f0f77226616b6038a9b06c03752d8e"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
".env"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/framework-bundle": {
|
||||||
|
"version": "4.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "master",
|
||||||
|
"version": "4.4",
|
||||||
|
"ref": "23ecaccc551fe2f74baf613811ae529eb07762fa"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/bootstrap.php",
|
||||||
|
"config/packages/cache.yaml",
|
||||||
|
"config/packages/framework.yaml",
|
||||||
|
"config/packages/test/framework.yaml",
|
||||||
|
"config/routes/dev/framework.yaml",
|
||||||
|
"config/services.yaml",
|
||||||
|
"public/index.php",
|
||||||
|
"src/Controller/.gitignore",
|
||||||
|
"src/Kernel.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/http-foundation": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/http-kernel": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/inflector": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/maker-bundle": {
|
||||||
|
"version": "1.0",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "master",
|
||||||
|
"version": "1.0",
|
||||||
|
"ref": "fadbfe33303a76e25cb63401050439aa9b1a9c7f"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"symfony/mime": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/orm-pack": {
|
||||||
|
"version": "v1.0.7"
|
||||||
|
},
|
||||||
|
"symfony/polyfill-intl-idn": {
|
||||||
|
"version": "v1.13.1"
|
||||||
|
},
|
||||||
|
"symfony/polyfill-mbstring": {
|
||||||
|
"version": "v1.13.1"
|
||||||
|
},
|
||||||
|
"symfony/polyfill-php72": {
|
||||||
|
"version": "v1.13.1"
|
||||||
|
},
|
||||||
|
"symfony/polyfill-php73": {
|
||||||
|
"version": "v1.13.1"
|
||||||
|
},
|
||||||
|
"symfony/process": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/property-access": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/routing": {
|
||||||
|
"version": "4.2",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "master",
|
||||||
|
"version": "4.2",
|
||||||
|
"ref": "683dcb08707ba8d41b7e34adb0344bfd68d248a7"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/prod/routing.yaml",
|
||||||
|
"config/packages/routing.yaml",
|
||||||
|
"config/routes.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/security-bundle": {
|
||||||
|
"version": "4.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "master",
|
||||||
|
"version": "4.4",
|
||||||
|
"ref": "30efd98dd3b4ead6e9ad4713b1efc43bbe94bf77"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/security.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/security-core": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/security-csrf": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/security-guard": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/security-http": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/service-contracts": {
|
||||||
|
"version": "v2.0.1"
|
||||||
|
},
|
||||||
|
"symfony/stopwatch": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/var-dumper": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/var-exporter": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"symfony/web-server-bundle": {
|
||||||
|
"version": "3.3",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "master",
|
||||||
|
"version": "3.3",
|
||||||
|
"ref": "dae9b39fd6717970be7601101ce5aa960bf53d9a"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"symfony/yaml": {
|
||||||
|
"version": "v4.4.4"
|
||||||
|
},
|
||||||
|
"webimpress/safe-writer": {
|
||||||
|
"version": "2.0.0"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,61 @@
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
database:
|
||||||
|
image: mariadb:10.4
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: root
|
||||||
|
MYSQL_DATABASE: logo
|
||||||
|
MYSQL_USER: logo
|
||||||
|
MYSQL_PASSWORD: logo
|
||||||
|
ports:
|
||||||
|
- 3306:3306
|
||||||
|
volumes:
|
||||||
|
- db_data:/var/lib/mysql
|
||||||
|
|
||||||
|
backend:
|
||||||
|
build:
|
||||||
|
context: misc/containers/backend
|
||||||
|
args:
|
||||||
|
HTTP_PROXY: ${HTTP_PROXY}
|
||||||
|
HTTPS_PROXY: ${HTTPS_PROXY}
|
||||||
|
http_proxy: ${http_proxy}
|
||||||
|
https_proxy: ${https_proxy}
|
||||||
|
environment:
|
||||||
|
HTTP_PROXY: ${HTTP_PROXY}
|
||||||
|
HTTPS_PROXY: ${HTTPS_PROXY}
|
||||||
|
http_proxy: ${http_proxy}
|
||||||
|
https_proxy: ${https_proxy}
|
||||||
|
ports:
|
||||||
|
- 8001:8001
|
||||||
|
volumes:
|
||||||
|
- ./backend/src:/app/src:ro
|
||||||
|
- ./backend/.env:/app/.env:ro
|
||||||
|
- ./backend/bin:/app/bin:ro
|
||||||
|
- ./backend/public:/app/public:ro
|
||||||
|
- ./backend/config:/app/config
|
||||||
|
- ./backend/composer.json:/app/composer.json
|
||||||
|
- backend_vendor:/app/vendor
|
||||||
|
tmpfs:
|
||||||
|
- /app/var
|
||||||
|
|
||||||
|
frontend:
|
||||||
|
build:
|
||||||
|
context: misc/containers/frontend
|
||||||
|
args:
|
||||||
|
HTTP_PROXY: ${HTTP_PROXY}
|
||||||
|
HTTPS_PROXY: ${HTTPS_PROXY}
|
||||||
|
http_proxy: ${http_proxy}
|
||||||
|
https_proxy: ${https_proxy}
|
||||||
|
environment:
|
||||||
|
HTTP_PROXY: ${HTTP_PROXY}
|
||||||
|
HTTPS_PROXY: ${HTTPS_PROXY}
|
||||||
|
http_proxy: ${http_proxy}
|
||||||
|
https_proxy: ${https_proxy}
|
||||||
|
ports:
|
||||||
|
- 8000:8000
|
||||||
|
volumes:
|
||||||
|
- ./frontend:/app
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db_data:
|
||||||
|
backend_vendor:
|
|
@ -0,0 +1,2 @@
|
||||||
|
/node_modules
|
||||||
|
/dist
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,59 @@
|
||||||
|
{
|
||||||
|
"name": "react-logo",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "jest",
|
||||||
|
"start": "webpack-dev-server --progress --colors --config webpack.dev.js",
|
||||||
|
"build": "webpack --progress --colors --config webpack.prod.js"
|
||||||
|
},
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/core": "^7.8.4",
|
||||||
|
"@babel/preset-env": "^7.8.4",
|
||||||
|
"@babel/preset-react": "^7.8.3",
|
||||||
|
"@babel/preset-stage-2": "^7.8.3",
|
||||||
|
"babel-core": "^6.26.3",
|
||||||
|
"babel-loader": "^8.0.6",
|
||||||
|
"babel-polyfill": "^6.26.0",
|
||||||
|
"babel-preset-env": "^1.7.0",
|
||||||
|
"babel-preset-react": "^6.24.1",
|
||||||
|
"babel-preset-stage-2": "^6.24.1",
|
||||||
|
"bulma": "^0.7.5",
|
||||||
|
"clean-webpack-plugin": "^2.0.2",
|
||||||
|
"css-loader": "^2.1.1",
|
||||||
|
"file-loader": "^3.0.1",
|
||||||
|
"html-webpack-plugin": "^3.2.0",
|
||||||
|
"package.json": "^2.0.1",
|
||||||
|
"react": "^16.12.0",
|
||||||
|
"react-dom": "^16.12.0",
|
||||||
|
"react-hot-loader": "^4.12.19",
|
||||||
|
"react-redux": "^7.1.3",
|
||||||
|
"react-router": "^5.1.2",
|
||||||
|
"react-router-dom": "^5.1.2",
|
||||||
|
"redux": "^4.0.5",
|
||||||
|
"redux-saga": "^1.1.3",
|
||||||
|
"style-loader": "^0.23.1",
|
||||||
|
"uglifyjs-webpack-plugin": "^2.1.2",
|
||||||
|
"webpack": "^4.41.5",
|
||||||
|
"webpack-cli": "^3.3.10",
|
||||||
|
"webpack-dev-server": "^3.10.2",
|
||||||
|
"webpack-merge": "^4.2.2"
|
||||||
|
},
|
||||||
|
"babel": {
|
||||||
|
"presets": [
|
||||||
|
"@babel/env",
|
||||||
|
"@babel/react"
|
||||||
|
],
|
||||||
|
"plugins": [
|
||||||
|
"react-hot-loader/babel"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"babel-jest": "^24.9.0",
|
||||||
|
"jest": "^24.9.0",
|
||||||
|
"react-test-renderer": "^16.12.0"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
export const SEND_MESSAGE = 'SEND_MESSAGE'
|
||||||
|
export const SEND_MESSAGE_SUCCESS = 'SEND_MESSAGE_SUCCESS';
|
||||||
|
export const SEND_MESSAGE_FAILURE = 'SEND_MESSAGE_FAILURE';
|
||||||
|
|
||||||
|
export function sendMessage (channel, text) {
|
||||||
|
return { type: SEND_MESSAGE, channel, text }
|
||||||
|
}
|
||||||
|
|
||||||
|
export const FETCH_MESSAGES = 'FETCH_MESSAGES'
|
||||||
|
export const FETCH_MESSAGES_SUCCESS = 'FETCH_MESSAGES_SUCCESS';
|
||||||
|
export const FETCH_MESSAGES_FAILURE = 'FETCH_MESSAGES_FAILURE';
|
||||||
|
|
||||||
|
export function fetchMessages (channel) {
|
||||||
|
return { type: FETCH_MESSAGES, channel }
|
||||||
|
}
|
||||||
|
|
||||||
|
export const STREAM_EVENTS = 'STREAM_EVENTS'
|
||||||
|
export function streamEvents (channel) {
|
||||||
|
return { type: STREAM_EVENTS, channel }
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export const LOGIN = 'LOGIN'
|
||||||
|
export const LOGIN_SUCCESS = 'LOGIN_SUCCESS';
|
||||||
|
export const LOGIN_FAILURE = 'LOGIN_FAILURE';
|
||||||
|
|
||||||
|
export function login (username, password) {
|
||||||
|
return { type: LOGIN, username, password }
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
export const ADD_PRODUCT = 'ADD_PRODUCT'
|
||||||
|
|
||||||
|
export function addProduct (name, price) {
|
||||||
|
return {type: ADD_PRODUCT, product: {name, price}}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const REMOVE_PRODUCT = 'REMOVE_PRODUCT'
|
||||||
|
|
||||||
|
export function removeProduct (name) {
|
||||||
|
return {type: REMOVE_PRODUCT, productName: name}
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
|
||||||
|
import { Component, Fragment } from 'react'
|
||||||
|
import { hot } from 'react-hot-loader'
|
||||||
|
import { HashRouter } from 'react-router-dom' // ou BrowserRouter
|
||||||
|
import { Route, Switch, Redirect } from 'react-router'
|
||||||
|
import LoginPage from './pages/login';
|
||||||
|
import ChatPage from './pages/chat';
|
||||||
|
|
||||||
|
require('bulma/css/bulma.min.css')
|
||||||
|
|
||||||
|
class App extends Component {
|
||||||
|
render () {
|
||||||
|
return (
|
||||||
|
<Fragment>
|
||||||
|
<HashRouter>
|
||||||
|
<Switch>
|
||||||
|
<Route path='/login' exact component={LoginPage} />
|
||||||
|
<Route path='/chat/:channel' component={ChatPage} />
|
||||||
|
<Route path='/chat' component={ChatPage} />
|
||||||
|
<Route component={() => <Redirect to="/login" />} />
|
||||||
|
</Switch>
|
||||||
|
</HashRouter>
|
||||||
|
</Fragment>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default hot(module)(App)
|
|
@ -0,0 +1,21 @@
|
||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Counter snapshot 1`] = `
|
||||||
|
<div>
|
||||||
|
Count:
|
||||||
|
<span>
|
||||||
|
0
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<button
|
||||||
|
onClick={[Function]}
|
||||||
|
>
|
||||||
|
+1
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
onClick={[Function]}
|
||||||
|
>
|
||||||
|
-1
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
`;
|
|
@ -0,0 +1,32 @@
|
||||||
|
import React from 'react'
|
||||||
|
|
||||||
|
export default class Clock extends React.Component {
|
||||||
|
|
||||||
|
constructor(props) {
|
||||||
|
super(props)
|
||||||
|
// Initialisation du "state" du composant
|
||||||
|
this.state = {
|
||||||
|
time: new Date(),
|
||||||
|
foo: "bar"
|
||||||
|
}
|
||||||
|
|
||||||
|
this.tick = this.tick.bind(this);
|
||||||
|
// On appelle la méthode tick() du composant
|
||||||
|
// toutes les secondes
|
||||||
|
setInterval(this.tick, this.props.interval);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Méthode de rendu du composant
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div>Time: { this.state.time.toString() }</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// La méthode tick() met à jour le state du composant avec
|
||||||
|
// la date courante
|
||||||
|
tick() {
|
||||||
|
this.setState({ time: new Date() });
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
import React from 'react'
|
||||||
|
|
||||||
|
export default class Counter extends React.Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props)
|
||||||
|
// Initialisation du "state" du composant
|
||||||
|
this.state = {
|
||||||
|
count: 0
|
||||||
|
}
|
||||||
|
// On "lie" les méthodes de la classe à l'instance
|
||||||
|
this.increment = this.increment.bind(this)
|
||||||
|
this.decrement = this.decrement.bind(this)
|
||||||
|
}
|
||||||
|
// Méthode de rendu du composant
|
||||||
|
render() {
|
||||||
|
console.log(this.props.match);
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
Count: <span>{ this.state.count }</span>
|
||||||
|
<button onClick={ this.increment }>+1</button>
|
||||||
|
<button onClick={ this.decrement }>-1</button>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
// La méthode increment() incrémente la valeur du compteur de 1
|
||||||
|
increment() {
|
||||||
|
this.setState(prevState => ({ count: prevState.count+1 }))
|
||||||
|
}
|
||||||
|
// La méthode decrement() décrémente la valeur du compteur de 1
|
||||||
|
decrement() {
|
||||||
|
this.setState(prevState => ({ count: prevState.count-1 }))
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
/* globals test, expect */
|
||||||
|
import React from 'react';
|
||||||
|
import Counter from './counter'
|
||||||
|
import renderer from 'react-test-renderer'
|
||||||
|
|
||||||
|
test('Counter snapshot', () => {
|
||||||
|
|
||||||
|
const component = renderer.create(<Counter />)
|
||||||
|
|
||||||
|
let tree = component.toJSON()
|
||||||
|
|
||||||
|
// Vérifier que le composant n'a pas changé depuis le dernier
|
||||||
|
// snapshot.
|
||||||
|
// Voir https://facebook.github.io/jest/docs/en/snapshot-testing.html
|
||||||
|
// pour plus d'informations
|
||||||
|
expect(tree).toMatchSnapshot()
|
||||||
|
|
||||||
|
// L'API expect() de Jest est disponible à l'adresse
|
||||||
|
// https://facebook.github.io/jest/docs/en/expect.html
|
||||||
|
|
||||||
|
// Il est possible d'effectuer des vérifications plus avancées
|
||||||
|
// grâce au projet Enzyme (vérification du DOM, etc)
|
||||||
|
// Voir http://airbnb.io/enzyme/ et
|
||||||
|
// https://facebook.github.io/jest/docs/en/tutorial-react.html#dom-testing
|
||||||
|
|
||||||
|
})
|
|
@ -0,0 +1,41 @@
|
||||||
|
import React from 'react'
|
||||||
|
import { connect } from 'react-redux'
|
||||||
|
import { addProduct } from '../actions/products'
|
||||||
|
|
||||||
|
|
||||||
|
class MyForm extends React.Component {
|
||||||
|
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {name: ''};
|
||||||
|
this.handleChange = this.handleChange.bind(this);
|
||||||
|
this.handleSubmit = this.handleSubmit.bind(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
handleChange(evt) {
|
||||||
|
this.setState({ name: evt.target.value });
|
||||||
|
}
|
||||||
|
|
||||||
|
handleSubmit(evt) {
|
||||||
|
console.log(`Votre nom est ${this.state.name}`);
|
||||||
|
evt.preventDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
this.props.dispatch(addProduct('pomme', 10));
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<form onSubmit={this.handleSubmit}>
|
||||||
|
<label>
|
||||||
|
Nom:
|
||||||
|
<input type="text" value={this.state.name} onChange={this.handleChange} />
|
||||||
|
</label>
|
||||||
|
<input type="submit" value="Soumettre" />
|
||||||
|
</form>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect()(MyForm)
|
|
@ -0,0 +1,12 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Insight</title>
|
||||||
|
<% for (var css in htmlWebpackPlugin.files.css) { %>
|
||||||
|
<link href="<%= htmlWebpackPlugin.files.css[css] %>" rel="stylesheet">
|
||||||
|
<% } %>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,13 @@
|
||||||
|
import ReactDOM from 'react-dom'
|
||||||
|
import App from './app'
|
||||||
|
import { configureStore } from './store/store'
|
||||||
|
import { Provider } from 'react-redux'
|
||||||
|
|
||||||
|
const store = configureStore()
|
||||||
|
|
||||||
|
ReactDOM.render(
|
||||||
|
<Provider store={store}>
|
||||||
|
<App />
|
||||||
|
</Provider>,
|
||||||
|
document.getElementById('app')
|
||||||
|
)
|
|
@ -0,0 +1,82 @@
|
||||||
|
import React from 'react'
|
||||||
|
import Page from './page';
|
||||||
|
import { connect } from 'react-redux';
|
||||||
|
import { fetchMessages, sendMessage, streamEvents } from '../actions/chat';
|
||||||
|
|
||||||
|
export class ChatPage extends React.Component {
|
||||||
|
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
message: ''
|
||||||
|
}
|
||||||
|
this.handleSendMessage = this.handleSendMessage.bind(this);
|
||||||
|
this.handleKeyDown = this.handleKeyDown.bind(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const channel = "default";
|
||||||
|
const { chat } = this.props;
|
||||||
|
const messages = channel in chat.messagesByChannel ? chat.messagesByChannel[channel] : [];
|
||||||
|
const users = [];
|
||||||
|
return (
|
||||||
|
<Page>
|
||||||
|
<div className="columns">
|
||||||
|
<div className="column is-8 is-offset-2">
|
||||||
|
<div className="box">
|
||||||
|
<div className="tile">
|
||||||
|
<div className="tile is-parent is-vertical is-10">
|
||||||
|
<div className="tile is-child">
|
||||||
|
<b>Chat</b>
|
||||||
|
<ul>
|
||||||
|
{
|
||||||
|
messages.map(msg => {
|
||||||
|
return (
|
||||||
|
<li key={msg.ID}><span className="is-uppercase">[{msg.Username}]</span> <span>{msg.Text}</span></li>
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
<div className="field">
|
||||||
|
<div className="control">
|
||||||
|
<input className="input" type="text" placeholder="Hello everyone !"
|
||||||
|
value={this.state.message}
|
||||||
|
onChange={this.handleSendMessage}
|
||||||
|
onKeyDown={this.handleKeyDown} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="tile is-parent is-2">
|
||||||
|
<b>Utilisateurs</b>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
this.props.dispatch(fetchMessages("default"));
|
||||||
|
this.props.dispatch(streamEvents("default"));
|
||||||
|
}
|
||||||
|
|
||||||
|
handleSendMessage(evt) {
|
||||||
|
this.setState({ message: evt.target.value });
|
||||||
|
}
|
||||||
|
|
||||||
|
handleKeyDown(evt) {
|
||||||
|
if (evt.keyCode !== 13) return;
|
||||||
|
this.props.dispatch(sendMessage("default", this.state.message));
|
||||||
|
this.setState({message: ""});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect(state => {
|
||||||
|
return {
|
||||||
|
chat: state.chat
|
||||||
|
}
|
||||||
|
})(ChatPage)
|
|
@ -0,0 +1,53 @@
|
||||||
|
import React from 'react'
|
||||||
|
import Page from './page';
|
||||||
|
import { connect } from 'react-redux';
|
||||||
|
import { login } from '../actions/login';
|
||||||
|
|
||||||
|
export class LoginPage extends React.Component {
|
||||||
|
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.login = this.login.bind(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<Page>
|
||||||
|
<div className="columns">
|
||||||
|
<div className="column is-4 is-offset-4">
|
||||||
|
<div className="box">
|
||||||
|
<div className="field">
|
||||||
|
<label className="label">Login</label>
|
||||||
|
<div className="control">
|
||||||
|
<input type="text" className="input" placeholder="My login..." />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="field">
|
||||||
|
<label className="label">Password</label>
|
||||||
|
<div className="control">
|
||||||
|
<input className="input" type="password" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button className="button is-primary" onClick={this.login}>Login</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Page>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidUpdate() {
|
||||||
|
if (this.props.user.isLoggedIn) this.props.history.push("/chat");
|
||||||
|
}
|
||||||
|
|
||||||
|
login() {
|
||||||
|
this.props.dispatch(login("foo", "bar"))
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect(state => {
|
||||||
|
return {
|
||||||
|
user: state.user
|
||||||
|
}
|
||||||
|
})(LoginPage)
|
|
@ -0,0 +1,11 @@
|
||||||
|
import React from 'react'
|
||||||
|
|
||||||
|
export default class Page extends React.PureComponent {
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="container-fluid">
|
||||||
|
{ this.props.children }
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
import { LOGIN_SUCCESS, LOGIN_FAILURE } from '../actions/login';
|
||||||
|
import { FETCH_MESSAGES_SUCCESS } from '../actions/chat';
|
||||||
|
|
||||||
|
const defaultState = {
|
||||||
|
messagesByChannel: {},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function chatReducer(state = defaultState, action) {
|
||||||
|
switch (action.type) {
|
||||||
|
case FETCH_MESSAGES_SUCCESS:
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
messagesByChannel: {
|
||||||
|
...state.messagesByChannel,
|
||||||
|
[action.channel]: [...action.data.Messages]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
case 'CHANNEL_EVENT':
|
||||||
|
switch(action.event) {
|
||||||
|
case "message":
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
messagesByChannel: {
|
||||||
|
...state.messagesByChannel,
|
||||||
|
[action.data.Channel]: [
|
||||||
|
...state.messagesByChannel[action.data.Channel],
|
||||||
|
action.data.Message
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
return state;
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
import { LOGIN_SUCCESS, LOGIN_FAILURE } from '../actions/login';
|
||||||
|
|
||||||
|
const defaultState = {
|
||||||
|
isLoggedIn: false,
|
||||||
|
username: null,
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function loginReducer(state = defaultState, action) {
|
||||||
|
switch (action.type) {
|
||||||
|
case LOGIN_SUCCESS:
|
||||||
|
return { ...state, isLoggedIn: true, username: action.data.Username };
|
||||||
|
case LOGIN_FAILURE:
|
||||||
|
return { ...state, isLoggedIn: false, username: null };
|
||||||
|
}
|
||||||
|
return state;
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
import { ADD_PRODUCT, REMOVE_PRODUCT } from '../actions/products';
|
||||||
|
|
||||||
|
export const rootReducer = (state, action) => {
|
||||||
|
|
||||||
|
console.log(`Action: ${JSON.stringify(action)}`)
|
||||||
|
|
||||||
|
switch (action.type) {
|
||||||
|
|
||||||
|
case ADD_PRODUCT:
|
||||||
|
// L'action est de type ADD_PRODUCT
|
||||||
|
// On ajoute le produit dans la liste et
|
||||||
|
// on retourne un nouvel état modifié
|
||||||
|
return {
|
||||||
|
products: [...state.products, action.product]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
case REMOVE_PRODUCT:
|
||||||
|
// L'action est de type REMOVE_PRODUCT
|
||||||
|
// On filtre la liste des produits et on
|
||||||
|
// retourne un nouvel état modifié
|
||||||
|
return {
|
||||||
|
products: state.products.filter(p => p.name !== action.productName)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Si l'action n'est pas gérée, on retourne l'état
|
||||||
|
// sans le modifier
|
||||||
|
return state
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,98 @@
|
||||||
|
import { call, put, take } from 'redux-saga/effects';
|
||||||
|
import { eventChannel } from 'redux-saga'
|
||||||
|
import {
|
||||||
|
SEND_MESSAGE_FAILURE, SEND_MESSAGE_SUCCESS,
|
||||||
|
FETCH_MESSAGES_FAILURE, FETCH_MESSAGES_SUCCESS
|
||||||
|
} from '../actions/chat';
|
||||||
|
|
||||||
|
export function* sendMessageSaga(action) {
|
||||||
|
|
||||||
|
let result;
|
||||||
|
try {
|
||||||
|
result = yield call(sendMessage, action.channel, action.text);
|
||||||
|
} catch(err) {
|
||||||
|
yield put({ type: SEND_MESSAGE_FAILURE, err });
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('Error' in result) {
|
||||||
|
yield put({type: SEND_MESSAGE_FAILURE, err: result.Error});
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
yield put({type: SEND_MESSAGE_SUCCESS, data: result.Data });
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function sendMessage(channel, text) {
|
||||||
|
return fetch(`http://192.168.0.126:3000/channels/${channel}`, {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({
|
||||||
|
Text: text,
|
||||||
|
}),
|
||||||
|
mode: 'cors',
|
||||||
|
credentials: 'include'
|
||||||
|
})
|
||||||
|
.then(res => res.json())
|
||||||
|
}
|
||||||
|
|
||||||
|
export function* fetchMessagesSaga(action) {
|
||||||
|
|
||||||
|
let result;
|
||||||
|
try {
|
||||||
|
result = yield call(fetchMessages, action.channel);
|
||||||
|
} catch(err) {
|
||||||
|
yield put({ type: FETCH_MESSAGES_FAILURE, err });
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('Error' in result) {
|
||||||
|
yield put({type: FETCH_MESSAGES_FAILURE, err: result.Error});
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
yield put({type: FETCH_MESSAGES_SUCCESS, channel: action.channel, data: result.Data });
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fetchMessages(channel) {
|
||||||
|
return fetch(`http://192.168.0.126:3000/channels/${channel}`, {
|
||||||
|
mode: 'cors',
|
||||||
|
credentials: 'include'
|
||||||
|
})
|
||||||
|
.then(res => res.json())
|
||||||
|
}
|
||||||
|
|
||||||
|
function channelEvents(channel) {
|
||||||
|
return eventChannel(emitter => {
|
||||||
|
|
||||||
|
const eventSource = new EventSource(
|
||||||
|
`http://192.168.0.126:3000/channels/${channel}/stream`,
|
||||||
|
{ withCredentials: true }
|
||||||
|
);
|
||||||
|
|
||||||
|
const emit = evt => {
|
||||||
|
emitter({type: evt.type, data: evt.data});
|
||||||
|
};
|
||||||
|
|
||||||
|
eventSource.addEventListener("joined", emit);
|
||||||
|
eventSource.addEventListener("left", emit);
|
||||||
|
eventSource.addEventListener("message", emit);
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
eventSource.removeEventListener("joined", emit)
|
||||||
|
eventSource.removeEventListener("left", emit)
|
||||||
|
eventSource.removeEventListener("message", emit)
|
||||||
|
eventSource.close()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export function* streamEventsSaga(action) {
|
||||||
|
const stream = yield call(channelEvents, action.channel)
|
||||||
|
while (true) {
|
||||||
|
let event = yield take(stream)
|
||||||
|
yield put({ type: 'CHANNEL_EVENT', event: event.type, data: JSON.parse(event.data) });
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
import { call, put } from 'redux-saga/effects';
|
||||||
|
import { LOGIN_FAILURE, LOGIN_SUCCESS } from '../actions/login';
|
||||||
|
|
||||||
|
export default function* loginSaga(action) {
|
||||||
|
|
||||||
|
let result;
|
||||||
|
try {
|
||||||
|
result = yield call(doLogin, action.username, action.password);
|
||||||
|
} catch(err) {
|
||||||
|
yield put({ type: LOGIN_FAILURE, err });
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('Error' in result) {
|
||||||
|
yield put({type: LOGIN_FAILURE, err: result.Error});
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
yield put({type: LOGIN_SUCCESS, data: result.Data });
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function doLogin(username, password) {
|
||||||
|
return fetch('http://192.168.0.126:3000/login', {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({
|
||||||
|
Username: username,
|
||||||
|
Password: password
|
||||||
|
}),
|
||||||
|
mode: 'cors',
|
||||||
|
credentials: 'include'
|
||||||
|
})
|
||||||
|
.then(res => res.json())
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
import { all, takeLatest } from 'redux-saga/effects';
|
||||||
|
import loginSaga from './login';
|
||||||
|
import { LOGIN } from '../actions/login';
|
||||||
|
import { SEND_MESSAGE, FETCH_MESSAGES, STREAM_EVENTS } from '../actions/chat';
|
||||||
|
import { sendMessageSaga, fetchMessagesSaga, streamEventsSaga } from './chat';
|
||||||
|
|
||||||
|
export default function* rootSaga() {
|
||||||
|
yield all([
|
||||||
|
takeLatest(LOGIN, loginSaga),
|
||||||
|
takeLatest(SEND_MESSAGE, sendMessageSaga),
|
||||||
|
takeLatest(FETCH_MESSAGES, fetchMessagesSaga),
|
||||||
|
takeLatest(STREAM_EVENTS, streamEventsSaga)
|
||||||
|
]);
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
import { createStore, applyMiddleware, combineReducers, compose } from 'redux'
|
||||||
|
import loginReducer from '../reducers/login'
|
||||||
|
import rootSaga from '../sagas/root'
|
||||||
|
import createSagaMiddleware from 'redux-saga'
|
||||||
|
import chatReducer from '../reducers/chat';
|
||||||
|
|
||||||
|
const sagaMiddleware = createSagaMiddleware()
|
||||||
|
|
||||||
|
const rootReducer = combineReducers({
|
||||||
|
user: loginReducer,
|
||||||
|
chat: chatReducer,
|
||||||
|
});
|
||||||
|
|
||||||
|
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
|
||||||
|
|
||||||
|
export function configureStore(initialState = {}) {
|
||||||
|
const store = createStore(
|
||||||
|
rootReducer,
|
||||||
|
initialState,
|
||||||
|
composeEnhancers(
|
||||||
|
applyMiddleware(sagaMiddleware)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
sagaMiddleware.run(rootSaga);
|
||||||
|
return store;
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
/* globals test, expect, jest */
|
||||||
|
import { addProduct, removeProduct } from '../actions/products'
|
||||||
|
import { configureStore } from './store'
|
||||||
|
|
||||||
|
test('Ajout/suppression des produits', () => {
|
||||||
|
// On crée une instance de notre store
|
||||||
|
// avec le state par défaut
|
||||||
|
const store = configureStore()
|
||||||
|
|
||||||
|
// On crée un "faux" subscriber
|
||||||
|
// pour vérifier que l'état du store
|
||||||
|
// a bien été modifié le nombre de fois voulu
|
||||||
|
const subscriber = jest.fn()
|
||||||
|
|
||||||
|
// On attache notre faux subscriber
|
||||||
|
// au store
|
||||||
|
store.subscribe(subscriber)
|
||||||
|
|
||||||
|
// On "dispatch" nos actions
|
||||||
|
store.dispatch(addProduct('pomme', 5))
|
||||||
|
store.dispatch(addProduct('orange', 7))
|
||||||
|
store.dispatch(addProduct('orange', 10))
|
||||||
|
store.dispatch(removeProduct('pomme'))
|
||||||
|
|
||||||
|
// On s'assure que notre subscriber a bien été
|
||||||
|
// appelé
|
||||||
|
expect(subscriber).toHaveBeenCalledTimes(4)
|
||||||
|
|
||||||
|
const state = store.getState()
|
||||||
|
|
||||||
|
// On s'assure que l'état du store correspond
|
||||||
|
// à ce qu'on attend
|
||||||
|
expect(state).toMatchObject({
|
||||||
|
products: [
|
||||||
|
{name: 'orange', price: 7}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
|
@ -0,0 +1,31 @@
|
||||||
|
const webpack = require('webpack')
|
||||||
|
const HTMLPlugin = require('html-webpack-plugin')
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
entry: {
|
||||||
|
main: ['babel-polyfill', './src/index.js']
|
||||||
|
},
|
||||||
|
node: {
|
||||||
|
fs: 'empty'
|
||||||
|
},
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{ test: /\.(js|jsx)$/, exclude: /node_modules/, use: ['babel-loader'] },
|
||||||
|
{ test: /\.(css)$/, use: ['style-loader', 'css-loader'] },
|
||||||
|
{ test: /\.(png|jpg|jpeg|gif|svg|woff|woff2|ttf|eot)(\?.*$|$)/, use: ['file-loader'] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
resolve: {
|
||||||
|
extensions: ['*', '.js', '.jsx']
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
new webpack.ProvidePlugin({
|
||||||
|
'React': 'react'
|
||||||
|
}),
|
||||||
|
new HTMLPlugin({
|
||||||
|
title: 'MyApp',
|
||||||
|
hash: true,
|
||||||
|
template: 'src/index.html'
|
||||||
|
})
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
const webpack = require('webpack')
|
||||||
|
const common = require('./webpack.common.js')
|
||||||
|
const merge = require('webpack-merge')
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
module.exports = merge(common, {
|
||||||
|
devtool: 'inline-source-map',
|
||||||
|
mode: 'development',
|
||||||
|
plugins: [
|
||||||
|
new webpack.HotModuleReplacementPlugin()
|
||||||
|
],
|
||||||
|
output: {
|
||||||
|
path: path.join(__dirname, 'public'),
|
||||||
|
publicPath: '/',
|
||||||
|
filename: '[name].[hash].js'
|
||||||
|
},
|
||||||
|
devServer: {
|
||||||
|
contentBase: './public',
|
||||||
|
hot: true
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,25 @@
|
||||||
|
const common = require('./webpack.common.js')
|
||||||
|
const merge = require('webpack-merge')
|
||||||
|
const path = require('path')
|
||||||
|
const webpack = require('webpack')
|
||||||
|
const CleanWebpackPlugin = require('clean-webpack-plugin')
|
||||||
|
const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
|
||||||
|
|
||||||
|
module.exports = merge(common, {
|
||||||
|
mode: 'production',
|
||||||
|
output: {
|
||||||
|
path: path.join(__dirname, 'dist'),
|
||||||
|
publicPath: '/',
|
||||||
|
filename: '[name].[chunkhash].js'
|
||||||
|
},
|
||||||
|
devtool: 'source-map',
|
||||||
|
plugins: [
|
||||||
|
new CleanWebpackPlugin({dir: ['dist'] }),
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
'process.env.NODE_ENV': JSON.stringify('production')
|
||||||
|
}),
|
||||||
|
new UglifyJSPlugin({
|
||||||
|
sourceMap: true
|
||||||
|
})
|
||||||
|
]
|
||||||
|
})
|
|
@ -0,0 +1,29 @@
|
||||||
|
FROM alpine:3.11
|
||||||
|
|
||||||
|
ARG HTTP_PROXY=
|
||||||
|
ARG HTTPS_PROXY=
|
||||||
|
ARG http_proxy=
|
||||||
|
ARG https_proxy=
|
||||||
|
|
||||||
|
ENV HTTP_PROXY=
|
||||||
|
ENV HTTPS_PROXY=
|
||||||
|
ENV http_proxy=
|
||||||
|
ENV https_proxy=
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
php7 php7-xml php7-ctype php7-curl php7-dom php7-session php7-pdo php7-tokenizer php7-pdo_mysql \
|
||||||
|
composer bash
|
||||||
|
|
||||||
|
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
|
||||||
|
RUN chmod +x /usr/local/bin/docker-entrypoint
|
||||||
|
|
||||||
|
COPY wait-for-it.sh /usr/local/bin/wait-for-it
|
||||||
|
RUN chmod +x /usr/local/bin/wait-for-it
|
||||||
|
|
||||||
|
RUN mkdir -p /app
|
||||||
|
|
||||||
|
COPY env.local /app/.env.local
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
CMD /usr/local/bin/docker-entrypoint
|
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
FIRST_RUN_FLAG_FILE="/.first-run"
|
||||||
|
|
||||||
|
if [ ! -e "$FIRST_RUN_FLAG_FILE" ]; then
|
||||||
|
echo "Installing dependencies. Please wait..."
|
||||||
|
composer install
|
||||||
|
|
||||||
|
echo "Waiting for database..."
|
||||||
|
wait-for-it database:3306 -- echo "Database is up !"
|
||||||
|
|
||||||
|
echo "Applying database migrations. Please wait..."
|
||||||
|
bin/console doctrine:migrations:migrate --no-interaction
|
||||||
|
|
||||||
|
touch "$FIRST_RUN_FLAG_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
bin/console server:run 0.0.0.0:8001
|
|
@ -0,0 +1,2 @@
|
||||||
|
TRUSTED_HOSTS='^(localhost|127.0.0.1)$'
|
||||||
|
DATABASE_URL=mysql://logo:logo@database:3306/logo?server_version=mariadb-10.4.12
|
|
@ -0,0 +1,203 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Use this script to test if a given TCP host/port are available
|
||||||
|
|
||||||
|
# The MIT License (MIT)
|
||||||
|
# Copyright (c) 2016 Giles Hall
|
||||||
|
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
# this software and associated documentation files (the "Software"), to deal in
|
||||||
|
# the Software without restriction, including without limitation the rights to
|
||||||
|
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||||
|
# of the Software, and to permit persons to whom the Software is furnished to do
|
||||||
|
# so, subject to the following conditions:
|
||||||
|
|
||||||
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
|
# copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
WAITFORIT_cmdname=${0##*/}
|
||||||
|
|
||||||
|
echoerr() { if [[ $WAITFORIT_QUIET -ne 1 ]]; then echo "$@" 1>&2; fi }
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
cat << USAGE >&2
|
||||||
|
Usage:
|
||||||
|
$WAITFORIT_cmdname host:port [-s] [-t timeout] [-- command args]
|
||||||
|
-h HOST | --host=HOST Host or IP under test
|
||||||
|
-p PORT | --port=PORT TCP port under test
|
||||||
|
Alternatively, you specify the host and port as host:port
|
||||||
|
-s | --strict Only execute subcommand if the test succeeds
|
||||||
|
-q | --quiet Don't output any status messages
|
||||||
|
-t TIMEOUT | --timeout=TIMEOUT
|
||||||
|
Timeout in seconds, zero for no timeout
|
||||||
|
-- COMMAND ARGS Execute command with args after the test finishes
|
||||||
|
USAGE
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
wait_for()
|
||||||
|
{
|
||||||
|
if [[ $WAITFORIT_TIMEOUT -gt 0 ]]; then
|
||||||
|
echoerr "$WAITFORIT_cmdname: waiting $WAITFORIT_TIMEOUT seconds for $WAITFORIT_HOST:$WAITFORIT_PORT"
|
||||||
|
else
|
||||||
|
echoerr "$WAITFORIT_cmdname: waiting for $WAITFORIT_HOST:$WAITFORIT_PORT without a timeout"
|
||||||
|
fi
|
||||||
|
WAITFORIT_start_ts=$(date +%s)
|
||||||
|
while :
|
||||||
|
do
|
||||||
|
if [[ $WAITFORIT_ISBUSY -eq 1 ]]; then
|
||||||
|
nc -z $WAITFORIT_HOST $WAITFORIT_PORT
|
||||||
|
WAITFORIT_result=$?
|
||||||
|
else
|
||||||
|
(echo > /dev/tcp/$WAITFORIT_HOST/$WAITFORIT_PORT) >/dev/null 2>&1
|
||||||
|
WAITFORIT_result=$?
|
||||||
|
fi
|
||||||
|
if [[ $WAITFORIT_result -eq 0 ]]; then
|
||||||
|
WAITFORIT_end_ts=$(date +%s)
|
||||||
|
echoerr "$WAITFORIT_cmdname: $WAITFORIT_HOST:$WAITFORIT_PORT is available after $((WAITFORIT_end_ts - WAITFORIT_start_ts)) seconds"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
return $WAITFORIT_result
|
||||||
|
}
|
||||||
|
|
||||||
|
wait_for_wrapper()
|
||||||
|
{
|
||||||
|
# In order to support SIGINT during timeout: http://unix.stackexchange.com/a/57692
|
||||||
|
if [[ $WAITFORIT_QUIET -eq 1 ]]; then
|
||||||
|
timeout $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --quiet --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT &
|
||||||
|
else
|
||||||
|
timeout $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT &
|
||||||
|
fi
|
||||||
|
WAITFORIT_PID=$!
|
||||||
|
trap "kill -INT -$WAITFORIT_PID" INT
|
||||||
|
wait $WAITFORIT_PID
|
||||||
|
WAITFORIT_RESULT=$?
|
||||||
|
if [[ $WAITFORIT_RESULT -ne 0 ]]; then
|
||||||
|
echoerr "$WAITFORIT_cmdname: timeout occurred after waiting $WAITFORIT_TIMEOUT seconds for $WAITFORIT_HOST:$WAITFORIT_PORT"
|
||||||
|
fi
|
||||||
|
return $WAITFORIT_RESULT
|
||||||
|
}
|
||||||
|
|
||||||
|
# process arguments
|
||||||
|
while [[ $# -gt 0 ]]
|
||||||
|
do
|
||||||
|
case "$1" in
|
||||||
|
*:* )
|
||||||
|
WAITFORIT_hostport=(${1//:/ })
|
||||||
|
WAITFORIT_HOST=${WAITFORIT_hostport[0]}
|
||||||
|
WAITFORIT_PORT=${WAITFORIT_hostport[1]}
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
--child)
|
||||||
|
WAITFORIT_CHILD=1
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-q | --quiet)
|
||||||
|
WAITFORIT_QUIET=1
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-s | --strict)
|
||||||
|
WAITFORIT_STRICT=1
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-h)
|
||||||
|
WAITFORIT_HOST="$2"
|
||||||
|
if [[ $WAITFORIT_HOST == "" ]]; then break; fi
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--host=*)
|
||||||
|
WAITFORIT_HOST="${1#*=}"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-p)
|
||||||
|
WAITFORIT_PORT="$2"
|
||||||
|
if [[ $WAITFORIT_PORT == "" ]]; then break; fi
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--port=*)
|
||||||
|
WAITFORIT_PORT="${1#*=}"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-t)
|
||||||
|
WAITFORIT_TIMEOUT="$2"
|
||||||
|
if [[ $WAITFORIT_TIMEOUT == "" ]]; then break; fi
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--timeout=*)
|
||||||
|
WAITFORIT_TIMEOUT="${1#*=}"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
shift
|
||||||
|
WAITFORIT_CLI=("$@")
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
--help)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echoerr "Unknown argument: $1"
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "$WAITFORIT_HOST" == "" || "$WAITFORIT_PORT" == "" ]]; then
|
||||||
|
echoerr "Error: you need to provide a host and port to test."
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
|
||||||
|
WAITFORIT_TIMEOUT=${WAITFORIT_TIMEOUT:-15}
|
||||||
|
WAITFORIT_STRICT=${WAITFORIT_STRICT:-0}
|
||||||
|
WAITFORIT_CHILD=${WAITFORIT_CHILD:-0}
|
||||||
|
WAITFORIT_QUIET=${WAITFORIT_QUIET:-0}
|
||||||
|
|
||||||
|
# Check to see if timeout is from busybox?
|
||||||
|
WAITFORIT_TIMEOUT_PATH=$(type -p timeout)
|
||||||
|
WAITFORIT_TIMEOUT_PATH=$(realpath $WAITFORIT_TIMEOUT_PATH 2>/dev/null || readlink -f $WAITFORIT_TIMEOUT_PATH)
|
||||||
|
|
||||||
|
WAITFORIT_BUSYTIMEFLAG=""
|
||||||
|
if [[ $WAITFORIT_TIMEOUT_PATH =~ "busybox" ]]; then
|
||||||
|
WAITFORIT_ISBUSY=1
|
||||||
|
# Check if busybox timeout uses -t flag
|
||||||
|
# (recent Alpine versions don't support -t anymore)
|
||||||
|
if timeout &>/dev/stdout | grep -q -e '-t '; then
|
||||||
|
WAITFORIT_BUSYTIMEFLAG="-t"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
WAITFORIT_ISBUSY=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $WAITFORIT_CHILD -gt 0 ]]; then
|
||||||
|
wait_for
|
||||||
|
WAITFORIT_RESULT=$?
|
||||||
|
exit $WAITFORIT_RESULT
|
||||||
|
else
|
||||||
|
if [[ $WAITFORIT_TIMEOUT -gt 0 ]]; then
|
||||||
|
wait_for_wrapper
|
||||||
|
WAITFORIT_RESULT=$?
|
||||||
|
else
|
||||||
|
wait_for
|
||||||
|
WAITFORIT_RESULT=$?
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $WAITFORIT_CLI != "" ]]; then
|
||||||
|
if [[ $WAITFORIT_RESULT -ne 0 && $WAITFORIT_STRICT -eq 1 ]]; then
|
||||||
|
echoerr "$WAITFORIT_cmdname: strict mode, refusing to execute subprocess"
|
||||||
|
exit $WAITFORIT_RESULT
|
||||||
|
fi
|
||||||
|
exec "${WAITFORIT_CLI[@]}"
|
||||||
|
else
|
||||||
|
exit $WAITFORIT_RESULT
|
||||||
|
fi
|
|
@ -0,0 +1,20 @@
|
||||||
|
FROM alpine:3.11
|
||||||
|
|
||||||
|
ARG HTTP_PROXY=
|
||||||
|
ARG HTTPS_PROXY=
|
||||||
|
ARG http_proxy=
|
||||||
|
ARG https_proxy=
|
||||||
|
|
||||||
|
ENV HTTP_PROXY=
|
||||||
|
ENV HTTPS_PROXY=
|
||||||
|
ENV http_proxy=
|
||||||
|
ENV https_proxy=
|
||||||
|
|
||||||
|
RUN apk add --no-cache nodejs bash
|
||||||
|
|
||||||
|
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
|
||||||
|
RUN chmod +x /usr/local/bin/docker-entrypoint
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
CMD /usr/local/bin/docker-entrypoint
|
|
@ -0,0 +1 @@
|
||||||
|
#!/bin/sh
|
Loading…
Reference in New Issue