diff --git a/.gitignore b/.gitignore index 57f7187..8cb87de 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,12 @@ -vendor -source/projects/doctrine-* -source/api -output_* -app/config/local.yml -tests/Doctrine/Website/Tests/Docs/resources/projects -tests/Doctrine/Website/Tests/Docs/resources/docs -tests/Doctrine/Website/Tests/Docs/resources/sculpin-source +/config/local.yml +/vendor +/source/projects/doctrine-* +/source/projects/doctrine1 +/source/api +/tests/Doctrine/Website/Tests/Docs/resources/projects +/tests/Doctrine/Website/Tests/Docs/resources/docs +/tests/Doctrine/Website/Tests/Docs/resources/sculpin-source /docs -projects -build-* /.phpcs-cache - +/build-* +/projects diff --git a/.travis.yml b/.travis.yml index 71f162d..0138969 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,26 +18,37 @@ install: - rm composer.lock - travis_retry composer update -n --prefer-dist -script: - - cp app/config/local.yml.dist app/config/local.yml - - ./vendor/bin/sculpin build-docs --sync-git - - ./vendor/bin/sculpin build-website - - ./vendor/bin/phpunit --debug - jobs: include: - - stage: Coverage + - stage: Test + env: DEPENDENCIES=low + install: + - rm composer.lock + - travis_retry composer update --prefer-dist --prefer-lowest + script: + - cp config/local.yml.dist config/local.yml + - ./vendor/bin/phpunit + + - stage: Test + env: COVERAGE before_script: - mv ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini{.disabled,} - if [[ ! $(php -m | grep -si xdebug) ]]; then echo "xdebug required for coverage"; exit 1; fi script: + - cp config/local.yml.dist config/local.yml + - ./bin/console build-docs --sync-git + - ./bin/console build-website - ./vendor/bin/phpunit --coverage-clover clover.xml after_script: - wget https://scrutinizer-ci.com/ocular.phar - php ocular.phar code-coverage:upload --format=php-clover clover.xml - - stage: Coding standard - install: - - travis_retry composer install -n --prefer-dist - script: - - ./vendor/bin/phpcs + - stage: Code Quality + env: CODING_STANDARDS + install: travis_retry composer install --prefer-dist + script: ./vendor/bin/phpcs + + - stage: Code Quality + env: STATIC_ANALYSIS + install: travis_retry composer install --prefer-dist + script: vendor/bin/phpstan analyse diff --git a/app/SculpinKernel.php b/app/SculpinKernel.php deleted file mode 100644 index 82a796e..0000000 --- a/app/SculpinKernel.php +++ /dev/null @@ -1,16 +0,0 @@ - - The Doctrine Project is the home to several PHP libraries primarily - focused on database storage and object mapping. The core projects - are the Object Relational Mapper (ORM) and the Database Abstraction - Layer (DBAL) it is built upon. diff --git a/app/config/sculpin_site_prod.yml b/app/config/sculpin_site_prod.yml deleted file mode 100644 index ca8ac13..0000000 --- a/app/config/sculpin_site_prod.yml +++ /dev/null @@ -1,5 +0,0 @@ -imports: - - sculpin_site.yml - -url: https://www.doctrine-project.org -google_analytics_tracking_id: UA-288343-7 diff --git a/app/config/sculpin_site_staging.yml b/app/config/sculpin_site_staging.yml deleted file mode 100644 index 12ac337..0000000 --- a/app/config/sculpin_site_staging.yml +++ /dev/null @@ -1,4 +0,0 @@ -imports: - - sculpin_site.yml - -url: https://staging.doctrine-project.org diff --git a/app/src/Doctrine/Website/DoctrineSculpinBundle/Command/DeployCommand.php b/app/src/Doctrine/Website/DoctrineSculpinBundle/Command/DeployCommand.php deleted file mode 100644 index 91873fc..0000000 --- a/app/src/Doctrine/Website/DoctrineSculpinBundle/Command/DeployCommand.php +++ /dev/null @@ -1,29 +0,0 @@ -setName('deploy') - ->setDescription('Deploy the Doctrine website.') - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) : void - { - $container = $this->getContainer(); - - $deployer = $container->get('doctrine.deployer'); - - $deployer->deploy($output); - } -} diff --git a/app/src/Doctrine/Website/DoctrineSculpinBundle/Command/WatchCommand.php b/app/src/Doctrine/Website/DoctrineSculpinBundle/Command/WatchCommand.php deleted file mode 100644 index fb648dc..0000000 --- a/app/src/Doctrine/Website/DoctrineSculpinBundle/Command/WatchCommand.php +++ /dev/null @@ -1,45 +0,0 @@ -setName('watch') - ->setDescription('Watch for changes to the website source code and build.') - ->addArgument( - 'build-dir', - InputArgument::OPTIONAL, - 'The directory where the website is built' - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) : void - { - $container = $this->getContainer(); - - $rootDir = $container->getParameter('kernel.root_dir'); - $env = $container->getParameter('kernel.environment'); - - $buildDir = $input->getArgument('build-dir'); - - if (! $buildDir) { - $buildDir = sprintf('%s/../build-%s', $rootDir, $env); - } - - $watcher = $this->getContainer()->get('doctrine.watcher'); - - $watcher->watch($buildDir, $output); - } -} diff --git a/app/src/Doctrine/Website/DoctrineSculpinBundle/DependencyInjection/CompilerPass/DirectivesCompilerPass.php b/app/src/Doctrine/Website/DoctrineSculpinBundle/DependencyInjection/CompilerPass/DirectivesCompilerPass.php deleted file mode 100644 index 9d31e5a..0000000 --- a/app/src/Doctrine/Website/DoctrineSculpinBundle/DependencyInjection/CompilerPass/DirectivesCompilerPass.php +++ /dev/null @@ -1,25 +0,0 @@ -getDefinition('doctrine.rst.kernel'); - $kernel->replaceArgument( - 1, - array_map( - [$container, 'getDefinition'], - array_keys($container->findTaggedServiceIds('doctrine.rst.directive')) - ) - ); - } -} diff --git a/app/src/Doctrine/Website/DoctrineSculpinBundle/DependencyInjection/DoctrineSculpinExtension.php b/app/src/Doctrine/Website/DoctrineSculpinBundle/DependencyInjection/DoctrineSculpinExtension.php deleted file mode 100644 index 522107d..0000000 --- a/app/src/Doctrine/Website/DoctrineSculpinBundle/DependencyInjection/DoctrineSculpinExtension.php +++ /dev/null @@ -1,22 +0,0 @@ -load('services.yml'); - } -} diff --git a/app/src/Doctrine/Website/DoctrineSculpinBundle/DoctrineSculpinBundle.php b/app/src/Doctrine/Website/DoctrineSculpinBundle/DoctrineSculpinBundle.php deleted file mode 100644 index 8d4c795..0000000 --- a/app/src/Doctrine/Website/DoctrineSculpinBundle/DoctrineSculpinBundle.php +++ /dev/null @@ -1,17 +0,0 @@ -addCompilerPass(new DirectivesCompilerPass()); - } -} diff --git a/app/src/Doctrine/Website/DoctrineSculpinBundle/Resources/config/services.yml b/app/src/Doctrine/Website/DoctrineSculpinBundle/Resources/config/services.yml deleted file mode 100644 index ef4856f..0000000 --- a/app/src/Doctrine/Website/DoctrineSculpinBundle/Resources/config/services.yml +++ /dev/null @@ -1,111 +0,0 @@ -services: - doctrine.code_highlighter: - public: false - class: Highlight\Highlighter - - doctrine.code_block.renderer: - public: false - class: Doctrine\Website\Docs\CodeBlockRenderer - arguments: - - '@doctrine.code_block.console.renderer' - - '@doctrine.code_block.with_line_numbers.renderer' - - doctrine.code_block.language_detector: - public: false - class: Doctrine\Website\Docs\CodeBlockLanguageDetector - - doctrine.code_block.console.renderer: - public: false - class: Doctrine\Website\Docs\CodeBlockConsoleRenderer - - doctrine.code_block.with_line_numbers.renderer: - public: false - class: Doctrine\Website\Docs\CodeBlockWithLineNumbersRenderer - arguments: - - '@doctrine.code_highlighter' - - doctrine.website.directive.warning: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\WarningDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.caution: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\CautionDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.tip: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\TipDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.configuration_block: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\ConfigurationBlockDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.section_author: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\SectionAuthorDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.version_added: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\VersionAddedDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.role: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\RoleDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.index: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\IndexDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.hint: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\HintDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.notice: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\NoticeDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.note: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\NoteDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.toc: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\TocDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.toc_header: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\TocHeaderDirective - arguments: [] - tags: [{ name: doctrine.rst.directive }] - - doctrine.website.directive.code_block: - public: false - class: Doctrine\Website\DoctrineSculpinBundle\Directive\CodeBlockDirective - arguments: - - '@doctrine.code_block.renderer' - - '@doctrine.code_block.language_detector' - tags: [{ name: doctrine.rst.directive }] diff --git a/app/src/Doctrine/Website/Watcher.php b/app/src/Doctrine/Website/Watcher.php deleted file mode 100644 index 1126a89..0000000 --- a/app/src/Doctrine/Website/Watcher.php +++ /dev/null @@ -1,100 +0,0 @@ -processFactory = $processFactory; - $this->kernelRootDir = $kernelRootDir; - } - - public function watch(string $buildDir, OutputInterface $output) : void - { - $rootDir = realpath($this->kernelRootDir . '/..'); - - $buildScriptPath = sprintf( - '%s/doctrine build-website %s --env=dev', - $rootDir, - $buildDir - ); - - $startPaths = [ - $rootDir . '/app/*', - $rootDir . '/source/*', - ]; - - $lastTime = time(); - - while (true) { - $files = $this->recursiveGlob($startPaths); - - foreach ($files as $file) { - $time = filemtime($file); - - if ($time <= $lastTime) { - continue; - } - - $lastTime = time(); - - $output->writeln(sprintf('%s was changed. Building...', $file)); - - $this->processFactory->run($buildScriptPath, function ($type, $buffer) use ($output) : void { - $output->write($buffer); - }); - - file_put_contents($buildDir . '/changed', time()); - } - } - } - - /** - * @param string[] $paths - * - * @return string[] - */ - private function recursiveGlob(array $paths) : array - { - $allFiles = []; - - foreach ($paths as $path) { - $files = glob($path); - - $allFiles = array_merge($allFiles, $files); - - foreach ($files as $file) { - if (! is_dir($file)) { - continue; - } - - $dirPath = $file . '/*'; - - $dirFiles = $this->recursiveGlob([$dirPath]); - - $allFiles = array_merge($allFiles, $dirFiles); - } - } - - return $allFiles; - } -} diff --git a/bin/console b/bin/console new file mode 100755 index 0000000..f2c5bea --- /dev/null +++ b/bin/console @@ -0,0 +1,16 @@ +#!/usr/bin/env php +getParameterOption(['--env', '-e'], 'dev'); + +$container = Application::getContainer($env); + +$application = $container->get(Application::class); + +$application->run($input); diff --git a/component-manager.php b/component-manager.php deleted file mode 100644 index 9143a24..0000000 --- a/component-manager.php +++ /dev/null @@ -1,40 +0,0 @@ -getComposer()->getConfig(); - $componentDir = $config->get('component-dir'); - $components = $config->get('components'); - $vendorDir = $config->get('vendor-dir'); - - // if either configuration is empty it's a noop - if (empty($componentDir) || empty($components)) { - return; - } - - $componentDir = __DIR__ .'/'. $componentDir; - - if (!is_dir($componentDir)) { - mkdir($componentDir); - } - - $filesystem = new Filesystem(); - - foreach ($components as $component) { - $componentSource = $vendorDir .'/'. $component; - - if (!is_dir($componentSource)) { - continue; - } - - $filesystem->mirror($componentSource, $componentDir .'/'. basename($component)); - } - } -} diff --git a/composer.json b/composer.json index 0199dbf..e7e5035 100644 --- a/composer.json +++ b/composer.json @@ -1,9 +1,7 @@ { "name": "doctrine/doctrine-website", "description": "Source code for doctrine-project.org", - "type": "jwage.com", - "minimum-stability": "dev", - "prefer-stable" : true, + "type": "project", "license": "MIT", "authors": [ { @@ -13,36 +11,40 @@ } ], "require": { - "algolia/algoliasearch-client-php": "~1.25.0", - "components/highlightjs": "^9.7", - "dflydev/embedded-composer": "^1.0@dev", + "algolia/algoliasearch-client-php": "^1.27", "doctrine/rst-parser": "dev-master", - "kriswallsmith/assetic": "1.1.2", - "scrivo/highlight.php": "9.12.0.2", - "sculpin/sculpin": "^2.1@dev" + "erusev/parsedown": "^1.7", + "scrivo/highlight.php": "v9.12.0.4", + "symfony/config": "^4.1", + "symfony/console": "^4.1", + "symfony/dependency-injection": "^4.1", + "symfony/filesystem": "^4.1", + "symfony/finder": "^4.1", + "symfony/process": "^4.1", + "symfony/yaml": "^4.1", + "twig/twig": "^2.5" }, "require-dev": { - "phpunit/phpunit": "^7.0", "doctrine/coding-standard": "^4.0", + "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/dom-crawler": "^4.0", "symfony/css-selector": "^4.0" }, "config": { - "component-dir": "source/components", - "components": [ - "components/highlightjs" - ], "sort-packages": true }, - "scripts": { - "post-install-cmd": [ - "ComponentManager\\ComponentManager::postComposerInstall" - ] - }, "autoload": { - "classmap": ["component-manager.php"], - "psr-0": { - "Doctrine": "app/src/" + "psr-4": { + "Doctrine\\Website\\": "lib/" + } + }, + "autoload-dev": { + "psr-4": { + "Doctrine\\Website\\Tests\\": "tests/" } } } diff --git a/composer.lock b/composer.lock index 5380852..eb57108 100644 --- a/composer.lock +++ b/composer.lock @@ -4,23 +4,24 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "43a301c45077b7a8d808c401613304a8", + "content-hash": "321054f1f8a64a8761d1053c0160618f", "packages": [ { "name": "algolia/algoliasearch-client-php", - "version": "1.25.1", + "version": "1.27.0", "source": { "type": "git", "url": "https://github.com/algolia/algoliasearch-client-php.git", - "reference": "805021ea52630756d2da01d482309a2fdc47d3c0" + "reference": "d4e83cd7756bafff1e1cb2adcbf3c08b974dc263" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/algolia/algoliasearch-client-php/zipball/805021ea52630756d2da01d482309a2fdc47d3c0", - "reference": "805021ea52630756d2da01d482309a2fdc47d3c0", + "url": "https://api.github.com/repos/algolia/algoliasearch-client-php/zipball/d4e83cd7756bafff1e1cb2adcbf3c08b974dc263", + "reference": "d4e83cd7756bafff1e1cb2adcbf3c08b974dc263", "shasum": "" }, "require": { + "ext-curl": "*", "ext-mbstring": "*", "php": ">=5.3" }, @@ -54,869 +55,7 @@ ], "description": "Algolia Search API Client for PHP", "homepage": "https://github.com/algolia/algoliasearch-client-php", - "time": "2018-03-02T13:24:10+00:00" - }, - { - "name": "components/highlightjs", - "version": "9.12.0", - "source": { - "type": "git", - "url": "https://github.com/components/highlightjs.git", - "reference": "3686afa1decd999857ac9e1ae27c24df2e64be3a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/components/highlightjs/zipball/3686afa1decd999857ac9e1ae27c24df2e64be3a", - "reference": "3686afa1decd999857ac9e1ae27c24df2e64be3a", - "shasum": "" - }, - "type": "component", - "extra": { - "component": { - "scripts": [ - "highlight.pack.min.js" - ], - "files": [ - "styles/*" - ], - "shim": { - "exports": "hljs" - } - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Ivan Sagalaev", - "email": "maniac@softwaremaniacs.org", - "homepage": "http://softwaremaniacs.org" - } - ], - "description": "Highlight.js highlights syntax in code examples on blogs, forums and in fact on any web pages.", - "time": "2017-06-04T08:08:15+00:00" - }, - { - "name": "composer/ca-bundle", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "46afded9720f40b9dc63542af4e3e43a1177acb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/46afded9720f40b9dc63542af4e3e43a1177acb0", - "reference": "46afded9720f40b9dc63542af4e3e43a1177acb0", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", - "psr/log": "^1.0", - "symfony/process": "^2.5 || ^3.0 || ^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "time": "2018-08-08T08:57:40+00:00" - }, - { - "name": "composer/composer", - "version": "1.7.2", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "576aab9b5abb2ed11a1c52353a759363216a4ad2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/576aab9b5abb2ed11a1c52353a759363216a4ad2", - "reference": "576aab9b5abb2ed11a1c52353a759363216a4ad2", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "composer/semver": "^1.0", - "composer/spdx-licenses": "^1.2", - "composer/xdebug-handler": "^1.1", - "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", - "php": "^5.3.2 || ^7.0", - "psr/log": "^1.0", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.0", - "symfony/console": "^2.7 || ^3.0 || ^4.0", - "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", - "symfony/finder": "^2.7 || ^3.0 || ^4.0", - "symfony/process": "^2.7 || ^3.0 || ^4.0" - }, - "conflict": { - "symfony/console": "2.8.38" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7", - "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" - }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" - }, - "bin": [ - "bin/composer" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\": "src/Composer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", - "homepage": "https://getcomposer.org/", - "keywords": [ - "autoload", - "dependency", - "package" - ], - "time": "2018-08-16T14:57:12+00:00" - }, - { - "name": "composer/semver", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573", - "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.5 || ^5.0.5", - "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "time": "2016-08-30T16:08:34+00:00" - }, - { - "name": "composer/spdx-licenses", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "cb17687e9f936acd7e7245ad3890f953770dec1b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/cb17687e9f936acd7e7245ad3890f953770dec1b", - "reference": "cb17687e9f936acd7e7245ad3890f953770dec1b", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", - "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Spdx\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "SPDX licenses list and validation library.", - "keywords": [ - "license", - "spdx", - "validator" - ], - "time": "2018-04-30T10:33:04+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "e1809da56ce1bd1b547a752936817341ac244d8e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/e1809da56ce1bd1b547a752936817341ac244d8e", - "reference": "e1809da56ce1bd1b547a752936817341ac244d8e", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0", - "psr/log": "^1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "time": "2018-08-16T10:54:23+00:00" - }, - { - "name": "dflydev/ant-path-matcher", - "version": "v1.0.3", - "source": { - "type": "git", - "url": "https://github.com/dflydev/dflydev-util-antPathMatcher.git", - "reference": "66e0ed7cd07e1d989b170472d000b99ab8c9e33e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-util-antPathMatcher/zipball/66e0ed7cd07e1d989b170472d000b99ab8c9e33e", - "reference": "66e0ed7cd07e1d989b170472d000b99ab8c9e33e", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "autoload": { - "psr-0": { - "dflydev\\util\\antPathMatcher": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - } - ], - "description": "Ant Path Matcher Utility", - "homepage": "http://github.com/dflydev/dflydev-util-antPathMatcher", - "keywords": [ - "ant", - "matcher", - "path", - "pattern" - ], - "time": "2012-12-03T05:03:00+00:00" - }, - { - "name": "dflydev/apache-mime-types", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/dflydev/dflydev-apache-mime-types.git", - "reference": "f30a57e59b7476e4c5270b6a0727d79c9c0eb861" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-apache-mime-types/zipball/f30a57e59b7476e4c5270b6a0727d79c9c0eb861", - "reference": "f30a57e59b7476e4c5270b6a0727d79c9c0eb861", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "twig/twig": "1.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Dflydev\\ApacheMimeTypes": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - } - ], - "description": "Apache MIME Types", - "keywords": [ - "apache", - "mime", - "mimetypes" - ], - "time": "2013-05-14T02:02:01+00:00" - }, - { - "name": "dflydev/canal", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/dflydev/dflydev-canal.git", - "reference": "668af213d86f0f378f5dcce6799b974044fa6a51" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-canal/zipball/668af213d86f0f378f5dcce6799b974044fa6a51", - "reference": "668af213d86f0f378f5dcce6799b974044fa6a51", - "shasum": "" - }, - "require": { - "dflydev/apache-mime-types": "1.0.*", - "php": ">=5.3.3", - "webignition/internet-media-type": "0.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Dflydev\\Canal": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - } - ], - "description": "Content analysis for the purpose of determining Internet media types.", - "keywords": [ - "content", - "detection", - "mime", - "type" - ], - "time": "2013-05-14T05:22:25+00:00" - }, - { - "name": "dflydev/dot-access-configuration", - "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/dflydev/dflydev-dot-access-configuration.git", - "reference": "ae6e7138b1d9063d343322cca63994ee1ac5161d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-configuration/zipball/ae6e7138b1d9063d343322cca63994ee1ac5161d", - "reference": "ae6e7138b1d9063d343322cca63994ee1ac5161d", - "shasum": "" - }, - "require": { - "dflydev/dot-access-data": "1.*", - "dflydev/placeholder-resolver": "1.*", - "php": ">=5.3.2" - }, - "require-dev": { - "symfony/yaml": "~2.1" - }, - "suggest": { - "symfony/yaml": "Required for using the YAML Configuration Builders" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Dflydev\\DotAccessConfiguration": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - } - ], - "description": "Given a deep data structure representing a configuration, access configuration by dot notation.", - "homepage": "https://github.com/dflydev/dflydev-dot-access-configuration", - "keywords": [ - "config", - "configuration" - ], - "time": "2016-12-12T17:43:40+00:00" - }, - { - "name": "dflydev/dot-access-data", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/3fbd874921ab2c041e899d044585a2ab9795df8a", - "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Dflydev\\DotAccessData": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - }, - { - "name": "Carlos Frutos", - "email": "carlos@kiwing.it", - "homepage": "https://github.com/cfrutos" - } - ], - "description": "Given a deep data structure, access data by dot notation.", - "homepage": "https://github.com/dflydev/dflydev-dot-access-data", - "keywords": [ - "access", - "data", - "dot", - "notation" - ], - "time": "2017-01-20T21:14:22+00:00" - }, - { - "name": "dflydev/embedded-composer", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/dflydev/dflydev-embedded-composer.git", - "reference": "65b9d65826a2d27eaf87275c012e24d51b08d661" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-embedded-composer/zipball/65b9d65826a2d27eaf87275c012e24d51b08d661", - "reference": "65b9d65826a2d27eaf87275c012e24d51b08d661", - "shasum": "" - }, - "require": { - "composer/composer": "^1.0", - "php": ">=5.3.2" - }, - "replace": { - "dflydev/embedded-composer-bundle": "self.version", - "dflydev/embedded-composer-console": "self.version", - "dflydev/embedded-composer-core": "self.version" - }, - "require-dev": { - "phpunit/phpunit": "~3.7.10", - "symfony/console": "~2.3@dev", - "symfony/http-kernel": "~2.1" - }, - "suggest": { - "symfony/console": "~2.3", - "symfony/http-kernel": "~2.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Dflydev\\EmbeddedComposer": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - } - ], - "description": "Embed Composer into another application", - "keywords": [ - "composer", - "embedded", - "extensibility" - ], - "time": "2018-04-18T14:50:04+00:00" - }, - { - "name": "dflydev/placeholder-resolver", - "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/dflydev/dflydev-placeholder-resolver.git", - "reference": "c498d0cae91b1bb36cc7d60906dab8e62bb7c356" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-placeholder-resolver/zipball/c498d0cae91b1bb36cc7d60906dab8e62bb7c356", - "reference": "c498d0cae91b1bb36cc7d60906dab8e62bb7c356", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Dflydev\\PlaceholderResolver": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - } - ], - "description": "Given a data source representing key => value pairs, resolve placeholders like ${foo.bar} to the value associated with the 'foo.bar' key in the data source.", - "homepage": "https://github.com/dflydev/dflydev-placeholder-resolver", - "keywords": [ - "placeholder", - "resolver" - ], - "time": "2012-10-28T21:08:28+00:00" - }, - { - "name": "dflydev/symfony-finder-factory", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/dflydev/dflydev-symfony-finder-factory.git", - "reference": "101b2decf308bfac9c9bbc52be1738e1fa863a8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-symfony-finder-factory/zipball/101b2decf308bfac9c9bbc52be1738e1fa863a8a", - "reference": "101b2decf308bfac9c9bbc52be1738e1fa863a8a", - "shasum": "" - }, - "require": { - "php": ">=5.3.2", - "symfony/finder": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Dflydev\\Symfony\\FinderFactory": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - } - ], - "description": "Symfony Finder Factory", - "keywords": [ - "factory", - "finder", - "syfony" - ], - "time": "2012-11-09T16:45:28+00:00" - }, - { - "name": "doctrine/inflector", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604", - "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "4.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Inflector\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "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": "2014-12-20T21:24:13+00:00" + "time": "2018-06-19T05:59:53+00:00" }, { "name": "doctrine/rst-parser", @@ -975,87 +114,30 @@ "time": "2018-08-22T04:53:10+00:00" }, { - "name": "evenement/evenement", - "version": "v2.1.0", + "name": "erusev/parsedown", + "version": "1.7.1", "source": { "type": "git", - "url": "https://github.com/igorw/evenement.git", - "reference": "6ba9a777870ab49f417e703229d53931ed40fd7a" + "url": "https://github.com/erusev/parsedown.git", + "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/igorw/evenement/zipball/6ba9a777870ab49f417e703229d53931ed40fd7a", - "reference": "6ba9a777870ab49f417e703229d53931ed40fd7a", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", + "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", "shasum": "" }, "require": { - "php": ">=5.4.0" + "ext-mbstring": "*", + "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^6.0||^5.7||^4.8.35" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-0": { - "Evenement": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "Événement is a very simple event dispatching library for PHP", - "keywords": [ - "event-dispatcher", - "event-emitter" - ], - "time": "2017-07-17T17:39:19+00:00" - }, - { - "name": "justinrainbow/json-schema", - "version": "5.2.7", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "8560d4314577199ba51bf2032f02cd1315587c23" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/8560d4314577199ba51bf2032f02cd1315587c23", - "reference": "8560d4314577199ba51bf2032f02cd1315587c23", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.1", - "json-schema/json-schema-test-suite": "1.2.0", "phpunit/phpunit": "^4.8.35" }, - "bin": [ - "bin/validate-json" - ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0.x-dev" - } - }, "autoload": { - "psr-4": { - "JsonSchema\\": "src/JsonSchema/" + "psr-0": { + "Parsedown": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1064,212 +146,31 @@ ], "authors": [ { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" + "name": "Emanuil Rusev", + "email": "hello@erusev.com", + "homepage": "http://erusev.com" } ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", + "description": "Parser for Markdown.", + "homepage": "http://parsedown.org", "keywords": [ - "json", - "schema" + "markdown", + "parser" ], - "time": "2018-02-14T22:26:30+00:00" + "time": "2018-03-08T01:11:30+00:00" }, { - "name": "kriswallsmith/assetic", - "version": "v1.1.2", + "name": "psr/container", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/kriswallsmith/assetic.git", - "reference": "735cffd3982c6e8cdebe292d5db39d077f65890f" + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/735cffd3982c6e8cdebe292d5db39d077f65890f", - "reference": "735cffd3982c6e8cdebe292d5db39d077f65890f", - "shasum": "" - }, - "require": { - "php": ">=5.3.1", - "symfony/process": "~2.1" - }, - "require-dev": { - "cssmin/cssmin": "*", - "joliclic/javascript-packer": "*", - "kamicane/packager": "*", - "leafo/lessphp": "*", - "leafo/scssphp": "*", - "leafo/scssphp-compass": "*", - "mrclay/minify": "*", - "phpunit/phpunit": "~3.7", - "ptachoire/cssembed": "*", - "twig/twig": "~1.6" - }, - "suggest": { - "leafo/lessphp": "Assetic provides the integration with the lessphp LESS compiler", - "leafo/scssphp": "Assetic provides the integration with the scssphp SCSS compiler", - "leafo/scssphp-compass": "Assetic provides the integration with the SCSS compass plugin", - "ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris", - "twig/twig": "Assetic provides the integration with the Twig templating engine" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-0": { - "Assetic": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kris Wallsmith", - "email": "kris.wallsmith@gmail.com", - "homepage": "http://kriswallsmith.net/" - } - ], - "description": "Asset Management for PHP", - "homepage": "https://github.com/kriswallsmith/assetic", - "keywords": [ - "assets", - "compression", - "minification" - ], - "time": "2013-07-19T00:03:27+00:00" - }, - { - "name": "michelf/php-markdown", - "version": "1.8.0", - "source": { - "type": "git", - "url": "https://github.com/michelf/php-markdown.git", - "reference": "01ab082b355bf188d907b9929cd99b2923053495" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/michelf/php-markdown/zipball/01ab082b355bf188d907b9929cd99b2923053495", - "reference": "01ab082b355bf188d907b9929cd99b2923053495", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Michelf\\": "Michelf/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Michel Fortin", - "email": "michel.fortin@michelf.ca", - "homepage": "https://michelf.ca/", - "role": "Developer" - }, - { - "name": "John Gruber", - "homepage": "https://daringfireball.net/" - } - ], - "description": "PHP Markdown", - "homepage": "https://michelf.ca/projects/php-markdown/", - "keywords": [ - "markdown" - ], - "time": "2018-01-15T00:49:33+00:00" - }, - { - "name": "netcarver/textile", - "version": "v3.5.5", - "source": { - "type": "git", - "url": "https://github.com/textile/php-textile.git", - "reference": "1b95af533775316d09bd36a38bee2c0b804add12" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/textile/php-textile/zipball/1b95af533775316d09bd36a38bee2c0b804add12", - "reference": "1b95af533775316d09bd36a38bee2c0b804add12", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*", - "satooshi/php-coveralls": "0.6.*", - "squizlabs/php_codesniffer": "1.5.*", - "symfony/yaml": "2.3.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, - "autoload": { - "psr-0": { - "Netcarver\\Textile": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Textile markup language parser", - "homepage": "https://github.com/textile/php-textile", - "keywords": [ - "document", - "format", - "html", - "language", - "markup", - "parser", - "php-textile", - "plaintext", - "textile" - ], - "time": "2014-01-02T09:39:06+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", "shasum": "" }, "require": { @@ -1283,7 +184,7 @@ }, "autoload": { "psr-4": { - "Psr\\Http\\Message\\": "src/" + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1296,349 +197,29 @@ "homepage": "http://www.php-fig.org/" } ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "react/event-loop", - "version": "v0.4.3", - "source": { - "type": "git", - "url": "https://github.com/reactphp/event-loop.git", - "reference": "8bde03488ee897dc6bb3d91e4e17c353f9c5252f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/event-loop/zipball/8bde03488ee897dc6bb3d91e4e17c353f9c5252f", - "reference": "8bde03488ee897dc6bb3d91e4e17c353f9c5252f", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "suggest": { - "ext-event": "~1.0", - "ext-libev": "*", - "ext-libevent": ">=0.1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "React\\EventLoop\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Event loop abstraction layer that libraries can use for evented I/O.", - "keywords": [ - "asynchronous", - "event-loop" - ], - "time": "2017-04-27T10:56:23+00:00" - }, - { - "name": "react/http", - "version": "v0.4.4", - "source": { - "type": "git", - "url": "https://github.com/reactphp/http.git", - "reference": "aac319bd789cbc7b478d42cde2d03596e97e3222" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/http/zipball/aac319bd789cbc7b478d42cde2d03596e97e3222", - "reference": "aac319bd789cbc7b478d42cde2d03596e97e3222", - "shasum": "" - }, - "require": { - "evenement/evenement": "^2.0 || ^1.0", - "php": ">=5.3.0", - "react/socket": "^0.4", - "react/stream": "^0.4.4", - "ringcentral/psr7": "^1.2" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.10||^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "React\\Http\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Library for building an evented http server.", - "keywords": [ - "http" - ], - "time": "2017-02-13T14:12:50+00:00" - }, - { - "name": "react/promise", - "version": "v2.7.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "f4edc2581617431aea50430749db55cc3fc031b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/f4edc2581617431aea50430749db55cc3fc031b3", - "reference": "f4edc2581617431aea50430749db55cc3fc031b3", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "React\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "keywords": [ - "promise", - "promises" - ], - "time": "2018-06-13T15:59:06+00:00" - }, - { - "name": "react/socket", - "version": "v0.4.6", - "source": { - "type": "git", - "url": "https://github.com/reactphp/socket.git", - "reference": "cf074e53c974df52388ebd09710a9018894745d2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/cf074e53c974df52388ebd09710a9018894745d2", - "reference": "cf074e53c974df52388ebd09710a9018894745d2", - "shasum": "" - }, - "require": { - "evenement/evenement": "~2.0|~1.0", - "php": ">=5.3.0", - "react/event-loop": "0.4.*|0.3.*", - "react/promise": "^2.0 || ^1.1", - "react/stream": "^0.4.5" - }, - "require-dev": { - "clue/block-react": "^1.1", - "phpunit/phpunit": "~4.8", - "react/socket-client": "^0.5.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "React\\Socket\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Async, streaming plaintext TCP/IP and secure TLS socket server for React PHP", - "keywords": [ - "Socket" - ], - "time": "2017-01-26T09:23:38+00:00" - }, - { - "name": "react/stream", - "version": "v0.4.6", - "source": { - "type": "git", - "url": "https://github.com/reactphp/stream.git", - "reference": "44dc7f51ea48624110136b535b9ba44fd7d0c1ee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/stream/zipball/44dc7f51ea48624110136b535b9ba44fd7d0c1ee", - "reference": "44dc7f51ea48624110136b535b9ba44fd7d0c1ee", - "shasum": "" - }, - "require": { - "evenement/evenement": "^2.0|^1.0", - "php": ">=5.3.8" - }, - "require-dev": { - "clue/stream-filter": "~1.2", - "react/event-loop": "^0.4|^0.3", - "react/promise": "^2.0|^1.0" - }, - "suggest": { - "react/event-loop": "^0.4", - "react/promise": "^2.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "React\\Stream\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Basic readable and writable stream interfaces that support piping.", - "keywords": [ - "pipe", - "stream" - ], - "time": "2017-01-25T14:44:14+00:00" - }, - { - "name": "ringcentral/psr7", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/ringcentral/psr7.git", - "reference": "dcd84bbb49b96c616d1dcc8bfb9bef3f2cd53d1c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ringcentral/psr7/zipball/dcd84bbb49b96c616d1dcc8bfb9bef3f2cd53d1c", - "reference": "dcd84bbb49b96c616d1dcc8bfb9bef3f2cd53d1c", - "shasum": "" - }, - "require": { - "php": ">=5.3", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "RingCentral\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "PSR-7 message implementation", - "keywords": [ - "http", - "message", - "stream", - "uri" - ], - "time": "2018-01-15T21:00:49+00:00" + "time": "2017-02-14T16:28:37+00:00" }, { "name": "scrivo/highlight.php", - "version": "v9.12.0.2", + "version": "v9.12.0.4", "source": { "type": "git", "url": "https://github.com/scrivo/highlight.php.git", - "reference": "186ad7df8c02f0cbe5e8dd13f98a8b2778b2b608" + "reference": "d5b40c678b79ac9faffb32df601dc69e5d11da50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/186ad7df8c02f0cbe5e8dd13f98a8b2778b2b608", - "reference": "186ad7df8c02f0cbe5e8dd13f98a8b2778b2b608", + "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/d5b40c678b79ac9faffb32df601dc69e5d11da50", + "reference": "d5b40c678b79ac9faffb32df601dc69e5d11da50", "shasum": "" }, "require-dev": { @@ -1680,257 +261,35 @@ "highlight.php", "syntax" ], - "time": "2018-02-19T02:38:14+00:00" - }, - { - "name": "sculpin/sculpin", - "version": "v2.1.1", - "source": { - "type": "git", - "url": "https://github.com/sculpin/sculpin.git", - "reference": "9514fe4240b586d8a8a3ed54c3ff197a8325ca8f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sculpin/sculpin/zipball/9514fe4240b586d8a8a3ed54c3ff197a8325ca8f", - "reference": "9514fe4240b586d8a8a3ed54c3ff197a8325ca8f", - "shasum": "" - }, - "require": { - "dflydev/ant-path-matcher": "1.*", - "dflydev/apache-mime-types": "~1.0,>=1.0.1", - "dflydev/canal": "1.*", - "dflydev/dot-access-configuration": "^1.0.1", - "dflydev/embedded-composer": "^1.0@dev", - "dflydev/symfony-finder-factory": "1.*", - "doctrine/inflector": "1.0.*", - "michelf/php-markdown": "^1.7.0", - "netcarver/textile": "3.5.*", - "php": "^5.4|^7.0", - "react/http": "0.4.*", - "sculpin/sculpin-theme-composer-plugin": "^1.0", - "seld/jsonlint": "^1.4", - "symfony/config": "~2.3", - "symfony/console": "~2.3", - "symfony/dependency-injection": "~2.3", - "symfony/event-dispatcher": "~2.3", - "symfony/filesystem": "~2.3", - "symfony/finder": "~2.3", - "symfony/http-kernel": "~2.3", - "symfony/process": "~2.3", - "symfony/yaml": "~2.3", - "twig/extensions": "~1.0", - "twig/twig": "~1.11", - "webignition/internet-media-type": "^0.4" - }, - "replace": { - "sculpin/core": "self.version", - "sculpin/markdown-bundle": "self.version", - "sculpin/markdown-twig-compat-bundle": "self.version", - "sculpin/posts-bundle": "self.version", - "sculpin/proxy-source-collection-contrib": "self.version", - "sculpin/sculpin-bundle": "self.version", - "sculpin/standalone-bundle": "self.version", - "sculpin/taxonomy-contrib": "self.version", - "sculpin/textile-bundle": "self.version", - "sculpin/twig-bundle": "self.version" - }, - "require-dev": { - "phpunit/phpunit": "^4.8", - "squizlabs/php_codesniffer": "^2.8", - "symfony/css-selector": "~2.6", - "symfony/dom-crawler": "~2.6" - }, - "bin": [ - "bin/sculpin", - "bin/sculpin.php" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev", - "dev-develop": "3.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Sculpin\\": "src/Sculpin/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - } - ], - "description": "Static Site Generator", - "homepage": "https://sculpin.io", - "keywords": [ - "generator", - "site", - "static" - ], - "time": "2017-03-24T08:53:01+00:00" - }, - { - "name": "sculpin/sculpin-theme-composer-plugin", - "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/sculpin/sculpin-theme-composer-plugin.git", - "reference": "f22bbf89971054e0e37983263828ca39ffca2437" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sculpin/sculpin-theme-composer-plugin/zipball/f22bbf89971054e0e37983263828ca39ffca2437", - "reference": "f22bbf89971054e0e37983263828ca39ffca2437", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.1" - }, - "type": "composer-plugin", - "extra": { - "class": "Sculpin\\Composer\\SculpinThemePlugin\\SculpinThemePlugin", - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Sculpin\\Composer\\SculpinThemePlugin\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "time": "2017-02-27T17:40:03+00:00" - }, - { - "name": "seld/jsonlint", - "version": "1.7.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", - "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "time": "2018-01-24T12:46:19+00:00" - }, - { - "name": "seld/phar-utils", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", - "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\PharUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "PHAR file format utilities, for when PHP phars you up", - "keywords": [ - "phra" - ], - "time": "2015-10-13T18:44:15+00:00" + "time": "2018-08-05T06:14:48+00:00" }, { "name": "symfony/config", - "version": "v2.8.44", + "version": "v4.1.3", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "06c0be4cdd8363f3ec8d592c9a4d1b981d5052af" + "reference": "c868972ac26e4e19860ce11b300bb74145246ff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/06c0be4cdd8363f3ec8d592c9a4d1b981d5052af", - "reference": "06c0be4cdd8363f3ec8d592c9a4d1b981d5052af", + "url": "https://api.github.com/repos/symfony/config/zipball/c868972ac26e4e19860ce11b300bb74145246ff9", + "reference": "c868972ac26e4e19860ce11b300bb74145246ff9", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/filesystem": "~2.3|~3.0.0", + "php": "^7.1.3", + "symfony/filesystem": "~3.4|~4.0", "symfony/polyfill-ctype": "~1.8" }, + "conflict": { + "symfony/finder": "<3.4" + }, "require-dev": { - "symfony/yaml": "~2.7|~3.0.0" + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" }, "suggest": { "symfony/yaml": "To use the yaml reference dumper" @@ -1938,7 +297,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -1965,41 +324,48 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:13:39+00:00" + "time": "2018-07-26T11:24:31+00:00" }, { "name": "symfony/console", - "version": "v2.8.44", + "version": "v4.1.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "0c1fcbb9afb5cff992c982ff99c0434f0146dcfc" + "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0c1fcbb9afb5cff992c982ff99c0434f0146dcfc", - "reference": "0c1fcbb9afb5cff992c982ff99c0434f0146dcfc", + "url": "https://api.github.com/repos/symfony/console/zipball/ca80b8ced97cf07390078b29773dc384c39eee1f", + "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/debug": "^2.7.2|~3.0.0", + "php": "^7.1.3", "symfony/polyfill-mbstring": "~1.0" }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, "require-dev": { "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1|~3.0.0", - "symfony/process": "~2.1|~3.0.0" + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" }, "suggest": { "psr/log-implementation": "For using the console logger", "symfony/event-dispatcher": "", + "symfony/lock": "", "symfony/process": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -2026,100 +392,51 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:13:39+00:00" - }, - { - "name": "symfony/debug", - "version": "v2.8.44", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "d985c8546da49c4727e27dae82bcf783ee2c5af0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/d985c8546da49c4727e27dae82bcf783ee2c5af0", - "reference": "d985c8546da49c4727e27dae82bcf783ee2c5af0", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/class-loader": "~2.2|~3.0.0", - "symfony/http-kernel": "~2.3.24|~2.5.9|^2.6.2|~3.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-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": "2018-07-26T11:13:39+00:00" + "time": "2018-07-26T11:24:31+00:00" }, { "name": "symfony/dependency-injection", - "version": "v2.8.44", + "version": "v4.1.3", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "ad2446d39d11c3daaa7f147d957941a187e47357" + "reference": "f4f401fc2766eb8d766fc6043d9e6489b37a41e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/ad2446d39d11c3daaa7f147d957941a187e47357", - "reference": "ad2446d39d11c3daaa7f147d957941a187e47357", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f4f401fc2766eb8d766fc6043d9e6489b37a41e4", + "reference": "f4f401fc2766eb8d766fc6043d9e6489b37a41e4", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^7.1.3", + "psr/container": "^1.0" }, "conflict": { - "symfony/expression-language": "<2.6" + "symfony/config": "<4.1.1", + "symfony/finder": "<3.4", + "symfony/proxy-manager-bridge": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "psr/container-implementation": "1.0" }, "require-dev": { - "symfony/config": "~2.2|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/yaml": "~2.3.42|~2.7.14|~2.8.7|~3.0.7" + "symfony/config": "~4.1", + "symfony/expression-language": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.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": "2.8-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -2146,90 +463,30 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:13:39+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.8.44", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "84ae343f39947aa084426ed1138bb96bf94d1f12" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/84ae343f39947aa084426ed1138bb96bf94d1f12", - "reference": "84ae343f39947aa084426ed1138bb96bf94d1f12", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-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": "2018-07-26T09:03:18+00:00" + "time": "2018-08-01T08:24:03+00:00" }, { "name": "symfony/filesystem", - "version": "v2.8.44", + "version": "v4.1.3", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "2d6a4deccdfa2e4e9f113138b93457b2d0886c15" + "reference": "2e30335e0aafeaa86645555959572fe7cea22b43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/2d6a4deccdfa2e4e9f113138b93457b2d0886c15", - "reference": "2d6a4deccdfa2e4e9f113138b93457b2d0886c15", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/2e30335e0aafeaa86645555959572fe7cea22b43", + "reference": "2e30335e0aafeaa86645555959572fe7cea22b43", "shasum": "" }, "require": { - "php": ">=5.3.9", + "php": "^7.1.3", "symfony/polyfill-ctype": "~1.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -2256,29 +513,29 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:13:39+00:00" + "time": "2018-07-26T11:24:31+00:00" }, { "name": "symfony/finder", - "version": "v2.8.44", + "version": "v4.1.3", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "f0de0b51913eb2caab7dfed6413b87e14fca780e" + "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/f0de0b51913eb2caab7dfed6413b87e14fca780e", - "reference": "f0de0b51913eb2caab7dfed6413b87e14fca780e", + "url": "https://api.github.com/repos/symfony/finder/zipball/e162f1df3102d0b7472805a5a9d5db9fcf0a8068", + "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -2305,144 +562,7 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:13:39+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.1.10", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "cef0ad49a2e90455cfc649522025b5a2929648c0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cef0ad49a2e90455cfc649522025b5a2929648c0", - "reference": "cef0ad49a2e90455cfc649522025b5a2929648c0", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-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": "2017-01-08T20:43:43+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v2.8.44", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "3ee21e3eb52327514d1fc754d1e0c9c85bceeb3a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3ee21e3eb52327514d1fc754d1e0c9c85bceeb3a", - "reference": "3ee21e3eb52327514d1fc754d1e0c9c85bceeb3a", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "psr/log": "~1.0", - "symfony/debug": "^2.6.2", - "symfony/event-dispatcher": "^2.6.7|~3.0.0", - "symfony/http-foundation": "~2.7.36|~2.8.29|~3.1.6", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/config": "<2.7", - "twig/twig": "<1.34|<2.4,>=2" - }, - "require-dev": { - "symfony/browser-kit": "~2.3|~3.0.0", - "symfony/class-loader": "~2.1|~3.0.0", - "symfony/config": "~2.8", - "symfony/console": "~2.3|~3.0.0", - "symfony/css-selector": "^2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.8|~3.0.0", - "symfony/dom-crawler": "^2.0.5|~3.0.0", - "symfony/expression-language": "~2.4|~3.0.0", - "symfony/finder": "^2.0.5|~3.0.0", - "symfony/process": "^2.0.5|~3.0.0", - "symfony/routing": "~2.8|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0", - "symfony/templating": "~2.2|~3.0.0", - "symfony/translation": "^2.0.5|~3.0.0", - "symfony/var-dumper": "~2.6|~3.0.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-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": "2018-08-01T14:12:31+00:00" + "time": "2018-07-26T11:24:31+00:00" }, { "name": "symfony/polyfill-ctype", @@ -2563,25 +683,25 @@ }, { "name": "symfony/process", - "version": "v2.8.44", + "version": "v4.1.3", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "cc83afdb5ac99147806b3bb65a3ff1227664f596" + "reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/cc83afdb5ac99147806b3bb65a3ff1227664f596", - "reference": "cc83afdb5ac99147806b3bb65a3ff1227664f596", + "url": "https://api.github.com/repos/symfony/process/zipball/f01fc7a4493572f7f506c49dcb50ad01fb3a2f56", + "reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -2608,30 +728,39 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:13:39+00:00" + "time": "2018-07-26T11:24:31+00:00" }, { "name": "symfony/yaml", - "version": "v2.8.44", + "version": "v4.1.3", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "fbf876678e29dc634430dcf0096e216eb0004467" + "reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/fbf876678e29dc634430dcf0096e216eb0004467", - "reference": "fbf876678e29dc634430dcf0096e216eb0004467", + "url": "https://api.github.com/repos/symfony/yaml/zipball/46bc69aa91fc4ab78a96ce67873a6b0c148fd48c", + "reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c", "shasum": "" }, "require": { - "php": ">=5.3.9", + "php": "^7.1.3", "symfony/polyfill-ctype": "~1.8" }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -2658,80 +787,26 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-07-26T09:03:18+00:00" - }, - { - "name": "twig/extensions", - "version": "v1.5.2", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig-extensions.git", - "reference": "2c1a86526d0044065220d1b51ac08348bea5ca82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig-extensions/zipball/2c1a86526d0044065220d1b51ac08348bea5ca82", - "reference": "2c1a86526d0044065220d1b51ac08348bea5ca82", - "shasum": "" - }, - "require": { - "twig/twig": "^1.27|^2.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^3.4", - "symfony/translation": "^2.7|^3.4" - }, - "suggest": { - "symfony/translation": "Allow the time_diff output to be translated" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.5-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_Extensions_": "lib/" - }, - "psr-4": { - "Twig\\Extensions\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Common additional features for Twig that do not directly belong in core", - "keywords": [ - "i18n", - "text" - ], - "time": "2018-05-22T13:26:07+00:00" + "time": "2018-07-26T11:24:31+00:00" }, { "name": "twig/twig", - "version": "v1.35.4", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "7e081e98378a1e78c29cc9eba4aefa5d78a05d2a" + "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/7e081e98378a1e78c29cc9eba4aefa5d78a05d2a", - "reference": "7e081e98378a1e78c29cc9eba4aefa5d78a05d2a", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/6a5f676b77a90823c2d4eaf76137b771adf31323", + "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/polyfill-ctype": "^1.8" + "php": "^7.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { "psr/container": "^1.0", @@ -2741,7 +816,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.35-dev" + "dev-master": "2.5-dev" } }, "autoload": { @@ -2779,196 +854,54 @@ "keywords": [ "templating" ], - "time": "2018-07-13T07:12:17+00:00" - }, - { - "name": "webignition/disallowed-character-terminated-string", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/webignition/disallowed-character-terminated-string.git", - "reference": "25d12868c82b56bc0d04278e31594385ba4dddc4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webignition/disallowed-character-terminated-string/zipball/25d12868c82b56bc0d04278e31594385ba4dddc4", - "reference": "25d12868c82b56bc0d04278e31594385ba4dddc4", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jon Cram", - "email": "jon@webignition.net" - } - ], - "description": "A string terminated by one or more disallowed characters", - "homepage": "https://github.com/webignition/disallowed-character-terminated-string", - "keywords": [ - "string", - "terminated" - ], - "time": "2012-07-16T21:29:50+00:00" - }, - { - "name": "webignition/internet-media-type", - "version": "0.4.8", - "source": { - "type": "git", - "url": "https://github.com/webignition/internet-media-type.git", - "reference": "1a5bbe38033b00b23acd5e1dd10489bb07eed77c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webignition/internet-media-type/zipball/1a5bbe38033b00b23acd5e1dd10489bb07eed77c", - "reference": "1a5bbe38033b00b23acd5e1dd10489bb07eed77c", - "shasum": "" - }, - "require": { - "php": ">=5.6.0", - "webignition/quoted-string": ">=0.2.1,<1.0", - "webignition/string-parser": ">=0.2.3,<1.0" - }, - "require-dev": { - "phpunit/phpunit": "~5.0", - "squizlabs/php_codesniffer": "3.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "webignition\\InternetMediaType\\": "src/", - "webignition\\Tests\\InternetMediaType\\": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jon Cram", - "email": "jon@webignition.net" - } - ], - "description": "PHP model of an http://en.wikipedia.org/wiki/Internet_media_type", - "homepage": "https://github.com/webignition/internet-media-type", - "keywords": [ - "content type", - "content-type", - "internet media type", - "media type", - "media-type" - ], - "time": "2018-03-12T14:54:00+00:00" - }, - { - "name": "webignition/quoted-string", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/webignition/quoted-string.git", - "reference": "88b36b7be067796683ab3668e175322842dd5313" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webignition/quoted-string/zipball/88b36b7be067796683ab3668e175322842dd5313", - "reference": "88b36b7be067796683ab3668e175322842dd5313", - "shasum": "" - }, - "require": { - "php": ">=5.5.0", - "webignition/string-parser": ">=0.2.3,<1" - }, - "require-dev": { - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "3.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "webignition\\QuotedString\\": "src/", - "webignition\\Tests\\QuotedString\\": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jon Cram", - "email": "jon@webignition.net" - } - ], - "description": "A parser for string values that are encapsulated in double quotes (ASCII 34)", - "homepage": "https://github.com/webignition/quoted-string", - "keywords": [ - "parser", - "quoted-string" - ], - "time": "2017-05-11T11:41:31+00:00" - }, - { - "name": "webignition/string-parser", - "version": "0.2.3", - "source": { - "type": "git", - "url": "https://github.com/webignition/string-parser.git", - "reference": "8591e28c05bd250bcc67b8001f3588995b9ef74b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webignition/string-parser/zipball/8591e28c05bd250bcc67b8001f3588995b9ef74b", - "reference": "8591e28c05bd250bcc67b8001f3588995b9ef74b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "webignition/disallowed-character-terminated-string": ">=1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "3.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "webignition\\StringParser\\": "src/", - "webignition\\Tests\\StringParser\\": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jon Cram", - "email": "jon@webignition.net" - } - ], - "description": "Abstract state-based string parser", - "homepage": "https://github.com/webignition/string-parser", - "keywords": [ - "parser", - "string" - ], - "time": "2017-05-11T10:04:12+00:00" + "time": "2018-07-13T07:18:09+00:00" } ], "packages-dev": [ + { + "name": "composer/xdebug-handler", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "e1809da56ce1bd1b547a752936817341ac244d8e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/e1809da56ce1bd1b547a752936817341ac244d8e", + "reference": "e1809da56ce1bd1b547a752936817341ac244d8e", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "time": "2018-08-16T10:54:23+00:00" + }, { "name": "dealerdirect/phpcodesniffer-composer-installer", "version": "v0.4.4", @@ -3149,6 +1082,57 @@ ], "time": "2017-07-22T11:58:36+00:00" }, + { + "name": "jean85/pretty-package-versions", + "version": "1.2", + "source": { + "type": "git", + "url": "https://github.com/Jean85/pretty-package-versions.git", + "reference": "75c7effcf3f77501d0e0caa75111aff4daa0dd48" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/75c7effcf3f77501d0e0caa75111aff4daa0dd48", + "reference": "75c7effcf3f77501d0e0caa75111aff4daa0dd48", + "shasum": "" + }, + "require": { + "ocramius/package-versions": "^1.2.0", + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Jean85\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alessandro Lai", + "email": "alessandro.lai85@gmail.com" + } + ], + "description": "A wrapper for ocramius/package-versions to get pretty versions strings", + "keywords": [ + "composer", + "package", + "release", + "versions" + ], + "time": "2018-06-13T13:22:40+00:00" + }, { "name": "myclabs/deep-copy", "version": "1.8.1", @@ -3197,6 +1181,583 @@ ], "time": "2018-06-11T23:09:50+00:00" }, + { + "name": "nette/bootstrap", + "version": "v2.4.6", + "source": { + "type": "git", + "url": "https://github.com/nette/bootstrap.git", + "reference": "268816e3f1bb7426c3a4ceec2bd38a036b532543" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/bootstrap/zipball/268816e3f1bb7426c3a4ceec2bd38a036b532543", + "reference": "268816e3f1bb7426c3a4ceec2bd38a036b532543", + "shasum": "" + }, + "require": { + "nette/di": "~2.4.7", + "nette/utils": "~2.4", + "php": ">=5.6.0" + }, + "conflict": { + "nette/nette": "<2.2" + }, + "require-dev": { + "latte/latte": "~2.2", + "nette/application": "~2.3", + "nette/caching": "~2.3", + "nette/database": "~2.3", + "nette/forms": "~2.3", + "nette/http": "~2.4.0", + "nette/mail": "~2.3", + "nette/robot-loader": "^2.4.2 || ^3.0", + "nette/safe-stream": "~2.2", + "nette/security": "~2.3", + "nette/tester": "~2.0", + "tracy/tracy": "^2.4.1" + }, + "suggest": { + "nette/robot-loader": "to use Configurator::createRobotLoader()", + "tracy/tracy": "to use Configurator::enableTracy()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0", + "GPL-3.0" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🅱 Nette Bootstrap: the simple way to configure and bootstrap your Nette application.", + "homepage": "https://nette.org", + "keywords": [ + "bootstrapping", + "configurator", + "nette" + ], + "time": "2018-05-17T12:52:20+00:00" + }, + { + "name": "nette/di", + "version": "v2.4.13", + "source": { + "type": "git", + "url": "https://github.com/nette/di.git", + "reference": "3f8f212b02d5c17feb97a7e0a39ab306f40c06ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/di/zipball/3f8f212b02d5c17feb97a7e0a39ab306f40c06ca", + "reference": "3f8f212b02d5c17feb97a7e0a39ab306f40c06ca", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "nette/neon": "^2.3.3 || ~3.0.0", + "nette/php-generator": "^2.6.1 || ~3.0.0", + "nette/utils": "^2.4.3 || ~3.0.0", + "php": ">=5.6.0" + }, + "conflict": { + "nette/bootstrap": "<2.4", + "nette/nette": "<2.2" + }, + "require-dev": { + "nette/tester": "^2.0", + "tracy/tracy": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0", + "GPL-3.0" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "💎 Nette Dependency Injection Container: Flexible, compiled and full-featured DIC with perfectly usable autowiring and support for all new PHP 7.1 features.", + "homepage": "https://nette.org", + "keywords": [ + "compiled", + "di", + "dic", + "factory", + "ioc", + "nette", + "static" + ], + "time": "2018-06-11T08:46:01+00:00" + }, + { + "name": "nette/finder", + "version": "v2.4.2", + "source": { + "type": "git", + "url": "https://github.com/nette/finder.git", + "reference": "ee951a656cb8ac622e5dd33474a01fd2470505a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/finder/zipball/ee951a656cb8ac622e5dd33474a01fd2470505a0", + "reference": "ee951a656cb8ac622e5dd33474a01fd2470505a0", + "shasum": "" + }, + "require": { + "nette/utils": "~2.4", + "php": ">=5.6.0" + }, + "conflict": { + "nette/nette": "<2.2" + }, + "require-dev": { + "nette/tester": "~2.0", + "tracy/tracy": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0", + "GPL-3.0" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🔍 Nette Finder: find files and directories with an intuitive API.", + "homepage": "https://nette.org", + "keywords": [ + "filesystem", + "glob", + "iterator", + "nette" + ], + "time": "2018-06-28T11:49:23+00:00" + }, + { + "name": "nette/neon", + "version": "v2.4.3", + "source": { + "type": "git", + "url": "https://github.com/nette/neon.git", + "reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/neon/zipball/5e72b1dd3e2d34f0863c5561139a19df6a1ef398", + "reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "ext-json": "*", + "php": ">=5.6.0" + }, + "require-dev": { + "nette/tester": "~2.0", + "tracy/tracy": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0", + "GPL-3.0" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🍸 Nette NEON: encodes and decodes NEON file format.", + "homepage": "http://ne-on.org", + "keywords": [ + "export", + "import", + "neon", + "nette", + "yaml" + ], + "time": "2018-03-21T12:12:21+00:00" + }, + { + "name": "nette/php-generator", + "version": "v3.0.5", + "source": { + "type": "git", + "url": "https://github.com/nette/php-generator.git", + "reference": "ea90209c2e8a7cd087b2742ca553c047a8df5eff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/php-generator/zipball/ea90209c2e8a7cd087b2742ca553c047a8df5eff", + "reference": "ea90209c2e8a7cd087b2742ca553c047a8df5eff", + "shasum": "" + }, + "require": { + "nette/utils": "^2.4.2 || ~3.0.0", + "php": ">=7.0" + }, + "conflict": { + "nette/nette": "<2.2" + }, + "require-dev": { + "nette/tester": "^2.0", + "tracy/tracy": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0", + "GPL-3.0" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 7.2 features.", + "homepage": "https://nette.org", + "keywords": [ + "code", + "nette", + "php", + "scaffolding" + ], + "time": "2018-08-09T14:32:27+00:00" + }, + { + "name": "nette/robot-loader", + "version": "v3.0.4", + "source": { + "type": "git", + "url": "https://github.com/nette/robot-loader.git", + "reference": "3cf88781a05e0bf4618ae605361afcbaa4d5b392" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/robot-loader/zipball/3cf88781a05e0bf4618ae605361afcbaa4d5b392", + "reference": "3cf88781a05e0bf4618ae605361afcbaa4d5b392", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "nette/finder": "^2.3 || ^3.0", + "nette/utils": "^2.4 || ^3.0", + "php": ">=5.6.0" + }, + "conflict": { + "nette/nette": "<2.2" + }, + "require-dev": { + "nette/tester": "^2.0", + "tracy/tracy": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0", + "GPL-3.0" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🍀 Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.", + "homepage": "https://nette.org", + "keywords": [ + "autoload", + "class", + "interface", + "nette", + "trait" + ], + "time": "2018-06-22T09:34:04+00:00" + }, + { + "name": "nette/utils", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "183069866dc477fcfbac393ed486aaa6d93d19a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/183069866dc477fcfbac393ed486aaa6d93d19a5", + "reference": "183069866dc477fcfbac393ed486aaa6d93d19a5", + "shasum": "" + }, + "require": { + "php": ">=5.6.0" + }, + "conflict": { + "nette/nette": "<2.2" + }, + "require-dev": { + "nette/tester": "~2.0", + "tracy/tracy": "^2.3" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize() and toAscii()", + "ext-intl": "for script transliteration in Strings::webalize() and toAscii()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-xml": "to use Strings::length() etc. when mbstring is not available" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ], + "files": [ + "src/loader.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0", + "GPL-3.0" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "time": "2018-05-02T17:16:08+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.0.3", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "bd088dc940a418f09cda079a9b5c7c478890fb8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bd088dc940a418f09cda079a9b5c7c478890fb8d", + "reference": "bd088dc940a418f09cda079a9b5c7c478890fb8d", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5 || ^7.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-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": "2018-07-15T17:25:16+00:00" + }, + { + "name": "ocramius/package-versions", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/Ocramius/PackageVersions.git", + "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/4489d5002c49d55576fa0ba786f42dbb009be46f", + "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0.0", + "php": "^7.1.0" + }, + "require-dev": { + "composer/composer": "^1.6.3", + "ext-zip": "*", + "infection/infection": "^0.7.1", + "phpunit/phpunit": "^7.0.0" + }, + "type": "composer-plugin", + "extra": { + "class": "PackageVersions\\Installer", + "branch-alias": { + "dev-master": "2.0.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": "2018-02-05T13:05:30+00:00" + }, { "name": "phar-io/manifest", "version": "1.0.3", @@ -3514,6 +2075,263 @@ ], "time": "2018-08-05T17:53:17+00:00" }, + { + "name": "phpstan/phpdoc-parser", + "version": "0.3", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "ed3223362174b8067729930439e139794e9e514a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/ed3223362174b8067729930439e139794e9e514a", + "reference": "ed3223362174b8067729930439e139794e9e514a", + "shasum": "" + }, + "require": { + "php": "~7.1" + }, + "require-dev": { + "consistence/coding-standard": "^2.0.0", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "phing/phing": "^2.16.0", + "phpstan/phpstan": "^0.10@dev", + "phpunit/phpunit": "^6.3", + "slevomat/coding-standard": "^3.3.0", + "symfony/process": "^3.4 || ^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.3-dev" + } + }, + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "time": "2018-06-20T17:48:01+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "0.10.3", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "dc62f78c9aa6e9f7c44e8d6518f1123cd1e1b1c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc62f78c9aa6e9f7c44e8d6518f1123cd1e1b1c0", + "reference": "dc62f78c9aa6e9f7c44e8d6518f1123cd1e1b1c0", + "shasum": "" + }, + "require": { + "composer/xdebug-handler": "^1.0", + "jean85/pretty-package-versions": "^1.0.3", + "nette/bootstrap": "^2.4 || ^3.0", + "nette/di": "^2.4.7 || ^3.0", + "nette/robot-loader": "^3.0.1", + "nette/utils": "^2.4.5 || ^3.0", + "nikic/php-parser": "^4.0.2", + "php": "~7.1", + "phpstan/phpdoc-parser": "^0.3", + "symfony/console": "~3.2 || ~4.0", + "symfony/finder": "~3.2 || ~4.0" + }, + "require-dev": { + "brianium/paratest": "^2.0", + "consistence/coding-standard": "^3.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4", + "ext-gd": "*", + "ext-intl": "*", + "ext-mysqli": "*", + "ext-zip": "*", + "jakub-onderka/php-parallel-lint": "^1.0", + "localheinz/composer-normalize": "~0.8.0", + "phing/phing": "^2.16.0", + "phpstan/phpstan-deprecation-rules": "^0.10.2", + "phpstan/phpstan-php-parser": "^0.10", + "phpstan/phpstan-phpunit": "^0.10", + "phpstan/phpstan-strict-rules": "^0.10", + "phpunit/phpunit": "^7.0", + "slevomat/coding-standard": "^4.6.2" + }, + "bin": [ + "bin/phpstan" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.10-dev" + } + }, + "autoload": { + "psr-4": { + "PHPStan\\": [ + "src/", + "build/PHPStan" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "time": "2018-08-12T15:14:21+00:00" + }, + { + "name": "phpstan/phpstan-deprecation-rules", + "version": "0.10.2", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan-deprecation-rules.git", + "reference": "fc7d373a760d2bf5cf999b052072adfa728892a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/fc7d373a760d2bf5cf999b052072adfa728892a0", + "reference": "fc7d373a760d2bf5cf999b052072adfa728892a0", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.0", + "php": "~7.1", + "phpstan/phpstan": "^0.10" + }, + "require-dev": { + "consistence/coding-standard": "^3.0.1", + "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4", + "jakub-onderka/php-parallel-lint": "^1.0", + "phing/phing": "^2.16.0", + "phpstan/phpstan-phpunit": "^0.10", + "phpunit/phpunit": "^7.0", + "slevomat/coding-standard": "^4.5.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.10-dev" + } + }, + "autoload": { + "psr-4": { + "PHPStan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", + "time": "2018-06-30T14:42:51+00:00" + }, + { + "name": "phpstan/phpstan-phpunit", + "version": "0.10", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan-phpunit.git", + "reference": "6feecc7faae187daa6be44140cd0f1ba210e6aa0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/6feecc7faae187daa6be44140cd0f1ba210e6aa0", + "reference": "6feecc7faae187daa6be44140cd0f1ba210e6aa0", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.0", + "php": "~7.1", + "phpstan/phpstan": "^0.10" + }, + "conflict": { + "phpunit/phpunit": "<7.0" + }, + "require-dev": { + "consistence/coding-standard": "^3.0.1", + "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4", + "jakub-onderka/php-parallel-lint": "^1.0", + "phing/phing": "^2.16.0", + "phpstan/phpstan-strict-rules": "^0.10", + "phpunit/phpunit": "^7.0", + "satooshi/php-coveralls": "^1.0", + "slevomat/coding-standard": "^4.5.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.10-dev" + } + }, + "autoload": { + "psr-4": { + "PHPStan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPUnit extensions and rules for PHPStan", + "time": "2018-06-22T18:12:17+00:00" + }, + { + "name": "phpstan/phpstan-strict-rules", + "version": "0.10.1", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan-strict-rules.git", + "reference": "18c0b6e8899606b127c680402ab473a7b67166db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/18c0b6e8899606b127c680402ab473a7b67166db", + "reference": "18c0b6e8899606b127c680402ab473a7b67166db", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.0", + "php": "~7.1", + "phpstan/phpstan": "^0.10" + }, + "require-dev": { + "consistence/coding-standard": "^3.0.1", + "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4", + "jakub-onderka/php-parallel-lint": "^1.0", + "phing/phing": "^2.16.0", + "phpstan/phpstan-phpunit": "^0.10", + "phpunit/phpunit": "^7.0", + "slevomat/coding-standard": "^4.5.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.10-dev" + } + }, + "autoload": { + "psr-4": { + "PHPStan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Extra strict and opinionated rules for PHPStan", + "time": "2018-07-06T20:36:44+00:00" + }, { "name": "phpunit/php-code-coverage", "version": "6.0.7", @@ -3765,16 +2583,16 @@ }, { "name": "phpunit/phpunit", - "version": "7.3.1", + "version": "7.3.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f9b14c17860eccb440a0352a117a81eb754cff5a" + "reference": "34705f81bddc3f505b9599a2ef96e2b4315ba9b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f9b14c17860eccb440a0352a117a81eb754cff5a", - "reference": "f9b14c17860eccb440a0352a117a81eb754cff5a", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/34705f81bddc3f505b9599a2ef96e2b4315ba9b8", + "reference": "34705f81bddc3f505b9599a2ef96e2b4315ba9b8", "shasum": "" }, "require": { @@ -3845,7 +2663,54 @@ "testing", "xunit" ], - "time": "2018-08-07T06:44:28+00:00" + "time": "2018-08-22T06:39:21+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -4702,13 +3567,11 @@ } ], "aliases": [], - "minimum-stability": "dev", + "minimum-stability": "stable", "stability-flags": { - "dflydev/embedded-composer": 20, - "doctrine/rst-parser": 20, - "sculpin/sculpin": 20 + "doctrine/rst-parser": 20 }, - "prefer-stable": true, + "prefer-stable": false, "prefer-lowest": false, "platform": [], "platform-dev": [] diff --git a/config/config.yml b/config/config.yml new file mode 100644 index 0000000..8e68177 --- /dev/null +++ b/config/config.yml @@ -0,0 +1,17 @@ +parameters: + doctrine.website.algolia.app_id: 'YVYTFT9XMW' + doctrine.website.algolia.admin_api_key: '1234' + + doctrine.website.projects_path: '%doctrine.website.root_dir%/projects' + doctrine.website.source_path: '%doctrine.website.root_dir%/source' + doctrine.website.templates_path: '%doctrine.website.root_dir%/templates' + + doctrine.website.title: Doctrine + doctrine.website.subtitle: PHP Database Tools + doctrine.website.url: http://lcl.doctrine-project.org:8080 + doctrine.website.keywords: [php, mysql, orm, dbal, database, mongodb, odm, annotations, migrations, cache, couchdb] + doctrine.website.description: > + The Doctrine Project is the home to several PHP libraries primarily + focused on database storage and object mapping. The core projects + are the Object Relational Mapper (ORM) and the Database Abstraction + Layer (DBAL) it is built upon. diff --git a/config/config_dev.yml b/config/config_dev.yml new file mode 100644 index 0000000..6fdb715 --- /dev/null +++ b/config/config_dev.yml @@ -0,0 +1,4 @@ +imports: + - config.yml + +parameters: [] diff --git a/config/config_prod.yml b/config/config_prod.yml new file mode 100644 index 0000000..e8d3b57 --- /dev/null +++ b/config/config_prod.yml @@ -0,0 +1,5 @@ +imports: + - config.yml + +parameters: + doctrine.website.url: 'https://www.doctrine-project.org' diff --git a/config/config_staging.yml b/config/config_staging.yml new file mode 100644 index 0000000..c2cec31 --- /dev/null +++ b/config/config_staging.yml @@ -0,0 +1,5 @@ +imports: + - { resource: config.yml } + +parameters: + doctrine.website.url: 'https://staging.doctrine-project.org' diff --git a/config/local.yml.dist b/config/local.yml.dist new file mode 100644 index 0000000..422630d --- /dev/null +++ b/config/local.yml.dist @@ -0,0 +1,3 @@ +parameters: + doctrine.website.algolia.admin_api_key: 'abcd' + doctrine.website.projects_path: '%doctrine.website.root_dir%/projects' diff --git a/app/config/projects.yml b/config/projects.yml similarity index 99% rename from app/config/projects.yml rename to config/projects.yml index b62d1ee..e45a776 100644 --- a/app/config/projects.yml +++ b/config/projects.yml @@ -1,5 +1,5 @@ parameters: - doctrine.projects: + doctrine.website.projects: orm: active: true name: Object Relational Mapper diff --git a/config/services.xml b/config/services.xml new file mode 100644 index 0000000..864b1cf --- /dev/null +++ b/config/services.xml @@ -0,0 +1,65 @@ + + + + + + %doctrine.website.root_dir% + %doctrine.website.env% + %doctrine.website.projects_path% + %doctrine.website.source_path% + %doctrine.website.projects% + %doctrine.website.team_members% + %doctrine.website.templates_path% + + + + + + + + + + + + + + + + + + %doctrine.website.algolia.app_id% + %doctrine.website.algolia.admin_api_key% + + + + %doctrine.website.title% + %doctrine.website.subtitle% + %doctrine.website.url% + %doctrine.website.keywords% + %doctrine.website.description% + %doctrine.website.env% + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/config/team_members.yml b/config/team_members.yml similarity index 99% rename from app/config/team_members.yml rename to config/team_members.yml index e6b06a2..36ddb49 100644 --- a/app/config/team_members.yml +++ b/config/team_members.yml @@ -1,5 +1,5 @@ parameters: - doctrine.team_members: + doctrine.website.team_members: # active alcaeus: name: Andreas diff --git a/doctrine b/doctrine index 2f07942..47f4a40 120000 --- a/doctrine +++ b/doctrine @@ -1 +1 @@ -vendor/bin/sculpin \ No newline at end of file +bin/console \ No newline at end of file diff --git a/lib/Application.php b/lib/Application.php new file mode 100644 index 0000000..f898d52 --- /dev/null +++ b/lib/Application.php @@ -0,0 +1,79 @@ +application = $application; + $this->buildDocsCommand = $buildDocsCommand; + $this->buildWebsiteCommand = $buildWebsiteCommand; + $this->deployCommand = $deployCommand; + } + + public function run(InputInterface $input) : int + { + $this->application->add($this->buildDocsCommand); + $this->application->add($this->buildWebsiteCommand); + $this->application->add($this->deployCommand); + + return $this->application->run($input); + } + + public static function getContainer(string $env) : ContainerBuilder + { + $container = new ContainerBuilder(); + $container->setParameter('doctrine.website.env', $env); + $container->setParameter('doctrine.website.root_dir', realpath(__DIR__ . '/..')); + $container->setParameter('doctrine.website.config_dir', realpath(__DIR__ . '/../config')); + + $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../config')); + $loader->load('services.xml'); + + $loader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../config')); + $loader->load('projects.yml'); + $loader->load('team_members.yml'); + + $loader->load(sprintf('config_%s.yml', $env)); + + if (file_exists($container->getParameter('doctrine.website.config_dir') . '/local.yml')) { + $loader->load('local.yml'); + } + + $container->compile(); + + return $container; + } +} diff --git a/lib/Builder/SourceFile.php b/lib/Builder/SourceFile.php new file mode 100644 index 0000000..3f1d5c5 --- /dev/null +++ b/lib/Builder/SourceFile.php @@ -0,0 +1,122 @@ +extension = $extension; + $this->writePath = $writePath; + $this->contents = $contents; + $this->parameters = $parameters; + } + + public function getWritePath() : string + { + return $this->writePath; + } + + public function getUrl() : string + { + return $this->parameters['url']; + } + + public function getDate() : DateTime + { + $e = explode('/', $this->getUrl()); + + if (count($e) < 4) { + return new DateTime(); + } + + $date = strtotime(sprintf('%s/%s/%s', $e[1], $e[2], $e[3])); + + if ($date === false) { + return new DateTime(); + } + + return (new DateTime())->setTimestamp($date); + } + + public function getExtension() : string + { + return $this->extension; + } + + public function isMarkdown() : bool + { + return $this->getExtension() === self::MARKDOWN_EXTENSION; + } + + public function isTwig() : bool + { + return in_array($this->getExtension(), self::TWIG_EXTENSIONS, true) && $this->isApiDocs() === false; + } + + public function isLayoutNeeded() : bool + { + return in_array($this->getExtension(), self::NEEDS_LAYOUT_EXTENSIONS, true); + } + + public function isApiDocs() : bool + { + return strpos($this->getUrl(), '/api/') === 0; + } + + public function getContents() : string + { + return $this->contents; + } + + /** + * @return mixed[] + */ + public function getParameters() : array + { + return $this->parameters; + } + + /** + * @return mixed + */ + public function getParameter(string $key) + { + return $this->parameters[$key] ?? ''; + } +} diff --git a/lib/Builder/SourceFileBuilder.php b/lib/Builder/SourceFileBuilder.php new file mode 100644 index 0000000..199fa4c --- /dev/null +++ b/lib/Builder/SourceFileBuilder.php @@ -0,0 +1,48 @@ +sourceFileRenderer = $sourceFileRenderer; + $this->filesystem = $filesystem; + $this->parsedown = $parsedown; + } + + public function buildFile(SourceFile $sourceFile, string $buildDir) : void + { + $rendered = $sourceFile->getContents(); + + if ($sourceFile->isMarkdown()) { + $rendered = $this->parsedown->text($rendered); + } + + if ($sourceFile->isTwig()) { + $rendered = $this->sourceFileRenderer->render( + $sourceFile, + $rendered + ); + } + + $this->filesystem->dumpFile($sourceFile->getWritePath(), $rendered); + } +} diff --git a/lib/Builder/SourceFileRenderer.php b/lib/Builder/SourceFileRenderer.php new file mode 100644 index 0000000..6b00ad3 --- /dev/null +++ b/lib/Builder/SourceFileRenderer.php @@ -0,0 +1,60 @@ +twigRenderer = $twigRenderer; + $this->site = $site; + } + + public function render(SourceFile $sourceFile, string $contents) : string + { + $template = $this->prepareTemplate($sourceFile, $contents); + + $pageParameters = $this->preparePageParameters($sourceFile); + + return $this->twigRenderer->render($template, [ + 'page' => $pageParameters, + 'site' => $this->site, + ]); + } + + /** + * @return mixed[] + */ + private function preparePageParameters(SourceFile $sourceFile) : array + { + return array_merge($sourceFile->getParameters(), [ + 'date' => $sourceFile->getDate(), + ]); + } + + private function prepareTemplate(SourceFile $sourceFile, string $contents) : string + { + if ($sourceFile->isLayoutNeeded()) { + if (! preg_match_all('/{%\s+block\s+(\w+)\s+%}(.*?){%\s+endblock\s+%}/si', $contents, $matches)) { + $contents = '{% block content %}' . $contents . '{% endblock %}'; + } + + $contents = '{% extends "layouts/' . $sourceFile->getParameter('layout') . '.html.twig" %}' . $contents; + } + + return $contents; + } +} diff --git a/lib/Builder/SourceFileRepository.php b/lib/Builder/SourceFileRepository.php new file mode 100644 index 0000000..a43b4fc --- /dev/null +++ b/lib/Builder/SourceFileRepository.php @@ -0,0 +1,126 @@ +rootDir = $rootDir; + } + + /** + * @return SourceFile[] + */ + public function getFiles(string $buildDir, string $inPath = 'source') : array + { + $finder = new Finder(); + + $finder + ->in($this->rootDir . '/' . $inPath) + ->files(); + + $files = []; + + foreach ($finder as $splFileInfo) { + $path = $splFileInfo->getRealPath(); + + $contents = file_get_contents($path); + + $extension = $this->getExtension($path); + + $writePath = $this->getWritePath($buildDir, $path, $extension); + + $parameters = $this->getFileParameters($buildDir, $writePath, $contents); + + $writePath = $buildDir . $parameters['url']; + + $contents = $this->stripFileParameters($contents); + + $files[] = new SourceFile( + $extension, + $writePath, + $contents, + $parameters + ); + } + + return $files; + } + + private function getWritePath(string $buildDir, string $path, string $extension) : string + { + $writePath = $buildDir . str_replace($this->rootDir . '/source', '', $path); + + if (in_array($extension, ['md', 'rst'], true)) { + $writePath = substr($writePath, 0, strrpos($writePath, '.')) . '.html'; + } + + return $writePath; + } + + private function getExtension(string $path) : string + { + $e = explode('.', $path); + + return end($e); + } + + private function stripFileParameters(string $contents) : string + { + return preg_replace('/^\s*(?:---[\s]*[\r\n]+)(.*?)(?:---[\s]*[\r\n]+)(.*?)$/s', '$2', $contents); + } + + /** + * @return mixed[] + */ + private function getFileParameters(string $buildDir, string $writePath, string $string) : array + { + $parameters = []; + + if (preg_match('/^\s*(?:---[\s]*[\r\n]+)(.*?)(?:---[\s]*[\r\n]+)(.*?)$/s', $string, $matches)) { + if (preg_match('/^(\s*[-]+\s*|\s*)$/', $matches[1]) === 0) { + $parameters = Yaml::parse($matches[1], 1); + } + } + + if (! isset($parameters['layout'])) { + $parameters['layout'] = 'default'; + } + + $parameters['url'] = $this->getUrl($buildDir, $writePath, $parameters); + + return $parameters; + } + + /** + * @param mixed[] $parameters + */ + private function getUrl(string $buildDir, string $writePath, array $parameters) : string + { + $permalink = $parameters['permalink'] ?? ''; + + if ($permalink !== '' && $permalink !== 'none') { + return $permalink; + } + + return str_replace($buildDir, '', $writePath); + } +} diff --git a/app/src/Doctrine/Website/DoctrineSculpinBundle/Command/BuildDocsCommand.php b/lib/Commands/BuildDocsCommand.php similarity index 77% rename from app/src/Doctrine/Website/DoctrineSculpinBundle/Command/BuildDocsCommand.php rename to lib/Commands/BuildDocsCommand.php index 207ebfd..ce3436a 100644 --- a/app/src/Doctrine/Website/DoctrineSculpinBundle/Command/BuildDocsCommand.php +++ b/lib/Commands/BuildDocsCommand.php @@ -2,15 +2,26 @@ declare(strict_types=1); -namespace Doctrine\Website\DoctrineSculpinBundle\Command; +namespace Doctrine\Website\Commands; -use Sculpin\Core\Console\Command\ContainerAwareCommand; +use Doctrine\Website\Docs\BuildDocs; +use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; -class BuildDocsCommand extends ContainerAwareCommand +class BuildDocsCommand extends Command { + /** @var BuildDocs */ + private $buildDocs; + + public function __construct(BuildDocs $buildDocs) + { + parent::__construct(); + + $this->buildDocs = $buildDocs; + } + protected function configure() : void { $this @@ -46,6 +57,12 @@ class BuildDocsCommand extends ContainerAwareCommand InputOption::VALUE_NONE, 'Sync git repositories before building.' ) + ->addOption( + 'env', + 'e', + InputOption::VALUE_REQUIRED, + 'The environment.' + ) ; } @@ -57,9 +74,7 @@ class BuildDocsCommand extends ContainerAwareCommand $buildSearchIndexes = (bool) $input->getOption('search'); $syncGit = (bool) $input->getOption('sync-git'); - $buildDocs = $this->getContainer()->get('doctrine.docs.build_docs'); - - $buildDocs->build( + $this->buildDocs->build( $output, $projectToBuild, $versionToBuild, diff --git a/app/src/Doctrine/Website/DoctrineSculpinBundle/Command/BuildWebsiteCommand.php b/lib/Commands/BuildWebsiteCommand.php similarity index 53% rename from app/src/Doctrine/Website/DoctrineSculpinBundle/Command/BuildWebsiteCommand.php rename to lib/Commands/BuildWebsiteCommand.php index 0731a08..de51001 100644 --- a/app/src/Doctrine/Website/DoctrineSculpinBundle/Command/BuildWebsiteCommand.php +++ b/lib/Commands/BuildWebsiteCommand.php @@ -2,23 +2,45 @@ declare(strict_types=1); -namespace Doctrine\Website\DoctrineSculpinBundle\Command; +namespace Doctrine\Website\Commands; use Doctrine\Website\WebsiteBuilder; use InvalidArgumentException; -use Sculpin\Core\Console\Command\ContainerAwareCommand; +use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use function in_array; +use function ini_set; use function is_dir; use function mkdir; use function realpath; use function sprintf; -class BuildWebsiteCommand extends ContainerAwareCommand +class BuildWebsiteCommand extends Command { + /** @var WebsiteBuilder */ + private $websiteBuilder; + + /** @var string */ + private $rootDir; + + /** @var string */ + private $env; + + public function __construct( + WebsiteBuilder $websiteBuilder, + string $rootDir, + string $env + ) { + parent::__construct(); + + $this->websiteBuilder = $websiteBuilder; + $this->rootDir = $rootDir; + $this->env = $env; + } + protected function configure() : void { $this @@ -35,26 +57,29 @@ class BuildWebsiteCommand extends ContainerAwareCommand InputOption::VALUE_NONE, 'Publish the build to GitHub Pages.' ) + ->addOption( + 'env', + 'e', + InputOption::VALUE_REQUIRED, + 'The environment.' + ) ; } protected function execute(InputInterface $input, OutputInterface $output) : void { - $container = $this->getContainer(); + ini_set('memory_limit', '1024M'); - $rootDir = $container->getParameter('kernel.root_dir'); - $env = $container->getParameter('kernel.environment'); + $publish = (bool) $input->getOption('publish'); - $publish = $input->getOption('publish'); - - if ($publish && ! in_array($env, WebsiteBuilder::PUBLISHABLE_ENVS)) { - throw new InvalidArgumentException(sprintf('You cannot publish the "%s" environment.', $env)); + if ($publish && ! in_array($this->env, WebsiteBuilder::PUBLISHABLE_ENVS, true)) { + throw new InvalidArgumentException(sprintf('You cannot publish the "%s" environment.', $this->env)); } $buildDir = $input->getArgument('build-dir'); - if (! $buildDir) { - $buildDir = sprintf('%s/../build-%s', $rootDir, $env); + if ($buildDir === null) { + $buildDir = sprintf('%s/build-%s', $this->rootDir, $this->env); } if (! is_dir($buildDir)) { @@ -63,8 +88,6 @@ class BuildWebsiteCommand extends ContainerAwareCommand $buildDir = realpath($buildDir); - $buildWebsite = $container->get('doctrine.website_builder'); - - $buildWebsite->build($output, $buildDir, $env, $publish); + $this->websiteBuilder->build($output, $buildDir, $this->env, $publish); } } diff --git a/lib/Commands/DeployCommand.php b/lib/Commands/DeployCommand.php new file mode 100644 index 0000000..fe46a2e --- /dev/null +++ b/lib/Commands/DeployCommand.php @@ -0,0 +1,44 @@ +deployer = $deployer; + } + + protected function configure() : void + { + $this + ->setName('deploy') + ->setDescription('Deploy the Doctrine website.') + ->addOption( + 'env', + 'e', + InputOption::VALUE_REQUIRED, + 'The environment.' + ) + ; + ; + } + + protected function execute(InputInterface $input, OutputInterface $output) : void + { + $this->deployer->deploy($output); + } +} diff --git a/app/src/Doctrine/Website/Deployer.php b/lib/Deployer.php similarity index 91% rename from app/src/Doctrine/Website/Deployer.php rename to lib/Deployer.php index e412be2..54cf049 100644 --- a/app/src/Doctrine/Website/Deployer.php +++ b/lib/Deployer.php @@ -37,7 +37,7 @@ class Deployer public function deploy(OutputInterface $output) : void { - if (! in_array($this->env, self::ENVS)) { + if (! in_array($this->env, self::ENVS, true)) { throw new InvalidArgumentException( sprintf('Cannot deploy the %s environment.', $this->env) ); @@ -72,11 +72,7 @@ class Deployer // build the docs, website and publish $deployCommand = sprintf( - 'cd /data/doctrine-website-%s && ./doctrine build-docs --api --sync-git && ./doctrine build-website /data/doctrine-website-build-%s --env=%s --publish', - $this->env, - $this->env, - $this->env, - $this->env, + 'cd /data/doctrine-website-%s && ./bin/console build-docs --api --sync-git && ./bin/console build-website /data/doctrine-website-build-%s --env=%s --publish', $this->env, $this->env, $this->env diff --git a/app/src/Doctrine/Website/Docs/APIBuilder.php b/lib/Docs/APIBuilder.php similarity index 83% rename from app/src/Doctrine/Website/Docs/APIBuilder.php rename to lib/Docs/APIBuilder.php index d874c56..61041cf 100644 --- a/app/src/Doctrine/Website/Docs/APIBuilder.php +++ b/lib/Docs/APIBuilder.php @@ -20,16 +20,16 @@ class APIBuilder private $projectsPath; /** @var string */ - private $sculpinSourcePath; + private $sourcePath; public function __construct( ProcessFactory $processFactory, string $projectsPath, - string $sculpinSourcePath + string $sourcePath ) { - $this->processFactory = $processFactory; - $this->projectsPath = $projectsPath; - $this->sculpinSourcePath = $sculpinSourcePath; + $this->processFactory = $processFactory; + $this->projectsPath = $projectsPath; + $this->sourcePath = $sourcePath; } public function buildAPIDocs( @@ -50,7 +50,7 @@ return new Sami\Sami('%s', [ CONFIG; $codeDir = $this->projectsPath . '/' . $project->getRepositoryName() . $project->getCodePath(); - $buildDir = $this->sculpinSourcePath . '/api/' . $project->getSlug() . '/' . $version->getSlug(); + $buildDir = $this->sourcePath . '/api/' . $project->getSlug() . '/' . $version->getSlug(); $cacheDir = $this->projectsPath . '/' . $project->getRepositoryName() . '/cache'; $renderedConfigContent = sprintf( @@ -64,7 +64,7 @@ CONFIG; ); $configPath = $this->projectsPath . '/' . $project->getRepositoryName() . '/sami.php'; - $samiPharPath = $this->sculpinSourcePath . '/../sami.phar'; + $samiPharPath = $this->sourcePath . '/../sami.phar'; $this->filePutContents($configPath, $renderedConfigContent); diff --git a/app/src/Doctrine/Website/Docs/BuildDocs.php b/lib/Docs/BuildDocs.php similarity index 100% rename from app/src/Doctrine/Website/Docs/BuildDocs.php rename to lib/Docs/BuildDocs.php diff --git a/app/src/Doctrine/Website/Docs/CodeBlockConsoleRenderer.php b/lib/Docs/CodeBlockConsoleRenderer.php similarity index 100% rename from app/src/Doctrine/Website/Docs/CodeBlockConsoleRenderer.php rename to lib/Docs/CodeBlockConsoleRenderer.php diff --git a/app/src/Doctrine/Website/Docs/CodeBlockLanguageDetector.php b/lib/Docs/CodeBlockLanguageDetector.php similarity index 100% rename from app/src/Doctrine/Website/Docs/CodeBlockLanguageDetector.php rename to lib/Docs/CodeBlockLanguageDetector.php diff --git a/app/src/Doctrine/Website/Docs/CodeBlockRenderer.php b/lib/Docs/CodeBlockRenderer.php similarity index 94% rename from app/src/Doctrine/Website/Docs/CodeBlockRenderer.php rename to lib/Docs/CodeBlockRenderer.php index 8a59645..01ca7fa 100644 --- a/app/src/Doctrine/Website/Docs/CodeBlockRenderer.php +++ b/lib/Docs/CodeBlockRenderer.php @@ -29,7 +29,7 @@ class CodeBlockRenderer */ public function render(array $lines, string $language) : string { - if (in_array($language, self::CONSOLE_LANGUAGES)) { + if (in_array($language, self::CONSOLE_LANGUAGES, true)) { return $this->codeBlockConsoleRenderer->render( $lines ); diff --git a/app/src/Doctrine/Website/Docs/CodeBlockWithLineNumbersRenderer.php b/lib/Docs/CodeBlockWithLineNumbersRenderer.php similarity index 99% rename from app/src/Doctrine/Website/Docs/CodeBlockWithLineNumbersRenderer.php rename to lib/Docs/CodeBlockWithLineNumbersRenderer.php index aa27d68..db4ac40 100644 --- a/app/src/Doctrine/Website/Docs/CodeBlockWithLineNumbersRenderer.php +++ b/lib/Docs/CodeBlockWithLineNumbersRenderer.php @@ -96,7 +96,7 @@ TEMPLATE; private function shouldHighlight(string $language) : bool { - return $language !== '' && ! in_array($language, self::LANGUAGES_NOT_TO_HIGHLIGHT); + return $language !== '' && ! in_array($language, self::LANGUAGES_NOT_TO_HIGHLIGHT, true); } /** diff --git a/app/src/Doctrine/Website/Docs/RSTBuilder.php b/lib/Docs/RSTBuilder.php similarity index 70% rename from app/src/Doctrine/Website/Docs/RSTBuilder.php rename to lib/Docs/RSTBuilder.php index c04fbdb..8f457f1 100644 --- a/app/src/Doctrine/Website/Docs/RSTBuilder.php +++ b/lib/Docs/RSTBuilder.php @@ -8,22 +8,26 @@ use Doctrine\RST\Builder; use Doctrine\RST\Document; use Doctrine\Website\Projects\Project; use Doctrine\Website\Projects\ProjectVersion; -use function array_merge; +use Symfony\Component\Filesystem\Filesystem; +use Symfony\Component\Finder\Finder; +use Symfony\Component\Finder\SplFileInfo; +use function array_filter; +use function array_map; +use function array_values; use function dirname; use function file_exists; use function file_get_contents; use function file_put_contents; -use function glob; use function is_dir; +use function iterator_to_array; use function mkdir; use function preg_match; use function preg_replace; -use function shell_exec; +use function realpath; use function sprintf; use function str_replace; use function strpos; use function trim; -use function unlink; class RSTBuilder { @@ -51,7 +55,7 @@ class RSTBuilder TEMPLATE; - public const SCULPIN_TEMPLATE = <<