@scandipwa/magento-scripts 1.14.1-alpha.1 → 1.14.1-alpha.12

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 (179) hide show
  1. package/index.js +13 -0
  2. package/lib/commands/cli.js +28 -1
  3. package/lib/commands/execute.js +2 -1
  4. package/lib/commands/logs.js +1 -0
  5. package/lib/commands/start.js +18 -5
  6. package/lib/config/cma-config.js +16 -0
  7. package/lib/config/dependencies-for-platforms.js +15 -3
  8. package/lib/config/docker.js +89 -15
  9. package/lib/config/get-port-config.js +9 -3
  10. package/lib/config/index.js +2 -1
  11. package/lib/config/php/extensions/libsodium.js +2 -1
  12. package/lib/config/port-config.js +3 -1
  13. package/lib/config/scandipwa-versions.js +2 -1
  14. package/lib/config/ssl-terminator/index.js +10 -0
  15. package/lib/config/system-config.js +34 -5
  16. package/lib/config/templates/magentorc.template +3 -5
  17. package/lib/config/templates/nginx.template.conf +0 -14
  18. package/lib/config/templates/php.template.ini +6 -4
  19. package/lib/config/templates/ssl-terminator.template.conf +27 -0
  20. package/lib/config/templates/varnish.template.vcl +255 -0
  21. package/lib/config/varnish/varnish-6-0.js +11 -0
  22. package/lib/config/varnish/varnish-6-6.js +11 -0
  23. package/lib/config/varnish/varnish-7-0.js +11 -0
  24. package/lib/config/versions/magento-2.3.0.js +9 -1
  25. package/lib/config/versions/magento-2.3.1.js +9 -1
  26. package/lib/config/versions/magento-2.3.2-p2.js +9 -1
  27. package/lib/config/versions/magento-2.3.2.js +9 -1
  28. package/lib/config/versions/magento-2.3.3-p1.js +9 -1
  29. package/lib/config/versions/magento-2.3.3.js +9 -1
  30. package/lib/config/versions/magento-2.3.4-p2.js +9 -1
  31. package/lib/config/versions/magento-2.3.4.js +9 -1
  32. package/lib/config/versions/magento-2.3.5-p1.js +9 -1
  33. package/lib/config/versions/magento-2.3.5-p2.js +9 -1
  34. package/lib/config/versions/magento-2.3.5.js +9 -1
  35. package/lib/config/versions/magento-2.3.6-p1.js +9 -1
  36. package/lib/config/versions/magento-2.3.6.js +9 -1
  37. package/lib/config/versions/magento-2.3.7-p1.js +9 -1
  38. package/lib/config/versions/magento-2.3.7-p2.js +9 -1
  39. package/lib/config/versions/magento-2.3.7-p3.js +9 -1
  40. package/lib/config/versions/magento-2.3.7.js +9 -1
  41. package/lib/config/versions/magento-2.4.0-p1.js +9 -1
  42. package/lib/config/versions/magento-2.4.0.js +9 -1
  43. package/lib/config/versions/magento-2.4.1-p1.js +9 -1
  44. package/lib/config/versions/magento-2.4.1.js +9 -1
  45. package/lib/config/versions/magento-2.4.2-p1.js +9 -1
  46. package/lib/config/versions/magento-2.4.2-p2.js +9 -1
  47. package/lib/config/versions/magento-2.4.2.js +9 -1
  48. package/lib/config/versions/magento-2.4.3-p1.js +9 -1
  49. package/lib/config/versions/magento-2.4.3-p2.js +9 -1
  50. package/lib/config/versions/magento-2.4.3.js +9 -1
  51. package/lib/config/versions/magento-2.4.4.js +9 -1
  52. package/lib/config/xml-parser.js +5 -3
  53. package/lib/errors/known-error.js +15 -0
  54. package/lib/errors/unknown-error.js +15 -0
  55. package/lib/tasks/cli/create-bashrc-config.js +7 -3
  56. package/lib/tasks/composer/index.js +5 -3
  57. package/lib/tasks/composer/local-auth-json.js +4 -2
  58. package/lib/tasks/docker/containers.js +13 -8
  59. package/lib/tasks/docker/network.js +2 -1
  60. package/lib/tasks/docker/volumes.js +4 -4
  61. package/lib/tasks/file-system/create-nginx-config.js +9 -40
  62. package/lib/tasks/file-system/create-php-config.js +2 -1
  63. package/lib/tasks/file-system/create-php-fpm-config.js +2 -1
  64. package/lib/tasks/file-system/create-phpstorm-config/database-config.js +5 -4
  65. package/lib/tasks/file-system/create-phpstorm-config/eslint-config.js +12 -10
  66. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/coding-standard-config.js +0 -3
  67. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/custom-ruleset-path-config.js +0 -3
  68. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/default-properties-config.js +1 -1
  69. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/magento-coding-standard-config.js +0 -3
  70. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/mess-detector-validation-inspection-config.js +0 -3
  71. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/php-cs-validation-inspection-config.js +1 -4
  72. package/lib/tasks/file-system/create-phpstorm-config/php-config/mess-detector-config.js +1 -4
  73. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-code-sniffer-config.js +1 -11
  74. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-cs-fixer-config.js +1 -6
  75. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-project-shared-configuration-config.js +1 -11
  76. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/composer-settings-config.js +2 -3
  77. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-server-config.js +1 -4
  78. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/properties-component-config.js +2 -4
  79. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/run-manager-config.js +1 -11
  80. package/lib/tasks/file-system/create-ssl-terminator-config.js +96 -0
  81. package/lib/tasks/file-system/create-varnish-config.js +53 -0
  82. package/lib/tasks/file-system/create-vscode-config.js +3 -2
  83. package/lib/tasks/file-system/index.js +5 -1
  84. package/lib/tasks/magento/enable-magento-composer-plugins.js +3 -2
  85. package/lib/tasks/magento/install-magento.js +7 -5
  86. package/lib/tasks/magento/setup-magento/adjust-full-page-cache.js +26 -0
  87. package/lib/tasks/magento/setup-magento/configure-elasticsearch.js +1 -1
  88. package/lib/tasks/magento/setup-magento/delete-admin-users.js +1 -1
  89. package/lib/tasks/magento/setup-magento/delete-customers.js +7 -4
  90. package/lib/tasks/magento/setup-magento/delete-orders.js +6 -4
  91. package/lib/tasks/magento/setup-magento/disable-2fa.js +4 -12
  92. package/lib/tasks/magento/setup-magento/flush-redis-config.js +2 -1
  93. package/lib/tasks/magento/setup-magento/increase-admin-session-lifetime.js +14 -16
  94. package/lib/tasks/magento/setup-magento/index.js +3 -1
  95. package/lib/tasks/magento/setup-magento/install-magento.js +2 -1
  96. package/lib/tasks/magento/setup-magento/migrate-database.js +24 -11
  97. package/lib/tasks/magento/setup-magento/set-base-url.js +7 -2
  98. package/lib/tasks/magento/setup-magento/upgrade-magento.js +27 -3
  99. package/lib/tasks/magento/setup-magento/varnish-config.js +69 -0
  100. package/lib/tasks/magento/setup-magento/waiting-for-varnish.js +41 -0
  101. package/lib/tasks/mysql/connect-to-mysql.js +2 -1
  102. package/lib/tasks/mysql/fix-db.js +2 -2
  103. package/lib/tasks/mysql/import-dump-to-mysql.js +13 -2
  104. package/lib/tasks/mysql/import-remote-db/index.js +2 -1
  105. package/lib/tasks/mysql/import-remote-db/ssh/index.js +2 -1
  106. package/lib/tasks/mysql/import-remote-db/ssh/regular-server.js +2 -1
  107. package/lib/tasks/php/bundled-extensions.js +28 -0
  108. package/lib/tasks/php/compile-options.js +27 -54
  109. package/lib/tasks/php/compile.js +6 -4
  110. package/lib/tasks/php/configure.js +7 -66
  111. package/lib/tasks/php/extensions/disable.js +2 -1
  112. package/lib/tasks/php/extensions/enable.js +2 -1
  113. package/lib/tasks/php/extensions/index.js +74 -0
  114. package/lib/tasks/php/extensions/install.js +3 -3
  115. package/lib/tasks/php/index.js +8 -7
  116. package/lib/tasks/php/install-sodium.js +93 -0
  117. package/lib/tasks/php/update-env-php.js +16 -1
  118. package/lib/tasks/php/update-env.php +56 -12
  119. package/lib/tasks/php/update-phpbrew.js +7 -3
  120. package/lib/tasks/php/validate-php.js +67 -0
  121. package/lib/tasks/php-fpm/start-php-fpm.js +4 -2
  122. package/lib/tasks/requirements/composer.js +7 -5
  123. package/lib/tasks/requirements/dependency/arch.js +2 -1
  124. package/lib/tasks/requirements/dependency/centos.js +2 -1
  125. package/lib/tasks/requirements/dependency/fedora.js +2 -1
  126. package/lib/tasks/requirements/dependency/mac.js +18 -3
  127. package/lib/tasks/requirements/docker/index.js +96 -40
  128. package/lib/tasks/requirements/docker/install-on-mac.js +29 -0
  129. package/lib/tasks/requirements/docker/install.js +13 -12
  130. package/lib/tasks/requirements/docker/running-status.js +138 -0
  131. package/lib/tasks/requirements/docker/version.js +3 -0
  132. package/lib/tasks/requirements/index.js +8 -5
  133. package/lib/tasks/requirements/node-version.js +2 -1
  134. package/lib/tasks/requirements/php-version.js +29 -25
  135. package/lib/tasks/requirements/phpbrew/index.js +2 -1
  136. package/lib/tasks/requirements/phpbrew/install.js +14 -2
  137. package/lib/tasks/requirements/phpbrew/version.js +2 -1
  138. package/lib/tasks/requirements/platform.js +5 -3
  139. package/lib/tasks/requirements/rosetta.js +32 -0
  140. package/lib/tasks/start.js +8 -9
  141. package/lib/tasks/status/index.js +25 -9
  142. package/lib/tasks/theme/build-theme.js +27 -8
  143. package/lib/tasks/theme/install-theme.js +18 -5
  144. package/lib/tasks/theme/link-theme.js +2 -2
  145. package/lib/tasks/theme/retrieve-theme-data.js +2 -1
  146. package/lib/tasks/theme/setup-persisted-query.js +5 -4
  147. package/lib/tasks/theme/setup-themes.js +11 -3
  148. package/lib/tasks/theme/symlink-theme.js +26 -4
  149. package/lib/util/CSA-theme.js +4 -0
  150. package/lib/util/analytics.js +337 -0
  151. package/lib/util/arch.js +1 -1
  152. package/lib/util/config-file-validator.js +14 -2
  153. package/lib/util/config-php-json.js +20 -0
  154. package/lib/util/env-php-json.js +3 -2
  155. package/lib/util/exec-async-command.d.ts +2 -0
  156. package/lib/util/exec-async-command.js +31 -15
  157. package/lib/util/exec-async.js +9 -0
  158. package/lib/util/get-brew-bin-path.js +64 -0
  159. package/lib/util/get-installed-magento-version.js +3 -2
  160. package/lib/util/get-jsonfile-data.js +2 -1
  161. package/lib/util/install-dependencies-task.js +15 -5
  162. package/lib/util/instance-metadata.js +4 -3
  163. package/lib/util/ip.js +45 -1
  164. package/lib/util/is-running-root.js +3 -0
  165. package/lib/util/magento-task.js +20 -9
  166. package/lib/util/match-filesystem.js +2 -1
  167. package/lib/util/php-task.js +7 -3
  168. package/lib/util/request.js +0 -0
  169. package/lib/util/resolve-configuration-with-overrides.js +2 -1
  170. package/lib/util/run-composer.js +5 -3
  171. package/lib/util/run-magento.js +3 -2
  172. package/lib/util/run-php.js +14 -3
  173. package/lib/util/systemctl.js +46 -0
  174. package/lib/util/wait-for-it.js +3 -2
  175. package/package.json +4 -3
  176. package/typings/context.d.ts +6 -1
  177. package/typings/index.d.ts +32 -1
  178. package/lib/tasks/magento/setup-magento/adjust-magento-configuration.js +0 -27
  179. package/lib/tasks/magento/setup-magento/disable-page-cache.js +0 -11
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish66 } = require('../varnish/varnish-6-6');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.3.6',
@@ -18,6 +20,10 @@ module.exports = ({ templateDir } = {}) => ({
18
20
  SimpleXML: {},
19
21
  xdebug: {
20
22
  version: '3.1.2'
23
+ },
24
+ apcu: {},
25
+ opcache: {
26
+ extensionName: 'Zend OPcache'
21
27
  }
22
28
  }
23
29
  },
@@ -39,7 +45,9 @@ module.exports = ({ templateDir } = {}) => ({
39
45
  },
40
46
  composer: {
41
47
  version: '1'
42
- }
48
+ },
49
+ varnish: varnish66({ templateDir }),
50
+ sslTerminator: sslTerminator({ templateDir })
43
51
  },
44
52
  magento: defaultMagentoConfig,
45
53
  host: 'localhost',
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish66 } = require('../varnish/varnish-6-6');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.3.7-p1',
@@ -16,6 +18,10 @@ module.exports = ({ templateDir } = {}) => ({
16
18
  SimpleXML: {},
17
19
  xdebug: {
18
20
  version: '3.1.2'
21
+ },
22
+ apcu: {},
23
+ opcache: {
24
+ extensionName: 'Zend OPcache'
19
25
  }
20
26
  }
21
27
  },
@@ -37,7 +43,9 @@ module.exports = ({ templateDir } = {}) => ({
37
43
  },
38
44
  composer: {
39
45
  version: '2'
40
- }
46
+ },
47
+ varnish: varnish66({ templateDir }),
48
+ sslTerminator: sslTerminator({ templateDir })
41
49
  },
42
50
  magento: defaultMagentoConfig,
43
51
  host: 'localhost',
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish66 } = require('../varnish/varnish-6-6');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.3.7-p2',
@@ -16,6 +18,10 @@ module.exports = ({ templateDir } = {}) => ({
16
18
  SimpleXML: {},
17
19
  xdebug: {
18
20
  version: '3.1.2'
21
+ },
22
+ apcu: {},
23
+ opcache: {
24
+ extensionName: 'Zend OPcache'
19
25
  }
20
26
  }
21
27
  },
@@ -37,7 +43,9 @@ module.exports = ({ templateDir } = {}) => ({
37
43
  },
38
44
  composer: {
39
45
  version: '2'
40
- }
46
+ },
47
+ varnish: varnish66({ templateDir }),
48
+ sslTerminator: sslTerminator({ templateDir })
41
49
  },
42
50
  magento: defaultMagentoConfig,
43
51
  host: 'localhost',
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish66 } = require('../varnish/varnish-6-6');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.3.7-p3',
@@ -16,6 +18,10 @@ module.exports = ({ templateDir } = {}) => ({
16
18
  SimpleXML: {},
17
19
  xdebug: {
18
20
  version: '3.1.2'
21
+ },
22
+ apcu: {},
23
+ opcache: {
24
+ extensionName: 'Zend OPcache'
19
25
  }
20
26
  }
21
27
  },
@@ -37,7 +43,9 @@ module.exports = ({ templateDir } = {}) => ({
37
43
  },
38
44
  composer: {
39
45
  version: '2'
40
- }
46
+ },
47
+ varnish: varnish66({ templateDir }),
48
+ sslTerminator: sslTerminator({ templateDir })
41
49
  },
42
50
  magento: defaultMagentoConfig,
43
51
  host: 'localhost',
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish66 } = require('../varnish/varnish-6-6');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.3.7',
@@ -16,6 +18,10 @@ module.exports = ({ templateDir } = {}) => ({
16
18
  SimpleXML: {},
17
19
  xdebug: {
18
20
  version: '3.1.2'
21
+ },
22
+ apcu: {},
23
+ opcache: {
24
+ extensionName: 'Zend OPcache'
19
25
  }
20
26
  }
21
27
  },
@@ -37,7 +43,9 @@ module.exports = ({ templateDir } = {}) => ({
37
43
  },
38
44
  composer: {
39
45
  version: '2'
40
- }
46
+ },
47
+ varnish: varnish66({ templateDir }),
48
+ sslTerminator: sslTerminator({ templateDir })
41
49
  },
42
50
  magento: defaultMagentoConfig,
43
51
  host: 'localhost',
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish60 } = require('../varnish/varnish-6-0');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.4.0-p1',
@@ -16,6 +18,10 @@ module.exports = ({ templateDir } = {}) => ({
16
18
  SimpleXML: {},
17
19
  xdebug: {
18
20
  version: '3.1.2'
21
+ },
22
+ apcu: {},
23
+ opcache: {
24
+ extensionName: 'Zend OPcache'
19
25
  }
20
26
  }
21
27
  },
@@ -37,7 +43,9 @@ module.exports = ({ templateDir } = {}) => ({
37
43
  },
38
44
  composer: {
39
45
  version: '1'
40
- }
46
+ },
47
+ varnish: varnish60({ templateDir }),
48
+ sslTerminator: sslTerminator({ templateDir })
41
49
  },
42
50
  magento: defaultMagentoConfig,
43
51
  host: 'localhost',
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish60 } = require('../varnish/varnish-6-0');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.4.0',
@@ -16,6 +18,10 @@ module.exports = ({ templateDir } = {}) => ({
16
18
  SimpleXML: {},
17
19
  xdebug: {
18
20
  version: '3.1.2'
21
+ },
22
+ apcu: {},
23
+ opcache: {
24
+ extensionName: 'Zend OPcache'
19
25
  }
20
26
  }
21
27
  },
@@ -37,7 +43,9 @@ module.exports = ({ templateDir } = {}) => ({
37
43
  },
38
44
  composer: {
39
45
  version: '1'
40
- }
46
+ },
47
+ varnish: varnish60({ templateDir }),
48
+ sslTerminator: sslTerminator({ templateDir })
41
49
  },
42
50
  magento: defaultMagentoConfig,
43
51
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.1-p1',
@@ -18,6 +20,10 @@ module.exports = ({ templateDir } = {}) => ({
18
20
  libsodium,
19
21
  xdebug: {
20
22
  version: '3.1.2'
23
+ },
24
+ apcu: {},
25
+ opcache: {
26
+ extensionName: 'Zend OPcache'
21
27
  }
22
28
  }
23
29
  },
@@ -39,7 +45,9 @@ module.exports = ({ templateDir } = {}) => ({
39
45
  },
40
46
  composer: {
41
47
  version: '1'
42
- }
48
+ },
49
+ varnish: varnish66({ templateDir }),
50
+ sslTerminator: sslTerminator({ templateDir })
43
51
  },
44
52
  magento: defaultMagentoConfig,
45
53
  host: 'localhost',
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish66 } = require('../varnish/varnish-6-6');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.4.1',
@@ -16,6 +18,10 @@ module.exports = ({ templateDir } = {}) => ({
16
18
  SimpleXML: {},
17
19
  xdebug: {
18
20
  version: '3.1.2'
21
+ },
22
+ apcu: {},
23
+ opcache: {
24
+ extensionName: 'Zend OPcache'
19
25
  }
20
26
  }
21
27
  },
@@ -37,7 +43,9 @@ module.exports = ({ templateDir } = {}) => ({
37
43
  },
38
44
  composer: {
39
45
  version: '1'
40
- }
46
+ },
47
+ varnish: varnish66({ templateDir }),
48
+ sslTerminator: sslTerminator({ templateDir })
41
49
  },
42
50
  magento: defaultMagentoConfig,
43
51
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.2-p1',
@@ -20,6 +22,10 @@ module.exports = ({ templateDir } = {}) => ({
20
22
  fileinfo: {},
21
23
  xdebug: {
22
24
  version: '3.1.2'
25
+ },
26
+ apcu: {},
27
+ opcache: {
28
+ extensionName: 'Zend OPcache'
23
29
  }
24
30
  }
25
31
  },
@@ -41,7 +47,9 @@ module.exports = ({ templateDir } = {}) => ({
41
47
  },
42
48
  composer: {
43
49
  version: '2'
44
- }
50
+ },
51
+ varnish: varnish66({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
45
53
  },
46
54
  magento: defaultMagentoConfig,
47
55
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.2-p2',
@@ -20,6 +22,10 @@ module.exports = ({ templateDir } = {}) => ({
20
22
  fileinfo: {},
21
23
  xdebug: {
22
24
  version: '3.1.2'
25
+ },
26
+ apcu: {},
27
+ opcache: {
28
+ extensionName: 'Zend OPcache'
23
29
  }
24
30
  }
25
31
  },
@@ -41,7 +47,9 @@ module.exports = ({ templateDir } = {}) => ({
41
47
  },
42
48
  composer: {
43
49
  version: '2'
44
- }
50
+ },
51
+ varnish: varnish66({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
45
53
  },
46
54
  magento: defaultMagentoConfig,
47
55
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.2',
@@ -19,6 +21,10 @@ module.exports = ({ templateDir } = {}) => ({
19
21
  fileinfo: {},
20
22
  xdebug: {
21
23
  version: '3.1.2'
24
+ },
25
+ apcu: {},
26
+ opcache: {
27
+ extensionName: 'Zend OPcache'
22
28
  }
23
29
  }
24
30
  },
@@ -40,7 +46,9 @@ module.exports = ({ templateDir } = {}) => ({
40
46
  },
41
47
  composer: {
42
48
  version: '2'
43
- }
49
+ },
50
+ varnish: varnish66({ templateDir }),
51
+ sslTerminator: sslTerminator({ templateDir })
44
52
  },
45
53
  magento: defaultMagentoConfig,
46
54
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.3-p1',
@@ -20,6 +22,10 @@ module.exports = ({ templateDir } = {}) => ({
20
22
  fileinfo: {},
21
23
  xdebug: {
22
24
  version: '3.1.2'
25
+ },
26
+ apcu: {},
27
+ opcache: {
28
+ extensionName: 'Zend OPcache'
23
29
  }
24
30
  }
25
31
  },
@@ -41,7 +47,9 @@ module.exports = ({ templateDir } = {}) => ({
41
47
  },
42
48
  composer: {
43
49
  version: '2'
44
- }
50
+ },
51
+ varnish: varnish66({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
45
53
  },
46
54
  magento: defaultMagentoConfig,
47
55
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.3-p2',
@@ -20,6 +22,10 @@ module.exports = ({ templateDir } = {}) => ({
20
22
  fileinfo: {},
21
23
  xdebug: {
22
24
  version: '3.1.2'
25
+ },
26
+ apcu: {},
27
+ opcache: {
28
+ extensionName: 'Zend OPcache'
23
29
  }
24
30
  }
25
31
  },
@@ -41,7 +47,9 @@ module.exports = ({ templateDir } = {}) => ({
41
47
  },
42
48
  composer: {
43
49
  version: '2'
44
- }
50
+ },
51
+ varnish: varnish66({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
45
53
  },
46
54
  magento: defaultMagentoConfig,
47
55
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.3',
@@ -20,6 +22,10 @@ module.exports = ({ templateDir } = {}) => ({
20
22
  fileinfo: {},
21
23
  xdebug: {
22
24
  version: '3.1.2'
25
+ },
26
+ apcu: {},
27
+ opcache: {
28
+ extensionName: 'Zend OPcache'
23
29
  }
24
30
  }
25
31
  },
@@ -41,7 +47,9 @@ module.exports = ({ templateDir } = {}) => ({
41
47
  },
42
48
  composer: {
43
49
  version: '2'
44
- }
50
+ },
51
+ varnish: varnish66({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
45
53
  },
46
54
  magento: defaultMagentoConfig,
47
55
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish70 } = require('../varnish/varnish-7-0');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.4',
@@ -20,6 +22,10 @@ module.exports = ({ templateDir } = {}) => ({
20
22
  fileinfo: {},
21
23
  xdebug: {
22
24
  version: '3.1.4'
25
+ },
26
+ apcu: {},
27
+ opcache: {
28
+ extensionName: 'Zend OPcache'
23
29
  }
24
30
  }
25
31
  },
@@ -41,7 +47,9 @@ module.exports = ({ templateDir } = {}) => ({
41
47
  },
42
48
  composer: {
43
49
  version: '2'
44
- }
50
+ },
51
+ varnish: varnish70({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
45
53
  },
46
54
  magento: defaultMagentoConfig,
47
55
  host: 'localhost',
@@ -10,7 +10,8 @@ const xmlParserConfig = {
10
10
  ignoreAttributes: false,
11
11
  parseAttributeValue: false,
12
12
  trimValues: true,
13
- allowBooleanAttributes: true
13
+ allowBooleanAttributes: true,
14
+ cdataPropName: '_cdata'
14
15
  };
15
16
 
16
17
  /**
@@ -20,7 +21,8 @@ const xmlBuilderConfig = {
20
21
  ...xmlParserConfig,
21
22
  format: true,
22
23
  suppressEmptyNode: true,
23
- suppressBooleanAttributes: false
24
+ suppressBooleanAttributes: false,
25
+ processEntities: true
24
26
  };
25
27
 
26
28
  const parser = new XMLParser(xmlParserConfig);
@@ -42,7 +44,7 @@ const loadXmlFile = async (filePath) => {
42
44
  * @param {String} fileData
43
45
  */
44
46
  const buildXmlFile = async (filePath, fileData) => {
45
- const xmlFileData = builder.build(fileData);
47
+ const xmlFileData = builder.build(fileData).replace(/"/ig, '"');
46
48
 
47
49
  const { dir } = path.parse(filePath);
48
50
 
@@ -0,0 +1,15 @@
1
+ class KnownError extends Error {
2
+ /**
3
+ * @param {String} message Error message
4
+ * @param {String} [name] Error name
5
+ * @param {{ reportToAnalytics?: boolean }} [param2]
6
+ */
7
+ constructor(message, name = 'Known Error', { reportToAnalytics = true } = {}) {
8
+ super(message);
9
+ this.name = name;
10
+
11
+ this.reportToAnalytics = reportToAnalytics;
12
+ }
13
+ }
14
+
15
+ module.exports = KnownError;
@@ -0,0 +1,15 @@
1
+ class UnknownError extends Error {
2
+ /**
3
+ * @param {String} message Error message
4
+ * @param {String} [name] Error name
5
+ * @param {{ reportToAnalytics?: boolean }} [param2]
6
+ */
7
+ constructor(message, name = 'Unknown Error', { reportToAnalytics = true } = {}) {
8
+ super(message);
9
+ this.name = name;
10
+
11
+ this.reportToAnalytics = reportToAnalytics;
12
+ }
13
+ }
14
+
15
+ module.exports = UnknownError;
@@ -1,4 +1,5 @@
1
1
  const path = require('path');
2
+ const UnknownError = require('../../errors/unknown-error');
2
3
  const setConfigFile = require('../../util/set-config');
3
4
 
4
5
  /**
@@ -6,18 +7,21 @@ const setConfigFile = require('../../util/set-config');
6
7
  */
7
8
  const createBashrcConfigFile = () => ({
8
9
  title: 'Setting Bashrc config',
9
- task: async ({ config: { php, baseConfig } }) => {
10
+ task: async (ctx) => {
11
+ const { config: { php, baseConfig, overridenConfiguration } } = ctx;
12
+ const varnishEnabled = overridenConfiguration.configuration.varnish.enabled;
10
13
  try {
11
14
  await setConfigFile({
12
15
  configPathname: path.join(baseConfig.cacheDir, '.magentorc'),
13
16
  template: path.join(baseConfig.templateDir, 'magentorc.template'),
14
17
  overwrite: true,
15
18
  templateArgs: {
16
- php
19
+ php,
20
+ varnishEnabled
17
21
  }
18
22
  });
19
23
  } catch (e) {
20
- throw new Error(`Unexpected error accrued during php.ini config creation\n\n${e}`);
24
+ throw new UnknownError(`Unexpected error accrued during php.ini config creation\n\n${e}`);
21
25
  }
22
26
  }
23
27
  });
@@ -7,6 +7,8 @@ const { execAsyncSpawn } = require('../../util/exec-async-command');
7
7
  const pathExists = require('../../util/path-exists');
8
8
  const safeRegexExtract = require('../../util/safe-regex-extract');
9
9
  const installPrestissimo = require('./install-prestissimo');
10
+ const UnknownError = require('../../errors/unknown-error');
11
+ const KnownError = require('../../errors/known-error');
10
12
 
11
13
  /**
12
14
  * @param {import('../../../typings/context').ListrContext['config']} param0
@@ -19,7 +21,7 @@ const getComposerVersion = async ({ composer, php }) => {
19
21
  string: composerVersionOutput,
20
22
  regex: /composer.+(\d+\.\d+\.\d+)/i,
21
23
  onNoMatch: () => {
22
- throw new Error(`
24
+ throw new UnknownError(`
23
25
  No composer version found in composer version output!\n\n${composerVersionOutput}
24
26
 
25
27
  Follow steps below to resolve this issue:
@@ -56,7 +58,7 @@ const downloadComposerBinary = async ({ composer }) => {
56
58
  destination: composer.binPath
57
59
  });
58
60
  } catch (e) {
59
- throw new Error(
61
+ throw new UnknownError(
60
62
  `Unexpected issue, while installing composer.
61
63
  Please see the error log below.\n\n${e}`
62
64
  );
@@ -108,7 +110,7 @@ const installComposer = () => ({
108
110
  break;
109
111
  }
110
112
  case 'exit': {
111
- throw new Error(`Current composer version ${logger.style.misc(`v${currentComposerVersion}`)} is not compatible with version ${logger.style.misc(expectedComposerVersion)}!`);
113
+ throw new KnownError(`Current composer version ${logger.style.misc(`v${currentComposerVersion}`)} is not compatible with version ${logger.style.misc(expectedComposerVersion)}!`);
112
114
  }
113
115
  case 'continue':
114
116
  default: {
@@ -2,6 +2,8 @@ const path = require('path');
2
2
  const fs = require('fs');
3
3
  const pathExists = require('../../util/path-exists');
4
4
  const logger = require('@scandipwa/scandipwa-dev-utils/logger');
5
+ const UnknownError = require('../../errors/unknown-error');
6
+ const KnownError = require('../../errors/known-error');
5
7
 
6
8
  /**
7
9
  * @type {() => import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
@@ -16,11 +18,11 @@ const localAuthJson = () => ({
16
18
  try {
17
19
  localAuthJsonContent = JSON.parse(localAuthJson);
18
20
  } catch (e) {
19
- throw new Error(`Could not parse ./auth.json file as JSON!\n\n${e}`);
21
+ throw new UnknownError(`Could not parse ./auth.json file as JSON!\n\n${e}`);
20
22
  }
21
23
 
22
24
  if (!localAuthJsonContent || !localAuthJsonContent['http-basic'] || !localAuthJsonContent['http-basic']['repo.magento.com']) {
23
- throw new Error(`Your ./auth.json file does not contain the ${ logger.style.misc("{ 'http-basic': { 'repo.magento.com': <> } }") } field.`);
25
+ throw new KnownError(`Your ./auth.json file does not contain the ${ logger.style.misc("{ 'http-basic': { 'repo.magento.com': <> } }") } field.`);
24
26
  }
25
27
 
26
28
  process.env.COMPOSER_AUTH = localAuthJson;