dkdeploy-typo3-cms 7.0.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +3 -0
  3. data/.rubocop.yml +8 -0
  4. data/.travis.yml +3 -2
  5. data/Berksfile.lock +33 -41
  6. data/CHANGELOG.md +18 -0
  7. data/LICENSE +1 -1
  8. data/README.md +5 -5
  9. data/Vagrantfile +7 -14
  10. data/config/vm/cookbooks/dkdeploy-typo3-cms/metadata.rb +3 -3
  11. data/config/vm/cookbooks/dkdeploy-typo3-cms/recipes/default.rb +3 -3
  12. data/dkdeploy-typo3-cms.gemspec +10 -8
  13. data/features/cli.feature +24 -33
  14. data/features/step_definitions/mysql.rb +6 -4
  15. data/features/step_definitions/typo3.rb +1 -5
  16. data/features/support/env.rb +8 -1
  17. data/features/typo3.feature +38 -1
  18. data/lib/capistrano/dkdeploy/typo3_cms.rb +60 -3
  19. data/lib/dkdeploy/typo3/cms/helpers/cli.rb +4 -4
  20. data/lib/dkdeploy/typo3/cms/helpers/mysql.rb +26 -0
  21. data/lib/dkdeploy/typo3/cms/tasks/cache.rake +1 -1
  22. data/lib/dkdeploy/typo3/cms/tasks/caretaker_key_management.rake +1 -1
  23. data/lib/dkdeploy/typo3/cms/tasks/cli.rake +0 -18
  24. data/lib/dkdeploy/typo3/cms/tasks/typo3.rake +19 -11
  25. data/lib/dkdeploy/typo3/cms/version.rb +1 -1
  26. data/spec/fixtures/application/config/deploy.rb +5 -0
  27. data/spec/fixtures/application/config/deploy/dev.rb +4 -4
  28. data/spec/fixtures/application/htdocs/catalog/variable_injection_test.phpsh +2 -0
  29. data/spec/fixtures/application/htdocs/composer.json +3 -3
  30. data/spec/fixtures/application/htdocs/composer.lock +1888 -0
  31. data/spec/fixtures/application/htdocs/typo3conf/LocalConfiguration.php +1 -0
  32. data/spec/fixtures/capistrano/configuration/additional_configuration_for_server.rb +1 -1
  33. data/spec/fixtures/capistrano/configuration/cli_test_tasks_variable_injection.rb +5 -0
  34. data/spec/fixtures/capistrano/configuration/cli_test_tasks_with_path.rb +6 -0
  35. metadata +65 -18
  36. data/spec/fixtures/application/htdocs/typo3/cli_dispatch.phpsh +0 -2
@@ -1,16 +1,12 @@
1
1
  Given(/^a successfully deployed TYPO3 application$/) do
2
2
  step 'I want to use the database `dkdeploy_typo3_cms`'
3
3
  step 'the TYPO3 table be_users exists'
4
- step 'a TYPO3 backend user "_cli_lowlevel" exists'
4
+ step 'a TYPO3 backend user "_cli_" exists'
5
5
  step 'I successfully run `cap dev composer:local:run[install]` for up to 60 seconds'
6
6
  step 'I successfully run `cap dev db:upload_settings[127.0.0.1,3306,dkdeploy_typo3_cms,root,ilikerandompasswords,utf8]`'
7
7
  step 'I successfully run `cap dev typo3:cms:create_db_credentials`'
8
8
  step 'I successfully run `cap dev typo3:cms:create_install_tool_password_file[dkdeploy]`'
9
9
  step 'I successfully run `cap dev typo3:cms:create_encryption_key_file[ca01b5b9868677647d3ec6c91b6b338a34786d6d4e163fb44badde98d11c9f887a5567a1d7797847de011693c36e110f]`'
10
10
  step 'I successfully run `cap dev deploy`'
11
- step 'I successfully run `cap dev typo3:cms:setup_additional_configuration`'
12
11
  step 'I successfully run `cap dev typo3:cms:update_database`'
13
- step 'I successfully run `cap dev file_access:set_permissions_of_release_path`'
14
- step 'I successfully run `cap dev file_access:set_permissions_of_shared_path`'
15
- step 'I successfully run `cap dev file_access:set_custom_access`'
16
12
  end
@@ -4,8 +4,15 @@ ssh_config = {}
4
4
  ssh_key_files = Dir.glob(File.join(Dir.getwd, '.vagrant', 'machines', '**', 'virtualbox', 'private_key'))
5
5
  unless ssh_key_files.empty?
6
6
  # Define generated ssh key files
7
- ssh_config = { user: 'vagrant', keys: ssh_key_files }
7
+ ssh_config = { user: 'ubuntu', keys: ssh_key_files }
8
8
  end
9
9
 
10
10
  TEST_APPLICATION = Dkdeploy::TestEnvironment::Application.new(File.expand_path('../../../', __FILE__), 'dkdeploy-typo3-cms.dev', ssh_config)
11
11
  TEST_APPLICATION.mysql_connection_settings = { host: 'dkdeploy-typo3-cms.dev', username: 'root', password: 'ilikerandompasswords' }
12
+
13
+ # this configuration tricks Bundler into executing another Bundler project with clean enviroment
14
+ # The official way via Bundler.with_clean_env did not work properly here
15
+ Aruba.configure do |config|
16
+ config.command_runtime_environment = { 'BUNDLE_GEMFILE' => File.join(TEST_APPLICATION.test_app_path, 'Gemfile') }
17
+ config.exit_timeout = 30
18
+ end
@@ -79,7 +79,7 @@ Feature: Test tasks for namespace 'typo3:cms'
79
79
  When I successfully run `cap dev "typo3:cms:create_install_tool_password_file[super-secret-password]"`
80
80
  Then a remote file named "shared_path/config/install_tool_password.php" should exist
81
81
 
82
- Scenario: Check adding a TYPO3 admin user
82
+ Scenario: Check adding a TYPO3 admin user interactively
83
83
  Given I want to use the database `dkdeploy_typo3_cms`
84
84
  Given the TYPO3 table be_users exists
85
85
  When I run `cap dev typo3:cms:create_db_credentials` interactively
@@ -98,3 +98,40 @@ Feature: Test tasks for namespace 'typo3:cms'
98
98
  And I wait 10 second to let the database commit the transaction
99
99
  Then the database should have a value `admin` in table `be_users` for column `username`
100
100
  Then the database should have a value `2304d4770a72d09106045fea654c4188` in table `be_users` for column `password`
101
+
102
+ Scenario: Check adding a Typo3 admin user with a string that needs escaping
103
+ Given I want to use the database `dkdeploy_typo3_cms`
104
+ Given the TYPO3 table be_users exists
105
+ When I run `cap dev typo3:cms:create_db_credentials` interactively
106
+ And I type "127.0.0.1"
107
+ And I type "3306"
108
+ And I type "dkdeploy_typo3_cms"
109
+ And I type "root"
110
+ And I type "ilikerandompasswords"
111
+ And I type "utf8"
112
+ And I close the stdin stream
113
+ Then the exit status should be 0
114
+ When I run `cap dev "typo3:cms:add_admin_user[dkd-admin,DROP TABLE be_users;this')s_a/very_"nasty"\string]"`
115
+ And I wait 10 second to let the database commit the transaction
116
+ Then the database should have a value `dkd-admin` in table `be_users` for column `username`
117
+ Then the database should have a value `857ea8fba149f63590e290ffe69bd33d` in table `be_users` for column `password`
118
+
119
+ Scenario: Check adding a Typo3 admin user with a string that needs escaping interactively
120
+ Given I want to use the database `dkdeploy_typo3_cms`
121
+ Given the TYPO3 table be_users exists
122
+ When I run `cap dev typo3:cms:create_db_credentials` interactively
123
+ And I type "127.0.0.1"
124
+ And I type "3306"
125
+ And I type "dkdeploy_typo3_cms"
126
+ And I type "root"
127
+ And I type "ilikerandompasswords"
128
+ And I type "utf8"
129
+ And I close the stdin stream
130
+ Then the exit status should be 0
131
+ When I run `cap dev typo3:cms:add_admin_user` interactively
132
+ And I type "dkd-admin"
133
+ And I type "DROP TABLE be_users;this')s_a/very_nasty\string"
134
+ And I close the stdin stream
135
+ And I wait 10 second to let the database commit the transaction
136
+ Then the database should have a value `dkd-admin` in table `be_users` for column `username`
137
+ Then the database should have a value `a4525cc4adb871fd961be1ffb22be712` in table `be_users` for column `password`
@@ -11,6 +11,8 @@ load File.expand_path('../../../dkdeploy/typo3/cms/tasks/caretaker_key_managemen
11
11
 
12
12
  namespace :load do
13
13
  task :defaults do
14
+ set :asset_folders, %w[fileadmin uploads]
15
+ set :asset_default_content, fetch(:asset_folders)
14
16
  set :typoscript_userts_file, 'UserTS.txt'
15
17
  set :typoscript_pagets_file, 'PageTS.txt'
16
18
  set :typoscript_config_file, 'config.txt'
@@ -21,13 +23,68 @@ namespace :load do
21
23
  set :create_caretaker_instance_keys_path, -> { File.join(shared_path, 'config', 'create_caretaker_instance_keys.php') }
22
24
  set :caretaker_instance_keys_path, -> { File.join(shared_path, 'config', 'caretaker_instance_keys.php') }
23
25
 
24
- # Use custom Composer autoload
25
26
  set :typo3_environment_cli, {
26
- TYPO3_COMPOSER_AUTOLOAD: 1,
27
27
  TERM: 'screen-256color'
28
28
  }
29
+
30
+ set :additional_ignore_tables, fetch(:additional_ignore_tables, []) + %w[
31
+ be_sessions
32
+ be_users
33
+ cache_md5params
34
+ cache_treelist
35
+ cf_cache_hash
36
+ cf_cache_hash_tags
37
+ cf_cache_imagesizes
38
+ cf_cache_imagesizes_tags
39
+ cf_cache_news_category
40
+ cf_cache_news_category_tags
41
+ cf_cache_pages
42
+ cf_cache_pages_tags
43
+ cf_cache_pagesection
44
+ cf_cache_rootline
45
+ cf_cache_rootline_tags
46
+ cf_extbase_datamapfactory_datamap
47
+ cf_extbase_datamapfactory_datamap_tags
48
+ cf_extbase_object
49
+ cf_extbase_object_tags
50
+ cf_extbase_reflection
51
+ cf_extbase_reflection_tags
52
+ cf_news
53
+ cf_news_tags
54
+ cf_themes_cache
55
+ cf_themes_cache_tags
56
+ cf_workspaces_cache
57
+ cf_workspaces_cache_tags
58
+ fe_session_data
59
+ fe_sessions
60
+ fe_users
61
+ sys_be_shortcuts
62
+ sys_domain
63
+ sys_file_processedfile
64
+ sys_history
65
+ sys_lockedrecords
66
+ sys_log
67
+ tx_dkdstandard_migration_versions
68
+ tx_impexp_presets
69
+ tx_realurl_chashcache
70
+ tx_realurl_pathcache
71
+ tx_realurl_pathdata
72
+ tx_realurl_uniqalias_cache_map
73
+ tx_realurl_urldata
74
+ tx_realurl_urldecodecache
75
+ tx_realurl_urlencodecache
76
+ tx_rsaauth_keys
77
+ tx_solr_cache
78
+ tx_solr_cache_tags
79
+ tx_solr_indexqueue_indexing_property
80
+ tx_solr_indexqueue_item
81
+ tx_solr_last_searches
82
+ tx_solr_statistics
83
+ ]
84
+
29
85
  # Path to typo3_console. Relative path to typo3_console script
30
- set :path_to_typo3_console, 'bin/typo3cms'
86
+ set :path_to_typo3_console, File.join('bin', 'typo3cms')
87
+ set :path_to_typo3_cli, File.join('bin', 'typo3')
31
88
 
32
89
  set :additional_configuration_template, File.join(__dir__, '..', '..', '..', 'vendor', 'AdditionalConfiguration.php.erb')
33
90
  set :additional_configuration_files, []
@@ -9,7 +9,7 @@ module Dkdeploy
9
9
  # @param cli_params [Array] list of arguments for typo3/cli_dispatch.phpsh
10
10
  # @return [Boolean] returns true/false as success of execution
11
11
  def typo3_cli(*cli_params)
12
- path_to_cli_dispatch = File.join(current_path, 'typo3', 'cli_dispatch.phpsh')
12
+ path_to_cli_dispatch = File.join(current_path, fetch(:path_to_typo3_cli))
13
13
  run_script(current_path, path_to_cli_dispatch, cli_params)
14
14
  end
15
15
 
@@ -19,7 +19,7 @@ module Dkdeploy
19
19
  # @param cli_params [Array] list of arguments for typo3/cli_dispatch.phpsh
20
20
  # @return [Boolean] returns true/false as success of execution
21
21
  def typo3_cli_in_path(path, *cli_params)
22
- path_to_cli_dispatch = File.join(path, 'typo3', 'cli_dispatch.phpsh')
22
+ path_to_cli_dispatch = File.join(path, fetch(:path_to_typo3_cli))
23
23
  run_script(path, path_to_cli_dispatch, cli_params)
24
24
  end
25
25
 
@@ -32,7 +32,7 @@ module Dkdeploy
32
32
  # @param cli_params [Array] list of arguments for typo3/cli_dispatch.phpsh
33
33
  # @return [String] returns the last result of executing task
34
34
  def capture_typo3_cli_in_loop(maximum_loop_count, *cli_params, &block)
35
- path_to_cli_dispatch = File.join(current_path, 'typo3', 'cli_dispatch.phpsh')
35
+ path_to_cli_dispatch = File.join(current_path, fetch(:path_to_typo3_cli))
36
36
  capture_script_in_loop(current_path, path_to_cli_dispatch, maximum_loop_count, cli_params, &block)
37
37
  end
38
38
 
@@ -46,7 +46,7 @@ module Dkdeploy
46
46
  # @param cli_params [Array] list of arguments for typo3/cli_dispatch.phpsh
47
47
  # @return [String] returns the last result of executing task
48
48
  def capture_typo3_cli_in_path_in_loop(path, maximum_loop_count, *cli_params, &block)
49
- path_to_cli_dispatch = File.join(path, 'typo3', 'cli_dispatch.phpsh')
49
+ path_to_cli_dispatch = File.join(path, fetch(:path_to_typo3_cli))
50
50
  capture_script_in_loop(path, path_to_cli_dispatch, maximum_loop_count, cli_params, &block)
51
51
  end
52
52
 
@@ -0,0 +1,26 @@
1
+ module Dkdeploy
2
+ module Typo3
3
+ module Cms
4
+ module Helpers
5
+ # MySQL Helpers
6
+ module Mysql
7
+ # Escape special character in string for MySQL.
8
+ # copied from https://github.com/tmtm/ruby-mysql/blob/2.9.14/lib/mysql.rb#L56
9
+ # @param [String]
10
+ # @return [String]
11
+ def mysql_escape_string(str)
12
+ str.gsub(/[\0\n\r\\\'\"\x1a]/) do |s|
13
+ case s
14
+ when "\0" then '\\0'
15
+ when "\n" then '\\n'
16
+ when "\r" then '\\r'
17
+ when "\x1a" then '\\Z'
18
+ else "\\#{s}"
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -6,7 +6,7 @@ namespace :typo3 do
6
6
  desc 'Clear TYPO3 file cache directory'
7
7
  task :clear_file_cache do |task|
8
8
  on release_roles :app do
9
- cache_path = File.join release_path, 'typo3temp', 'Cache'
9
+ cache_path = File.join release_path, 'typo3temp', 'var', 'Cache'
10
10
  execute :rm, '-rf', cache_path if test "[ -d #{cache_path} ]"
11
11
  end
12
12
 
@@ -8,7 +8,7 @@ include Dkdeploy::Typo3::Cms::Helpers::Cli
8
8
  namespace :caretaker do
9
9
  desc 'Create - if necessary or configured - and configure TYPO3 Caretaker SSL keys'
10
10
  task :create_keys, :create_new_caretaker_keys do |_, args|
11
- create_new_keys = 'yes' == ask_variable(args, :create_new_caretaker_keys, 'questions.create_new_keys')
11
+ create_new_keys = ask_variable(args, :create_new_caretaker_keys, 'questions.create_new_keys') == 'yes'
12
12
 
13
13
  on roles :app do |server|
14
14
  key_is_missing = !test("[ -f #{fetch(:caretaker_private_key_path)} ]")
@@ -22,24 +22,6 @@ namespace :typo3 do
22
22
  # Reenable Task to allow multiple invokation
23
23
  task.reenable
24
24
  end
25
-
26
- desc 'Uploads wrapper script to initialize PHP with environment variables'
27
- task :upload_wrapper do
28
- path_to_typo_cms_cli_dispatch = File.join release_path, 'typo3_cms_cli_dispatch.sh'
29
- path_to_cli_dispatch = File.join release_path, 'typo3', 'cli_dispatch.phpsh'
30
-
31
- bash_path = SSHKit.config.command_map[:bash]
32
- wrapper_file_content = "#!#{bash_path}\n"
33
- fetch(:typo3_environment_cli).each do |variable_name, variable_value|
34
- wrapper_file_content << "#{variable_name.to_s.upcase}='#{variable_value}' "
35
- end
36
-
37
- php_interpreter_path = SSHKit.config.command_map[:php]
38
- wrapper_file_content << "#{php_interpreter_path} #{path_to_cli_dispatch} $@\n"
39
- on release_roles :backend do
40
- upload! StringIO.new(wrapper_file_content), path_to_typo_cms_cli_dispatch
41
- end
42
- end
43
25
  end
44
26
  end
45
27
  end
@@ -3,6 +3,7 @@ require 'digest/md5'
3
3
  require 'dkdeploy/typo3/cms/dsl'
4
4
  require 'dkdeploy/typo3/cms/i18n'
5
5
  require 'dkdeploy/helpers/common'
6
+ require 'dkdeploy/typo3/cms/helpers/mysql'
6
7
  require 'dkdeploy/interaction_handler/password'
7
8
  require 'phpass'
8
9
  require 'shellwords'
@@ -12,6 +13,7 @@ require 'dkdeploy/typo3/cms/helpers/erb'
12
13
 
13
14
  include Dkdeploy::Typo3::Cms::Helpers::Erb
14
15
  include Dkdeploy::Helpers::Common
16
+ include Dkdeploy::Typo3::Cms::Helpers::Mysql
15
17
  include Dkdeploy::Typo3::DSL
16
18
 
17
19
  namespace :typo3 do
@@ -55,14 +57,20 @@ namespace :typo3 do
55
57
  db_settings = read_db_settings_for_context(self)
56
58
  end
57
59
 
58
- config_file_content = <<CONFIG_FILE_CONTENT
59
- <?php
60
- $GLOBALS['TYPO3_CONF_VARS']['DB']['database'] = '#{db_settings.fetch('name')}';
61
- $GLOBALS['TYPO3_CONF_VARS']['DB']['host'] = '#{db_settings.fetch('host')}';
62
- $GLOBALS['TYPO3_CONF_VARS']['DB']['username'] = '#{db_settings.fetch('username')}';
63
- $GLOBALS['TYPO3_CONF_VARS']['DB']['password'] = '#{db_settings.fetch('password')}';
64
- $GLOBALS['TYPO3_CONF_VARS']['DB']['port'] = #{db_settings.fetch('port')};
65
- CONFIG_FILE_CONTENT
60
+ config_file_content = <<-CONFIG_FILE_CONTENT
61
+ <?php
62
+ $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default'] = [
63
+ 'charset' => '#{db_settings.fetch('charset')}',
64
+ 'dbname' => '#{db_settings.fetch('name')}',
65
+ 'driver' => 'mysqli',
66
+ 'host' => '#{db_settings.fetch('host')}',
67
+ 'password' => '#{db_settings.fetch('password')}',
68
+ 'port' => #{db_settings.fetch('port')},
69
+ 'user' => '#{db_settings.fetch('username')}',
70
+ // Use init commands from previous configuration files like LocalConfiguration.php
71
+ 'initCommands' => $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default']['initCommands'] ?? ''
72
+ ];
73
+ CONFIG_FILE_CONTENT
66
74
 
67
75
  upload! StringIO.new(config_file_content), File.join(shared_path, 'config', "db_settings.#{fetch(:stage)}.php")
68
76
  end
@@ -91,7 +99,7 @@ CONFIG_FILE_CONTENT
91
99
  # rsync to htdocs/typo3temp/ext
92
100
  info I18n.t('tasks.fetch_extension.rsync', extension: extension, scope: :dkdeploy)
93
101
  rsync_excludes = []
94
- rsync_exclude_directories = %w(.git/ .svn/)
102
+ rsync_exclude_directories = %w[.git/ .svn/]
95
103
  rsync_exclude_directories.each do |exclude|
96
104
  rsync_excludes << '--exclude=' + exclude
97
105
  end
@@ -152,7 +160,7 @@ CONFIG_FILE_CONTENT
152
160
  now = Time.now.to_i
153
161
 
154
162
  sql_string = "INSERT INTO be_users (username, password, admin, tstamp, crdate)
155
- VALUES ('#{typo3_username}', MD5('#{typo3_password}'), 1, #{now}, #{now});"
163
+ VALUES ('#{mysql_escape_string typo3_username}', MD5('#{mysql_escape_string typo3_password}'), 1, #{now}, #{now});"
156
164
 
157
165
  on primary :backend do
158
166
  begin
@@ -209,7 +217,7 @@ CONFIG_FILE_CONTENT
209
217
  desc 'Update translations for core and extensions (l10n)'
210
218
  task :update_translations, :typo3_languages_to_translate do |_, args|
211
219
  typo3_languages_to_translate = ask_variable(args, :typo3_languages_to_translate, 'questions.typo3_languages_to_translate')
212
- typo3_console 'language:update', typo3_languages_to_translate
220
+ typo3_cli 'lang:language:update', typo3_languages_to_translate
213
221
  end
214
222
 
215
223
  desc 'Remove not needed extensions'
@@ -3,7 +3,7 @@ module Dkdeploy
3
3
  module Cms
4
4
  # Class for version number
5
5
  class Version
6
- MAJOR = 7
6
+ MAJOR = 8
7
7
  MINOR = 0
8
8
  PATCH = 0
9
9
 
@@ -6,3 +6,8 @@ SSHKit.config.command_map.prefix[:chown].push 'sudo'
6
6
  SSHKit.config.command_map.prefix[:chgrp].push 'sudo'
7
7
  SSHKit.config.command_map.prefix[:chmod].push 'sudo'
8
8
  SSHKit.config.command_map[:composer] = 'vendor/composer.phar'
9
+
10
+ after 'deploy:updated', 'typo3:cms:setup_additional_configuration'
11
+ after 'deploy:updated', 'file_access:set_permissions_of_release_path'
12
+ after 'deploy:updated', 'file_access:set_permissions_of_shared_path'
13
+ after 'deploy:updated', 'file_access:set_custom_access'
@@ -1,5 +1,5 @@
1
1
  set :deploy_to, '/var/www/dkdeploy'
2
- server 'dkdeploy-typo3-cms.dev', roles: %w(web app backend), primary: true
2
+ server 'dkdeploy-typo3-cms.dev', roles: %w[web app backend], primary: true
3
3
 
4
4
  # no ssh compression on the dev stage
5
5
  set :ssh_options, {
@@ -11,7 +11,7 @@ unless ssh_key_files.empty?
11
11
  # Define generated ssh key files
12
12
  set :ssh_options, fetch(:ssh_options).merge(
13
13
  {
14
- user: 'vagrant',
14
+ user: 'ubuntu',
15
15
  keys: ssh_key_files
16
16
  }
17
17
  )
@@ -22,11 +22,11 @@ set :typoscript_pagets_file, 'PageTS.txt'
22
22
  set :typoscript_config_file, 'config.txt'
23
23
 
24
24
  set :copy_source, 'htdocs'
25
- set :copy_exclude, %w(
25
+ set :copy_exclude, %w[
26
26
  Gemfile*
27
27
  .hidden
28
28
  **/.hidden
29
- )
29
+ ]
30
30
 
31
31
  # custom file access properties
32
32
  set :custom_file_access, {
@@ -0,0 +1,2 @@
1
+ <?php
2
+ echo "CUSTOM_VARIABLE=" . getenv("CUSTOM_VARIABLE");
@@ -11,9 +11,9 @@
11
11
  }
12
12
  ],
13
13
  "require": {
14
- "typo3/cms": "7.6.15",
15
- "typo3-ter/realurl": "2.1.5",
16
- "helhum/typo3-console": "4.1.2"
14
+ "typo3/cms": "8.7.8",
15
+ "typo3-ter/realurl": "2.3.0",
16
+ "helhum/typo3-console": "4.9.1"
17
17
  },
18
18
  "extra": {
19
19
  "helhum/typo3-console":{
@@ -0,0 +1,1888 @@
1
+ {
2
+ "_readme": [
3
+ "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
+ "This file is @generated automatically"
6
+ ],
7
+ "content-hash": "a5f3835e7f385de69a21e04401b6b595",
8
+ "packages": [
9
+ {
10
+ "name": "cogpowered/finediff",
11
+ "version": "0.3.1",
12
+ "source": {
13
+ "type": "git",
14
+ "url": "https://github.com/cogpowered/FineDiff.git",
15
+ "reference": "339ddc8c3afb656efed4f2f0a80e5c3d026f8ea8"
16
+ },
17
+ "dist": {
18
+ "type": "zip",
19
+ "url": "https://api.github.com/repos/cogpowered/FineDiff/zipball/339ddc8c3afb656efed4f2f0a80e5c3d026f8ea8",
20
+ "reference": "339ddc8c3afb656efed4f2f0a80e5c3d026f8ea8",
21
+ "shasum": ""
22
+ },
23
+ "require": {
24
+ "php": ">=5.3.0"
25
+ },
26
+ "require-dev": {
27
+ "mockery/mockery": "*",
28
+ "phpunit/phpunit": "*"
29
+ },
30
+ "type": "library",
31
+ "autoload": {
32
+ "psr-0": {
33
+ "cogpowered\\FineDiff": "src/"
34
+ }
35
+ },
36
+ "notification-url": "https://packagist.org/downloads/",
37
+ "license": [
38
+ "MIT"
39
+ ],
40
+ "authors": [
41
+ {
42
+ "name": "Rob Crowe",
43
+ "email": "rob@cogpowered.com"
44
+ },
45
+ {
46
+ "name": "Raymond Hill"
47
+ }
48
+ ],
49
+ "description": "PHP implementation of a Fine granularity Diff engine",
50
+ "homepage": "https://github.com/cogpowered/FineDiff",
51
+ "keywords": [
52
+ "diff",
53
+ "finediff",
54
+ "opcode",
55
+ "string",
56
+ "text"
57
+ ],
58
+ "time": "2014-05-19T10:25:02+00:00"
59
+ },
60
+ {
61
+ "name": "doctrine/annotations",
62
+ "version": "v1.4.0",
63
+ "source": {
64
+ "type": "git",
65
+ "url": "https://github.com/doctrine/annotations.git",
66
+ "reference": "54cacc9b81758b14e3ce750f205a393d52339e97"
67
+ },
68
+ "dist": {
69
+ "type": "zip",
70
+ "url": "https://api.github.com/repos/doctrine/annotations/zipball/54cacc9b81758b14e3ce750f205a393d52339e97",
71
+ "reference": "54cacc9b81758b14e3ce750f205a393d52339e97",
72
+ "shasum": ""
73
+ },
74
+ "require": {
75
+ "doctrine/lexer": "1.*",
76
+ "php": "^5.6 || ^7.0"
77
+ },
78
+ "require-dev": {
79
+ "doctrine/cache": "1.*",
80
+ "phpunit/phpunit": "^5.7"
81
+ },
82
+ "type": "library",
83
+ "extra": {
84
+ "branch-alias": {
85
+ "dev-master": "1.4.x-dev"
86
+ }
87
+ },
88
+ "autoload": {
89
+ "psr-4": {
90
+ "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations"
91
+ }
92
+ },
93
+ "notification-url": "https://packagist.org/downloads/",
94
+ "license": [
95
+ "MIT"
96
+ ],
97
+ "authors": [
98
+ {
99
+ "name": "Roman Borschel",
100
+ "email": "roman@code-factory.org"
101
+ },
102
+ {
103
+ "name": "Benjamin Eberlei",
104
+ "email": "kontakt@beberlei.de"
105
+ },
106
+ {
107
+ "name": "Guilherme Blanco",
108
+ "email": "guilhermeblanco@gmail.com"
109
+ },
110
+ {
111
+ "name": "Jonathan Wage",
112
+ "email": "jonwage@gmail.com"
113
+ },
114
+ {
115
+ "name": "Johannes Schmitt",
116
+ "email": "schmittjoh@gmail.com"
117
+ }
118
+ ],
119
+ "description": "Docblock Annotations Parser",
120
+ "homepage": "http://www.doctrine-project.org",
121
+ "keywords": [
122
+ "annotations",
123
+ "docblock",
124
+ "parser"
125
+ ],
126
+ "time": "2017-02-24T16:22:25+00:00"
127
+ },
128
+ {
129
+ "name": "doctrine/cache",
130
+ "version": "v1.6.2",
131
+ "source": {
132
+ "type": "git",
133
+ "url": "https://github.com/doctrine/cache.git",
134
+ "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b"
135
+ },
136
+ "dist": {
137
+ "type": "zip",
138
+ "url": "https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b",
139
+ "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b",
140
+ "shasum": ""
141
+ },
142
+ "require": {
143
+ "php": "~5.5|~7.0"
144
+ },
145
+ "conflict": {
146
+ "doctrine/common": ">2.2,<2.4"
147
+ },
148
+ "require-dev": {
149
+ "phpunit/phpunit": "~4.8|~5.0",
150
+ "predis/predis": "~1.0",
151
+ "satooshi/php-coveralls": "~0.6"
152
+ },
153
+ "type": "library",
154
+ "extra": {
155
+ "branch-alias": {
156
+ "dev-master": "1.6.x-dev"
157
+ }
158
+ },
159
+ "autoload": {
160
+ "psr-4": {
161
+ "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
162
+ }
163
+ },
164
+ "notification-url": "https://packagist.org/downloads/",
165
+ "license": [
166
+ "MIT"
167
+ ],
168
+ "authors": [
169
+ {
170
+ "name": "Roman Borschel",
171
+ "email": "roman@code-factory.org"
172
+ },
173
+ {
174
+ "name": "Benjamin Eberlei",
175
+ "email": "kontakt@beberlei.de"
176
+ },
177
+ {
178
+ "name": "Guilherme Blanco",
179
+ "email": "guilhermeblanco@gmail.com"
180
+ },
181
+ {
182
+ "name": "Jonathan Wage",
183
+ "email": "jonwage@gmail.com"
184
+ },
185
+ {
186
+ "name": "Johannes Schmitt",
187
+ "email": "schmittjoh@gmail.com"
188
+ }
189
+ ],
190
+ "description": "Caching library offering an object-oriented API for many cache backends",
191
+ "homepage": "http://www.doctrine-project.org",
192
+ "keywords": [
193
+ "cache",
194
+ "caching"
195
+ ],
196
+ "time": "2017-07-22T12:49:21+00:00"
197
+ },
198
+ {
199
+ "name": "doctrine/collections",
200
+ "version": "v1.4.0",
201
+ "source": {
202
+ "type": "git",
203
+ "url": "https://github.com/doctrine/collections.git",
204
+ "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba"
205
+ },
206
+ "dist": {
207
+ "type": "zip",
208
+ "url": "https://api.github.com/repos/doctrine/collections/zipball/1a4fb7e902202c33cce8c55989b945612943c2ba",
209
+ "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba",
210
+ "shasum": ""
211
+ },
212
+ "require": {
213
+ "php": "^5.6 || ^7.0"
214
+ },
215
+ "require-dev": {
216
+ "doctrine/coding-standard": "~0.1@dev",
217
+ "phpunit/phpunit": "^5.7"
218
+ },
219
+ "type": "library",
220
+ "extra": {
221
+ "branch-alias": {
222
+ "dev-master": "1.3.x-dev"
223
+ }
224
+ },
225
+ "autoload": {
226
+ "psr-0": {
227
+ "Doctrine\\Common\\Collections\\": "lib/"
228
+ }
229
+ },
230
+ "notification-url": "https://packagist.org/downloads/",
231
+ "license": [
232
+ "MIT"
233
+ ],
234
+ "authors": [
235
+ {
236
+ "name": "Roman Borschel",
237
+ "email": "roman@code-factory.org"
238
+ },
239
+ {
240
+ "name": "Benjamin Eberlei",
241
+ "email": "kontakt@beberlei.de"
242
+ },
243
+ {
244
+ "name": "Guilherme Blanco",
245
+ "email": "guilhermeblanco@gmail.com"
246
+ },
247
+ {
248
+ "name": "Jonathan Wage",
249
+ "email": "jonwage@gmail.com"
250
+ },
251
+ {
252
+ "name": "Johannes Schmitt",
253
+ "email": "schmittjoh@gmail.com"
254
+ }
255
+ ],
256
+ "description": "Collections Abstraction library",
257
+ "homepage": "http://www.doctrine-project.org",
258
+ "keywords": [
259
+ "array",
260
+ "collections",
261
+ "iterator"
262
+ ],
263
+ "time": "2017-01-03T10:49:41+00:00"
264
+ },
265
+ {
266
+ "name": "doctrine/common",
267
+ "version": "v2.7.3",
268
+ "source": {
269
+ "type": "git",
270
+ "url": "https://github.com/doctrine/common.git",
271
+ "reference": "4acb8f89626baafede6ee5475bc5844096eba8a9"
272
+ },
273
+ "dist": {
274
+ "type": "zip",
275
+ "url": "https://api.github.com/repos/doctrine/common/zipball/4acb8f89626baafede6ee5475bc5844096eba8a9",
276
+ "reference": "4acb8f89626baafede6ee5475bc5844096eba8a9",
277
+ "shasum": ""
278
+ },
279
+ "require": {
280
+ "doctrine/annotations": "1.*",
281
+ "doctrine/cache": "1.*",
282
+ "doctrine/collections": "1.*",
283
+ "doctrine/inflector": "1.*",
284
+ "doctrine/lexer": "1.*",
285
+ "php": "~5.6|~7.0"
286
+ },
287
+ "require-dev": {
288
+ "phpunit/phpunit": "^5.4.6"
289
+ },
290
+ "type": "library",
291
+ "extra": {
292
+ "branch-alias": {
293
+ "dev-master": "2.7.x-dev"
294
+ }
295
+ },
296
+ "autoload": {
297
+ "psr-4": {
298
+ "Doctrine\\Common\\": "lib/Doctrine/Common"
299
+ }
300
+ },
301
+ "notification-url": "https://packagist.org/downloads/",
302
+ "license": [
303
+ "MIT"
304
+ ],
305
+ "authors": [
306
+ {
307
+ "name": "Roman Borschel",
308
+ "email": "roman@code-factory.org"
309
+ },
310
+ {
311
+ "name": "Benjamin Eberlei",
312
+ "email": "kontakt@beberlei.de"
313
+ },
314
+ {
315
+ "name": "Guilherme Blanco",
316
+ "email": "guilhermeblanco@gmail.com"
317
+ },
318
+ {
319
+ "name": "Jonathan Wage",
320
+ "email": "jonwage@gmail.com"
321
+ },
322
+ {
323
+ "name": "Johannes Schmitt",
324
+ "email": "schmittjoh@gmail.com"
325
+ }
326
+ ],
327
+ "description": "Common Library for Doctrine projects",
328
+ "homepage": "http://www.doctrine-project.org",
329
+ "keywords": [
330
+ "annotations",
331
+ "collections",
332
+ "eventmanager",
333
+ "persistence",
334
+ "spl"
335
+ ],
336
+ "time": "2017-07-22T08:35:12+00:00"
337
+ },
338
+ {
339
+ "name": "doctrine/dbal",
340
+ "version": "v2.5.13",
341
+ "source": {
342
+ "type": "git",
343
+ "url": "https://github.com/doctrine/dbal.git",
344
+ "reference": "729340d8d1eec8f01bff708e12e449a3415af873"
345
+ },
346
+ "dist": {
347
+ "type": "zip",
348
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873",
349
+ "reference": "729340d8d1eec8f01bff708e12e449a3415af873",
350
+ "shasum": ""
351
+ },
352
+ "require": {
353
+ "doctrine/common": ">=2.4,<2.8-dev",
354
+ "php": ">=5.3.2"
355
+ },
356
+ "require-dev": {
357
+ "phpunit/phpunit": "4.*",
358
+ "symfony/console": "2.*||^3.0"
359
+ },
360
+ "suggest": {
361
+ "symfony/console": "For helpful console commands such as SQL execution and import of files."
362
+ },
363
+ "bin": [
364
+ "bin/doctrine-dbal"
365
+ ],
366
+ "type": "library",
367
+ "extra": {
368
+ "branch-alias": {
369
+ "dev-master": "2.5.x-dev"
370
+ }
371
+ },
372
+ "autoload": {
373
+ "psr-0": {
374
+ "Doctrine\\DBAL\\": "lib/"
375
+ }
376
+ },
377
+ "notification-url": "https://packagist.org/downloads/",
378
+ "license": [
379
+ "MIT"
380
+ ],
381
+ "authors": [
382
+ {
383
+ "name": "Roman Borschel",
384
+ "email": "roman@code-factory.org"
385
+ },
386
+ {
387
+ "name": "Benjamin Eberlei",
388
+ "email": "kontakt@beberlei.de"
389
+ },
390
+ {
391
+ "name": "Guilherme Blanco",
392
+ "email": "guilhermeblanco@gmail.com"
393
+ },
394
+ {
395
+ "name": "Jonathan Wage",
396
+ "email": "jonwage@gmail.com"
397
+ }
398
+ ],
399
+ "description": "Database Abstraction Layer",
400
+ "homepage": "http://www.doctrine-project.org",
401
+ "keywords": [
402
+ "database",
403
+ "dbal",
404
+ "persistence",
405
+ "queryobject"
406
+ ],
407
+ "time": "2017-07-22T20:44:48+00:00"
408
+ },
409
+ {
410
+ "name": "doctrine/inflector",
411
+ "version": "v1.2.0",
412
+ "source": {
413
+ "type": "git",
414
+ "url": "https://github.com/doctrine/inflector.git",
415
+ "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462"
416
+ },
417
+ "dist": {
418
+ "type": "zip",
419
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/e11d84c6e018beedd929cff5220969a3c6d1d462",
420
+ "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462",
421
+ "shasum": ""
422
+ },
423
+ "require": {
424
+ "php": "^7.0"
425
+ },
426
+ "require-dev": {
427
+ "phpunit/phpunit": "^6.2"
428
+ },
429
+ "type": "library",
430
+ "extra": {
431
+ "branch-alias": {
432
+ "dev-master": "1.2.x-dev"
433
+ }
434
+ },
435
+ "autoload": {
436
+ "psr-4": {
437
+ "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector"
438
+ }
439
+ },
440
+ "notification-url": "https://packagist.org/downloads/",
441
+ "license": [
442
+ "MIT"
443
+ ],
444
+ "authors": [
445
+ {
446
+ "name": "Roman Borschel",
447
+ "email": "roman@code-factory.org"
448
+ },
449
+ {
450
+ "name": "Benjamin Eberlei",
451
+ "email": "kontakt@beberlei.de"
452
+ },
453
+ {
454
+ "name": "Guilherme Blanco",
455
+ "email": "guilhermeblanco@gmail.com"
456
+ },
457
+ {
458
+ "name": "Jonathan Wage",
459
+ "email": "jonwage@gmail.com"
460
+ },
461
+ {
462
+ "name": "Johannes Schmitt",
463
+ "email": "schmittjoh@gmail.com"
464
+ }
465
+ ],
466
+ "description": "Common String Manipulations with regard to casing and singular/plural rules.",
467
+ "homepage": "http://www.doctrine-project.org",
468
+ "keywords": [
469
+ "inflection",
470
+ "pluralize",
471
+ "singularize",
472
+ "string"
473
+ ],
474
+ "time": "2017-07-22T12:18:28+00:00"
475
+ },
476
+ {
477
+ "name": "doctrine/instantiator",
478
+ "version": "1.0.5",
479
+ "source": {
480
+ "type": "git",
481
+ "url": "https://github.com/doctrine/instantiator.git",
482
+ "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
483
+ },
484
+ "dist": {
485
+ "type": "zip",
486
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
487
+ "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
488
+ "shasum": ""
489
+ },
490
+ "require": {
491
+ "php": ">=5.3,<8.0-DEV"
492
+ },
493
+ "require-dev": {
494
+ "athletic/athletic": "~0.1.8",
495
+ "ext-pdo": "*",
496
+ "ext-phar": "*",
497
+ "phpunit/phpunit": "~4.0",
498
+ "squizlabs/php_codesniffer": "~2.0"
499
+ },
500
+ "type": "library",
501
+ "extra": {
502
+ "branch-alias": {
503
+ "dev-master": "1.0.x-dev"
504
+ }
505
+ },
506
+ "autoload": {
507
+ "psr-4": {
508
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
509
+ }
510
+ },
511
+ "notification-url": "https://packagist.org/downloads/",
512
+ "license": [
513
+ "MIT"
514
+ ],
515
+ "authors": [
516
+ {
517
+ "name": "Marco Pivetta",
518
+ "email": "ocramius@gmail.com",
519
+ "homepage": "http://ocramius.github.com/"
520
+ }
521
+ ],
522
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
523
+ "homepage": "https://github.com/doctrine/instantiator",
524
+ "keywords": [
525
+ "constructor",
526
+ "instantiate"
527
+ ],
528
+ "time": "2015-06-14T21:17:01+00:00"
529
+ },
530
+ {
531
+ "name": "doctrine/lexer",
532
+ "version": "v1.0.1",
533
+ "source": {
534
+ "type": "git",
535
+ "url": "https://github.com/doctrine/lexer.git",
536
+ "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
537
+ },
538
+ "dist": {
539
+ "type": "zip",
540
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
541
+ "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
542
+ "shasum": ""
543
+ },
544
+ "require": {
545
+ "php": ">=5.3.2"
546
+ },
547
+ "type": "library",
548
+ "extra": {
549
+ "branch-alias": {
550
+ "dev-master": "1.0.x-dev"
551
+ }
552
+ },
553
+ "autoload": {
554
+ "psr-0": {
555
+ "Doctrine\\Common\\Lexer\\": "lib/"
556
+ }
557
+ },
558
+ "notification-url": "https://packagist.org/downloads/",
559
+ "license": [
560
+ "MIT"
561
+ ],
562
+ "authors": [
563
+ {
564
+ "name": "Roman Borschel",
565
+ "email": "roman@code-factory.org"
566
+ },
567
+ {
568
+ "name": "Guilherme Blanco",
569
+ "email": "guilhermeblanco@gmail.com"
570
+ },
571
+ {
572
+ "name": "Johannes Schmitt",
573
+ "email": "schmittjoh@gmail.com"
574
+ }
575
+ ],
576
+ "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
577
+ "homepage": "http://www.doctrine-project.org",
578
+ "keywords": [
579
+ "lexer",
580
+ "parser"
581
+ ],
582
+ "time": "2014-09-09T13:34:57+00:00"
583
+ },
584
+ {
585
+ "name": "guzzlehttp/guzzle",
586
+ "version": "6.3.0",
587
+ "source": {
588
+ "type": "git",
589
+ "url": "https://github.com/guzzle/guzzle.git",
590
+ "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699"
591
+ },
592
+ "dist": {
593
+ "type": "zip",
594
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699",
595
+ "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699",
596
+ "shasum": ""
597
+ },
598
+ "require": {
599
+ "guzzlehttp/promises": "^1.0",
600
+ "guzzlehttp/psr7": "^1.4",
601
+ "php": ">=5.5"
602
+ },
603
+ "require-dev": {
604
+ "ext-curl": "*",
605
+ "phpunit/phpunit": "^4.0 || ^5.0",
606
+ "psr/log": "^1.0"
607
+ },
608
+ "suggest": {
609
+ "psr/log": "Required for using the Log middleware"
610
+ },
611
+ "type": "library",
612
+ "extra": {
613
+ "branch-alias": {
614
+ "dev-master": "6.2-dev"
615
+ }
616
+ },
617
+ "autoload": {
618
+ "files": [
619
+ "src/functions_include.php"
620
+ ],
621
+ "psr-4": {
622
+ "GuzzleHttp\\": "src/"
623
+ }
624
+ },
625
+ "notification-url": "https://packagist.org/downloads/",
626
+ "license": [
627
+ "MIT"
628
+ ],
629
+ "authors": [
630
+ {
631
+ "name": "Michael Dowling",
632
+ "email": "mtdowling@gmail.com",
633
+ "homepage": "https://github.com/mtdowling"
634
+ }
635
+ ],
636
+ "description": "Guzzle is a PHP HTTP client library",
637
+ "homepage": "http://guzzlephp.org/",
638
+ "keywords": [
639
+ "client",
640
+ "curl",
641
+ "framework",
642
+ "http",
643
+ "http client",
644
+ "rest",
645
+ "web service"
646
+ ],
647
+ "time": "2017-06-22T18:50:49+00:00"
648
+ },
649
+ {
650
+ "name": "guzzlehttp/promises",
651
+ "version": "v1.3.1",
652
+ "source": {
653
+ "type": "git",
654
+ "url": "https://github.com/guzzle/promises.git",
655
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
656
+ },
657
+ "dist": {
658
+ "type": "zip",
659
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
660
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
661
+ "shasum": ""
662
+ },
663
+ "require": {
664
+ "php": ">=5.5.0"
665
+ },
666
+ "require-dev": {
667
+ "phpunit/phpunit": "^4.0"
668
+ },
669
+ "type": "library",
670
+ "extra": {
671
+ "branch-alias": {
672
+ "dev-master": "1.4-dev"
673
+ }
674
+ },
675
+ "autoload": {
676
+ "psr-4": {
677
+ "GuzzleHttp\\Promise\\": "src/"
678
+ },
679
+ "files": [
680
+ "src/functions_include.php"
681
+ ]
682
+ },
683
+ "notification-url": "https://packagist.org/downloads/",
684
+ "license": [
685
+ "MIT"
686
+ ],
687
+ "authors": [
688
+ {
689
+ "name": "Michael Dowling",
690
+ "email": "mtdowling@gmail.com",
691
+ "homepage": "https://github.com/mtdowling"
692
+ }
693
+ ],
694
+ "description": "Guzzle promises library",
695
+ "keywords": [
696
+ "promise"
697
+ ],
698
+ "time": "2016-12-20T10:07:11+00:00"
699
+ },
700
+ {
701
+ "name": "guzzlehttp/psr7",
702
+ "version": "1.4.2",
703
+ "source": {
704
+ "type": "git",
705
+ "url": "https://github.com/guzzle/psr7.git",
706
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
707
+ },
708
+ "dist": {
709
+ "type": "zip",
710
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
711
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
712
+ "shasum": ""
713
+ },
714
+ "require": {
715
+ "php": ">=5.4.0",
716
+ "psr/http-message": "~1.0"
717
+ },
718
+ "provide": {
719
+ "psr/http-message-implementation": "1.0"
720
+ },
721
+ "require-dev": {
722
+ "phpunit/phpunit": "~4.0"
723
+ },
724
+ "type": "library",
725
+ "extra": {
726
+ "branch-alias": {
727
+ "dev-master": "1.4-dev"
728
+ }
729
+ },
730
+ "autoload": {
731
+ "psr-4": {
732
+ "GuzzleHttp\\Psr7\\": "src/"
733
+ },
734
+ "files": [
735
+ "src/functions_include.php"
736
+ ]
737
+ },
738
+ "notification-url": "https://packagist.org/downloads/",
739
+ "license": [
740
+ "MIT"
741
+ ],
742
+ "authors": [
743
+ {
744
+ "name": "Michael Dowling",
745
+ "email": "mtdowling@gmail.com",
746
+ "homepage": "https://github.com/mtdowling"
747
+ },
748
+ {
749
+ "name": "Tobias Schultze",
750
+ "homepage": "https://github.com/Tobion"
751
+ }
752
+ ],
753
+ "description": "PSR-7 message implementation that also provides common utility methods",
754
+ "keywords": [
755
+ "http",
756
+ "message",
757
+ "request",
758
+ "response",
759
+ "stream",
760
+ "uri",
761
+ "url"
762
+ ],
763
+ "time": "2017-03-20T17:10:46+00:00"
764
+ },
765
+ {
766
+ "name": "helhum/typo3-console",
767
+ "version": "4.9.1",
768
+ "source": {
769
+ "type": "git",
770
+ "url": "https://github.com/TYPO3-Console/TYPO3-Console.git",
771
+ "reference": "50ffee2feef06e500b74b1eebb65cec4132a4ccc"
772
+ },
773
+ "dist": {
774
+ "type": "zip",
775
+ "url": "https://api.github.com/repos/TYPO3-Console/TYPO3-Console/zipball/50ffee2feef06e500b74b1eebb65cec4132a4ccc",
776
+ "reference": "50ffee2feef06e500b74b1eebb65cec4132a4ccc",
777
+ "shasum": ""
778
+ },
779
+ "require": {
780
+ "ext-phar": "*",
781
+ "helhum/typo3-console-plugin": "^1.7.5 || ^2.0.2",
782
+ "php": ">=5.5.0 <7.2",
783
+ "symfony/console": "^2.7 || ^3.0",
784
+ "symfony/process": "^2.7 || ^3.0",
785
+ "typo3/cms-backend": "^7.6 || ^8.7",
786
+ "typo3/cms-core": "^7.6 || ^8.7",
787
+ "typo3/cms-extbase": "^7.6 || ^8.7",
788
+ "typo3/cms-extensionmanager": "^7.6 || ^8.7",
789
+ "typo3/cms-fluid": "^7.6 || ^8.7",
790
+ "typo3/cms-install": "^7.6 || ^8.7",
791
+ "typo3/cms-scheduler": "^7.6 || ^8.7"
792
+ },
793
+ "replace": {
794
+ "typo3-ter/typo3-console": "self.version",
795
+ "typo3_console": "self.version"
796
+ },
797
+ "require-dev": {
798
+ "mikey179/vfsstream": "~1.6.0",
799
+ "nimut/testing-framework": "^1.0",
800
+ "symfony/filesystem": "^3.2",
801
+ "typo3-console/create-reference-command": "^1.0",
802
+ "typo3/cms": "^8.7"
803
+ },
804
+ "bin": [
805
+ "Scripts/typo3cms"
806
+ ],
807
+ "type": "library",
808
+ "extra": {
809
+ "branch-alias": {
810
+ "dev-master": "4.x-dev"
811
+ },
812
+ "typo3/cms": {
813
+ "cms-package-dir": "{$vendor-dir}/typo3/cms",
814
+ "web-dir": ".Build/Web",
815
+ "Package": {
816
+ "partOfMinimalUsableSystem": true
817
+ }
818
+ }
819
+ },
820
+ "autoload": {
821
+ "psr-4": {
822
+ "Helhum\\Typo3Console\\": [
823
+ "Classes/",
824
+ "Resources/Private/ExtensionArtifacts/src/"
825
+ ]
826
+ }
827
+ },
828
+ "notification-url": "https://packagist.org/downloads/",
829
+ "license": [
830
+ "GPL-2.0+"
831
+ ],
832
+ "authors": [
833
+ {
834
+ "name": "Helmut Hummel",
835
+ "email": "info@helhum.io",
836
+ "homepage": "http://helhum.io",
837
+ "role": "Developer"
838
+ }
839
+ ],
840
+ "description": "A reliable and powerful command line interface for TYPO3 CMS",
841
+ "homepage": "http://insight.helhum.io/post/104528981610/about-the-beauty-and-power-of-typo3-console",
842
+ "keywords": [
843
+ "cli",
844
+ "command",
845
+ "commandline",
846
+ "console",
847
+ "typo3"
848
+ ],
849
+ "time": "2017-10-05T20:00:39+00:00"
850
+ },
851
+ {
852
+ "name": "helhum/typo3-console-plugin",
853
+ "version": "2.0.2",
854
+ "source": {
855
+ "type": "git",
856
+ "url": "https://github.com/TYPO3-Console/typo3-console-plugin.git",
857
+ "reference": "4886cd23d0e37a20c2fd5b6d2408dcfe7c6fca48"
858
+ },
859
+ "dist": {
860
+ "type": "zip",
861
+ "url": "https://api.github.com/repos/TYPO3-Console/typo3-console-plugin/zipball/4886cd23d0e37a20c2fd5b6d2408dcfe7c6fca48",
862
+ "reference": "4886cd23d0e37a20c2fd5b6d2408dcfe7c6fca48",
863
+ "shasum": ""
864
+ },
865
+ "require": {
866
+ "composer-plugin-api": "^1.0",
867
+ "php": ">=7.0.0 <7.2",
868
+ "typo3/cms-composer-installers": "^1.4"
869
+ },
870
+ "require-dev": {
871
+ "composer/composer": "^1.0"
872
+ },
873
+ "type": "composer-plugin",
874
+ "extra": {
875
+ "class": "Helhum\\Typo3ConsolePlugin\\Plugin",
876
+ "branch-alias": {
877
+ "dev-master": "2.x-dev"
878
+ }
879
+ },
880
+ "autoload": {
881
+ "psr-4": {
882
+ "Helhum\\Typo3ConsolePlugin\\": "src/"
883
+ }
884
+ },
885
+ "notification-url": "https://packagist.org/downloads/",
886
+ "license": [
887
+ "MIT"
888
+ ],
889
+ "authors": [
890
+ {
891
+ "name": "Helmut Hummel",
892
+ "email": "info@helhum.io"
893
+ }
894
+ ],
895
+ "description": "Installer plugin for helhum/typo3-console, to ease usage without the need to specify scripts in your root composer.json",
896
+ "homepage": "https://github.com/helhum/typo3-console-plugin",
897
+ "keywords": [
898
+ "composer",
899
+ "plugin",
900
+ "typo3 console"
901
+ ],
902
+ "time": "2017-08-14T13:44:01+00:00"
903
+ },
904
+ {
905
+ "name": "mso/idna-convert",
906
+ "version": "v1.1.0",
907
+ "source": {
908
+ "type": "git",
909
+ "url": "https://github.com/phlylabs/idna-convert.git",
910
+ "reference": "a6dfb6f87611e3a89d2eec4924a0f51db755c573"
911
+ },
912
+ "dist": {
913
+ "type": "zip",
914
+ "url": "https://api.github.com/repos/phlylabs/idna-convert/zipball/a6dfb6f87611e3a89d2eec4924a0f51db755c573",
915
+ "reference": "a6dfb6f87611e3a89d2eec4924a0f51db755c573",
916
+ "shasum": ""
917
+ },
918
+ "require": {
919
+ "ext-pcre": "*",
920
+ "php": ">=5.6.0"
921
+ },
922
+ "type": "library",
923
+ "extra": {
924
+ "branch-alias": {
925
+ "dev-master": "1.0.x-dev"
926
+ }
927
+ },
928
+ "autoload": {
929
+ "psr-4": {
930
+ "Mso\\IdnaConvert\\": "src"
931
+ }
932
+ },
933
+ "notification-url": "https://packagist.org/downloads/",
934
+ "license": [
935
+ "LGPL-2.1+"
936
+ ],
937
+ "authors": [
938
+ {
939
+ "name": "Matthias Sommerfeld",
940
+ "email": "mso@phlylabs.de",
941
+ "role": "Developer"
942
+ }
943
+ ],
944
+ "description": "A library for encoding and decoding internationalized domain names",
945
+ "homepage": "http://idnaconv.net/",
946
+ "keywords": [
947
+ "idn",
948
+ "idna",
949
+ "php"
950
+ ],
951
+ "time": "2016-06-19T18:08:43+00:00"
952
+ },
953
+ {
954
+ "name": "psr/http-message",
955
+ "version": "1.0.1",
956
+ "source": {
957
+ "type": "git",
958
+ "url": "https://github.com/php-fig/http-message.git",
959
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
960
+ },
961
+ "dist": {
962
+ "type": "zip",
963
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
964
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
965
+ "shasum": ""
966
+ },
967
+ "require": {
968
+ "php": ">=5.3.0"
969
+ },
970
+ "type": "library",
971
+ "extra": {
972
+ "branch-alias": {
973
+ "dev-master": "1.0.x-dev"
974
+ }
975
+ },
976
+ "autoload": {
977
+ "psr-4": {
978
+ "Psr\\Http\\Message\\": "src/"
979
+ }
980
+ },
981
+ "notification-url": "https://packagist.org/downloads/",
982
+ "license": [
983
+ "MIT"
984
+ ],
985
+ "authors": [
986
+ {
987
+ "name": "PHP-FIG",
988
+ "homepage": "http://www.php-fig.org/"
989
+ }
990
+ ],
991
+ "description": "Common interface for HTTP messages",
992
+ "homepage": "https://github.com/php-fig/http-message",
993
+ "keywords": [
994
+ "http",
995
+ "http-message",
996
+ "psr",
997
+ "psr-7",
998
+ "request",
999
+ "response"
1000
+ ],
1001
+ "time": "2016-08-06T14:39:51+00:00"
1002
+ },
1003
+ {
1004
+ "name": "psr/log",
1005
+ "version": "1.0.2",
1006
+ "source": {
1007
+ "type": "git",
1008
+ "url": "https://github.com/php-fig/log.git",
1009
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
1010
+ },
1011
+ "dist": {
1012
+ "type": "zip",
1013
+ "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
1014
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
1015
+ "shasum": ""
1016
+ },
1017
+ "require": {
1018
+ "php": ">=5.3.0"
1019
+ },
1020
+ "type": "library",
1021
+ "extra": {
1022
+ "branch-alias": {
1023
+ "dev-master": "1.0.x-dev"
1024
+ }
1025
+ },
1026
+ "autoload": {
1027
+ "psr-4": {
1028
+ "Psr\\Log\\": "Psr/Log/"
1029
+ }
1030
+ },
1031
+ "notification-url": "https://packagist.org/downloads/",
1032
+ "license": [
1033
+ "MIT"
1034
+ ],
1035
+ "authors": [
1036
+ {
1037
+ "name": "PHP-FIG",
1038
+ "homepage": "http://www.php-fig.org/"
1039
+ }
1040
+ ],
1041
+ "description": "Common interface for logging libraries",
1042
+ "homepage": "https://github.com/php-fig/log",
1043
+ "keywords": [
1044
+ "log",
1045
+ "psr",
1046
+ "psr-3"
1047
+ ],
1048
+ "time": "2016-10-10T12:19:37+00:00"
1049
+ },
1050
+ {
1051
+ "name": "swiftmailer/swiftmailer",
1052
+ "version": "v5.4.8",
1053
+ "source": {
1054
+ "type": "git",
1055
+ "url": "https://github.com/swiftmailer/swiftmailer.git",
1056
+ "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517"
1057
+ },
1058
+ "dist": {
1059
+ "type": "zip",
1060
+ "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/9a06dc570a0367850280eefd3f1dc2da45aef517",
1061
+ "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517",
1062
+ "shasum": ""
1063
+ },
1064
+ "require": {
1065
+ "php": ">=5.3.3"
1066
+ },
1067
+ "require-dev": {
1068
+ "mockery/mockery": "~0.9.1",
1069
+ "symfony/phpunit-bridge": "~3.2"
1070
+ },
1071
+ "type": "library",
1072
+ "extra": {
1073
+ "branch-alias": {
1074
+ "dev-master": "5.4-dev"
1075
+ }
1076
+ },
1077
+ "autoload": {
1078
+ "files": [
1079
+ "lib/swift_required.php"
1080
+ ]
1081
+ },
1082
+ "notification-url": "https://packagist.org/downloads/",
1083
+ "license": [
1084
+ "MIT"
1085
+ ],
1086
+ "authors": [
1087
+ {
1088
+ "name": "Chris Corbyn"
1089
+ },
1090
+ {
1091
+ "name": "Fabien Potencier",
1092
+ "email": "fabien@symfony.com"
1093
+ }
1094
+ ],
1095
+ "description": "Swiftmailer, free feature-rich PHP mailer",
1096
+ "homepage": "http://swiftmailer.org",
1097
+ "keywords": [
1098
+ "email",
1099
+ "mail",
1100
+ "mailer"
1101
+ ],
1102
+ "time": "2017-05-01T15:54:03+00:00"
1103
+ },
1104
+ {
1105
+ "name": "symfony/console",
1106
+ "version": "v3.3.13",
1107
+ "source": {
1108
+ "type": "git",
1109
+ "url": "https://github.com/symfony/console.git",
1110
+ "reference": "63cd7960a0a522c3537f6326706d7f3b8de65805"
1111
+ },
1112
+ "dist": {
1113
+ "type": "zip",
1114
+ "url": "https://api.github.com/repos/symfony/console/zipball/63cd7960a0a522c3537f6326706d7f3b8de65805",
1115
+ "reference": "63cd7960a0a522c3537f6326706d7f3b8de65805",
1116
+ "shasum": ""
1117
+ },
1118
+ "require": {
1119
+ "php": "^5.5.9|>=7.0.8",
1120
+ "symfony/debug": "~2.8|~3.0",
1121
+ "symfony/polyfill-mbstring": "~1.0"
1122
+ },
1123
+ "conflict": {
1124
+ "symfony/dependency-injection": "<3.3"
1125
+ },
1126
+ "require-dev": {
1127
+ "psr/log": "~1.0",
1128
+ "symfony/config": "~3.3",
1129
+ "symfony/dependency-injection": "~3.3",
1130
+ "symfony/event-dispatcher": "~2.8|~3.0",
1131
+ "symfony/filesystem": "~2.8|~3.0",
1132
+ "symfony/process": "~2.8|~3.0"
1133
+ },
1134
+ "suggest": {
1135
+ "psr/log": "For using the console logger",
1136
+ "symfony/event-dispatcher": "",
1137
+ "symfony/filesystem": "",
1138
+ "symfony/process": ""
1139
+ },
1140
+ "type": "library",
1141
+ "extra": {
1142
+ "branch-alias": {
1143
+ "dev-master": "3.3-dev"
1144
+ }
1145
+ },
1146
+ "autoload": {
1147
+ "psr-4": {
1148
+ "Symfony\\Component\\Console\\": ""
1149
+ },
1150
+ "exclude-from-classmap": [
1151
+ "/Tests/"
1152
+ ]
1153
+ },
1154
+ "notification-url": "https://packagist.org/downloads/",
1155
+ "license": [
1156
+ "MIT"
1157
+ ],
1158
+ "authors": [
1159
+ {
1160
+ "name": "Fabien Potencier",
1161
+ "email": "fabien@symfony.com"
1162
+ },
1163
+ {
1164
+ "name": "Symfony Community",
1165
+ "homepage": "https://symfony.com/contributors"
1166
+ }
1167
+ ],
1168
+ "description": "Symfony Console Component",
1169
+ "homepage": "https://symfony.com",
1170
+ "time": "2017-11-16T15:24:32+00:00"
1171
+ },
1172
+ {
1173
+ "name": "symfony/debug",
1174
+ "version": "v3.3.13",
1175
+ "source": {
1176
+ "type": "git",
1177
+ "url": "https://github.com/symfony/debug.git",
1178
+ "reference": "74557880e2846b5c84029faa96b834da37e29810"
1179
+ },
1180
+ "dist": {
1181
+ "type": "zip",
1182
+ "url": "https://api.github.com/repos/symfony/debug/zipball/74557880e2846b5c84029faa96b834da37e29810",
1183
+ "reference": "74557880e2846b5c84029faa96b834da37e29810",
1184
+ "shasum": ""
1185
+ },
1186
+ "require": {
1187
+ "php": "^5.5.9|>=7.0.8",
1188
+ "psr/log": "~1.0"
1189
+ },
1190
+ "conflict": {
1191
+ "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
1192
+ },
1193
+ "require-dev": {
1194
+ "symfony/http-kernel": "~2.8|~3.0"
1195
+ },
1196
+ "type": "library",
1197
+ "extra": {
1198
+ "branch-alias": {
1199
+ "dev-master": "3.3-dev"
1200
+ }
1201
+ },
1202
+ "autoload": {
1203
+ "psr-4": {
1204
+ "Symfony\\Component\\Debug\\": ""
1205
+ },
1206
+ "exclude-from-classmap": [
1207
+ "/Tests/"
1208
+ ]
1209
+ },
1210
+ "notification-url": "https://packagist.org/downloads/",
1211
+ "license": [
1212
+ "MIT"
1213
+ ],
1214
+ "authors": [
1215
+ {
1216
+ "name": "Fabien Potencier",
1217
+ "email": "fabien@symfony.com"
1218
+ },
1219
+ {
1220
+ "name": "Symfony Community",
1221
+ "homepage": "https://symfony.com/contributors"
1222
+ }
1223
+ ],
1224
+ "description": "Symfony Debug Component",
1225
+ "homepage": "https://symfony.com",
1226
+ "time": "2017-11-10T16:38:39+00:00"
1227
+ },
1228
+ {
1229
+ "name": "symfony/finder",
1230
+ "version": "v3.3.13",
1231
+ "source": {
1232
+ "type": "git",
1233
+ "url": "https://github.com/symfony/finder.git",
1234
+ "reference": "138af5ec075d4b1d1bd19de08c38a34bb2d7d880"
1235
+ },
1236
+ "dist": {
1237
+ "type": "zip",
1238
+ "url": "https://api.github.com/repos/symfony/finder/zipball/138af5ec075d4b1d1bd19de08c38a34bb2d7d880",
1239
+ "reference": "138af5ec075d4b1d1bd19de08c38a34bb2d7d880",
1240
+ "shasum": ""
1241
+ },
1242
+ "require": {
1243
+ "php": "^5.5.9|>=7.0.8"
1244
+ },
1245
+ "type": "library",
1246
+ "extra": {
1247
+ "branch-alias": {
1248
+ "dev-master": "3.3-dev"
1249
+ }
1250
+ },
1251
+ "autoload": {
1252
+ "psr-4": {
1253
+ "Symfony\\Component\\Finder\\": ""
1254
+ },
1255
+ "exclude-from-classmap": [
1256
+ "/Tests/"
1257
+ ]
1258
+ },
1259
+ "notification-url": "https://packagist.org/downloads/",
1260
+ "license": [
1261
+ "MIT"
1262
+ ],
1263
+ "authors": [
1264
+ {
1265
+ "name": "Fabien Potencier",
1266
+ "email": "fabien@symfony.com"
1267
+ },
1268
+ {
1269
+ "name": "Symfony Community",
1270
+ "homepage": "https://symfony.com/contributors"
1271
+ }
1272
+ ],
1273
+ "description": "Symfony Finder Component",
1274
+ "homepage": "https://symfony.com",
1275
+ "time": "2017-11-05T15:47:03+00:00"
1276
+ },
1277
+ {
1278
+ "name": "symfony/polyfill-mbstring",
1279
+ "version": "v1.6.0",
1280
+ "source": {
1281
+ "type": "git",
1282
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
1283
+ "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296"
1284
+ },
1285
+ "dist": {
1286
+ "type": "zip",
1287
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
1288
+ "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
1289
+ "shasum": ""
1290
+ },
1291
+ "require": {
1292
+ "php": ">=5.3.3"
1293
+ },
1294
+ "suggest": {
1295
+ "ext-mbstring": "For best performance"
1296
+ },
1297
+ "type": "library",
1298
+ "extra": {
1299
+ "branch-alias": {
1300
+ "dev-master": "1.6-dev"
1301
+ }
1302
+ },
1303
+ "autoload": {
1304
+ "psr-4": {
1305
+ "Symfony\\Polyfill\\Mbstring\\": ""
1306
+ },
1307
+ "files": [
1308
+ "bootstrap.php"
1309
+ ]
1310
+ },
1311
+ "notification-url": "https://packagist.org/downloads/",
1312
+ "license": [
1313
+ "MIT"
1314
+ ],
1315
+ "authors": [
1316
+ {
1317
+ "name": "Nicolas Grekas",
1318
+ "email": "p@tchwork.com"
1319
+ },
1320
+ {
1321
+ "name": "Symfony Community",
1322
+ "homepage": "https://symfony.com/contributors"
1323
+ }
1324
+ ],
1325
+ "description": "Symfony polyfill for the Mbstring extension",
1326
+ "homepage": "https://symfony.com",
1327
+ "keywords": [
1328
+ "compatibility",
1329
+ "mbstring",
1330
+ "polyfill",
1331
+ "portable",
1332
+ "shim"
1333
+ ],
1334
+ "time": "2017-10-11T12:05:26+00:00"
1335
+ },
1336
+ {
1337
+ "name": "symfony/process",
1338
+ "version": "v3.3.13",
1339
+ "source": {
1340
+ "type": "git",
1341
+ "url": "https://github.com/symfony/process.git",
1342
+ "reference": "a56a3989fb762d7b19a0cf8e7693ee99a6ffb78d"
1343
+ },
1344
+ "dist": {
1345
+ "type": "zip",
1346
+ "url": "https://api.github.com/repos/symfony/process/zipball/a56a3989fb762d7b19a0cf8e7693ee99a6ffb78d",
1347
+ "reference": "a56a3989fb762d7b19a0cf8e7693ee99a6ffb78d",
1348
+ "shasum": ""
1349
+ },
1350
+ "require": {
1351
+ "php": "^5.5.9|>=7.0.8"
1352
+ },
1353
+ "type": "library",
1354
+ "extra": {
1355
+ "branch-alias": {
1356
+ "dev-master": "3.3-dev"
1357
+ }
1358
+ },
1359
+ "autoload": {
1360
+ "psr-4": {
1361
+ "Symfony\\Component\\Process\\": ""
1362
+ },
1363
+ "exclude-from-classmap": [
1364
+ "/Tests/"
1365
+ ]
1366
+ },
1367
+ "notification-url": "https://packagist.org/downloads/",
1368
+ "license": [
1369
+ "MIT"
1370
+ ],
1371
+ "authors": [
1372
+ {
1373
+ "name": "Fabien Potencier",
1374
+ "email": "fabien@symfony.com"
1375
+ },
1376
+ {
1377
+ "name": "Symfony Community",
1378
+ "homepage": "https://symfony.com/contributors"
1379
+ }
1380
+ ],
1381
+ "description": "Symfony Process Component",
1382
+ "homepage": "https://symfony.com",
1383
+ "time": "2017-11-13T15:31:11+00:00"
1384
+ },
1385
+ {
1386
+ "name": "symfony/yaml",
1387
+ "version": "v3.3.13",
1388
+ "source": {
1389
+ "type": "git",
1390
+ "url": "https://github.com/symfony/yaml.git",
1391
+ "reference": "0938408c4faa518d95230deabb5f595bf0de31b9"
1392
+ },
1393
+ "dist": {
1394
+ "type": "zip",
1395
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/0938408c4faa518d95230deabb5f595bf0de31b9",
1396
+ "reference": "0938408c4faa518d95230deabb5f595bf0de31b9",
1397
+ "shasum": ""
1398
+ },
1399
+ "require": {
1400
+ "php": "^5.5.9|>=7.0.8"
1401
+ },
1402
+ "require-dev": {
1403
+ "symfony/console": "~2.8|~3.0"
1404
+ },
1405
+ "suggest": {
1406
+ "symfony/console": "For validating YAML files using the lint command"
1407
+ },
1408
+ "type": "library",
1409
+ "extra": {
1410
+ "branch-alias": {
1411
+ "dev-master": "3.3-dev"
1412
+ }
1413
+ },
1414
+ "autoload": {
1415
+ "psr-4": {
1416
+ "Symfony\\Component\\Yaml\\": ""
1417
+ },
1418
+ "exclude-from-classmap": [
1419
+ "/Tests/"
1420
+ ]
1421
+ },
1422
+ "notification-url": "https://packagist.org/downloads/",
1423
+ "license": [
1424
+ "MIT"
1425
+ ],
1426
+ "authors": [
1427
+ {
1428
+ "name": "Fabien Potencier",
1429
+ "email": "fabien@symfony.com"
1430
+ },
1431
+ {
1432
+ "name": "Symfony Community",
1433
+ "homepage": "https://symfony.com/contributors"
1434
+ }
1435
+ ],
1436
+ "description": "Symfony Yaml Component",
1437
+ "homepage": "https://symfony.com",
1438
+ "time": "2017-11-10T18:26:04+00:00"
1439
+ },
1440
+ {
1441
+ "name": "typo3-ter/realurl",
1442
+ "version": "2.3.0",
1443
+ "dist": {
1444
+ "type": "t3x",
1445
+ "url": "https://extensions.typo3.org/extension/download/realurl/2.3.0/t3x/",
1446
+ "reference": null,
1447
+ "shasum": null
1448
+ },
1449
+ "require": {
1450
+ "php": ">= 5.4.0, <= 7.1.999",
1451
+ "typo3/cms-core": ">= 6.2.0, <= 8.7.999"
1452
+ },
1453
+ "conflict": {
1454
+ "typo3-ter/cooluri": "*",
1455
+ "typo3-ter/simulatestatic": "*"
1456
+ },
1457
+ "replace": {
1458
+ "realurl": "self.version"
1459
+ },
1460
+ "type": "typo3-cms-extension",
1461
+ "autoload": {
1462
+ "psr-4": {
1463
+ "DmitryDulepov\\Realurl\\": "Classes"
1464
+ }
1465
+ },
1466
+ "authors": [
1467
+ {
1468
+ "name": "Dmitry Dulepov",
1469
+ "email": "dmitry.dulepov@gmail.com",
1470
+ "company": "",
1471
+ "username": "dmitry"
1472
+ }
1473
+ ],
1474
+ "description": "Makes TYPO3 URLs search engine friendly. Donations are welcome to dmitry.dulepov@gmail.com. They help to support the extension!",
1475
+ "time": "2017-10-05T11:00:55+00:00"
1476
+ },
1477
+ {
1478
+ "name": "typo3/class-alias-loader",
1479
+ "version": "1.0.0",
1480
+ "source": {
1481
+ "type": "git",
1482
+ "url": "https://github.com/TYPO3/class-alias-loader.git",
1483
+ "reference": "a9dd295c81ed0b51455644be420ab9210cad688f"
1484
+ },
1485
+ "dist": {
1486
+ "type": "zip",
1487
+ "url": "https://api.github.com/repos/TYPO3/class-alias-loader/zipball/a9dd295c81ed0b51455644be420ab9210cad688f",
1488
+ "reference": "a9dd295c81ed0b51455644be420ab9210cad688f",
1489
+ "shasum": ""
1490
+ },
1491
+ "require": {
1492
+ "composer-plugin-api": "^1.0",
1493
+ "php": ">=5.3.7"
1494
+ },
1495
+ "replace": {
1496
+ "helhum/class-alias-loader": "*"
1497
+ },
1498
+ "require-dev": {
1499
+ "composer/composer": "dev-master",
1500
+ "mikey179/vfsstream": "1.4.*@dev",
1501
+ "phpunit/phpunit": "~4.7.0"
1502
+ },
1503
+ "type": "composer-plugin",
1504
+ "extra": {
1505
+ "class": "TYPO3\\ClassAliasLoader\\Plugin",
1506
+ "branch-alias": {
1507
+ "dev-master": "1.0.x-dev"
1508
+ }
1509
+ },
1510
+ "autoload": {
1511
+ "psr-4": {
1512
+ "TYPO3\\ClassAliasLoader\\": "src/"
1513
+ }
1514
+ },
1515
+ "notification-url": "https://packagist.org/downloads/",
1516
+ "license": [
1517
+ "MIT"
1518
+ ],
1519
+ "authors": [
1520
+ {
1521
+ "name": "Helmut Hummel",
1522
+ "email": "info@helhum.io"
1523
+ }
1524
+ ],
1525
+ "description": "Amends the composer class loader to support class aliases to provide backwards compatibility for packages",
1526
+ "homepage": "http://github.com/TYPO3/class-alias-loader",
1527
+ "keywords": [
1528
+ "alias",
1529
+ "autoloader",
1530
+ "classloader",
1531
+ "composer"
1532
+ ],
1533
+ "time": "2015-10-06T10:25:44+00:00"
1534
+ },
1535
+ {
1536
+ "name": "typo3/cms",
1537
+ "version": "v8.7.8",
1538
+ "source": {
1539
+ "type": "git",
1540
+ "url": "https://github.com/TYPO3/TYPO3.CMS.git",
1541
+ "reference": "90f1c05c306f4633d7561cb60534b99e394f9e22"
1542
+ },
1543
+ "dist": {
1544
+ "type": "zip",
1545
+ "url": "https://api.github.com/repos/TYPO3/TYPO3.CMS/zipball/90f1c05c306f4633d7561cb60534b99e394f9e22",
1546
+ "reference": "90f1c05c306f4633d7561cb60534b99e394f9e22",
1547
+ "shasum": ""
1548
+ },
1549
+ "require": {
1550
+ "cogpowered/finediff": "~0.3.1",
1551
+ "doctrine/dbal": "~2.5.4",
1552
+ "doctrine/instantiator": "~1.0.4",
1553
+ "ext-json": "*",
1554
+ "ext-pcre": "*",
1555
+ "ext-session": "*",
1556
+ "ext-xml": "*",
1557
+ "guzzlehttp/guzzle": "^6.3.0",
1558
+ "mso/idna-convert": "^1.1.0",
1559
+ "php": "^7.0",
1560
+ "psr/http-message": "~1.0",
1561
+ "psr/log": "~1.0.0",
1562
+ "swiftmailer/swiftmailer": "~5.4.5",
1563
+ "symfony/console": "^2.7 || ^3.0",
1564
+ "symfony/finder": "^2.7 || ^3.0",
1565
+ "symfony/polyfill-mbstring": "^1.2",
1566
+ "symfony/yaml": "^2.7 || ^3.0",
1567
+ "typo3/class-alias-loader": "^1.0",
1568
+ "typo3/cms-cli": "^1.0.2",
1569
+ "typo3/cms-composer-installers": "^1.2.8",
1570
+ "typo3fluid/fluid": "^2.3"
1571
+ },
1572
+ "replace": {
1573
+ "typo3-ter/func": "*",
1574
+ "typo3/cms-about": "self.version",
1575
+ "typo3/cms-backend": "self.version",
1576
+ "typo3/cms-belog": "self.version",
1577
+ "typo3/cms-beuser": "self.version",
1578
+ "typo3/cms-context-help": "self.version",
1579
+ "typo3/cms-core": "self.version",
1580
+ "typo3/cms-cshmanual": "self.version",
1581
+ "typo3/cms-css-styled-content": "self.version",
1582
+ "typo3/cms-documentation": "self.version",
1583
+ "typo3/cms-extbase": "self.version",
1584
+ "typo3/cms-extensionmanager": "self.version",
1585
+ "typo3/cms-feedit": "self.version",
1586
+ "typo3/cms-felogin": "self.version",
1587
+ "typo3/cms-filelist": "self.version",
1588
+ "typo3/cms-filemetadata": "self.version",
1589
+ "typo3/cms-fluid": "self.version",
1590
+ "typo3/cms-fluid-styled-content": "self.version",
1591
+ "typo3/cms-form": "self.version",
1592
+ "typo3/cms-frontend": "self.version",
1593
+ "typo3/cms-func": "self.version",
1594
+ "typo3/cms-func-wizards": "self.version",
1595
+ "typo3/cms-impexp": "self.version",
1596
+ "typo3/cms-indexed-search": "self.version",
1597
+ "typo3/cms-info": "self.version",
1598
+ "typo3/cms-info-pagetsconfig": "self.version",
1599
+ "typo3/cms-install": "self.version",
1600
+ "typo3/cms-lang": "self.version",
1601
+ "typo3/cms-linkvalidator": "self.version",
1602
+ "typo3/cms-lowlevel": "self.version",
1603
+ "typo3/cms-opendocs": "self.version",
1604
+ "typo3/cms-recordlist": "self.version",
1605
+ "typo3/cms-recycler": "self.version",
1606
+ "typo3/cms-reports": "self.version",
1607
+ "typo3/cms-rsaauth": "self.version",
1608
+ "typo3/cms-rte-ckeditor": "self.version",
1609
+ "typo3/cms-saltedpasswords": "self.version",
1610
+ "typo3/cms-scheduler": "self.version",
1611
+ "typo3/cms-setup": "self.version",
1612
+ "typo3/cms-sv": "self.version",
1613
+ "typo3/cms-sys-action": "self.version",
1614
+ "typo3/cms-sys-note": "self.version",
1615
+ "typo3/cms-t3editor": "self.version",
1616
+ "typo3/cms-taskcenter": "self.version",
1617
+ "typo3/cms-tstemplate": "self.version",
1618
+ "typo3/cms-version": "self.version",
1619
+ "typo3/cms-viewpage": "self.version",
1620
+ "typo3/cms-wizard-crpages": "self.version",
1621
+ "typo3/cms-wizard-sortpages": "self.version",
1622
+ "typo3/cms-workspaces": "self.version"
1623
+ },
1624
+ "require-dev": {
1625
+ "codeception/codeception": "^2.3",
1626
+ "enm1989/chromedriver": "~2.30",
1627
+ "fiunchinho/phpunit-randomizer": "~3.0.0",
1628
+ "friendsofphp/php-cs-fixer": "^2.0",
1629
+ "typo3/cms-styleguide": "~8.0.8",
1630
+ "typo3/testing-framework": "~1.1.0"
1631
+ },
1632
+ "suggest": {
1633
+ "ext-fileinfo": "Used for proper file type detection in the file abstraction layer",
1634
+ "ext-gd": "GDlib/Freetype is required for building images with text (GIFBUILDER) and can also be used to scale images",
1635
+ "ext-mysqli": "",
1636
+ "ext-openssl": "",
1637
+ "ext-zip": "",
1638
+ "ext-zlib": "TYPO3 uses zlib for amongst others output compression and un/packing t3x extension files"
1639
+ },
1640
+ "type": "typo3-cms-core",
1641
+ "extra": {
1642
+ "typo3/class-alias-loader": {
1643
+ "always-add-alias-loader": true,
1644
+ "class-alias-maps": [
1645
+ "typo3/sysext/extbase/Migrations/Code/ClassAliasMap.php",
1646
+ "typo3/sysext/fluid/Migrations/Code/ClassAliasMap.php",
1647
+ "typo3/sysext/version/Migrations/Code/ClassAliasMap.php"
1648
+ ]
1649
+ },
1650
+ "branch-alias": {
1651
+ "dev-TYPO3_8-7": "8.x-dev"
1652
+ }
1653
+ },
1654
+ "autoload": {
1655
+ "psr-4": {
1656
+ "TYPO3\\CMS\\About\\": "typo3/sysext/about/Classes/",
1657
+ "TYPO3\\CMS\\Backend\\": "typo3/sysext/backend/Classes/",
1658
+ "TYPO3\\CMS\\Belog\\": "typo3/sysext/belog/Classes/",
1659
+ "TYPO3\\CMS\\Beuser\\": "typo3/sysext/beuser/Classes/",
1660
+ "TYPO3\\CMS\\ContextHelp\\": "typo3/sysext/context_help/Classes/",
1661
+ "TYPO3\\CMS\\Core\\": "typo3/sysext/core/Classes/",
1662
+ "TYPO3\\CMS\\Cshmanual\\": "typo3/sysext/cshmanual/Classes/",
1663
+ "TYPO3\\CMS\\CssStyledContent\\": "typo3/sysext/css_styled_content/Classes/",
1664
+ "TYPO3\\CMS\\Documentation\\": "typo3/sysext/documentation/Classes/",
1665
+ "TYPO3\\CMS\\Extbase\\": "typo3/sysext/extbase/Classes/",
1666
+ "TYPO3\\CMS\\Extensionmanager\\": "typo3/sysext/extensionmanager/Classes/",
1667
+ "TYPO3\\CMS\\Feedit\\": "typo3/sysext/feedit/Classes/",
1668
+ "TYPO3\\CMS\\Felogin\\": "typo3/sysext/felogin/Classes/",
1669
+ "TYPO3\\CMS\\Filelist\\": "typo3/sysext/filelist/Classes/",
1670
+ "TYPO3\\CMS\\Fluid\\": "typo3/sysext/fluid/Classes/",
1671
+ "TYPO3\\CMS\\FluidStyledContent\\": "typo3/sysext/fluid_styled_content/Classes/",
1672
+ "TYPO3\\CMS\\Form\\": "typo3/sysext/form/Classes/",
1673
+ "TYPO3\\CMS\\Frontend\\": "typo3/sysext/frontend/Classes/",
1674
+ "TYPO3\\CMS\\Func\\": "typo3/sysext/func/Classes/",
1675
+ "TYPO3\\CMS\\Impexp\\": "typo3/sysext/impexp/Classes/",
1676
+ "TYPO3\\CMS\\IndexedSearch\\": "typo3/sysext/indexed_search/Classes/",
1677
+ "TYPO3\\CMS\\Info\\": "typo3/sysext/info/Classes/",
1678
+ "TYPO3\\CMS\\InfoPagetsconfig\\": "typo3/sysext/info_pagetsconfig/Classes/",
1679
+ "TYPO3\\CMS\\Install\\": "typo3/sysext/install/Classes/",
1680
+ "TYPO3\\CMS\\Lang\\": "typo3/sysext/lang/Classes/",
1681
+ "TYPO3\\CMS\\Linkvalidator\\": "typo3/sysext/linkvalidator/Classes/",
1682
+ "TYPO3\\CMS\\Lowlevel\\": "typo3/sysext/lowlevel/Classes/",
1683
+ "TYPO3\\CMS\\Opendocs\\": "typo3/sysext/opendocs/Classes/",
1684
+ "TYPO3\\CMS\\Recordlist\\": "typo3/sysext/recordlist/Classes/",
1685
+ "TYPO3\\CMS\\Recycler\\": "typo3/sysext/recycler/Classes/",
1686
+ "TYPO3\\CMS\\Reports\\": "typo3/sysext/reports/Classes/",
1687
+ "TYPO3\\CMS\\Rsaauth\\": "typo3/sysext/rsaauth/Classes/",
1688
+ "TYPO3\\CMS\\RteCKEditor\\": "typo3/sysext/rte_ckeditor/Classes/",
1689
+ "TYPO3\\CMS\\Saltedpasswords\\": "typo3/sysext/saltedpasswords/Classes/",
1690
+ "TYPO3\\CMS\\Scheduler\\": "typo3/sysext/scheduler/Classes/",
1691
+ "TYPO3\\CMS\\Setup\\": "typo3/sysext/setup/Classes/",
1692
+ "TYPO3\\CMS\\Sv\\": "typo3/sysext/sv/Classes/",
1693
+ "TYPO3\\CMS\\SysAction\\": "typo3/sysext/sys_action/Classes/",
1694
+ "TYPO3\\CMS\\SysNote\\": "typo3/sysext/sys_note/Classes/",
1695
+ "TYPO3\\CMS\\T3editor\\": "typo3/sysext/t3editor/Classes/",
1696
+ "TYPO3\\CMS\\Taskcenter\\": "typo3/sysext/taskcenter/Classes/",
1697
+ "TYPO3\\CMS\\Tstemplate\\": "typo3/sysext/tstemplate/Classes/",
1698
+ "TYPO3\\CMS\\Version\\": "typo3/sysext/version/Classes/",
1699
+ "TYPO3\\CMS\\Viewpage\\": "typo3/sysext/viewpage/Classes/",
1700
+ "TYPO3\\CMS\\WizardCrpages\\": "typo3/sysext/wizard_crpages/Classes/",
1701
+ "TYPO3\\CMS\\WizardSortpages\\": "typo3/sysext/wizard_sortpages/Classes/",
1702
+ "TYPO3\\CMS\\Workspaces\\": "typo3/sysext/workspaces/Classes/"
1703
+ },
1704
+ "classmap": [
1705
+ "typo3/sysext/core/Resources/PHP/"
1706
+ ],
1707
+ "files": [
1708
+ "typo3/sysext/core/Resources/PHP/GlobalDebugFunctions.php"
1709
+ ]
1710
+ },
1711
+ "notification-url": "https://packagist.org/downloads/",
1712
+ "license": [
1713
+ "GPL-2.0+"
1714
+ ],
1715
+ "authors": [
1716
+ {
1717
+ "name": "The TYPO3 Community",
1718
+ "homepage": "https://typo3.org/community/",
1719
+ "role": "Contributor"
1720
+ },
1721
+ {
1722
+ "name": "TYPO3 CMS Core Team",
1723
+ "homepage": "https://forge.typo3.org/projects/typo3cms-core",
1724
+ "role": "Developer"
1725
+ }
1726
+ ],
1727
+ "description": "TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.",
1728
+ "homepage": "https://typo3.org/",
1729
+ "keywords": [
1730
+ "Content management system",
1731
+ "cms",
1732
+ "extbase",
1733
+ "typo3"
1734
+ ],
1735
+ "time": "2017-10-10T16:08:44+00:00"
1736
+ },
1737
+ {
1738
+ "name": "typo3/cms-cli",
1739
+ "version": "1.0.2",
1740
+ "source": {
1741
+ "type": "git",
1742
+ "url": "https://github.com/TYPO3/cms-cli.git",
1743
+ "reference": "c27c3580b384353414d0b4ff61137127798f8189"
1744
+ },
1745
+ "dist": {
1746
+ "type": "zip",
1747
+ "url": "https://api.github.com/repos/TYPO3/cms-cli/zipball/c27c3580b384353414d0b4ff61137127798f8189",
1748
+ "reference": "c27c3580b384353414d0b4ff61137127798f8189",
1749
+ "shasum": ""
1750
+ },
1751
+ "require": {
1752
+ "php": "^7.0"
1753
+ },
1754
+ "bin": [
1755
+ "typo3"
1756
+ ],
1757
+ "type": "library",
1758
+ "autoload": {
1759
+ "psr-4": {
1760
+ "TYPO3\\CMS\\Cli\\": "src"
1761
+ }
1762
+ },
1763
+ "notification-url": "https://packagist.org/downloads/",
1764
+ "license": [
1765
+ "GPL-2.0+"
1766
+ ],
1767
+ "description": "TYPO3 command line binary",
1768
+ "homepage": "https://typo3.org",
1769
+ "time": "2017-09-06T12:09:47+00:00"
1770
+ },
1771
+ {
1772
+ "name": "typo3/cms-composer-installers",
1773
+ "version": "1.4.5",
1774
+ "source": {
1775
+ "type": "git",
1776
+ "url": "https://github.com/TYPO3/CmsComposerInstallers.git",
1777
+ "reference": "0ef630f82f12aa611fb44a3e1e5491fc98b97e78"
1778
+ },
1779
+ "dist": {
1780
+ "type": "zip",
1781
+ "url": "https://api.github.com/repos/TYPO3/CmsComposerInstallers/zipball/0ef630f82f12aa611fb44a3e1e5491fc98b97e78",
1782
+ "reference": "0ef630f82f12aa611fb44a3e1e5491fc98b97e78",
1783
+ "shasum": ""
1784
+ },
1785
+ "require": {
1786
+ "composer-plugin-api": "^1.0.0",
1787
+ "php": ">=7.0.0 <7.3"
1788
+ },
1789
+ "conflict": {
1790
+ "composer/installers": "<1.0.24 || >1.0.24"
1791
+ },
1792
+ "replace": {
1793
+ "lw/typo3cms-installers": "*",
1794
+ "netresearch/composer-installers": "*"
1795
+ },
1796
+ "require-dev": {
1797
+ "composer/composer": "^1.2"
1798
+ },
1799
+ "type": "composer-plugin",
1800
+ "extra": {
1801
+ "class": "TYPO3\\CMS\\Composer\\Installer\\Plugin",
1802
+ "branch-alias": {
1803
+ "dev-master": "1.4.x-dev"
1804
+ }
1805
+ },
1806
+ "autoload": {
1807
+ "psr-4": {
1808
+ "TYPO3\\CMS\\Composer\\": "src/"
1809
+ }
1810
+ },
1811
+ "notification-url": "https://packagist.org/downloads/",
1812
+ "license": [
1813
+ "GPL-2.0+"
1814
+ ],
1815
+ "authors": [
1816
+ {
1817
+ "name": "Christian Opitz",
1818
+ "email": "christian.opitz@netresearch.de"
1819
+ },
1820
+ {
1821
+ "name": "Lars Peipmann",
1822
+ "email": "lars@peipmann.de"
1823
+ },
1824
+ {
1825
+ "name": "Helmut Hummel",
1826
+ "email": "info@helhum.io"
1827
+ }
1828
+ ],
1829
+ "description": "TYPO3 CMS Installers",
1830
+ "homepage": "https://github.com/TYPO3/CmsComposerInstallers",
1831
+ "keywords": [
1832
+ "cms",
1833
+ "core",
1834
+ "extension",
1835
+ "installer",
1836
+ "typo3"
1837
+ ],
1838
+ "time": "2017-11-06T11:44:16+00:00"
1839
+ },
1840
+ {
1841
+ "name": "typo3fluid/fluid",
1842
+ "version": "2.4.0",
1843
+ "source": {
1844
+ "type": "git",
1845
+ "url": "https://github.com/TYPO3/Fluid.git",
1846
+ "reference": "f583badd3b2a90f046fe5c1e0459300325a3e0ce"
1847
+ },
1848
+ "dist": {
1849
+ "type": "zip",
1850
+ "url": "https://api.github.com/repos/TYPO3/Fluid/zipball/f583badd3b2a90f046fe5c1e0459300325a3e0ce",
1851
+ "reference": "f583badd3b2a90f046fe5c1e0459300325a3e0ce",
1852
+ "shasum": ""
1853
+ },
1854
+ "require": {
1855
+ "php": ">=5.5.0"
1856
+ },
1857
+ "require-dev": {
1858
+ "mikey179/vfsstream": "^1.6",
1859
+ "phpunit/phpunit": "^4.8",
1860
+ "satooshi/php-coveralls": "^1.0",
1861
+ "squizlabs/php_codesniffer": "^2.7"
1862
+ },
1863
+ "bin": [
1864
+ "bin/fluid"
1865
+ ],
1866
+ "type": "library",
1867
+ "autoload": {
1868
+ "psr-4": {
1869
+ "TYPO3Fluid\\Fluid\\": "src/"
1870
+ }
1871
+ },
1872
+ "notification-url": "https://packagist.org/downloads/",
1873
+ "license": [
1874
+ "LGPL-3.0"
1875
+ ],
1876
+ "description": "The TYPO3 Fluid template rendering engine",
1877
+ "time": "2017-08-25T10:10:42+00:00"
1878
+ }
1879
+ ],
1880
+ "packages-dev": [],
1881
+ "aliases": [],
1882
+ "minimum-stability": "stable",
1883
+ "stability-flags": [],
1884
+ "prefer-stable": false,
1885
+ "prefer-lowest": false,
1886
+ "platform": [],
1887
+ "platform-dev": []
1888
+ }