@scandipwa/magento-scripts 1.16.0-alpha.4 → 2.0.0-alpha.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 (190) hide show
  1. package/lib/commands/cli.js +2 -4
  2. package/lib/commands/execute.js +28 -3
  3. package/lib/commands/start.js +37 -15
  4. package/lib/commands/status.js +2 -0
  5. package/lib/config/docker.js +65 -42
  6. package/lib/config/get-project-configuration.js +3 -1
  7. package/lib/config/index.js +10 -7
  8. package/lib/config/magento/required-php-extensions/index.js +29 -0
  9. package/lib/config/magento/required-php-extensions/magento-2.3.js +19 -0
  10. package/lib/config/magento/required-php-extensions/magento-2.4.js +29 -0
  11. package/lib/config/php/base-repo.js +3 -0
  12. package/lib/config/php/extensions/apcu.js +12 -0
  13. package/lib/config/php/extensions/bcmath.js +7 -0
  14. package/lib/config/php/extensions/curl.js +11 -0
  15. package/lib/config/php/extensions/gd.js +14 -0
  16. package/lib/config/php/extensions/index.js +18 -2
  17. package/lib/config/php/extensions/intl.js +10 -0
  18. package/lib/config/php/extensions/opcache.js +10 -0
  19. package/lib/config/php/extensions/pdo_mysql.js +7 -0
  20. package/lib/config/php/extensions/soap.js +10 -0
  21. package/lib/config/php/extensions/sodium.js +10 -0
  22. package/lib/config/php/extensions/xdebug.js +8 -5
  23. package/lib/config/php/extensions/xsl.js +10 -0
  24. package/lib/config/php/extensions/zip.js +10 -0
  25. package/lib/config/php/{releases → versions}/index.js +0 -0
  26. package/lib/config/php/versions/php-7.2.js +23 -0
  27. package/lib/config/php/versions/php-7.3.js +23 -0
  28. package/lib/config/php/versions/php-7.4.js +23 -0
  29. package/lib/config/php/versions/php-8.1.js +23 -0
  30. package/lib/config/php-config.js +8 -12
  31. package/lib/config/port-config.js +1 -5
  32. package/lib/config/templates/magentorc.template +3 -3
  33. package/lib/config/templates/php-fpm.template.conf +3 -3
  34. package/lib/config/templates/php.template.ini +12 -6
  35. package/lib/config/templates/ssl-terminator.template.conf +1 -1
  36. package/lib/config/templates/vscode-launch.template.json +3 -1
  37. package/lib/config/versions/magento-2.3.0.js +8 -2
  38. package/lib/config/versions/magento-2.3.1.js +8 -2
  39. package/lib/config/versions/magento-2.3.2-p1.js +44 -0
  40. package/lib/config/versions/magento-2.3.2-p2.js +8 -2
  41. package/lib/config/versions/magento-2.3.2.js +8 -2
  42. package/lib/config/versions/magento-2.3.3-p1.js +8 -2
  43. package/lib/config/versions/magento-2.3.3.js +8 -2
  44. package/lib/config/versions/magento-2.3.4-p1.js +44 -0
  45. package/lib/config/versions/magento-2.3.4-p2.js +8 -2
  46. package/lib/config/versions/magento-2.3.4.js +8 -2
  47. package/lib/config/versions/magento-2.3.5-p1.js +8 -2
  48. package/lib/config/versions/magento-2.3.5-p2.js +8 -2
  49. package/lib/config/versions/magento-2.3.5.js +8 -2
  50. package/lib/config/versions/magento-2.3.6-p1.js +8 -2
  51. package/lib/config/versions/magento-2.3.6.js +8 -2
  52. package/lib/config/versions/magento-2.3.7-p1.js +8 -2
  53. package/lib/config/versions/magento-2.3.7-p2.js +8 -2
  54. package/lib/config/versions/magento-2.3.7-p3.js +8 -2
  55. package/lib/config/versions/magento-2.3.7.js +8 -2
  56. package/lib/config/versions/magento-2.4.0-p1.js +9 -3
  57. package/lib/config/versions/magento-2.4.0.js +9 -3
  58. package/lib/config/versions/magento-2.4.1-p1.js +6 -5
  59. package/lib/config/versions/magento-2.4.1.js +9 -2
  60. package/lib/config/versions/magento-2.4.2-p1.js +6 -5
  61. package/lib/config/versions/magento-2.4.2-p2.js +6 -6
  62. package/lib/config/versions/magento-2.4.2.js +6 -6
  63. package/lib/config/versions/magento-2.4.3-p1.js +7 -7
  64. package/lib/config/versions/magento-2.4.3-p2.js +7 -7
  65. package/lib/config/versions/magento-2.4.3.js +7 -7
  66. package/lib/config/versions/magento-2.4.4.js +9 -2
  67. package/lib/tasks/cleanup.js +2 -2
  68. package/lib/tasks/composer/index.js +14 -104
  69. package/lib/tasks/docker/api.d.ts +71 -0
  70. package/lib/tasks/docker/api.js +30 -0
  71. package/lib/tasks/docker/containers/container-api.d.ts +128 -0
  72. package/lib/tasks/docker/containers/container-api.js +153 -0
  73. package/lib/tasks/docker/containers/index.js +19 -0
  74. package/lib/tasks/docker/containers/tasks.js +215 -0
  75. package/lib/tasks/docker/convert-legacy-volumes.js +7 -3
  76. package/lib/tasks/docker/image/image-api.d.ts +34 -0
  77. package/lib/tasks/docker/image/image-api.js +49 -0
  78. package/lib/tasks/docker/image/index.js +5 -0
  79. package/lib/tasks/docker/index.js +1 -13
  80. package/lib/tasks/docker/network/index.js +7 -0
  81. package/lib/tasks/docker/network/network-api.d.ts +103 -0
  82. package/lib/tasks/docker/network/network-api.js +99 -0
  83. package/lib/tasks/docker/{network.js → network/tasks.js} +17 -10
  84. package/lib/tasks/docker/project-image-builder.js +167 -0
  85. package/lib/tasks/docker/volumes.js +1 -1
  86. package/lib/tasks/file-system/create-nginx-config.js +2 -3
  87. package/lib/tasks/file-system/create-php-config.js +20 -5
  88. package/lib/tasks/file-system/create-php-fpm-config.js +8 -4
  89. package/lib/tasks/file-system/create-phpstorm-config/exclude-folder-config.js +41 -29
  90. package/lib/tasks/file-system/create-phpstorm-config/index.js +2 -0
  91. package/lib/tasks/file-system/create-phpstorm-config/keys.js +15 -1
  92. package/lib/tasks/file-system/create-phpstorm-config/php-config/index.js +4 -1
  93. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-config.js +3 -3
  94. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-interpreters-config.js +81 -0
  95. package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/index.js +42 -0
  96. package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/php-docker-settings-config.js +9 -0
  97. package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/setup-php-docker-container-settings-config.js +66 -0
  98. package/lib/tasks/file-system/create-phpstorm-config/setup-xml-structure.js +11 -9
  99. package/lib/tasks/file-system/create-phpstorm-config/stylelint-config.js +2 -1
  100. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/composer-settings-config.js +15 -30
  101. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/index.js +24 -5
  102. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/mess-detector-project-configuration-config.js +50 -0
  103. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-code-sniffer-project-configuration-config.js +50 -0
  104. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-cs-fixer-project-configuration-config.js +50 -0
  105. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-debug-general-config.js +15 -15
  106. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-server-config.js +29 -3
  107. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-stan-project-configuration-config.js.js +50 -0
  108. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-workspace-project-configuration-config.js +42 -0
  109. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/psalm-project-configuration-config.js.js +50 -0
  110. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/workspace-config.js +0 -2
  111. package/lib/tasks/file-system/create-ssl-terminator-config.js +4 -2
  112. package/lib/tasks/file-system/create-vscode-config.js +57 -42
  113. package/lib/tasks/file-system/index.js +2 -1
  114. package/lib/tasks/link.js +1 -2
  115. package/lib/tasks/magento/install-magento-project.js +39 -64
  116. package/lib/tasks/magento/setup-magento/adjust-full-page-cache.js +4 -4
  117. package/lib/tasks/magento/setup-magento/configure-elasticsearch.js +6 -2
  118. package/lib/tasks/magento/setup-magento/create-admin.js +5 -6
  119. package/lib/tasks/magento/setup-magento/disable-2fa.js +3 -5
  120. package/lib/tasks/magento/setup-magento/disable-maintenance-mode.js +3 -4
  121. package/lib/tasks/magento/setup-magento/index.js +1 -3
  122. package/lib/tasks/magento/setup-magento/install-magento.js +57 -11
  123. package/lib/tasks/magento/setup-magento/migrate-database.js +12 -11
  124. package/lib/tasks/magento/setup-magento/set-deployment-mode.js +4 -4
  125. package/lib/tasks/magento/setup-magento/varnish-config.js +7 -5
  126. package/lib/tasks/magento/setup-magento/waiting-for-varnish.js +128 -3
  127. package/lib/tasks/mysql/connect-to-mysql.js +44 -19
  128. package/lib/tasks/mysql/import-dump-to-mysql.js +161 -25
  129. package/lib/tasks/php/php-container.js +108 -0
  130. package/lib/tasks/php/update-env-php.js +35 -19
  131. package/lib/tasks/php/update-env.php +61 -56
  132. package/lib/tasks/php/working_health_check.php +85 -0
  133. package/lib/tasks/requirements/{composer.js → composer-credentials.js} +3 -1
  134. package/lib/tasks/requirements/docker/index.js +15 -12
  135. package/lib/tasks/requirements/docker/performance.js +54 -0
  136. package/lib/tasks/requirements/docker/version.js +8 -8
  137. package/lib/tasks/requirements/index.js +7 -10
  138. package/lib/tasks/requirements/php-version.js +8 -116
  139. package/lib/tasks/requirements/platform.js +12 -25
  140. package/lib/tasks/start.js +41 -48
  141. package/lib/tasks/status/index.js +4 -10
  142. package/lib/tasks/stop.js +0 -2
  143. package/lib/tasks/theme/install-theme.js +1 -1
  144. package/lib/tasks/theme/symlink-theme.js +2 -3
  145. package/lib/util/config-php-json.js +13 -4
  146. package/lib/util/dockerfile-builder/build-instructions.js +197 -0
  147. package/lib/util/dockerfile-builder/index.js +276 -0
  148. package/lib/util/dockerfile-builder/types.d.ts +123 -0
  149. package/lib/util/env-php-json.js +10 -6
  150. package/lib/util/exec-async-command.js +3 -9
  151. package/lib/util/macos-version.js +20 -0
  152. package/lib/util/magento-task.js +3 -4
  153. package/lib/util/nginx-logs-parser.js +122 -0
  154. package/lib/util/php-task.js +3 -6
  155. package/lib/util/prefix.js +1 -1
  156. package/lib/util/run-composer.js +6 -14
  157. package/lib/util/run-container-image.js +17 -0
  158. package/lib/util/run-magento.js +6 -14
  159. package/lib/util/run-php.js +6 -17
  160. package/package.json +9 -9
  161. package/typings/context.d.ts +3 -9
  162. package/typings/index.d.ts +38 -57
  163. package/lib/config/composer.js +0 -11
  164. package/lib/config/php/extensions/libsodium.js +0 -36
  165. package/lib/config/php/releases/php-7.2.js +0 -25
  166. package/lib/config/php/releases/php-7.3.js +0 -25
  167. package/lib/config/php/releases/php-7.4.js +0 -23
  168. package/lib/config/php/releases/php-8.1.js +0 -25
  169. package/lib/config/phpbrew.js +0 -12
  170. package/lib/tasks/composer/install-prestissimo.js +0 -88
  171. package/lib/tasks/docker/containers.js +0 -231
  172. package/lib/tasks/php/bundled-extensions.js +0 -27
  173. package/lib/tasks/php/compile-options.js +0 -56
  174. package/lib/tasks/php/compile.js +0 -55
  175. package/lib/tasks/php/configure.js +0 -89
  176. package/lib/tasks/php/extensions/disable.js +0 -49
  177. package/lib/tasks/php/extensions/enable.js +0 -52
  178. package/lib/tasks/php/extensions/index.js +0 -80
  179. package/lib/tasks/php/extensions/install.js +0 -54
  180. package/lib/tasks/php/index.js +0 -79
  181. package/lib/tasks/php/install-sodium.js +0 -93
  182. package/lib/tasks/php/update-phpbrew.js +0 -45
  183. package/lib/tasks/php/validate-php.js +0 -67
  184. package/lib/tasks/php-fpm/get-process-id.js +0 -14
  185. package/lib/tasks/php-fpm/index.js +0 -4
  186. package/lib/tasks/php-fpm/start-php-fpm.js +0 -49
  187. package/lib/tasks/php-fpm/stop-php-fpm.js +0 -48
  188. package/lib/tasks/requirements/phpbrew/index.js +0 -61
  189. package/lib/tasks/requirements/phpbrew/install.js +0 -159
  190. package/lib/tasks/requirements/phpbrew/version.js +0 -28
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @type {import('../../../../typings/index').PHPExtensionInstallationInstruction}
3
+ */
4
+ module.exports = {
5
+ name: 'sodium',
6
+ command: 'docker-php-ext-install sodium',
7
+ dependencies: [
8
+ 'libsodium-dev'
9
+ ]
10
+ };
@@ -1,9 +1,12 @@
1
+ /* eslint-disable max-len */
1
2
  /**
2
- * @type {import('../../../../typings/index').PHPExtension}
3
+ * @type {import('../../../../typings/index').PHPExtensionInstallationInstruction}
3
4
  */
4
- const xdebugExtension = {
5
- extensionName: 'xdebug',
5
+ module.exports = {
6
+ name: 'xdebug',
7
+ command: ({ version = '' } = {}) => `apk add --no-cache --virtual .build-deps \\$PHPIZE_DEPS \
8
+ && pecl install xdebug${version ? `-${version}` : ''} \
9
+ && docker-php-ext-enable xdebug \
10
+ && apk del -f .build-deps`,
6
11
  version: '3.1.5'
7
12
  };
8
-
9
- module.exports = xdebugExtension;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @type {import('../../../../typings/index').PHPExtensionInstallationInstruction}
3
+ */
4
+ module.exports = {
5
+ name: 'xsl',
6
+ command: 'docker-php-ext-install xsl',
7
+ dependencies: [
8
+ 'libxslt-dev'
9
+ ]
10
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @type {import('../../../../typings/index').PHPExtensionInstallationInstruction}
3
+ */
4
+ module.exports = {
5
+ name: 'zip',
6
+ command: 'docker-php-ext-install zip',
7
+ dependencies: [
8
+ 'libzip-dev'
9
+ ]
10
+ };
File without changes
@@ -0,0 +1,23 @@
1
+ const path = require('path');
2
+ const { repo } = require('../base-repo');
3
+ const xdebug = require('../extensions/xdebug');
4
+
5
+ /**
6
+ * @returns {import('../../../../typings/index').PHPConfiguration}
7
+ */
8
+ const php72 = ({
9
+ templateDir,
10
+ extensions = {},
11
+ baseImage = `${ repo }:php-7.2`
12
+ } = {}) => ({
13
+ baseImage,
14
+ debugImage: `${ baseImage }-debug`,
15
+ configTemplate: path.join(templateDir || '', 'php.template.ini'),
16
+ fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
17
+ extensions: {
18
+ xdebug,
19
+ ...extensions
20
+ }
21
+ });
22
+
23
+ module.exports = php72;
@@ -0,0 +1,23 @@
1
+ const path = require('path');
2
+ const { repo } = require('../base-repo');
3
+ const xdebug = require('../extensions/xdebug');
4
+
5
+ /**
6
+ * @returns {import('../../../../typings/index').PHPConfiguration}
7
+ */
8
+ const php73 = ({
9
+ templateDir,
10
+ extensions = {},
11
+ baseImage = `${ repo }:php-7.3`
12
+ } = {}) => ({
13
+ baseImage,
14
+ debugImage: `${ baseImage }-debug`,
15
+ configTemplate: path.join(templateDir || '', 'php.template.ini'),
16
+ fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
17
+ extensions: {
18
+ xdebug,
19
+ ...extensions
20
+ }
21
+ });
22
+
23
+ module.exports = php73;
@@ -0,0 +1,23 @@
1
+ const path = require('path');
2
+ const { repo } = require('../base-repo');
3
+ const xdebug = require('../extensions/xdebug');
4
+
5
+ /**
6
+ * @returns {import('../../../../typings/index').PHPConfiguration}
7
+ */
8
+ const php74 = ({
9
+ templateDir,
10
+ extensions = {},
11
+ baseImage = `${ repo }:php-7.4`
12
+ } = {}) => ({
13
+ baseImage,
14
+ debugImage: `${ baseImage }-debug`,
15
+ configTemplate: path.join(templateDir || '', 'php.template.ini'),
16
+ fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
17
+ extensions: {
18
+ xdebug,
19
+ ...extensions
20
+ }
21
+ });
22
+
23
+ module.exports = php74;
@@ -0,0 +1,23 @@
1
+ const path = require('path');
2
+ const { repo } = require('../base-repo');
3
+ const xdebug = require('../extensions/xdebug');
4
+
5
+ /**
6
+ * @returns {import('../../../../typings/index').PHPConfiguration}
7
+ */
8
+ const php81 = ({
9
+ templateDir,
10
+ extensions = {},
11
+ baseImage = `${ repo }:php-8.1`
12
+ } = {}) => ({
13
+ baseImage,
14
+ debugImage: `${ baseImage }-debug`,
15
+ configTemplate: path.join(templateDir || '', 'php.template.ini'),
16
+ fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
17
+ extensions: {
18
+ xdebug,
19
+ ...extensions
20
+ }
21
+ });
22
+
23
+ module.exports = php81;
@@ -1,23 +1,19 @@
1
1
  const path = require('path');
2
- const phpbrewConfig = require('./phpbrew');
3
2
 
4
- module.exports = (app, config) => {
5
- const { php } = app;
3
+ /**
4
+ * @param {import('../../typings/context').ListrContext['config']['overridenConfiguration']} overridenConfiguration
5
+ * @param {import('../../typings/context').ListrContext['config']['baseConfig']} baseConfig
6
+ */
7
+ module.exports = (overridenConfiguration, baseConfig) => {
8
+ const { php } = overridenConfiguration;
6
9
 
7
- const { cacheDir } = config;
8
-
9
- const phpVersionDir = path.join(
10
- phpbrewConfig.phpPath,
11
- `php-${ php.version }`
12
- );
10
+ const { cacheDir } = baseConfig;
13
11
 
14
12
  const phpConfiguration = {
15
- binPath: path.join(phpVersionDir, 'bin', 'php'),
16
13
  iniPath: path.join(cacheDir, 'php.ini'),
17
14
  iniTemplatePath: php.configTemplate,
18
- fpmBinPath: path.join(phpVersionDir, 'sbin', 'php-fpm'),
15
+ fpmTemplatePath: php.fpmConfigTemplate,
19
16
  fpmConfPath: path.join(cacheDir, 'php-fpm.conf'),
20
- fpmPidFilePath: path.join(cacheDir, 'php-fpm.pid'),
21
17
  extensions: php.extensions,
22
18
  version: php.version
23
19
  };
@@ -58,7 +58,6 @@ const defaultPorts = {
58
58
  varnish: 8080,
59
59
  sslTerminator: 80,
60
60
  fpm: 9000,
61
- xdebug: 9111,
62
61
  mysql: 3306,
63
62
  redis: 6379,
64
63
  elasticsearch: 9200
@@ -74,10 +73,7 @@ const defaultPorts = {
74
73
  const getPortsConfig = async (ports, options = {}) => {
75
74
  const { useNonOverlappingPorts } = options;
76
75
  const mergedPorts = deepmerge(defaultPorts, ports || {});
77
- let p = [
78
- 9003,
79
- 9111
80
- ];
76
+ let p = [];
81
77
 
82
78
  if (useNonOverlappingPorts) {
83
79
  p = p.concat(await getUsedByOtherCMAProjectsPorts());
@@ -2,11 +2,11 @@ RED='\033[0;31m'
2
2
  GREEN='\033[0;32m'
3
3
  NC='\033[0m' # No Color
4
4
 
5
- alias php="$HOME/.phpbrew/php/php-<%= it.php.version %>/bin/php -c $PWD/node_modules/.create-magento-app-cache/php.ini"
6
- alias magento="php $PWD/bin/magento"
5
+ alias php="npm run exec php php"
6
+ alias magento="php bin/magento"
7
7
  alias magneto="echo -e 'Not ${RED}magneto${NC} but ${GREEN}magento${NC} please! or at least ${GREEN}m${NC}!' && magento"
8
8
  alias m="magento"
9
- alias composer="php $PWD/node_modules/.create-magento-app-cache/composer/composer.phar"
9
+ alias composer="npm run exec php composer"
10
10
  alias c="composer"
11
11
  <% if (it.varnishEnabled) { %>
12
12
  alias cvc="npm run exec varnish varnishadm ban req.url '~ /' && echo 'Varnish cache cleared!'"
@@ -1,5 +1,5 @@
1
1
  [global]
2
-
2
+ daemonize = no
3
3
  log_level = debug
4
4
 
5
5
  [www]
@@ -12,10 +12,10 @@ catch_workers_output = yes
12
12
 
13
13
  pm = ondemand
14
14
  pm.max_children = 32
15
- pm.start_servers = 15
15
+ pm.start_servers = 3
16
16
  pm.max_requests = 5000
17
17
  pm.process_idle_timeout = 10s
18
18
  pm.status_path = /fpmstatus
19
- listen = 127.0.0.1:<%= it.ports.fpm %>
19
+ listen = <%~ it.port %>
20
20
 
21
21
  env[PATH] = $PATH
@@ -1999,28 +1999,34 @@ opcache.save_comments=1
1999
1999
 
2000
2000
  [xdebug]
2001
2001
  <% if (it.debug) { %>
2002
+ error_reporting=E_ALL
2003
+
2004
+ xdebug.idekey=PHPSTORM
2002
2005
 
2003
2006
  <% if (it.isXDebug2) { %>
2004
2007
  xdebug.remote_autostart=1
2005
2008
  xdebug.remote_enable=1
2006
- xdebug.remote_host=127.0.0.1
2007
- xdebug.remote_port=9111
2008
2009
 
2009
- xdebug.idekey=PHPSTORM
2010
+ xdebug.remote_host=<%~ it.hostMachine %>
2011
+
2012
+ xdebug.remote_port=9003
2013
+
2014
+ xdebug.remote_log=<%~ it.mageRoot %>/var/log/xdebug.log
2010
2015
 
2011
2016
  <% } else { %>
2012
2017
 
2013
2018
  xdebug.mode=debug
2014
- xdebug.client_host=localhost
2019
+ xdebug.client_host=<%~ it.hostMachine %>
2020
+
2015
2021
  xdebug.client_port=9003
2016
- xdebug.log=<%~ it.mageRoot %>/var/log/xdebug.log
2017
2022
 
2018
2023
  ; THIS THING WILL BREAK PHP
2019
2024
  ; xdebug.start_with_request=yes
2020
2025
 
2021
2026
  xdebug.discover_client_host=false
2022
2027
  xdebug.start_upon_error=yes
2023
- xdebug.idekey=PHPSTORM
2028
+
2029
+ xdebug.log=<%~ it.mageRoot %>/var/log/xdebug.log
2024
2030
 
2025
2031
  <% } %>
2026
2032
 
@@ -4,7 +4,7 @@ set_real_ip_from 172.0.0.0/8;
4
4
  real_ip_recursive on;
5
5
 
6
6
  upstream app_backend {
7
- server <%= it.hostMachine %>:<% if (it.config.configuration.varnish.enabled) { %><%= it.ports.varnish %><% } else { %><%= it.ports.app %><% } %>;
7
+ server <%= it.hostMachine %>:<% if (!it.debug && it.config.configuration.varnish.enabled) { %><%= it.ports.varnish %><% } else { %><%= it.ports.app %><% } %>;
8
8
 
9
9
  keepalive 16;
10
10
  }
@@ -9,7 +9,9 @@
9
9
  "type": "php",
10
10
  "request": "launch",
11
11
  "port": <%~ it.XDebugPort %>,
12
- "runtimeExecutable": "<%~ it.PHPBinPath %>"
12
+ "pathMappings": {
13
+ "<%~ it.baseConfig.containerMagentoDir %>": "${workspaceFolder}"
14
+ }
13
15
  }
14
16
  ]
15
17
  }
@@ -1,13 +1,19 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
- const { php72 } = require('../php/releases');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php72 } = require('../php/versions');
4
6
  const { sslTerminator } = require('../ssl-terminator');
5
7
  const { varnish66 } = require('../varnish/varnish-6-6');
6
8
 
7
9
  module.exports = ({ templateDir } = {}) => ({
8
10
  magentoVersion: '2.3.0',
9
11
  configuration: {
10
- php: php72({ templateDir }),
12
+ php: php72({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.2-magento-2.3`
16
+ }),
11
17
  nginx: {
12
18
  version: '1.18.0',
13
19
  configTemplate: path.join(templateDir || '', 'nginx.template.conf')
@@ -1,13 +1,19 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
- const { php72 } = require('../php/releases');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php72 } = require('../php/versions');
4
6
  const { sslTerminator } = require('../ssl-terminator');
5
7
  const { varnish66 } = require('../varnish/varnish-6-6');
6
8
 
7
9
  module.exports = ({ templateDir } = {}) => ({
8
10
  magentoVersion: '2.3.1',
9
11
  configuration: {
10
- php: php72({ templateDir }),
12
+ php: php72({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.2-magento-2.3`
16
+ }),
11
17
  nginx: {
12
18
  version: '1.18.0',
13
19
  configTemplate: path.join(templateDir || '', 'nginx.template.conf')
@@ -0,0 +1,44 @@
1
+ const path = require('path');
2
+ const { defaultMagentoConfig } = require('../magento-config');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php72 } = require('../php/versions');
6
+ const { sslTerminator } = require('../ssl-terminator');
7
+ const { varnish66 } = require('../varnish/varnish-6-6');
8
+
9
+ module.exports = ({ templateDir } = {}) => ({
10
+ magentoVersion: '2.3.2-p1',
11
+ configuration: {
12
+ php: php72({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.2-magento-2.3`
16
+ }),
17
+ nginx: {
18
+ version: '1.18.0',
19
+ configTemplate: path.join(templateDir || '', 'nginx.template.conf')
20
+ },
21
+ redis: {
22
+ version: '5'
23
+ },
24
+ mysql: {
25
+ version: '5.7'
26
+ },
27
+ mariadb: {
28
+ version: '10.2'
29
+ },
30
+ elasticsearch: {
31
+ version: '6.8.16'
32
+ },
33
+ composer: {
34
+ version: '1'
35
+ },
36
+ varnish: varnish66({ templateDir }),
37
+ sslTerminator: sslTerminator({ templateDir })
38
+ },
39
+ magento: defaultMagentoConfig,
40
+ host: 'localhost',
41
+ ssl: {
42
+ enabled: false
43
+ }
44
+ });
@@ -1,13 +1,19 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
- const { php72 } = require('../php/releases');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php72 } = require('../php/versions');
4
6
  const { sslTerminator } = require('../ssl-terminator');
5
7
  const { varnish66 } = require('../varnish/varnish-6-6');
6
8
 
7
9
  module.exports = ({ templateDir } = {}) => ({
8
10
  magentoVersion: '2.3.2-p2',
9
11
  configuration: {
10
- php: php72({ templateDir }),
12
+ php: php72({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.2-magento-2.3`
16
+ }),
11
17
  nginx: {
12
18
  version: '1.18.0',
13
19
  configTemplate: path.join(templateDir || '', 'nginx.template.conf')
@@ -1,13 +1,19 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
- const { php72 } = require('../php/releases');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php72 } = require('../php/versions');
4
6
  const { sslTerminator } = require('../ssl-terminator');
5
7
  const { varnish66 } = require('../varnish/varnish-6-6');
6
8
 
7
9
  module.exports = ({ templateDir } = {}) => ({
8
10
  magentoVersion: '2.3.2',
9
11
  configuration: {
10
- php: php72({ templateDir }),
12
+ php: php72({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.2-magento-2.3`
16
+ }),
11
17
  nginx: {
12
18
  version: '1.18.0',
13
19
  configTemplate: path.join(templateDir || '', 'nginx.template.conf')
@@ -1,13 +1,19 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
- const { php73 } = require('../php/releases');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php73 } = require('../php/versions');
4
6
  const { sslTerminator } = require('../ssl-terminator');
5
7
  const { varnish66 } = require('../varnish/varnish-6-6');
6
8
 
7
9
  module.exports = ({ templateDir } = {}) => ({
8
10
  magentoVersion: '2.3.3-p1',
9
11
  configuration: {
10
- php: php73({ templateDir }),
12
+ php: php73({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.3-magento-2.3`
16
+ }),
11
17
  nginx: {
12
18
  version: '1.18.0',
13
19
  configTemplate: path.join(templateDir || '', 'nginx.template.conf')
@@ -1,13 +1,19 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
- const { php73 } = require('../php/releases');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php73 } = require('../php/versions');
4
6
  const { sslTerminator } = require('../ssl-terminator');
5
7
  const { varnish66 } = require('../varnish/varnish-6-6');
6
8
 
7
9
  module.exports = ({ templateDir } = {}) => ({
8
10
  magentoVersion: '2.3.3',
9
11
  configuration: {
10
- php: php73({ templateDir }),
12
+ php: php73({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.3-magento-2.3`
16
+ }),
11
17
  nginx: {
12
18
  version: '1.18.0',
13
19
  configTemplate: path.join(templateDir || '', 'nginx.template.conf')
@@ -0,0 +1,44 @@
1
+ const path = require('path');
2
+ const { defaultMagentoConfig } = require('../magento-config');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php73 } = require('../php/versions');
6
+ const { sslTerminator } = require('../ssl-terminator');
7
+ const { varnish66 } = require('../varnish/varnish-6-6');
8
+
9
+ module.exports = ({ templateDir } = {}) => ({
10
+ magentoVersion: '2.3.4-p1',
11
+ configuration: {
12
+ php: php73({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.3-magento-2.3`
16
+ }),
17
+ nginx: {
18
+ version: '1.18.0',
19
+ configTemplate: path.join(templateDir || '', 'nginx.template.conf')
20
+ },
21
+ redis: {
22
+ version: '5'
23
+ },
24
+ mysql: {
25
+ version: '5.7'
26
+ },
27
+ mariadb: {
28
+ version: '10.2'
29
+ },
30
+ elasticsearch: {
31
+ version: '6.8.16'
32
+ },
33
+ composer: {
34
+ version: '1'
35
+ },
36
+ varnish: varnish66({ templateDir }),
37
+ sslTerminator: sslTerminator({ templateDir })
38
+ },
39
+ magento: defaultMagentoConfig,
40
+ host: 'localhost',
41
+ ssl: {
42
+ enabled: false
43
+ }
44
+ });
@@ -1,13 +1,19 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
- const { php73 } = require('../php/releases');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php73 } = require('../php/versions');
4
6
  const { sslTerminator } = require('../ssl-terminator');
5
7
  const { varnish66 } = require('../varnish/varnish-6-6');
6
8
 
7
9
  module.exports = ({ templateDir } = {}) => ({
8
10
  magentoVersion: '2.3.4-p2',
9
11
  configuration: {
10
- php: php73({ templateDir }),
12
+ php: php73({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.3-magento-2.3`
16
+ }),
11
17
  nginx: {
12
18
  version: '1.18.0',
13
19
  configTemplate: path.join(templateDir || '', 'nginx.template.conf')
@@ -1,13 +1,19 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
- const { php73 } = require('../php/releases');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php73 } = require('../php/versions');
4
6
  const { sslTerminator } = require('../ssl-terminator');
5
7
  const { varnish66 } = require('../varnish/varnish-6-6');
6
8
 
7
9
  module.exports = ({ templateDir } = {}) => ({
8
10
  magentoVersion: '2.3.4',
9
11
  configuration: {
10
- php: php73({ templateDir }),
12
+ php: php73({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.3-magento-2.3`
16
+ }),
11
17
  nginx: {
12
18
  version: '1.18.0',
13
19
  configTemplate: path.join(templateDir || '', 'nginx.template.conf')
@@ -1,13 +1,19 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
- const { php73 } = require('../php/releases');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php73 } = require('../php/versions');
4
6
  const { sslTerminator } = require('../ssl-terminator');
5
7
  const { varnish66 } = require('../varnish/varnish-6-6');
6
8
 
7
9
  module.exports = ({ templateDir } = {}) => ({
8
10
  magentoVersion: '2.3.5-p1',
9
11
  configuration: {
10
- php: php73({ templateDir }),
12
+ php: php73({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.3-magento-2.3`
16
+ }),
11
17
  nginx: {
12
18
  version: '1.18.0',
13
19
  configTemplate: path.join(templateDir || '', 'nginx.template.conf')
@@ -1,13 +1,19 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
- const { php73 } = require('../php/releases');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php73 } = require('../php/versions');
4
6
  const { sslTerminator } = require('../ssl-terminator');
5
7
  const { varnish66 } = require('../varnish/varnish-6-6');
6
8
 
7
9
  module.exports = ({ templateDir } = {}) => ({
8
10
  magentoVersion: '2.3.5-p2',
9
11
  configuration: {
10
- php: php73({ templateDir }),
12
+ php: php73({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.3-magento-2.3`
16
+ }),
11
17
  nginx: {
12
18
  version: '1.18.0',
13
19
  configTemplate: path.join(templateDir || '', 'nginx.template.conf')
@@ -1,13 +1,19 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
- const { php73 } = require('../php/releases');
3
+ const { magento23PHPExtensionList } = require('../magento/required-php-extensions');
4
+ const { repo } = require('../php/base-repo');
5
+ const { php73 } = require('../php/versions');
4
6
  const { sslTerminator } = require('../ssl-terminator');
5
7
  const { varnish66 } = require('../varnish/varnish-6-6');
6
8
 
7
9
  module.exports = ({ templateDir } = {}) => ({
8
10
  magentoVersion: '2.3.5',
9
11
  configuration: {
10
- php: php73({ templateDir }),
12
+ php: php73({
13
+ templateDir,
14
+ extensions: magento23PHPExtensionList,
15
+ baseImage: `${ repo }:php-7.3-magento-2.3`
16
+ }),
11
17
  nginx: {
12
18
  version: '1.18.0',
13
19
  configTemplate: path.join(templateDir || '', 'nginx.template.conf')