@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,12 +1,10 @@
1
- const path = require('path');
2
- const { loadXmlFile, buildXmlFile } = require('../../../config/xml-parser');
3
- const pathExists = require('../../../util/path-exists');
4
- const {
5
- urlKey, typeKey, versionKey, nameKey
6
- } = require('./keys');
7
- const { formatPathForPHPStormConfig } = require('./xml-utils');
8
-
9
- const pathToModulesConfig = path.join(process.cwd(), '.idea', 'modules.xml');
1
+ const path = require('path')
2
+ const { loadXmlFile, buildXmlFile } = require('../../../config/xml-parser')
3
+ const pathExists = require('../../../util/path-exists')
4
+ const { urlKey, typeKey, versionKey, nameKey } = require('./keys')
5
+ const { formatPathForPHPStormConfig } = require('./xml-utils')
6
+
7
+ const pathToModulesConfig = path.join(process.cwd(), '.idea', 'modules.xml')
10
8
  const excludeFoldersPaths = [
11
9
  'bin',
12
10
  'dev',
@@ -16,12 +14,11 @@ const excludeFoldersPaths = [
16
14
  'var/log',
17
15
  'var/composer_home',
18
16
  'var/view_preprocessed'
19
- ].map((p) => `file://$MODULE_DIR$/${p}`);
17
+ ].map((p) => `file://$MODULE_DIR$/${p}`)
20
18
 
21
- const mustBeIncludedPaths = [
22
- 'pub',
23
- 'setup'
24
- ].map((p) => `file://$MODULE_DIR$/${p}`);
19
+ const mustBeIncludedPaths = ['pub', 'setup'].map(
20
+ (p) => `file://$MODULE_DIR$/${p}`
21
+ )
25
22
 
26
23
  /**
27
24
  * Will retrieve project config file path from module.xml
@@ -29,26 +26,19 @@ const mustBeIncludedPaths = [
29
26
  * @returns {Promise<String | null>}
30
27
  */
31
28
  const getProjectConfigFilePath = async () => {
32
- const modulesConfigData = await loadXmlFile(pathToModulesConfig);
33
- const {
34
- project: {
35
- component: {
36
- modules: {
37
- module
38
- } = {}
39
- } = {}
40
- } = {}
41
- } = modulesConfigData || {};
42
- const filePath = module && module['@_filepath'];
43
- return filePath ? filePath.replace('$PROJECT_DIR$', process.cwd()) : null;
44
- };
29
+ const modulesConfigData = await loadXmlFile(pathToModulesConfig)
30
+ const { project: { component: { modules: { module } = {} } = {} } = {} } =
31
+ modulesConfigData || {}
32
+ const filePath = module && module['@_filepath']
33
+ return filePath ? filePath.replace('$PROJECT_DIR$', process.cwd()) : null
34
+ }
45
35
 
46
36
  const setupDefaultsForExcludedFoldersConfig = (projectConfigData) => {
47
37
  if (!projectConfigData.module) {
48
38
  projectConfigData.module = {
49
39
  [typeKey]: 'WEB_MODULE',
50
40
  [versionKey]: '4'
51
- };
41
+ }
52
42
  }
53
43
 
54
44
  if (!projectConfigData.module.component) {
@@ -63,55 +53,64 @@ const setupDefaultsForExcludedFoldersConfig = (projectConfigData) => {
63
53
  '@_forTest': 'false'
64
54
  }
65
55
  ]
66
- };
56
+ }
67
57
  }
68
58
 
69
59
  if (!projectConfigData.module.component.content) {
70
60
  projectConfigData.module.component.content = {
71
61
  [urlKey]: 'file://$MODULE_DIR$'
72
- };
62
+ }
73
63
  }
74
64
 
75
65
  if (!projectConfigData.module.component.content.excludeFolder) {
76
- projectConfigData.module.component.content.excludeFolder = [];
66
+ projectConfigData.module.component.content.excludeFolder = []
77
67
  }
78
- };
68
+ }
79
69
 
80
70
  const setupExcludedFolders = (projectConfigData) => {
81
- const { excludeFolder } = projectConfigData.module.component.content;
82
- let hasChanges = false;
71
+ const { excludeFolder } = projectConfigData.module.component.content
72
+ let hasChanges = false
83
73
  // filter excluded folders to get ones that needs to be added to excluded folders list
84
- const missingExcludedFolders = excludeFoldersPaths
85
- .filter(
86
- (excludeFoldersPath) => !excludeFolder.some(
74
+ const missingExcludedFolders = excludeFoldersPaths.filter(
75
+ (excludeFoldersPath) =>
76
+ !excludeFolder.some(
87
77
  (config) => config[urlKey] === excludeFoldersPath
88
78
  )
89
- );
79
+ )
90
80
 
91
81
  if (missingExcludedFolders.length > 0) {
92
- hasChanges = true;
82
+ hasChanges = true
93
83
  missingExcludedFolders.forEach((missingExcludedFolder) => {
94
84
  projectConfigData.module.component.content.excludeFolder.unshift({
95
85
  [urlKey]: missingExcludedFolder
96
- });
97
- });
86
+ })
87
+ })
98
88
  }
99
89
 
100
- const hasSomePathsThatMustBeFiltered = excludeFolder.some((config) => mustBeIncludedPaths.includes(config[urlKey]));
90
+ const hasSomePathsThatMustBeFiltered = excludeFolder.some((config) =>
91
+ mustBeIncludedPaths.includes(config[urlKey])
92
+ )
101
93
 
102
94
  if (hasSomePathsThatMustBeFiltered) {
103
- projectConfigData.module.component.content.excludeFolder = excludeFolder.filter((config) => !mustBeIncludedPaths.includes(config[urlKey]));
104
- hasChanges = true;
95
+ projectConfigData.module.component.content.excludeFolder =
96
+ excludeFolder.filter(
97
+ (config) => !mustBeIncludedPaths.includes(config[urlKey])
98
+ )
99
+ hasChanges = true
105
100
  }
106
101
 
107
- return hasChanges;
108
- };
102
+ return hasChanges
103
+ }
109
104
 
110
105
  const getIMLFilePath = async () => {
111
- const filePath = path.join(process.cwd(), '.idea', `${path.parse(process.cwd()).base}.iml`);
112
- if (!await pathExists(pathToModulesConfig)) {
113
- const fileFormattedPath = formatPathForPHPStormConfig(filePath);
114
- const fileFormattedUrl = `file://${fileFormattedPath}`;
106
+ const filePath = path.join(
107
+ process.cwd(),
108
+ '.idea',
109
+ `${path.parse(process.cwd()).base}.iml`
110
+ )
111
+ if (!(await pathExists(pathToModulesConfig))) {
112
+ const fileFormattedPath = formatPathForPHPStormConfig(filePath)
113
+ const fileFormattedUrl = `file://${fileFormattedPath}`
115
114
 
116
115
  const modulesConfig = {
117
116
  '?xml': {
@@ -132,49 +131,49 @@ const getIMLFilePath = async () => {
132
131
  ]
133
132
  }
134
133
  }
135
- };
134
+ }
136
135
 
137
- await buildXmlFile(pathToModulesConfig, modulesConfig);
136
+ await buildXmlFile(pathToModulesConfig, modulesConfig)
138
137
  }
139
138
 
140
- return filePath;
141
- };
139
+ return filePath
140
+ }
142
141
 
143
142
  /**
144
- * @type {() => import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
143
+ * @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
145
144
  */
146
145
  const setupExcludedFoldersConfig = () => ({
147
146
  title: 'Set up excluded folders configuration',
148
147
  task: async (ctx, task) => {
149
148
  if (await pathExists(pathToModulesConfig)) {
150
- const projectFilePath = await getProjectConfigFilePath();
151
- if (projectFilePath && await pathExists(projectFilePath)) {
152
- const projectConfigData = await loadXmlFile(projectFilePath);
153
- setupDefaultsForExcludedFoldersConfig(projectConfigData);
154
- const hasChanges = setupExcludedFolders(projectConfigData);
149
+ const projectFilePath = await getProjectConfigFilePath()
150
+ if (projectFilePath && (await pathExists(projectFilePath))) {
151
+ const projectConfigData = await loadXmlFile(projectFilePath)
152
+ setupDefaultsForExcludedFoldersConfig(projectConfigData)
153
+ const hasChanges = setupExcludedFolders(projectConfigData)
155
154
  if (hasChanges) {
156
- await buildXmlFile(projectFilePath, projectConfigData);
155
+ await buildXmlFile(projectFilePath, projectConfigData)
157
156
  } else {
158
- task.skip();
157
+ task.skip()
159
158
  }
160
159
 
161
- return;
160
+ return
162
161
  }
163
162
  }
164
163
 
165
- const projectFilePath = await getIMLFilePath();
164
+ const projectFilePath = await getIMLFilePath()
166
165
  const projectConfigData = {
167
166
  '?xml': {
168
167
  [versionKey]: '1.0',
169
168
  '@_encoding': 'UTF-8'
170
169
  }
171
- };
170
+ }
172
171
 
173
- setupDefaultsForExcludedFoldersConfig(projectConfigData);
174
- setupExcludedFolders(projectConfigData);
172
+ setupDefaultsForExcludedFoldersConfig(projectConfigData)
173
+ setupExcludedFolders(projectConfigData)
175
174
 
176
- await buildXmlFile(projectFilePath, projectConfigData);
175
+ await buildXmlFile(projectFilePath, projectConfigData)
177
176
  }
178
- });
177
+ })
179
178
 
180
- module.exports = setupExcludedFoldersConfig;
179
+ module.exports = setupExcludedFoldersConfig
@@ -1,30 +1,34 @@
1
- const setupWorkspaceConfig = require('./workspace-config');
2
- const setupPhpConfig = require('./php-config');
3
- const setupDatabaseConfig = require('./database-config');
4
- const setupInspectionToolsConfig = require('./inspection-tools-config');
5
- const setupExcludedFoldersConfig = require('./exclude-folder-config');
6
- const setupStylelintConfig = require('./stylelint-config');
7
- const setupESLintConfig = require('./eslint-config');
8
- const setupPhpDockerSettingsConfig = require('./php-docker-settings-config');
1
+ const setupWorkspaceConfig = require('./workspace-config')
2
+ const setupPhpConfig = require('./php-config')
3
+ const setupDatabaseConfig = require('./database-config')
4
+ const setupInspectionToolsConfig = require('./inspection-tools-config')
5
+ const setupExcludedFoldersConfig = require('./exclude-folder-config')
6
+ const setupStylelintConfig = require('./stylelint-config')
7
+ const setupESLintConfig = require('./eslint-config')
8
+ const setupPhpDockerSettingsConfig = require('./php-docker-settings-config')
9
9
 
10
10
  /**
11
- * @type {() => import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
11
+ * @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
12
12
  */
13
13
  const createPhpStormConfig = () => ({
14
14
  title: 'Setting PHPStorm config',
15
- task: (ctx, task) => task.newListr([
16
- setupWorkspaceConfig(),
17
- setupPhpConfig(),
18
- setupPhpDockerSettingsConfig(),
19
- setupDatabaseConfig(),
20
- setupInspectionToolsConfig(),
21
- setupExcludedFoldersConfig(),
22
- setupStylelintConfig(),
23
- setupESLintConfig()
24
- ], {
25
- concurrent: true,
26
- exitOnError: false
27
- })
28
- });
15
+ task: (ctx, task) =>
16
+ task.newListr(
17
+ [
18
+ setupWorkspaceConfig(),
19
+ setupPhpConfig(),
20
+ setupPhpDockerSettingsConfig(),
21
+ setupDatabaseConfig(),
22
+ setupInspectionToolsConfig(),
23
+ setupExcludedFoldersConfig(),
24
+ setupStylelintConfig(),
25
+ setupESLintConfig()
26
+ ],
27
+ {
28
+ concurrent: true,
29
+ exitOnError: false
30
+ }
31
+ )
32
+ })
29
33
 
30
- module.exports = createPhpStormConfig;
34
+ module.exports = createPhpStormConfig
@@ -1,26 +1,26 @@
1
- const { nameKey, valueKey } = require('../keys');
1
+ const { nameKey, valueKey } = require('../keys')
2
2
  const {
3
3
  options: {
4
4
  CODING_STANDARD_OPTION_NAME,
5
5
  CUSTOM_CODING_STANDARD_OPTION_VALUE
6
6
  }
7
- } = require('./config');
7
+ } = require('./config')
8
8
 
9
9
  const setupCodingStandardOption = async (config) => {
10
- let hasChanges = false;
10
+ let hasChanges = false
11
11
  const codingStandardOption = config.option.find(
12
12
  (option) => option[nameKey] === CODING_STANDARD_OPTION_NAME
13
- );
13
+ )
14
14
 
15
15
  if (!codingStandardOption) {
16
- hasChanges = true;
16
+ hasChanges = true
17
17
  config.option.push({
18
18
  [nameKey]: CODING_STANDARD_OPTION_NAME,
19
19
  [valueKey]: CUSTOM_CODING_STANDARD_OPTION_VALUE
20
- });
20
+ })
21
21
  }
22
22
 
23
- return hasChanges;
24
- };
23
+ return hasChanges
24
+ }
25
25
 
26
- module.exports = setupCodingStandardOption;
26
+ module.exports = setupCodingStandardOption
@@ -1,28 +1,28 @@
1
1
  // inspection tool classes
2
- const PHP_CS_FIXER_VALIDATION_INSPECTION = 'PhpCSFixerValidationInspection';
3
- const PHP_CS_VALIDATION_INSPECTION = 'PhpCSValidationInspection';
4
- const STYLELINT_INSPECTION = 'Stylelint';
5
- const ESLINT_INSPECTION = 'Eslint';
6
- const MESS_DETECTOR_VALIDATION_INSPECTION = 'MessDetectorValidationInspection';
2
+ const PHP_CS_FIXER_VALIDATION_INSPECTION = 'PhpCSFixerValidationInspection'
3
+ const PHP_CS_VALIDATION_INSPECTION = 'PhpCSValidationInspection'
4
+ const STYLELINT_INSPECTION = 'Stylelint'
5
+ const ESLINT_INSPECTION = 'Eslint'
6
+ const MESS_DETECTOR_VALIDATION_INSPECTION = 'MessDetectorValidationInspection'
7
7
 
8
8
  // options
9
- const CODING_STANDARD_OPTION_NAME = 'CODING_STANDARD';
10
- const CUSTOM_CODING_STANDARD_OPTION_VALUE = 'Custom';
11
- const CUSTOM_RULE_SET_PATH_OPTION_NAME = 'CUSTOM_RULESET_PATH';
12
- const MAGENTO2_CODING_STANDARD_OPTION_VALUE = 'Magento2';
13
- const EXTENSIONS_OPTION_NAME = 'EXTENSIONS';
14
- const WARNING_HIGHLIGHT_LEVEL_NAME_OPTION_NAME = 'WARNING_HIGHLIGHT_LEVEL_NAME';
15
- const WARNING_HIGHLIGHT_LEVEL_NAME_OPTION_VALUE = 'ERROR';
16
- const SHOW_SNIFF_NAMES_OPTION_NAME = 'SHOW_SNIFF_NAMES';
17
- const USE_INSTALLED_PATHS_OPTION_NAME = 'USE_INSTALLED_PATHS';
18
- const INSTALLED_PATHS_OPTION_NAME = 'INSTALLED_PATHS';
19
- const CODESIZE_OPTION_NAME = 'CODESIZE';
20
- const CONTROVERSIAL_OPTION_NAME = 'CONTROVERSIAL';
21
- const DESIGN_OPTION_NAME = 'DESIGN';
22
- const UNUSED_CODE_OPTION_NAME = 'UNUSEDCODE';
23
- const NAMING_OPTION_NAME = 'NAMING';
24
- const CUSTOM_RULESETS_OPTION_NAME = 'customRulesets';
25
- const PHP_MD_RULESET_OPTION_VALUE = 'Magento PHPMD rule set';
9
+ const CODING_STANDARD_OPTION_NAME = 'CODING_STANDARD'
10
+ const CUSTOM_CODING_STANDARD_OPTION_VALUE = 'Custom'
11
+ const CUSTOM_RULE_SET_PATH_OPTION_NAME = 'CUSTOM_RULESET_PATH'
12
+ const MAGENTO2_CODING_STANDARD_OPTION_VALUE = 'Magento2'
13
+ const EXTENSIONS_OPTION_NAME = 'EXTENSIONS'
14
+ const WARNING_HIGHLIGHT_LEVEL_NAME_OPTION_NAME = 'WARNING_HIGHLIGHT_LEVEL_NAME'
15
+ const WARNING_HIGHLIGHT_LEVEL_NAME_OPTION_VALUE = 'ERROR'
16
+ const SHOW_SNIFF_NAMES_OPTION_NAME = 'SHOW_SNIFF_NAMES'
17
+ const USE_INSTALLED_PATHS_OPTION_NAME = 'USE_INSTALLED_PATHS'
18
+ const INSTALLED_PATHS_OPTION_NAME = 'INSTALLED_PATHS'
19
+ const CODESIZE_OPTION_NAME = 'CODESIZE'
20
+ const CONTROVERSIAL_OPTION_NAME = 'CONTROVERSIAL'
21
+ const DESIGN_OPTION_NAME = 'DESIGN'
22
+ const UNUSED_CODE_OPTION_NAME = 'UNUSEDCODE'
23
+ const NAMING_OPTION_NAME = 'NAMING'
24
+ const CUSTOM_RULESETS_OPTION_NAME = 'customRulesets'
25
+ const PHP_MD_RULESET_OPTION_VALUE = 'Magento PHPMD rule set'
26
26
 
27
27
  module.exports = {
28
28
  options: {
@@ -51,4 +51,4 @@ module.exports = {
51
51
  ESLINT_INSPECTION,
52
52
  MESS_DETECTOR_VALIDATION_INSPECTION
53
53
  }
54
- };
54
+ }
@@ -1,39 +1,42 @@
1
- const pathExists = require('../../../../util/path-exists');
1
+ const pathExists = require('../../../../util/path-exists')
2
2
  const {
3
- phpCSConfigurationPath, phpCSConfigFormattedPath, phpCSFixerConfigurationPath, phpCSFixerConfigurationFormattedPath
4
- } = require('./paths');
5
- const { nameKey, valueKey } = require('../keys');
3
+ phpCSConfigurationPath,
4
+ phpCSConfigFormattedPath,
5
+ phpCSFixerConfigurationPath,
6
+ phpCSFixerConfigurationFormattedPath
7
+ } = require('./paths')
8
+ const { nameKey, valueKey } = require('../keys')
6
9
  const {
7
- options: {
8
- CUSTOM_RULE_SET_PATH_OPTION_NAME
9
- }
10
- } = require('./config');
10
+ options: { CUSTOM_RULE_SET_PATH_OPTION_NAME }
11
+ } = require('./config')
11
12
 
12
13
  const setupCustomRuleSetPathOption = async (config) => {
13
- let hasChanges = false;
14
+ let hasChanges = false
14
15
  const customRuleSetPathOption = config.option.find(
15
16
  (option) => option[nameKey] === CUSTOM_RULE_SET_PATH_OPTION_NAME
16
- );
17
- const phpCSConfigExists = await pathExists(phpCSConfigurationPath);
18
- const phpCSFixerConfigPathExists = await pathExists(phpCSFixerConfigurationPath);
17
+ )
18
+ const phpCSConfigExists = await pathExists(phpCSConfigurationPath)
19
+ const phpCSFixerConfigPathExists = await pathExists(
20
+ phpCSFixerConfigurationPath
21
+ )
19
22
 
20
23
  if (!customRuleSetPathOption) {
21
24
  if (phpCSConfigExists) {
22
- hasChanges = true;
25
+ hasChanges = true
23
26
  config.option.push({
24
27
  [nameKey]: CUSTOM_RULE_SET_PATH_OPTION_NAME,
25
28
  [valueKey]: phpCSConfigFormattedPath
26
- });
29
+ })
27
30
  } else if (phpCSFixerConfigPathExists) {
28
- hasChanges = true;
31
+ hasChanges = true
29
32
  config.option.push({
30
33
  [nameKey]: CUSTOM_RULE_SET_PATH_OPTION_NAME,
31
34
  [valueKey]: phpCSFixerConfigurationFormattedPath
32
- });
35
+ })
33
36
  }
34
37
  }
35
38
 
36
- return hasChanges;
37
- };
39
+ return hasChanges
40
+ }
38
41
 
39
- module.exports = setupCustomRuleSetPathOption;
42
+ module.exports = setupCustomRuleSetPathOption
@@ -1,12 +1,18 @@
1
- /* eslint-disable no-param-reassign */
1
+ /**
2
+ * @type {{
3
+ * enabled: 'true' | 'false',
4
+ * enabled_by_default: 'true' | 'false',
5
+ * level: 'ERROR' | 'WEAK WARNING'
6
+ * }}
7
+ */
2
8
  const properties = {
3
9
  enabled: 'true',
4
10
  enabled_by_default: 'true',
5
11
  level: 'ERROR'
6
- };
12
+ }
7
13
 
8
14
  /**
9
- * @param {Object} inspectionTool
15
+ * @param {Record<string, unknown>} inspectionTool
10
16
  * @param {{
11
17
  * enabled: 'true' | 'false',
12
18
  * enabled_by_default: 'true' | 'false',
@@ -14,29 +20,33 @@ const properties = {
14
20
  * }} defaultProperties
15
21
  * @returns {Boolean}
16
22
  */
17
- const setupDefaultProperties = (inspectionTool, defaultProperties = properties) => {
18
- let hasChanges = false;
23
+ const setupDefaultProperties = (
24
+ inspectionTool,
25
+ defaultProperties = properties
26
+ ) => {
27
+ let hasChanges = false
19
28
  if (inspectionTool['@_enabled'] === undefined) {
20
- hasChanges = true;
21
- inspectionTool['@_enabled'] = defaultProperties.enabled;
29
+ hasChanges = true
30
+ inspectionTool['@_enabled'] = defaultProperties.enabled
22
31
  }
23
32
 
24
33
  if (inspectionTool['@_enabled_by_default'] === undefined) {
25
- hasChanges = true;
26
- inspectionTool['@_enabled_by_default'] = defaultProperties.enabled_by_default;
34
+ hasChanges = true
35
+ inspectionTool['@_enabled_by_default'] =
36
+ defaultProperties.enabled_by_default
27
37
  }
28
38
 
29
39
  if (inspectionTool['@_level'] === undefined) {
30
- hasChanges = true;
31
- inspectionTool['@_level'] = defaultProperties.level;
40
+ hasChanges = true
41
+ inspectionTool['@_level'] = defaultProperties.level
32
42
  }
33
43
 
34
44
  if (inspectionTool.option && !Array.isArray(inspectionTool.option)) {
35
- hasChanges = true;
36
- inspectionTool.option = [inspectionTool.option];
45
+ hasChanges = true
46
+ inspectionTool.option = [inspectionTool.option]
37
47
  }
38
48
 
39
- return hasChanges;
40
- };
49
+ return hasChanges
50
+ }
41
51
 
42
- module.exports = setupDefaultProperties;
52
+ module.exports = setupDefaultProperties
@@ -1,10 +1,8 @@
1
1
  const {
2
- classes: {
3
- ESLINT_INSPECTION
4
- }
5
- } = require('./config');
6
- const { classKey } = require('../keys');
7
- const setupDefaultProperties = require('./default-properties-config');
2
+ classes: { ESLINT_INSPECTION }
3
+ } = require('./config')
4
+ const { classKey } = require('../keys')
5
+ const setupDefaultProperties = require('./default-properties-config')
8
6
 
9
7
  /**
10
8
  * Set up Styelint configuration
@@ -14,24 +12,25 @@ const setupDefaultProperties = require('./default-properties-config');
14
12
  * @returns {Promise<Boolean>}
15
13
  */
16
14
  const setupESLintInspection = async (inspectionToolsData) => {
17
- let hasChanges = false;
15
+ let hasChanges = false
18
16
  const eslintConfig = inspectionToolsData.find(
19
- (inspectionToolData) => inspectionToolData[classKey] === ESLINT_INSPECTION
20
- );
17
+ (inspectionToolData) =>
18
+ inspectionToolData[classKey] === ESLINT_INSPECTION
19
+ )
21
20
 
22
21
  if (eslintConfig) {
23
- hasChanges = setupDefaultProperties(eslintConfig);
22
+ hasChanges = setupDefaultProperties(eslintConfig)
24
23
  } else {
25
- hasChanges = true;
24
+ hasChanges = true
26
25
  inspectionToolsData.push({
27
26
  [classKey]: ESLINT_INSPECTION,
28
27
  '@_enabled': 'true',
29
28
  '@_level': 'ERROR',
30
29
  '@_enabled_by_default': 'true'
31
- });
30
+ })
32
31
  }
33
32
 
34
- return hasChanges;
35
- };
33
+ return hasChanges
34
+ }
36
35
 
37
- module.exports = setupESLintInspection;
36
+ module.exports = setupESLintInspection