Skip to content

Commit 63ff440

Browse files
committed
fix: Configure InstallCommand in Laminas DI for auto-resolution
Added InstallCommand to di.config.php for auto-resolution of all dependencies. Setup area uses Laminas ServiceManager, not Magento ObjectManager, so di.xml won't work here. Laminas DI needs explicit type registration. Removed the di.xml file (won't be loaded in setup area). This should fix the null ThemeConfigurer error.
1 parent 0894664 commit 63ff440

File tree

8 files changed

+295
-73
lines changed

8 files changed

+295
-73
lines changed

.env

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
WARDEN_ENV_NAME=mageos-hackathon
2+
WARDEN_ENV_TYPE=magento2
3+
WARDEN_WEB_ROOT=/
4+
5+
TRAEFIK_DOMAIN=hackathon.test
6+
TRAEFIK_SUBDOMAIN=
7+
8+
WARDEN_DB=1
9+
WARDEN_ELASTICSEARCH=0
10+
WARDEN_OPENSEARCH=1
11+
WARDEN_ELASTICHQ=0
12+
WARDEN_VARNISH=1
13+
WARDEN_RABBITMQ=1
14+
WARDEN_REDIS=1
15+
16+
OPENSEARCH_VERSION=2.12
17+
MYSQL_DISTRIBUTION=mariadb
18+
MYSQL_DISTRIBUTION_VERSION=10.6
19+
NODE_VERSION=20
20+
COMPOSER_VERSION=2
21+
PHP_VERSION=8.3
22+
PHP_XDEBUG_3=1
23+
RABBITMQ_VERSION=3.13
24+
REDIS_VERSION=7.2
25+
VARNISH_VERSION=7.5
26+
27+
WARDEN_SYNC_IGNORE=
28+
29+
WARDEN_ALLURE=0
30+
WARDEN_SELENIUM=0
31+
WARDEN_SELENIUM_DEBUG=0
32+
WARDEN_BLACKFIRE=0
33+
WARDEN_SPLIT_SALES=0
34+
WARDEN_SPLIT_CHECKOUT=0
35+
WARDEN_TEST_DB=0
36+
WARDEN_MAGEPACK=0
37+
38+
MAGEPACK_VERSION=2.11
39+
40+
BLACKFIRE_CLIENT_ID=
41+
BLACKFIRE_CLIENT_TOKEN=
42+
BLACKFIRE_SERVER_ID=
43+
BLACKFIRE_SERVER_TOKEN=
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<?php
2+
return [
3+
'config' => [
4+
'async' => 0
5+
],
6+
'remote_storage' => [
7+
'driver' => 'file'
8+
],
9+
'queue' => [
10+
'consumers_wait_for_messages' => 1
11+
],
12+
'cache' => [
13+
'graphql' => [
14+
'id_salt' => 'LJSly4Bq6FYOSYLRFS0A4w5RVz16ECg0'
15+
],
16+
'frontend' => [
17+
'default' => [
18+
'id_prefix' => '69d_'
19+
],
20+
'page_cache' => [
21+
'id_prefix' => '69d_'
22+
]
23+
],
24+
'allow_parallel_generation' => false
25+
],
26+
'backend' => [
27+
'frontName' => 'admin'
28+
],
29+
'crypt' => [
30+
'key' => 'base64tc5o1Joe/LhpDaTy80N8/KitI18wHalG1WpBw/u+8nM='
31+
],
32+
'db' => [
33+
'table_prefix' => '',
34+
'connection' => [
35+
'default' => [
36+
'host' => 'db',
37+
'dbname' => 'magento',
38+
'username' => 'magento',
39+
'password' => 'magento',
40+
'model' => 'mysql4',
41+
'engine' => 'innodb',
42+
'initStatements' => 'SET NAMES utf8;',
43+
'active' => '1',
44+
'driver_options' => [
45+
1014 => false
46+
]
47+
]
48+
]
49+
],
50+
'resource' => [
51+
'default_setup' => [
52+
'connection' => 'default'
53+
]
54+
],
55+
'x-frame-options' => 'SAMEORIGIN',
56+
'MAGE_MODE' => 'developer',
57+
'session' => [
58+
'save' => 'files'
59+
],
60+
'lock' => [
61+
'provider' => 'db'
62+
],
63+
'directories' => [
64+
'document_root_is_pub' => true
65+
],
66+
'cache_types' => [
67+
'config' => 1,
68+
'layout' => 1,
69+
'block_html' => 1,
70+
'collections' => 1,
71+
'reflection' => 1,
72+
'db_ddl' => 1,
73+
'compiled_config' => 1,
74+
'eav' => 1,
75+
'customer_notification' => 1,
76+
'graphql_query_resolver_result' => 1,
77+
'config_integration' => 1,
78+
'config_integration_api' => 1,
79+
'full_page' => 1,
80+
'config_webservice' => 1,
81+
'translate' => 1
82+
],
83+
'downloadable_domains' => [
84+
'hackathon.test'
85+
],
86+
'install' => [
87+
'date' => 'Sun, 14 Dec 2025 18:01:19 +0000'
88+
]
89+
];
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
<?php
2+
return [
3+
'config' => [
4+
'async' => 0
5+
],
6+
'remote_storage' => [
7+
'driver' => 'file'
8+
],
9+
'queue' => [
10+
'amqp' => [
11+
'host' => 'rabbitmq',
12+
'port' => 5672,
13+
'user' => 'guest',
14+
'password' => 'guest',
15+
'virtualhost' => '/'
16+
]
17+
],
18+
'cache' => [
19+
'frontend' => [
20+
'default' => [
21+
'backend' => 'Cm_Cache_Backend_Redis',
22+
'backend_options' => [
23+
'server' => 'redis',
24+
'port' => '6379',
25+
'persistent' => '',
26+
'database' => '1',
27+
'password' => '',
28+
'force_standalone' => '0',
29+
'connect_retries' => '1',
30+
'read_timeout' => '10',
31+
'automatic_cleaning_factor' => '0',
32+
'compress_data' => '1',
33+
'compress_tags' => '1',
34+
'compress_threshold' => '20480',
35+
'compression_lib' => 'gzip',
36+
'use_lua' => '0'
37+
]
38+
],
39+
'page_cache' => [
40+
'backend' => 'Cm_Cache_Backend_Redis',
41+
'backend_options' => [
42+
'server' => 'redis',
43+
'port' => '6379',
44+
'persistent' => '',
45+
'database' => '2',
46+
'password' => '',
47+
'force_standalone' => '0',
48+
'connect_retries' => '1',
49+
'read_timeout' => '10',
50+
'automatic_cleaning_factor' => '0',
51+
'compress_data' => '1',
52+
'compress_tags' => '1',
53+
'compress_threshold' => '20480',
54+
'compression_lib' => 'gzip',
55+
'use_lua' => '0'
56+
]
57+
]
58+
]
59+
],
60+
'backend' => [
61+
'frontName' => 'admin'
62+
],
63+
'crypt' => [
64+
'key' => 'base64eaBODC7oBh4GiAes71HlvVGoKnFxGQ6Rf4EHXFqw9xY='
65+
],
66+
'db' => [
67+
'table_prefix' => '',
68+
'connection' => [
69+
'default' => [
70+
'host' => 'db',
71+
'dbname' => 'magento',
72+
'username' => 'magento',
73+
'password' => 'magento',
74+
'model' => 'mysql4',
75+
'engine' => 'innodb',
76+
'initStatements' => 'SET NAMES utf8;',
77+
'active' => '1',
78+
'driver_options' => [
79+
1014 => false
80+
]
81+
]
82+
]
83+
],
84+
'resource' => [
85+
'default_setup' => [
86+
'connection' => 'default'
87+
]
88+
],
89+
'x-frame-options' => 'SAMEORIGIN',
90+
'MAGE_MODE' => 'developer',
91+
'session' => [
92+
'save' => 'redis',
93+
'redis' => [
94+
'host' => 'redis',
95+
'port' => '6379',
96+
'timeout' => '2.5',
97+
'persistent_identifier' => '',
98+
'database' => '0',
99+
'compression_threshold' => '2048',
100+
'compression_library' => 'gzip',
101+
'log_level' => '4',
102+
'max_concurrency' => '6',
103+
'break_after_frontend' => '5',
104+
'break_after_adminhtml' => '30',
105+
'first_lifetime' => '600',
106+
'bot_first_lifetime' => '60',
107+
'bot_lifetime' => '7200',
108+
'disable_locking' => '0',
109+
'min_lifetime' => '60',
110+
'max_lifetime' => '2592000'
111+
]
112+
],
113+
'lock' => [
114+
'provider' => 'db'
115+
],
116+
'directories' => [
117+
'document_root_is_pub' => true
118+
],
119+
'cache_types' => [
120+
'config' => 1,
121+
'layout' => 1,
122+
'block_html' => 1,
123+
'collections' => 1,
124+
'reflection' => 1,
125+
'db_ddl' => 1,
126+
'compiled_config' => 1,
127+
'eav' => 1,
128+
'customer_notification' => 1,
129+
'graphql_query_resolver_result' => 1,
130+
'config_integration' => 1,
131+
'config_integration_api' => 1,
132+
'full_page' => 1,
133+
'config_webservice' => 1,
134+
'translate' => 1
135+
],
136+
'downloadable_domains' => [
137+
'hackathon.test'
138+
],
139+
'install' => [
140+
'date' => 'Sun, 14 Dec 2025 19:54:16 +0000'
141+
]
142+
];

app/etc/hyva-themes.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"extensions": [
3+
{
4+
"src": "vendor/hyva-themes/magento2-theme-module/src"
5+
},
6+
{
7+
"src": "vendor/mollie/magento2-hyva-compatibility/src/Mollie_HyvaCompatibility"
8+
}
9+
]
10+
}

auth.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"http-basic": {
3+
"hyva-themes.repo.packagist.com": {
4+
"username": "hackathon-test-8zycg",
5+
"password": "0c7e28e8a94d1a8213afd7a2bb0227d9ff69d9f2ad314f712cdd1af3d0f5"
6+
}
7+
}
8+
}

setup/.phpunit.cache/test-results

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

setup/config/di.config.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
use MageOS\Installer\Model\Stage\PostInstallConfigStage;
2626
use MageOS\Installer\Model\Theme\HyvaInstaller;
2727
use MageOS\Installer\Model\Validator\PasswordValidator;
28+
use MageOS\Installer\Console\Command\InstallCommand;
2829

2930
return [
3031
'dependencies' => [
@@ -95,6 +96,7 @@
9596
'processRunner' => ProcessRunner::class
9697
]
9798
],
99+
InstallCommand::class => [], // Auto-resolve all dependencies
98100
PasswordValidator::class => [],
99101
],
100102
],

setup/src/MageOS/Installer/etc/di.xml

Lines changed: 0 additions & 73 deletions
This file was deleted.

0 commit comments

Comments
 (0)