@scandipwa/magento-scripts 2.0.3 → 2.0.4

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 (347) hide show
  1. package/.eslintrc +6 -1
  2. package/exec.js +75 -39
  3. package/index.js +87 -46
  4. package/lib/commands/cleanup.js +18 -21
  5. package/lib/commands/cli.js +138 -73
  6. package/lib/commands/execute.js +5 -5
  7. package/lib/commands/import-db.js +21 -24
  8. package/lib/commands/link.js +17 -20
  9. package/lib/commands/logs.js +91 -91
  10. package/lib/commands/start.js +229 -191
  11. package/lib/commands/status.js +64 -50
  12. package/lib/commands/stop.js +14 -11
  13. package/lib/config/check-configuration-file.js +33 -28
  14. package/lib/config/cma-config.js +4 -4
  15. package/lib/config/config.js +40 -18
  16. package/lib/config/dependencies-for-platforms.js +33 -3
  17. package/lib/config/docker.js +259 -157
  18. package/lib/config/get-magento-version-config.js +45 -38
  19. package/lib/config/get-port-config.js +30 -44
  20. package/lib/config/get-project-configuration.js +8 -8
  21. package/lib/config/index.js +51 -42
  22. package/lib/config/magento/required-php-extensions/index.js +33 -19
  23. package/lib/config/magento/required-php-extensions/magento-2.3.js +2 -2
  24. package/lib/config/magento/required-php-extensions/magento-2.4.js +2 -2
  25. package/lib/config/magento-config.js +4 -4
  26. package/lib/config/php-config.js +8 -6
  27. package/lib/config/port-config.js +62 -43
  28. package/lib/config/save-config.js +6 -6
  29. package/lib/config/scandipwa-versions.js +2 -2
  30. package/lib/config/services/composer/versions/composer-1.js +2 -2
  31. package/lib/config/services/composer/versions/composer-2.js +2 -2
  32. package/lib/config/services/composer/versions/index.js +1 -1
  33. package/lib/config/services/elasticsearch/base-repo.js +1 -1
  34. package/lib/config/services/elasticsearch/default-es-env.js +4 -1
  35. package/lib/config/services/elasticsearch/versions/elasticsearch-6.8.js +17 -14
  36. package/lib/config/services/elasticsearch/versions/elasticsearch-7.10.js +4 -4
  37. package/lib/config/services/elasticsearch/versions/elasticsearch-7.12.js +4 -4
  38. package/lib/config/services/elasticsearch/versions/elasticsearch-7.16.js +4 -4
  39. package/lib/config/services/elasticsearch/versions/elasticsearch-7.17.js +4 -4
  40. package/lib/config/services/elasticsearch/versions/elasticsearch-7.6.js +4 -4
  41. package/lib/config/services/elasticsearch/versions/elasticsearch-7.7.js +4 -4
  42. package/lib/config/services/elasticsearch/versions/elasticsearch-7.9.js +4 -4
  43. package/lib/config/services/elasticsearch/versions/index.js +9 -9
  44. package/lib/config/services/maildev/index.js +5 -2
  45. package/lib/config/services/mariadb/versions/index.js +1 -1
  46. package/lib/config/services/mariadb/versions/mariadb-10.2.js +3 -3
  47. package/lib/config/services/mariadb/versions/mariadb-10.3.js +3 -3
  48. package/lib/config/services/mariadb/versions/mariadb-10.4.js +3 -3
  49. package/lib/config/services/nginx/versions/index.js +1 -1
  50. package/lib/config/services/nginx/versions/nginx-1.18.js +5 -4
  51. package/lib/config/services/php/base-repo.js +1 -1
  52. package/lib/config/services/php/extensions/apcu.js +3 -3
  53. package/lib/config/services/php/extensions/bcmath.js +2 -2
  54. package/lib/config/services/php/extensions/curl.js +3 -6
  55. package/lib/config/services/php/extensions/gd.js +4 -3
  56. package/lib/config/services/php/extensions/index.js +9 -8
  57. package/lib/config/services/php/extensions/intl.js +3 -5
  58. package/lib/config/services/php/extensions/opcache.js +3 -5
  59. package/lib/config/services/php/extensions/pdo_mysql.js +2 -2
  60. package/lib/config/services/php/extensions/soap.js +3 -5
  61. package/lib/config/services/php/extensions/sodium.js +3 -5
  62. package/lib/config/services/php/extensions/xdebug.js +5 -3
  63. package/lib/config/services/php/extensions/xsl.js +3 -5
  64. package/lib/config/services/php/extensions/zip.js +3 -5
  65. package/lib/config/services/php/versions/index.js +1 -1
  66. package/lib/config/services/php/versions/php-7.2.js +13 -9
  67. package/lib/config/services/php/versions/php-7.3.js +13 -9
  68. package/lib/config/services/php/versions/php-7.4.js +13 -9
  69. package/lib/config/services/php/versions/php-8.1.js +13 -9
  70. package/lib/config/services/redis/index.js +1 -1
  71. package/lib/config/services/redis/redis-5.0.js +2 -2
  72. package/lib/config/services/redis/redis-6.0.js +2 -2
  73. package/lib/config/services/redis/redis-6.2.js +2 -2
  74. package/lib/config/services/ssl-terminator/index.js +6 -5
  75. package/lib/config/services/varnish/index.js +1 -1
  76. package/lib/config/services/varnish/varnish-6-0.js +7 -5
  77. package/lib/config/services/varnish/varnish-6-6.js +7 -5
  78. package/lib/config/services/varnish/varnish-7-0.js +7 -5
  79. package/lib/config/system-config.js +55 -32
  80. package/lib/config/templates/mariadb.template.cnf +2 -0
  81. package/lib/config/versions/index.js +48 -27
  82. package/lib/config/versions/magento-2.2.10.js +22 -15
  83. package/lib/config/versions/magento-2.3.0.js +22 -15
  84. package/lib/config/versions/magento-2.3.1.js +22 -15
  85. package/lib/config/versions/magento-2.3.2-p1.js +22 -15
  86. package/lib/config/versions/magento-2.3.2-p2.js +22 -15
  87. package/lib/config/versions/magento-2.3.2.js +22 -15
  88. package/lib/config/versions/magento-2.3.3-p1.js +22 -15
  89. package/lib/config/versions/magento-2.3.3.js +22 -15
  90. package/lib/config/versions/magento-2.3.4-p1.js +22 -15
  91. package/lib/config/versions/magento-2.3.4-p2.js +22 -15
  92. package/lib/config/versions/magento-2.3.4.js +22 -15
  93. package/lib/config/versions/magento-2.3.5-p1.js +22 -15
  94. package/lib/config/versions/magento-2.3.5-p2.js +22 -15
  95. package/lib/config/versions/magento-2.3.5.js +27 -15
  96. package/lib/config/versions/magento-2.3.6-p1.js +22 -15
  97. package/lib/config/versions/magento-2.3.6.js +22 -15
  98. package/lib/config/versions/magento-2.3.7-p1.js +22 -15
  99. package/lib/config/versions/magento-2.3.7-p2.js +22 -15
  100. package/lib/config/versions/magento-2.3.7-p3.js +22 -15
  101. package/lib/config/versions/magento-2.3.7-p4.js +22 -15
  102. package/lib/config/versions/magento-2.3.7.js +22 -15
  103. package/lib/config/versions/magento-2.4.0-p1.js +22 -15
  104. package/lib/config/versions/magento-2.4.0.js +22 -15
  105. package/lib/config/versions/magento-2.4.1-p1.js +23 -16
  106. package/lib/config/versions/magento-2.4.1.js +23 -16
  107. package/lib/config/versions/magento-2.4.2-p1.js +23 -16
  108. package/lib/config/versions/magento-2.4.2-p2.js +23 -16
  109. package/lib/config/versions/magento-2.4.2.js +23 -16
  110. package/lib/config/versions/magento-2.4.3-p1.js +23 -16
  111. package/lib/config/versions/magento-2.4.3-p2.js +23 -16
  112. package/lib/config/versions/magento-2.4.3-p3.js +23 -16
  113. package/lib/config/versions/magento-2.4.3.js +23 -16
  114. package/lib/config/versions/magento-2.4.4-p1.js +23 -16
  115. package/lib/config/versions/magento-2.4.4-p2.js +23 -16
  116. package/lib/config/versions/magento-2.4.4.js +23 -16
  117. package/lib/config/versions/magento-2.4.5-p1.js +23 -16
  118. package/lib/config/versions/magento-2.4.5.js +23 -17
  119. package/lib/config/xml-parser.js +21 -20
  120. package/lib/errors/known-error.js +8 -6
  121. package/lib/errors/unknown-error.js +8 -6
  122. package/lib/tasks/cache/create-cache-folder.js +10 -10
  123. package/lib/tasks/cache/index.js +1 -1
  124. package/lib/tasks/cache/remove-cache-folder.js +9 -9
  125. package/lib/tasks/cleanup.js +22 -24
  126. package/lib/tasks/cli/create-bashrc-config.js +19 -11
  127. package/lib/tasks/cli/index.js +10 -13
  128. package/lib/tasks/composer/index.js +20 -15
  129. package/lib/tasks/composer/local-auth-json.js +32 -18
  130. package/lib/tasks/database/connect-to-database.js +71 -51
  131. package/lib/tasks/database/create-magento-database.js +7 -7
  132. package/lib/tasks/database/create-magento-user.js +33 -20
  133. package/lib/tasks/database/default-magento-database.js +1 -1
  134. package/lib/tasks/database/default-magento-user.js +2 -2
  135. package/lib/tasks/database/dump-theme-config.js +16 -12
  136. package/lib/tasks/database/fix-db.js +62 -52
  137. package/lib/tasks/database/import-dump-to-database.js +122 -85
  138. package/lib/tasks/database/import-remote-db/index.js +16 -18
  139. package/lib/tasks/database/import-remote-db/ssh/database-dump-command.js +2 -2
  140. package/lib/tasks/database/import-remote-db/ssh/index.js +34 -35
  141. package/lib/tasks/database/import-remote-db/ssh/readymage.js +41 -38
  142. package/lib/tasks/database/import-remote-db/ssh/regular-server.js +44 -46
  143. package/lib/tasks/database/index.js +1 -1
  144. package/lib/tasks/database/magento-tables.js +3 -3
  145. package/lib/tasks/database/restore-theme-config.js +26 -19
  146. package/lib/tasks/docker/api.d.ts +1 -1
  147. package/lib/tasks/docker/api.js +31 -33
  148. package/lib/tasks/docker/containers/container-api.d.ts +49 -14
  149. package/lib/tasks/docker/containers/container-api.js +112 -83
  150. package/lib/tasks/docker/containers/index.js +3 -3
  151. package/lib/tasks/docker/containers/tasks.js +171 -99
  152. package/lib/tasks/docker/convert-composer-home-to-composer-cache-volume.js +34 -25
  153. package/lib/tasks/docker/convert-legacy-volumes.js +91 -55
  154. package/lib/tasks/docker/convert-mysql-to-mariadb.js +178 -147
  155. package/lib/tasks/docker/image/image-api.d.ts +2 -3
  156. package/lib/tasks/docker/image/image-api.js +41 -34
  157. package/lib/tasks/docker/image/index.js +2 -2
  158. package/lib/tasks/docker/index.js +26 -21
  159. package/lib/tasks/docker/network/index.js +3 -3
  160. package/lib/tasks/docker/network/network-api.d.ts +11 -8
  161. package/lib/tasks/docker/network/network-api.js +53 -61
  162. package/lib/tasks/docker/network/tasks.js +41 -31
  163. package/lib/tasks/docker/project-image-builder.js +175 -92
  164. package/lib/tasks/docker/system/index.js +2 -2
  165. package/lib/tasks/docker/system/system-api.d.ts +2 -2
  166. package/lib/tasks/docker/system/system-api.js +16 -19
  167. package/lib/tasks/docker/volume/index.js +3 -3
  168. package/lib/tasks/docker/volume/tasks.js +63 -46
  169. package/lib/tasks/docker/volume/volume-api.d.ts +8 -5
  170. package/lib/tasks/docker/volume/volume-api.js +59 -76
  171. package/lib/tasks/execute.js +91 -55
  172. package/lib/tasks/file-system/create-mariadb-config.js +18 -10
  173. package/lib/tasks/file-system/create-nginx-config.js +18 -19
  174. package/lib/tasks/file-system/create-php-config.js +12 -8
  175. package/lib/tasks/file-system/create-php-debug-config.js +23 -18
  176. package/lib/tasks/file-system/create-php-fpm-config.js +14 -9
  177. package/lib/tasks/file-system/create-phpstorm-config/database-config.js +144 -112
  178. package/lib/tasks/file-system/create-phpstorm-config/eslint-config.js +69 -45
  179. package/lib/tasks/file-system/create-phpstorm-config/exclude-folder-config.js +69 -70
  180. package/lib/tasks/file-system/create-phpstorm-config/index.js +28 -24
  181. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/coding-standard-config.js +9 -9
  182. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/config.js +23 -23
  183. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/custom-ruleset-path-config.js +22 -19
  184. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/default-properties-config.js +26 -16
  185. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/eslint-inspection-config.js +14 -15
  186. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/index.js +43 -34
  187. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/inspection-tools-config.js +14 -6
  188. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/magento-coding-standard-config.js +9 -9
  189. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/mess-detector-validation-inspection-config.js +53 -47
  190. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/paths.js +41 -12
  191. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/php-cs-fixer-validation-inspection-config.js +33 -30
  192. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/php-cs-validation-inspection-config.js +35 -38
  193. package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/stylelint-inspection-config.js +14 -15
  194. package/lib/tasks/file-system/create-phpstorm-config/keys.js +10 -10
  195. package/lib/tasks/file-system/create-phpstorm-config/php-config/index.js +33 -25
  196. package/lib/tasks/file-system/create-phpstorm-config/php-config/mess-detector-config.js +28 -25
  197. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-code-sniffer-config.js +53 -32
  198. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-config.js +7 -7
  199. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-cs-fixer-config.js +37 -27
  200. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-interpreters-config.js +53 -31
  201. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-project-shared-configuration-config.js +42 -30
  202. package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/index.js +33 -20
  203. package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/php-docker-settings-config.js +3 -3
  204. package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/setup-php-docker-container-settings-config.js +27 -16
  205. package/lib/tasks/file-system/create-phpstorm-config/setup-xml-structure.js +14 -13
  206. package/lib/tasks/file-system/create-phpstorm-config/stylelint-config.js +52 -34
  207. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/composer-settings-config.js +41 -33
  208. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/format-setting-config.js +39 -27
  209. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/index.js +34 -30
  210. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/mess-detector-project-configuration-config.js +32 -22
  211. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-code-sniffer-project-configuration-config.js +32 -22
  212. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-cs-fixer-project-configuration-config.js +32 -22
  213. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-debug-general-config.js +42 -31
  214. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-server-config.js +45 -33
  215. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-stan-project-configuration-config.js.js +32 -22
  216. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-workspace-project-configuration-config.js +22 -19
  217. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/properties-component-config.js +35 -21
  218. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/psalm-project-configuration-config.js.js +31 -22
  219. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/run-manager-config.js +38 -28
  220. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/workspace-config.js +5 -5
  221. package/lib/tasks/file-system/create-phpstorm-config/xml-utils.js +3 -2
  222. package/lib/tasks/file-system/create-ssl-terminator-config.js +46 -34
  223. package/lib/tasks/file-system/create-varnish-config.js +20 -23
  224. package/lib/tasks/file-system/create-vscode-config.js +66 -49
  225. package/lib/tasks/file-system/index.js +29 -25
  226. package/lib/tasks/import-dump.js +54 -45
  227. package/lib/tasks/link.js +24 -23
  228. package/lib/tasks/magento/enable-magento-composer-plugins.js +213 -149
  229. package/lib/tasks/magento/index.js +1 -1
  230. package/lib/tasks/magento/install-magento-project.js +158 -97
  231. package/lib/tasks/magento/remove-magento.js +30 -24
  232. package/lib/tasks/magento/setup-magento/adjust-full-page-cache.js +27 -15
  233. package/lib/tasks/magento/setup-magento/configure-elasticsearch.js +23 -10
  234. package/lib/tasks/magento/setup-magento/create-admin.js +21 -13
  235. package/lib/tasks/magento/setup-magento/delete-admin-users.js +5 -5
  236. package/lib/tasks/magento/setup-magento/delete-customers.js +16 -10
  237. package/lib/tasks/magento/setup-magento/delete-orders.js +16 -10
  238. package/lib/tasks/magento/setup-magento/disable-2fa.js +11 -8
  239. package/lib/tasks/magento/setup-magento/disable-maintenance-mode.js +7 -7
  240. package/lib/tasks/magento/setup-magento/disable-page-builder.js +5 -4
  241. package/lib/tasks/magento/setup-magento/flush-redis-config.js +14 -8
  242. package/lib/tasks/magento/setup-magento/increase-admin-session-lifetime.js +21 -17
  243. package/lib/tasks/magento/setup-magento/index-products.js +4 -6
  244. package/lib/tasks/magento/setup-magento/index.js +54 -47
  245. package/lib/tasks/magento/setup-magento/install-magento.js +112 -79
  246. package/lib/tasks/magento/setup-magento/migrate-database.js +115 -96
  247. package/lib/tasks/magento/setup-magento/set-base-url.js +35 -21
  248. package/lib/tasks/magento/setup-magento/set-deployment-mode.js +15 -13
  249. package/lib/tasks/magento/setup-magento/set-mail-config.js +20 -14
  250. package/lib/tasks/magento/setup-magento/set-url-rewrite.js +13 -9
  251. package/lib/tasks/magento/setup-magento/upgrade-magento.js +30 -22
  252. package/lib/tasks/magento/setup-magento/urn-highlighter.js +11 -11
  253. package/lib/tasks/magento/setup-magento/varnish-config.js +42 -32
  254. package/lib/tasks/magento/setup-magento/waiting-for-redis.js +6 -8
  255. package/lib/tasks/magento/setup-magento/waiting-for-varnish.js +108 -65
  256. package/lib/tasks/magento/uninstall-magento.js +19 -16
  257. package/lib/tasks/php/php-container.d.ts +19 -0
  258. package/lib/tasks/php/php-container.js +50 -46
  259. package/lib/tasks/php/update-env-php.js +50 -30
  260. package/lib/tasks/project-config/index.js +12 -8
  261. package/lib/tasks/requirements/composer-credentials.js +215 -112
  262. package/lib/tasks/requirements/docker/context.js +49 -37
  263. package/lib/tasks/requirements/docker/index.js +123 -89
  264. package/lib/tasks/requirements/docker/install-on-mac.js +21 -14
  265. package/lib/tasks/requirements/docker/install.js +63 -52
  266. package/lib/tasks/requirements/docker/performance.js +40 -24
  267. package/lib/tasks/requirements/docker/permissions.js +27 -17
  268. package/lib/tasks/requirements/docker/running-status.js +79 -66
  269. package/lib/tasks/requirements/docker/version.js +14 -11
  270. package/lib/tasks/requirements/index.js +33 -29
  271. package/lib/tasks/requirements/node-version.js +8 -8
  272. package/lib/tasks/requirements/php-version.js +14 -11
  273. package/lib/tasks/requirements/platform.js +42 -26
  274. package/lib/tasks/requirements/rosetta.js +15 -12
  275. package/lib/tasks/start.js +172 -148
  276. package/lib/tasks/status/index.js +155 -88
  277. package/lib/tasks/stop.js +22 -18
  278. package/lib/tasks/theme/build-theme.js +50 -33
  279. package/lib/tasks/theme/install-theme.js +31 -18
  280. package/lib/tasks/theme/link-theme.js +27 -21
  281. package/lib/tasks/theme/retrieve-theme-data.js +24 -18
  282. package/lib/tasks/theme/setup-themes.js +87 -59
  283. package/lib/tasks/theme/symlink-theme.js +44 -22
  284. package/lib/util/CSA-theme.js +23 -21
  285. package/lib/util/analytics.js +130 -75
  286. package/lib/util/arch.js +22 -18
  287. package/lib/util/clean-object.js +15 -10
  288. package/lib/util/config-file-validator.js +63 -54
  289. package/lib/util/config-php-json.js +34 -16
  290. package/lib/util/connection-string.js +41 -27
  291. package/lib/util/console-block.js +112 -65
  292. package/lib/util/database.js +56 -33
  293. package/lib/util/deepmerge.d.ts +1 -1
  294. package/lib/util/deepmerge.js +19 -28
  295. package/lib/util/dockerfile-builder/build-instructions.js +159 -143
  296. package/lib/util/dockerfile-builder/index.js +47 -73
  297. package/lib/util/dockerfile-builder/types.d.ts +2 -1
  298. package/lib/util/download-file.js +28 -16
  299. package/lib/util/env-php-json.js +42 -16
  300. package/lib/util/exec-async-command.d.ts +9 -9
  301. package/lib/util/exec-async-command.js +82 -59
  302. package/lib/util/exec-async.d.ts +2 -0
  303. package/lib/util/exec-async.js +12 -5
  304. package/lib/util/execute-in-container.js +22 -27
  305. package/lib/util/execute-sudo-command.js +11 -15
  306. package/lib/util/get-brew-bin-path.js +27 -23
  307. package/lib/util/get-installed-magento-version.js +22 -16
  308. package/lib/util/get-jsonfile-data.js +14 -9
  309. package/lib/util/install-dependencies-task.js +53 -41
  310. package/lib/util/instance-metadata.js +44 -29
  311. package/lib/util/ip.js +16 -12
  312. package/lib/util/is-running-root.js +6 -3
  313. package/lib/util/is-wsl.js +10 -10
  314. package/lib/util/macos-version.js +12 -11
  315. package/lib/util/magento-task.js +14 -9
  316. package/lib/util/match-filesystem.js +22 -16
  317. package/lib/util/move-file.js +40 -25
  318. package/lib/util/nginx-logs-parser.js +50 -39
  319. package/lib/util/open-browser.js +8 -5
  320. package/lib/util/os-platform.js +40 -32
  321. package/lib/util/path-exists-sync.js +10 -6
  322. package/lib/util/path-exists.js +6 -6
  323. package/lib/util/php-task.js +11 -10
  324. package/lib/util/portscanner.js +97 -85
  325. package/lib/util/prefix.js +31 -22
  326. package/lib/util/resolve-configuration-with-overrides.js +30 -15
  327. package/lib/util/rmdir-safe.js +15 -11
  328. package/lib/util/run-composer.js +16 -16
  329. package/lib/util/run-container-image.js +9 -4
  330. package/lib/util/run-magento.js +16 -17
  331. package/lib/util/run-php.js +16 -21
  332. package/lib/util/safe-regex-extract.js +8 -12
  333. package/lib/util/set-config.js +24 -15
  334. package/lib/util/sleep.js +7 -2
  335. package/lib/util/systemctl.js +62 -44
  336. package/lib/util/wait-for-it.js +42 -33
  337. package/lib/util/wait-for-logs.js +42 -35
  338. package/lib/util/xdg-open-exists.js +19 -19
  339. package/package.json +7 -3
  340. package/tsconfig.json +24 -0
  341. package/typings/context.d.ts +76 -34
  342. package/typings/index.d.ts +44 -19
  343. package/typings/override.d.ts +14 -0
  344. package/typings/phpstorm.d.ts +19 -19
  345. package/.prettierrc +0 -3
  346. package/lib/util/get-php-for-phpbrew.js +0 -30
  347. package/lib/util/request.js +0 -0
@@ -1,5 +1,6 @@
1
- const formatPathForPHPStormConfig = (p) => p.replace(process.cwd(), '$PROJECT_DIR$');
1
+ const formatPathForPHPStormConfig = (p) =>
2
+ p.replace(process.cwd(), '$PROJECT_DIR$')
2
3
 
3
4
  module.exports = {
4
5
  formatPathForPHPStormConfig
5
- };
6
+ }
@@ -1,46 +1,49 @@
1
- const path = require('path');
2
- const fs = require('fs');
3
- const setConfigFile = require('../../util/set-config');
4
- const pathExists = require('../../util/path-exists');
5
- const { isIpAddress } = require('../../util/ip');
6
- const KnownError = require('../../errors/known-error');
7
- const UnknownError = require('../../errors/unknown-error');
1
+ const path = require('path')
2
+ const fs = require('fs')
3
+ const setConfigFile = require('../../util/set-config')
4
+ const pathExists = require('../../util/path-exists')
5
+ const { isIpAddress } = require('../../util/ip')
6
+ const KnownError = require('../../errors/known-error')
7
+ const UnknownError = require('../../errors/unknown-error')
8
8
 
9
9
  /**
10
- * @type {() => import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
10
+ * @returns {import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
11
11
  */
12
12
  const createSSLTerminatorConfig = () => ({
13
13
  title: 'Setting ssl terminator config',
14
14
  task: async (ctx) => {
15
15
  const {
16
16
  ports,
17
- config: {
18
- overridenConfiguration,
19
- baseConfig
20
- },
17
+ config: { overridenConfiguration, baseConfig },
21
18
  debug,
22
19
  isDockerDesktop
23
- } = ctx;
20
+ } = ctx
24
21
 
25
22
  const {
26
- configuration: {
27
- sslTerminator
28
- },
23
+ configuration: { sslTerminator },
29
24
  ssl,
30
25
  host
31
- } = overridenConfiguration;
26
+ } = overridenConfiguration
32
27
 
33
28
  if (ssl.enabled) {
34
29
  if (!(await pathExists(ssl.ssl_certificate))) {
35
- throw new KnownError('ssl.ssl_certificate file does not exist!');
30
+ throw new KnownError('ssl.ssl_certificate file does not exist!')
36
31
  }
37
32
  if (!(await pathExists(ssl.ssl_certificate_key))) {
38
- throw new KnownError('ssl.ssl_certificate_key file does not exist!');
33
+ throw new KnownError(
34
+ 'ssl.ssl_certificate_key file does not exist!'
35
+ )
39
36
  }
40
37
 
41
- const sslTerminatorCacheDir = path.join(baseConfig.cacheDir, 'ssl-terminator', 'conf.d');
42
- if (!await pathExists(sslTerminatorCacheDir)) {
43
- await fs.promises.mkdir(sslTerminatorCacheDir, { recursive: true });
38
+ const sslTerminatorCacheDir = path.join(
39
+ baseConfig.cacheDir,
40
+ 'ssl-terminator',
41
+ 'conf.d'
42
+ )
43
+ if (!(await pathExists(sslTerminatorCacheDir))) {
44
+ await fs.promises.mkdir(sslTerminatorCacheDir, {
45
+ recursive: true
46
+ })
44
47
  }
45
48
 
46
49
  await fs.promises.copyFile(
@@ -51,7 +54,7 @@ const createSSLTerminatorConfig = () => ({
51
54
  'conf.d',
52
55
  'ssl_certificate.pem'
53
56
  )
54
- );
57
+ )
55
58
  await fs.promises.copyFile(
56
59
  ssl.ssl_certificate_key,
57
60
  path.join(
@@ -60,12 +63,14 @@ const createSSLTerminatorConfig = () => ({
60
63
  'conf.d',
61
64
  'ssl_certificate-key.pem'
62
65
  )
63
- );
66
+ )
64
67
  }
65
68
 
66
- const networkToBindTo = isIpAddress(host) ? host : '127.0.0.1';
67
- const hostMachine = !isDockerDesktop ? '127.0.0.1' : 'host.docker.internal';
68
- const hostPort = !isDockerDesktop ? ports.sslTerminator : 80;
69
+ const networkToBindTo = isIpAddress(host) ? host : '127.0.0.1'
70
+ const hostMachine = !isDockerDesktop
71
+ ? '127.0.0.1'
72
+ : 'host.docker.internal'
73
+ const hostPort = !isDockerDesktop ? ports.sslTerminator : 80
69
74
 
70
75
  try {
71
76
  await setConfigFile({
@@ -85,9 +90,11 @@ const createSSLTerminatorConfig = () => ({
85
90
  networkToBindTo,
86
91
  debug
87
92
  }
88
- });
93
+ })
89
94
  } catch (e) {
90
- throw new UnknownError(`Unexpected error appeared during ssl terminator config creation\n\n${e}`);
95
+ throw new UnknownError(
96
+ `Unexpected error appeared during ssl terminator config creation\n\n${e}`
97
+ )
91
98
  }
92
99
 
93
100
  // fixes ngrok error "ngrok.io redirected you too many times"
@@ -98,16 +105,21 @@ const createSSLTerminatorConfig = () => ({
98
105
  'ssl-terminator',
99
106
  'fastcgi_params'
100
107
  ),
101
- template: path.join(baseConfig.templateDir, 'nginx.fastcgi_params.template'),
108
+ template: path.join(
109
+ baseConfig.templateDir,
110
+ 'nginx.fastcgi_params.template'
111
+ ),
102
112
  overwrite: true,
103
113
  templateArgs: {
104
114
  isNgrok: host.endsWith('ngrok.io')
105
115
  }
106
- });
116
+ })
107
117
  } catch (e) {
108
- throw new UnknownError(`Unexpected error appeared during ssl terminator fastcgi_params config creation\n\n${e}`);
118
+ throw new UnknownError(
119
+ `Unexpected error appeared during ssl terminator fastcgi_params config creation\n\n${e}`
120
+ )
109
121
  }
110
122
  }
111
- });
123
+ })
112
124
 
113
- module.exports = createSSLTerminatorConfig;
125
+ module.exports = createSSLTerminatorConfig
@@ -1,50 +1,47 @@
1
- const path = require('path');
2
- const UnknownError = require('../../errors/unknown-error');
3
- const setConfigFile = require('../../util/set-config');
1
+ const path = require('path')
2
+ const UnknownError = require('../../errors/unknown-error')
3
+ const setConfigFile = require('../../util/set-config')
4
4
 
5
5
  /**
6
- * @type {() => import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
6
+ * @returns {import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
7
7
  */
8
8
  const createVarnishConfig = () => ({
9
9
  title: 'Setting Varnish config',
10
- skip: (ctx) => !ctx.config.overridenConfiguration.configuration.varnish.enabled,
10
+ skip: (ctx) =>
11
+ !ctx.config.overridenConfiguration.configuration.varnish.enabled,
11
12
  task: async (ctx) => {
12
13
  const {
13
14
  ports,
14
15
  config: {
15
16
  overridenConfiguration,
16
- baseConfig: {
17
- cacheDir
18
- }
17
+ baseConfig: { cacheDir }
19
18
  },
20
19
  isDockerDesktop
21
- } = ctx;
20
+ } = ctx
22
21
 
23
22
  const {
24
- configuration: {
25
- varnish
26
- }
27
- } = overridenConfiguration;
23
+ configuration: { varnish }
24
+ } = overridenConfiguration
28
25
 
29
26
  try {
30
27
  await setConfigFile({
31
- configPathname: path.join(
32
- cacheDir,
33
- 'varnish',
34
- 'default.vcl'
35
- ),
28
+ configPathname: path.join(cacheDir, 'varnish', 'default.vcl'),
36
29
  template: varnish.configTemplate,
37
30
  overwrite: true,
38
31
  templateArgs: {
39
- hostMachine: !isDockerDesktop ? '127.0.0.1' : 'host.docker.internal',
32
+ hostMachine: !isDockerDesktop
33
+ ? '127.0.0.1'
34
+ : 'host.docker.internal',
40
35
  nginxPort: ports.app,
41
36
  healthCheck: varnish.healthCheck
42
37
  }
43
- });
38
+ })
44
39
  } catch (e) {
45
- throw new UnknownError(`Unexpected error accrued during varnish config creation\n\n${e}`);
40
+ throw new UnknownError(
41
+ `Unexpected error accrued during varnish config creation\n\n${e}`
42
+ )
46
43
  }
47
44
  }
48
- });
45
+ })
49
46
 
50
- module.exports = createVarnishConfig;
47
+ module.exports = createVarnishConfig
@@ -1,15 +1,19 @@
1
- const path = require('path');
2
- const fs = require('fs');
3
- const hjson = require('hjson');
4
- const pathExists = require('../../util/path-exists');
5
- const setConfigFile = require('../../util/set-config');
6
- const UnknownError = require('../../errors/unknown-error');
1
+ const path = require('path')
2
+ const fs = require('fs')
3
+ const hjson = require('hjson')
4
+ const pathExists = require('../../util/path-exists')
5
+ const setConfigFile = require('../../util/set-config')
6
+ const UnknownError = require('../../errors/unknown-error')
7
7
 
8
- const listenForXDebugConfigName = 'Listen for XDebug';
8
+ const listenForXDebugConfigName = 'Listen for XDebug'
9
9
 
10
- const xdebugPort = 9003;
10
+ const xdebugPort = 9003
11
11
 
12
- const vscodeLaunchConfigPath = path.join(process.cwd(), '.vscode', 'launch.json');
12
+ const vscodeLaunchConfigPath = path.join(
13
+ process.cwd(),
14
+ '.vscode',
15
+ 'launch.json'
16
+ )
13
17
 
14
18
  /**
15
19
  * @param {import('../../../typings/context').ListrContext} ctx
@@ -17,9 +21,9 @@ const vscodeLaunchConfigPath = path.join(process.cwd(), '.vscode', 'launch.json'
17
21
  const addPHPDebugConfig = (vscodeLaunchConfig, ctx) => {
18
22
  const phpXDebugConfig = vscodeLaunchConfig.configurations.find(
19
23
  ({ name }) => name === listenForXDebugConfigName
20
- );
24
+ )
21
25
 
22
- let hasChanges = false;
26
+ let hasChanges = false
23
27
 
24
28
  const newConfiguration = {
25
29
  name: listenForXDebugConfigName,
@@ -30,61 +34,68 @@ const addPHPDebugConfig = (vscodeLaunchConfig, ctx) => {
30
34
  // eslint-disable-next-line no-template-curly-in-string
31
35
  [ctx.config.baseConfig.containerMagentoDir]: '${workspaceFolder}'
32
36
  }
33
-
34
- };
37
+ }
35
38
 
36
39
  if (phpXDebugConfig && phpXDebugConfig.runtimeExecutable) {
37
- vscodeLaunchConfig.configurations = vscodeLaunchConfig.configurations.filter(
38
- ({ name }) => name !== listenForXDebugConfigName
39
- );
40
+ vscodeLaunchConfig.configurations =
41
+ vscodeLaunchConfig.configurations.filter(
42
+ ({ name }) => name !== listenForXDebugConfigName
43
+ )
40
44
 
41
- vscodeLaunchConfig.configurations.push(newConfiguration);
45
+ vscodeLaunchConfig.configurations.push(newConfiguration)
42
46
 
43
- return true;
47
+ return true
44
48
  }
45
49
  if (!phpXDebugConfig) {
46
- vscodeLaunchConfig.configurations.push(newConfiguration);
50
+ vscodeLaunchConfig.configurations.push(newConfiguration)
47
51
 
48
- return true;
52
+ return true
49
53
  }
50
54
 
51
- if (
52
- !phpXDebugConfig.port
53
- || phpXDebugConfig.port !== xdebugPort) {
54
- phpXDebugConfig.port = xdebugPort;
55
+ if (!phpXDebugConfig.port || phpXDebugConfig.port !== xdebugPort) {
56
+ phpXDebugConfig.port = xdebugPort
55
57
 
56
- hasChanges = true;
58
+ hasChanges = true
57
59
  }
58
60
 
59
- if (!phpXDebugConfig.pathMappings || !phpXDebugConfig.pathMappings[ctx.config.baseConfig.containerMagentoDir]) {
61
+ if (
62
+ !phpXDebugConfig.pathMappings ||
63
+ !phpXDebugConfig.pathMappings[ctx.config.baseConfig.containerMagentoDir]
64
+ ) {
60
65
  phpXDebugConfig.pathMappings = {
61
66
  // eslint-disable-next-line no-template-curly-in-string
62
67
  [ctx.config.baseConfig.containerMagentoDir]: '${workspaceFolder}'
63
- };
68
+ }
64
69
 
65
- hasChanges = true;
70
+ hasChanges = true
66
71
  }
67
72
 
68
- return hasChanges;
69
- };
73
+ return hasChanges
74
+ }
70
75
 
71
76
  /**
72
- * @type {() => import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
77
+ * @returns {import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
73
78
  */
74
79
  const createVSCodeConfig = () => ({
75
80
  title: 'Setting VSCode config',
76
81
  task: async (ctx, task) => {
77
82
  if (await pathExists(vscodeLaunchConfigPath)) {
78
- const vscodeLaunchConfig = hjson.parse(await fs.promises.readFile(vscodeLaunchConfigPath, 'utf-8'), {
79
- keepWsc: true
80
- });
83
+ const vscodeLaunchConfig = hjson.parse(
84
+ await fs.promises.readFile(vscodeLaunchConfigPath, 'utf-8'),
85
+ {
86
+ keepWsc: true
87
+ }
88
+ )
81
89
 
82
- const vscodeConfigEdited = addPHPDebugConfig(vscodeLaunchConfig, ctx);
90
+ const vscodeConfigEdited = addPHPDebugConfig(
91
+ vscodeLaunchConfig,
92
+ ctx
93
+ )
83
94
 
84
95
  // if vscode config is up-to-date, skip task
85
96
  if (!vscodeConfigEdited) {
86
- task.skip();
87
- return;
97
+ task.skip()
98
+ return
88
99
  }
89
100
 
90
101
  const result = hjson.stringify(vscodeLaunchConfig, {
@@ -92,24 +103,28 @@ const createVSCodeConfig = () => ({
92
103
  bracesSameLine: true,
93
104
  separator: true,
94
105
  quotes: 'all'
106
+ })
95
107
 
96
- });
97
-
98
- await fs.promises.writeFile(vscodeLaunchConfigPath, result);
108
+ await fs.promises.writeFile(vscodeLaunchConfigPath, result)
99
109
 
100
- return;
110
+ return
101
111
  }
102
112
 
103
- if (!await pathExists(path.join(process.cwd(), '.vscode'))) {
113
+ if (!(await pathExists(path.join(process.cwd(), '.vscode')))) {
104
114
  try {
105
- await fs.promises.mkdir(path.join(process.cwd(), '.vscode'));
115
+ await fs.promises.mkdir(path.join(process.cwd(), '.vscode'))
106
116
  } catch (e) {
107
- throw new UnknownError(`Unable to creade .vscode directory in your project!\n\n${e}`);
117
+ throw new UnknownError(
118
+ `Unable to creade .vscode directory in your project!\n\n${e}`
119
+ )
108
120
  }
109
121
  }
110
122
 
111
123
  try {
112
- const vscodeLaunchConfigTemplatePath = path.join(ctx.config.baseConfig.templateDir, 'vscode-launch.template.json');
124
+ const vscodeLaunchConfigTemplatePath = path.join(
125
+ ctx.config.baseConfig.templateDir,
126
+ 'vscode-launch.template.json'
127
+ )
113
128
  await setConfigFile({
114
129
  template: vscodeLaunchConfigTemplatePath,
115
130
  configPathname: vscodeLaunchConfigPath,
@@ -117,12 +132,14 @@ const createVSCodeConfig = () => ({
117
132
  XDebugPort: xdebugPort,
118
133
  baseConfig: ctx.config.baseConfig
119
134
  }
120
- });
135
+ })
121
136
  } catch (e) {
122
- throw new UnknownError(`Unexpected error accrued during launch.json config creation!\n\n${e}`);
137
+ throw new UnknownError(
138
+ `Unexpected error accrued during launch.json config creation!\n\n${e}`
139
+ )
123
140
  }
124
141
  },
125
142
  exitOnError: false
126
- });
143
+ })
127
144
 
128
- module.exports = createVSCodeConfig;
145
+ module.exports = createVSCodeConfig
@@ -1,33 +1,37 @@
1
- const createMariaDBConfig = require('./create-mariadb-config');
2
- const createNginxConfig = require('./create-nginx-config');
3
- const createPhpConfig = require('./create-php-config');
4
- const createPhpDebugConfig = require('./create-php-debug-config');
5
- const createPhpFpmConfig = require('./create-php-fpm-config');
6
- const createPhpStormConfig = require('./create-phpstorm-config');
7
- const createSSLTerminatorConfig = require('./create-ssl-terminator-config');
8
- const createVarnishConfig = require('./create-varnish-config');
9
- const createVSCodeConfig = require('./create-vscode-config');
1
+ const createMariaDBConfig = require('./create-mariadb-config')
2
+ const createNginxConfig = require('./create-nginx-config')
3
+ const createPhpConfig = require('./create-php-config')
4
+ const createPhpDebugConfig = require('./create-php-debug-config')
5
+ const createPhpFpmConfig = require('./create-php-fpm-config')
6
+ const createPhpStormConfig = require('./create-phpstorm-config')
7
+ const createSSLTerminatorConfig = require('./create-ssl-terminator-config')
8
+ const createVarnishConfig = require('./create-varnish-config')
9
+ const createVSCodeConfig = require('./create-vscode-config')
10
10
 
11
11
  /**
12
- * @type {() => import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
12
+ * @returns {import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
13
13
  */
14
14
  const prepareFileSystem = () => ({
15
15
  title: 'Preparing file system',
16
- task: (ctx, task) => task.newListr([
17
- createSSLTerminatorConfig(),
18
- createNginxConfig(),
19
- createPhpFpmConfig(),
20
- createPhpConfig(),
21
- createPhpDebugConfig(),
22
- createPhpStormConfig(),
23
- createVSCodeConfig(),
24
- createVarnishConfig(),
25
- createMariaDBConfig()
26
- ], {
27
- concurrent: true
28
- })
29
- });
16
+ task: (ctx, task) =>
17
+ task.newListr(
18
+ [
19
+ createSSLTerminatorConfig(),
20
+ createNginxConfig(),
21
+ createPhpFpmConfig(),
22
+ createPhpConfig(),
23
+ createPhpDebugConfig(),
24
+ createPhpStormConfig(),
25
+ createVSCodeConfig(),
26
+ createVarnishConfig(),
27
+ createMariaDBConfig()
28
+ ],
29
+ {
30
+ concurrent: true
31
+ }
32
+ )
33
+ })
30
34
 
31
35
  module.exports = {
32
36
  prepareFileSystem
33
- };
37
+ }
@@ -1,65 +1,74 @@
1
- const path = require('path');
2
- const { checkRequirements } = require('./requirements');
1
+ const path = require('path')
2
+ const { checkRequirements } = require('./requirements')
3
3
  const {
4
4
  importDumpToDatabase,
5
5
  fixDB,
6
6
  dumpThemeConfig,
7
7
  restoreThemeConfig
8
- } = require('./database');
9
- const { setupMagento } = require('./magento');
10
- const indexProducts = require('./magento/setup-magento/index-products');
8
+ } = require('./database')
9
+ const { setupMagento } = require('./magento')
10
+ const indexProducts = require('./magento/setup-magento/index-products')
11
11
  const {
12
12
  retrieveProjectConfiguration,
13
13
  stopProject,
14
14
  retrieveFreshProjectConfiguration,
15
15
  configureProject
16
- } = require('./start');
17
- const importRemoteDb = require('./database/import-remote-db');
18
- const matchFilesystem = require('../util/match-filesystem');
16
+ } = require('./start')
17
+ const importRemoteDb = require('./database/import-remote-db')
18
+ const matchFilesystem = require('../util/match-filesystem')
19
19
 
20
20
  /**
21
- * @type {() => import('listr2').ListrTask<import('../../typings/context').ListrContext>}
21
+ * @returns {import('listr2').ListrTask<import('../../typings/context').ListrContext>}
22
22
  */
23
23
  const importDump = () => ({
24
24
  title: 'Importing Database Dump',
25
- task: (ctx, task) => task.newListr([
26
- importRemoteDb(),
27
- checkRequirements(),
28
- retrieveProjectConfiguration(),
29
- stopProject(),
30
- retrieveFreshProjectConfiguration(),
31
- configureProject(),
32
- {
33
- title: 'Installing Magento',
34
- // skip setup if env.php and config.php are present in app/etc folder and db is not empty
35
- skip: async (ctx) => {
36
- const isFsMatching = await matchFilesystem(path.join(process.cwd(), 'app', 'etc'), ['config.php', 'env.php']);
37
- const { databaseConnection } = ctx;
38
- const [[{ tableCount }]] = await databaseConnection.query(`
25
+ task: (ctx, task) =>
26
+ task.newListr(
27
+ [
28
+ importRemoteDb(),
29
+ checkRequirements(),
30
+ retrieveProjectConfiguration(),
31
+ stopProject(),
32
+ retrieveFreshProjectConfiguration(),
33
+ configureProject(),
34
+ {
35
+ title: 'Installing Magento',
36
+ // skip setup if env.php and config.php are present in app/etc folder and db is not empty
37
+ skip: async (ctx) => {
38
+ const isFsMatching = await matchFilesystem(
39
+ path.join(process.cwd(), 'app', 'etc'),
40
+ ['config.php', 'env.php']
41
+ )
42
+ const { databaseConnection } = ctx
43
+ const [[{ tableCount }]] =
44
+ await databaseConnection.query(`
39
45
  SELECT count(*) AS tableCount
40
46
  FROM INFORMATION_SCHEMA.TABLES
41
47
  WHERE TABLE_SCHEMA = 'magento';
42
- `);
48
+ `)
43
49
 
44
- return tableCount !== 0 || !isFsMatching;
45
- },
46
- task: (subCtx, subTask) => subTask.newListr(
47
- setupMagento({ onlyInstallMagento: true })
48
- )
49
- },
50
- dumpThemeConfig(),
51
- importDumpToDatabase(),
52
- restoreThemeConfig(),
53
- fixDB(),
54
- setupMagento(),
55
- indexProducts()
56
- ], {
57
- concurrent: false,
58
- exitOnError: true,
59
- rendererOptions: {
60
- collapse: false
61
- }
62
- })
63
- });
50
+ return tableCount !== 0 || !isFsMatching
51
+ },
52
+ task: (subCtx, subTask) =>
53
+ subTask.newListr(
54
+ setupMagento({ onlyInstallMagento: true })
55
+ )
56
+ },
57
+ dumpThemeConfig(),
58
+ importDumpToDatabase(),
59
+ restoreThemeConfig(),
60
+ fixDB(),
61
+ setupMagento(),
62
+ indexProducts()
63
+ ],
64
+ {
65
+ concurrent: false,
66
+ exitOnError: true,
67
+ rendererOptions: {
68
+ collapse: false
69
+ }
70
+ }
71
+ )
72
+ })
64
73
 
65
- module.exports = importDump;
74
+ module.exports = importDump
package/lib/tasks/link.js CHANGED
@@ -1,29 +1,30 @@
1
- const getMagentoVersionConfig = require('../config/get-magento-version-config');
2
- const { getCachedPorts } = require('../config/get-port-config');
3
- const getProjectConfiguration = require('../config/get-project-configuration');
4
- const retrieveThemeData = require('./theme/retrieve-theme-data');
5
- const linkTheme = require('./theme/link-theme');
6
- const { startServices } = require('./docker');
7
- const checkConfigurationFile = require('../config/check-configuration-file');
8
- const { connectToDatabase } = require('./database');
9
- const { checkRequirements } = require('./requirements');
1
+ const getMagentoVersionConfig = require('../config/get-magento-version-config')
2
+ const { getCachedPorts } = require('../config/get-port-config')
3
+ const getProjectConfiguration = require('../config/get-project-configuration')
4
+ const retrieveThemeData = require('./theme/retrieve-theme-data')
5
+ const linkTheme = require('./theme/link-theme')
6
+ const { startServices } = require('./docker')
7
+ const checkConfigurationFile = require('../config/check-configuration-file')
8
+ const { connectToDatabase } = require('./database')
9
+ const { checkRequirements } = require('./requirements')
10
10
 
11
11
  /**
12
12
  * @type {(theme: string) => import('listr2').ListrTask<import('../../typings/context').ListrContext>}
13
13
  */
14
14
  const linkTask = (themePath) => ({
15
- task: (ctx, task) => task.newListr([
16
- checkRequirements(),
17
- getMagentoVersionConfig(),
18
- checkConfigurationFile(),
19
- getProjectConfiguration(),
20
- getCachedPorts(),
21
- startServices(),
22
- // startPhpFpm(),
23
- connectToDatabase(),
24
- retrieveThemeData(themePath),
25
- linkTheme()
26
- ])
27
- });
15
+ task: (ctx, task) =>
16
+ task.newListr([
17
+ checkRequirements(),
18
+ getMagentoVersionConfig(),
19
+ checkConfigurationFile(),
20
+ getProjectConfiguration(),
21
+ getCachedPorts(),
22
+ startServices(),
23
+ // startPhpFpm(),
24
+ connectToDatabase(),
25
+ retrieveThemeData(themePath),
26
+ linkTheme()
27
+ ])
28
+ })
28
29
 
29
- module.exports = linkTask;
30
+ module.exports = linkTask