@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,73 +1,84 @@
1
- const osPlatform = require('../../../util/os-platform');
2
- const { execCommandTask } = require('../../../util/exec-async-command');
3
- const installDependenciesTask = require('../../../util/install-dependencies-task');
4
- const executeSudoCommand = require('../../../util/execute-sudo-command');
5
- const KnownError = require('../../../errors/known-error');
1
+ const osPlatform = require('../../../util/os-platform')
2
+ const { execCommandTask } = require('../../../util/exec-async-command')
3
+ const installDependenciesTask = require('../../../util/install-dependencies-task')
4
+ const executeSudoCommand = require('../../../util/execute-sudo-command')
5
+ const KnownError = require('../../../errors/known-error')
6
6
 
7
- const downloadDockerInstallScriptCommand = () => execCommandTask('curl -fsSL https://get.docker.com -o get-docker.sh');
8
- const runDockerInstallScriptCommand = () => executeSudoCommand('sudo sh get-docker.sh');
9
- const enableAndStartDockerCommand = () => executeSudoCommand('sudo systemctl enable docker --now');
7
+ const downloadDockerInstallScriptCommand = () =>
8
+ execCommandTask('curl -fsSL https://get.docker.com -o get-docker.sh')
9
+ const runDockerInstallScriptCommand = () =>
10
+ executeSudoCommand('sudo sh get-docker.sh')
11
+ const enableAndStartDockerCommand = () =>
12
+ executeSudoCommand('sudo systemctl enable docker --now')
10
13
 
11
14
  const postInstallSteps = [
12
15
  executeSudoCommand('[ $(getent group docker) ] && sudo groupadd docker', {
13
16
  withCode: true
14
17
  }),
15
18
  executeSudoCommand(`sudo usermod -aG docker ${process.env.USER}`)
16
- ];
19
+ ]
17
20
  /**
18
- * @type {() => import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
21
+ * @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
19
22
  */
20
23
  const installDockerEngine = () => ({
21
24
  title: 'Installing Docker Engine',
22
25
  task: async (ctx, task) => {
23
- const distro = await osPlatform();
26
+ const distro = await osPlatform()
24
27
  switch (distro) {
25
- case 'Arch Linux': {
26
- return task.newListr([
27
- installDependenciesTask({
28
- platform: 'Arch Linux',
29
- dependenciesToInstall: ['docker']
30
- }),
31
- enableAndStartDockerCommand(),
32
- ...postInstallSteps
33
- ]);
34
- }
35
- case 'Fedora': {
36
- return task.newListr([
37
- executeSudoCommand('sudo dnf -y install dnf-plugins-core'),
38
- executeSudoCommand('sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo'),
39
- executeSudoCommand('sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin'),
40
- enableAndStartDockerCommand(),
41
- ...postInstallSteps
42
- ]);
43
- }
44
- case 'CentOS': {
45
- return task.newListr([
46
- executeSudoCommand('sudo yum install -y yum-utils'),
47
- executeSudoCommand('sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo'),
48
- executeSudoCommand('sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin'),
49
- ...postInstallSteps
50
- ]);
51
- }
52
- case 'Ubuntu': {
53
- return task.newListr([
54
- downloadDockerInstallScriptCommand(),
55
- runDockerInstallScriptCommand(),
56
- enableAndStartDockerCommand(),
57
- ...postInstallSteps
58
- ]);
59
- }
60
- default: {
61
- throw new KnownError(`Docker is not installed!
62
- Your distro ${distro} is not supported by automatic installation.`);
63
- }
28
+ case 'Arch Linux': {
29
+ return task.newListr([
30
+ installDependenciesTask({
31
+ platform: 'Arch Linux',
32
+ dependenciesToInstall: ['docker']
33
+ }),
34
+ enableAndStartDockerCommand(),
35
+ ...postInstallSteps
36
+ ])
37
+ }
38
+ case 'Fedora': {
39
+ return task.newListr([
40
+ executeSudoCommand('sudo dnf -y install dnf-plugins-core'),
41
+ executeSudoCommand(
42
+ 'sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo'
43
+ ),
44
+ executeSudoCommand(
45
+ 'sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin'
46
+ ),
47
+ enableAndStartDockerCommand(),
48
+ ...postInstallSteps
49
+ ])
50
+ }
51
+ case 'CentOS': {
52
+ return task.newListr([
53
+ executeSudoCommand('sudo yum install -y yum-utils'),
54
+ executeSudoCommand(
55
+ 'sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo'
56
+ ),
57
+ executeSudoCommand(
58
+ 'sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin'
59
+ ),
60
+ ...postInstallSteps
61
+ ])
62
+ }
63
+ case 'Ubuntu': {
64
+ return task.newListr([
65
+ downloadDockerInstallScriptCommand(),
66
+ runDockerInstallScriptCommand(),
67
+ enableAndStartDockerCommand(),
68
+ ...postInstallSteps
69
+ ])
70
+ }
71
+ default: {
72
+ throw new KnownError(`Docker is not installed!
73
+ Your distro ${distro} is not supported by automatic installation.`)
74
+ }
64
75
  }
65
76
  },
66
77
  options: {
67
78
  bottomBar: 10
68
79
  }
69
- });
80
+ })
70
81
 
71
82
  module.exports = {
72
83
  installDockerEngine
73
- };
84
+ }
@@ -1,8 +1,8 @@
1
- const os = require('os');
2
- const path = require('path');
3
- const semver = require('semver');
4
- const getJsonfileData = require('../../../util/get-jsonfile-data');
5
- const pathExists = require('../../../util/path-exists');
1
+ const os = require('os')
2
+ const path = require('path')
3
+ const semver = require('semver')
4
+ const getJsonfileData = require('../../../util/get-jsonfile-data')
5
+ const pathExists = require('../../../util/path-exists')
6
6
 
7
7
  const dockerSettingsJsonPath = path.join(
8
8
  os.homedir(),
@@ -10,45 +10,61 @@ const dockerSettingsJsonPath = path.join(
10
10
  'Group Containers',
11
11
  'group.com.docker',
12
12
  'settings.json'
13
- );
13
+ )
14
14
 
15
15
  /**
16
- * @type {() => import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
16
+ * @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
17
17
  */
18
18
  const checkDockerPerformance = () => ({
19
19
  title: 'Checking Docker Performance',
20
- // eslint-disable-next-line no-return-await
21
- skip: async (ctx) => ctx.platform !== 'darwin' || (ctx.platform === 'darwin' && !(await pathExists(dockerSettingsJsonPath))),
20
+
21
+ skip: async (ctx) =>
22
+ ctx.platform !== 'darwin' ||
23
+ (ctx.platform === 'darwin' &&
24
+ !(await pathExists(dockerSettingsJsonPath))),
22
25
  task: async (ctx, task) => {
23
- const dockerSettings = await getJsonfileData(dockerSettingsJsonPath);
26
+ const dockerSettings = await getJsonfileData(dockerSettingsJsonPath)
24
27
 
25
28
  if (!dockerSettings) {
26
- task.skip();
27
- return;
29
+ task.skip()
30
+ return
28
31
  }
29
32
 
30
- const dockerForMacVersionMatch = ctx.dockerServerData.Platform.Name.match(/(\d+\.\d+\.\d+)/i);
33
+ const dockerForMacVersionMatch =
34
+ ctx.dockerServerData &&
35
+ ctx.dockerServerData.Platform.Name.match(/(\d+\.\d+\.\d+)/i)
31
36
 
32
- const dockerForMacVersion = dockerForMacVersionMatch && dockerForMacVersionMatch[1];
37
+ const dockerForMacVersion =
38
+ dockerForMacVersionMatch && dockerForMacVersionMatch[1]
33
39
 
34
- if (ctx.arch === 'arm64'
35
- && semver.gt('12.2.0', ctx.platformVersion)
36
- && semver.gt(dockerForMacVersion, '4.6.0')) {
40
+ if (
41
+ dockerForMacVersion &&
42
+ ctx.platformVersion &&
43
+ ctx.arch === 'arm64' &&
44
+ semver.gt('12.2.0', ctx.platformVersion) &&
45
+ semver.gt(dockerForMacVersion, '4.6.0')
46
+ ) {
37
47
  if (!dockerSettings.useVirtualizationFrameworkVirtioFS) {
38
- task.title = 'Performance is not optimal. VirtioFS is not enabled.';
48
+ task.title =
49
+ 'Performance is not optimal. VirtioFS is not enabled.'
39
50
  }
40
51
  }
41
52
 
42
- if (ctx.arch === 'x64'
43
- && semver.gt('12.3.0', ctx.platformVersion)
44
- && semver.gt(dockerForMacVersion, '4.6.0')) {
53
+ if (
54
+ dockerForMacVersion &&
55
+ ctx.platformVersion &&
56
+ ctx.arch === 'x64' &&
57
+ semver.gt('12.3.0', ctx.platformVersion) &&
58
+ semver.gt(dockerForMacVersion, '4.6.0')
59
+ ) {
45
60
  if (!dockerSettings.useVirtualizationFrameworkVirtioFS) {
46
- task.title = 'Performance is not optimal. VirtioFS is not enabled.';
61
+ task.title =
62
+ 'Performance is not optimal. VirtioFS is not enabled.'
47
63
  }
48
64
  }
49
65
  }
50
- });
66
+ })
51
67
 
52
68
  module.exports = {
53
69
  checkDockerPerformance
54
- };
70
+ }
@@ -1,49 +1,59 @@
1
- const os = require('os');
2
- const fs = require('fs');
3
- const logger = require('@scandipwa/scandipwa-dev-utils/logger');
4
- const pathExists = require('../../../util/path-exists');
5
- const executeSudoCommand = require('../../../util/execute-sudo-command');
1
+ const os = require('os')
2
+ const fs = require('fs')
3
+ const logger = require('@scandipwa/scandipwa-dev-utils/logger')
4
+ const pathExists = require('../../../util/path-exists')
5
+ const executeSudoCommand = require('../../../util/execute-sudo-command')
6
6
 
7
- const dockerSocketPath = '/var/run/docker.sock';
7
+ const dockerSocketPath = '/var/run/docker.sock'
8
8
 
9
- const fixCommand = `sudo chmod 666 ${ dockerSocketPath }`;
9
+ const fixCommand = `sudo chmod 666 ${dockerSocketPath}`
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 checkDockerSocketPermissions = () => ({
15
15
  title: 'Checking Docker permissions',
16
16
  // skip check if socket does not exist
17
- skip: async () => !await pathExists(dockerSocketPath),
17
+ skip: async () => !(await pathExists(dockerSocketPath)),
18
18
  task: async (ctx, task) => {
19
19
  try {
20
- await fs.promises.access(dockerSocketPath, fs.constants.R_OK);
20
+ await fs.promises.access(dockerSocketPath, fs.constants.R_OK)
21
21
  } catch (e) {
22
22
  // check for permission
23
23
  if (Math.abs(e.errno) === Math.abs(os.constants.errno.EACCES)) {
24
24
  const confirmPrompt = await task.prompt({
25
25
  type: 'Confirm',
26
- message: `We detected that your Docker socket, located in ${ logger.style.file(dockerSocketPath) }, have permissions set, that prevents user (${ logger.style.misc(os.userInfo().username) }) from accessing it.
26
+ message: `We detected that your Docker socket, located in ${logger.style.file(
27
+ dockerSocketPath
28
+ )}, have permissions set, that prevents user (${logger.style.misc(
29
+ os.userInfo().username
30
+ )}) from accessing it.
27
31
 
28
- We can fix it by running the following command: ${ logger.style.command(fixCommand) }
32
+ We can fix it by running the following command: ${logger.style.command(
33
+ fixCommand
34
+ )}
29
35
 
30
36
  Would you like to fix this permission issue?
31
37
 
32
38
  Otherwise installation will likely fail.`
33
- });
39
+ })
34
40
 
35
41
  if (confirmPrompt) {
36
- return task.newListr(executeSudoCommand(fixCommand));
42
+ return task.newListr(executeSudoCommand(fixCommand))
37
43
  }
38
- task.skip(`Permission issue detected in ${ logger.style.file(dockerSocketPath) } but user decided not to fix it.`);
44
+ task.skip(
45
+ `Permission issue detected in ${logger.style.file(
46
+ dockerSocketPath
47
+ )} but user decided not to fix it.`
48
+ )
39
49
  }
40
50
  }
41
51
  },
42
52
  options: {
43
53
  bottomBar: 10
44
54
  }
45
- });
55
+ })
46
56
 
47
57
  module.exports = {
48
58
  checkDockerSocketPermissions
49
- };
59
+ }
@@ -1,18 +1,21 @@
1
- const KnownError = require('../../../errors/known-error');
2
- const { execAsyncSpawn } = require('../../../util/exec-async-command');
3
- const pathExists = require('../../../util/path-exists');
4
- const sleep = require('../../../util/sleep');
5
- const { systemctlControl } = require('../../../util/systemctl');
1
+ const KnownError = require('../../../errors/known-error')
2
+ const { execAsyncSpawn } = require('../../../util/exec-async-command')
3
+ const pathExists = require('../../../util/path-exists')
4
+ const sleep = require('../../../util/sleep')
5
+ const { systemctlControl } = require('../../../util/systemctl')
6
6
 
7
- const pathToDockerApplication = '/Applications/Docker.app';
7
+ const pathToDockerApplication = '/Applications/Docker.app'
8
8
 
9
- const getDockerVersion = () => execAsyncSpawn('docker version --format {{.Server.Version}}', {
10
- withCode: true
11
- });
9
+ const getDockerVersion = () =>
10
+ execAsyncSpawn('docker version --format {{.Server.Version}}', {
11
+ withCode: true
12
+ })
12
13
 
13
14
  const getDockerEngineAndDesktopServiceStatus = async () => {
14
- const dockerEngineService = systemctlControl('docker');
15
- const dockerDesktopService = systemctlControl('docker-desktop', { user: true });
15
+ const dockerEngineService = systemctlControl('docker')
16
+ const dockerDesktopService = systemctlControl('docker-desktop', {
17
+ user: true
18
+ })
16
19
  const [
17
20
  dockerEngineServiceExists,
18
21
  dockerDesktopServiceExists,
@@ -27,7 +30,7 @@ const getDockerEngineAndDesktopServiceStatus = async () => {
27
30
  dockerDesktopService.isRunning(),
28
31
  dockerEngineService.isEnabled(),
29
32
  dockerDesktopService.isEnabled()
30
- ]);
33
+ ])
31
34
 
32
35
  return {
33
36
  engine: {
@@ -42,84 +45,94 @@ const getDockerEngineAndDesktopServiceStatus = async () => {
42
45
  isRunning: dockerDesktopServiceIsRunning,
43
46
  isEnabled: dockerDesktopServiceIsEnabled
44
47
  }
45
- };
46
- };
48
+ }
49
+ }
47
50
 
48
51
  /**
49
- * @type {() => import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
52
+ * @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
50
53
  */
51
54
  const checkDockerStatusMacOS = () => ({
52
55
  title: 'Checking Docker status on MacOS',
53
56
  task: async (ctx, task) => {
54
- const { result, code } = await getDockerVersion();
57
+ const { result, code } = await getDockerVersion()
55
58
 
56
59
  if (code !== 0) {
57
- if (result.includes('Is the docker daemon running?') || result.includes('docker: command not found')) {
60
+ if (
61
+ result.includes('Is the docker daemon running?') ||
62
+ result.includes('docker: command not found')
63
+ ) {
58
64
  const dockerOpenAppConfirmation = await task.prompt({
59
65
  type: 'Confirm',
60
- message: 'Looks like Docker is not running, would you like us to open a Docker for Mac application and wait for it to start up?'
61
- });
62
-
63
- if (dockerOpenAppConfirmation && await pathExists(pathToDockerApplication)) {
64
- await execAsyncSpawn(`open ${pathToDockerApplication}`);
65
- let ready = false;
66
- let attempts = 0;
66
+ message:
67
+ 'Looks like Docker is not running, would you like us to open a Docker for Mac application and wait for it to start up?'
68
+ })
69
+
70
+ if (
71
+ dockerOpenAppConfirmation &&
72
+ (await pathExists(pathToDockerApplication))
73
+ ) {
74
+ await execAsyncSpawn(`open ${pathToDockerApplication}`)
75
+ let ready = false
76
+ let attempts = 0
67
77
  while (!ready) {
68
78
  if (attempts > 24 && !ready) {
69
- throw new KnownError('Docker haven\'t started in 2 mins, exiting...');
79
+ throw new KnownError(
80
+ "Docker haven't started in 2 mins, exiting..."
81
+ )
70
82
  }
71
83
  try {
72
- const { code: startupCode } = await getDockerVersion();
84
+ const { code: startupCode } =
85
+ await getDockerVersion()
73
86
  if (startupCode !== 0) {
74
- task.output = `Waiting for Docker to startup for ${attempts * 5} seconds...`;
75
- attempts++;
76
- await sleep(5000);
87
+ task.output = `Waiting for Docker to startup for ${
88
+ attempts * 5
89
+ } seconds...`
90
+ attempts++
91
+ await sleep(5000)
77
92
  } else {
78
- ready = true;
93
+ ready = true
79
94
  }
80
95
  } catch (e) {
81
- //
96
+ //
82
97
  }
83
98
  }
84
99
 
85
- return;
100
+ return
86
101
  }
87
102
 
88
- task.skip('User skipped running Docker');
103
+ task.skip('User skipped running Docker')
89
104
  }
90
105
  }
91
106
  },
92
107
  options: {
93
108
  bottomBar: 10
94
109
  }
95
- });
110
+ })
96
111
 
97
112
  /**
98
- * @type {() => import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
113
+ * @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
99
114
  */
100
115
  const checkDockerStatusWSL = () => ({
101
116
  title: 'Checking Docker status on Windows WSL',
102
117
  task: async () => {
103
- const { result, code } = await getDockerVersion();
118
+ const { result, code } = await getDockerVersion()
104
119
 
105
120
  if (code !== 0 && result.includes('Is the docker daemon running?')) {
106
121
  throw new KnownError(`Docker is not running!
107
122
 
108
- Please open Docker Desktop application for Windows and make sure that Docker is running. Then you can try again!`);
123
+ Please open Docker Desktop application for Windows and make sure that Docker is running. Then you can try again!`)
109
124
  }
110
125
  }
111
- });
126
+ })
112
127
 
113
128
  /**
114
- * @type {() => import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
129
+ * @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
115
130
  */
116
131
  const checkDockerStatusLinux = () => ({
117
132
  title: 'Checking Docker status on Linux',
118
133
  task: async (ctx, task) => {
119
- const {
120
- engine,
121
- desktop
122
- } = await getDockerEngineAndDesktopServiceStatus();
134
+ const { engine, desktop } =
135
+ await getDockerEngineAndDesktopServiceStatus()
123
136
 
124
137
  if (engine.exists) {
125
138
  if (!engine.isEnabled && !engine.isRunning) {
@@ -128,28 +141,28 @@ const checkDockerStatusLinux = () => ({
128
141
  message: `Looks like Docker Engine is not enabled and not running, would you like to enable and run it?
129
142
 
130
143
  This action requires root privileges.`
131
- });
144
+ })
132
145
 
133
146
  if (dockerStartConfirmation) {
134
- await engine.service.enableAndStart();
147
+ await engine.service.enableAndStart()
135
148
 
136
- return;
149
+ return
137
150
  }
138
- task.skip('User skipped running Docker');
151
+ task.skip('User skipped running Docker')
139
152
  } else if (!engine.isRunning) {
140
153
  const dockerStartConfirmation = await task.prompt({
141
154
  type: 'Confirm',
142
155
  message: `Looks like Docker Engine is not running, would you like to run it?
143
156
 
144
157
  This action requires root privileges.`
145
- });
158
+ })
146
159
 
147
160
  if (dockerStartConfirmation) {
148
- await engine.service.start();
161
+ await engine.service.start()
149
162
 
150
- return;
163
+ return
151
164
  }
152
- task.skip('User skipped running Docker Engine');
165
+ task.skip('User skipped running Docker Engine')
153
166
  }
154
167
  } else if (desktop.exists) {
155
168
  if (!desktop.isEnabled && !desktop.isRunning) {
@@ -158,51 +171,51 @@ const checkDockerStatusLinux = () => ({
158
171
  message: `Looks like Docker Desktop is not enabled and not running, would you like to enable and run it?
159
172
 
160
173
  This action requires root privileges.`
161
- });
174
+ })
162
175
 
163
176
  if (dockerStartConfirmation) {
164
- await desktop.service.enableAndStart();
177
+ await desktop.service.enableAndStart()
165
178
 
166
- return;
179
+ return
167
180
  }
168
- task.skip('User skipped running Docker');
181
+ task.skip('User skipped running Docker')
169
182
  } else if (!desktop.isRunning) {
170
183
  const dockerStartConfirmation = await task.prompt({
171
184
  type: 'Confirm',
172
185
  message: `Looks like Docker Desktop is not running, would you like to run it?
173
186
 
174
187
  This action requires root privileges.`
175
- });
188
+ })
176
189
 
177
190
  if (dockerStartConfirmation) {
178
- await desktop.service.start();
191
+ await desktop.service.start()
179
192
 
180
- return;
193
+ return
181
194
  }
182
- task.skip('User skipped running Docker Desktop');
195
+ task.skip('User skipped running Docker Desktop')
183
196
  }
184
197
  }
185
198
  }
186
- });
199
+ })
187
200
 
188
201
  /**
189
- * @type {() => import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
202
+ * @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
190
203
  */
191
204
  const checkDockerStatus = () => ({
192
205
  title: 'Checking Docker status',
193
206
  task: async (ctx, task) => {
194
207
  if (ctx.platform === 'darwin') {
195
- return task.newListr(checkDockerStatusMacOS());
208
+ return task.newListr(checkDockerStatusMacOS())
196
209
  }
197
210
  if (!ctx.isWsl) {
198
- return task.newListr(checkDockerStatusLinux());
211
+ return task.newListr(checkDockerStatusLinux())
199
212
  }
200
213
 
201
- return task.newListr(checkDockerStatusWSL());
214
+ return task.newListr(checkDockerStatusWSL())
202
215
  }
203
- });
216
+ })
204
217
 
205
218
  module.exports = {
206
219
  checkDockerStatus,
207
220
  getDockerEngineAndDesktopServiceStatus
208
- };
221
+ }
@@ -1,24 +1,27 @@
1
- const UnknownError = require('../../../errors/unknown-error');
2
- const { version } = require('../../docker/api');
1
+ const UnknownError = require('../../../errors/unknown-error')
2
+ const { version } = require('../../docker/api')
3
3
 
4
4
  /**
5
- * @type {() => import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
5
+ * @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
6
6
  */
7
7
  const getDockerVersion = () => ({
8
8
  task: async (ctx) => {
9
9
  const dockerVersion = await version({
10
10
  formatToJSON: true
11
- });
11
+ })
12
12
 
13
13
  if (dockerVersion) {
14
- ctx.dockerServerData = dockerVersion.Server;
15
- ctx.dockerClientData = dockerVersion.Client;
16
- ctx.dockerVersion = dockerVersion.Server.Version;
17
- ctx.isDockerDesktop = dockerVersion.Server.Platform.Name.includes('Desktop');
14
+ ctx.dockerServerData = dockerVersion.Server
15
+ ctx.dockerClientData = dockerVersion.Client
16
+ ctx.dockerVersion = dockerVersion.Server.Version
17
+ ctx.isDockerDesktop =
18
+ dockerVersion.Server.Platform.Name.includes('Desktop')
18
19
  } else {
19
- throw new UnknownError(`Got unexpected result during Docker version retrieval!\n\n${ dockerVersion }`);
20
+ throw new UnknownError(
21
+ `Got unexpected result during Docker version retrieval!\n\n${dockerVersion}`
22
+ )
20
23
  }
21
24
  }
22
- });
25
+ })
23
26
 
24
- module.exports = getDockerVersion;
27
+ module.exports = getDockerVersion