@scandipwa/magento-scripts 2.0.3 → 2.0.5
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.
- package/.eslintrc +6 -1
- package/exec.js +75 -39
- package/index.js +87 -46
- package/lib/commands/cleanup.js +18 -21
- package/lib/commands/cli.js +138 -73
- package/lib/commands/execute.js +5 -5
- package/lib/commands/import-db.js +21 -24
- package/lib/commands/link.js +17 -20
- package/lib/commands/logs.js +91 -91
- package/lib/commands/start.js +229 -191
- package/lib/commands/status.js +64 -50
- package/lib/commands/stop.js +14 -11
- package/lib/config/check-configuration-file.js +33 -28
- package/lib/config/cma-config.js +4 -4
- package/lib/config/config.js +40 -18
- package/lib/config/dependencies-for-platforms.js +33 -3
- package/lib/config/docker.js +259 -160
- package/lib/config/get-magento-version-config.js +45 -38
- package/lib/config/get-port-config.js +30 -44
- package/lib/config/get-project-configuration.js +8 -8
- package/lib/config/index.js +51 -42
- package/lib/config/magento/required-php-extensions/index.js +33 -19
- package/lib/config/magento/required-php-extensions/magento-2.3.js +2 -2
- package/lib/config/magento/required-php-extensions/magento-2.4.js +2 -2
- package/lib/config/magento-config.js +4 -4
- package/lib/config/php-config.js +8 -6
- package/lib/config/port-config.js +62 -43
- package/lib/config/save-config.js +6 -6
- package/lib/config/scandipwa-versions.js +2 -2
- package/lib/config/services/composer/versions/composer-1.js +2 -2
- package/lib/config/services/composer/versions/composer-2.js +2 -2
- package/lib/config/services/composer/versions/index.js +1 -1
- package/lib/config/services/elasticsearch/base-repo.js +1 -1
- package/lib/config/services/elasticsearch/default-es-env.js +4 -1
- package/lib/config/services/elasticsearch/versions/elasticsearch-6.8.js +17 -14
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.10.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.12.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.16.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.17.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.6.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.7.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.9.js +4 -4
- package/lib/config/services/elasticsearch/versions/index.js +9 -9
- package/lib/config/services/maildev/index.js +5 -2
- package/lib/config/services/mariadb/versions/index.js +1 -1
- package/lib/config/services/mariadb/versions/mariadb-10.2.js +5 -4
- package/lib/config/services/mariadb/versions/mariadb-10.3.js +5 -4
- package/lib/config/services/mariadb/versions/mariadb-10.4.js +5 -4
- package/lib/config/services/nginx/versions/index.js +1 -1
- package/lib/config/services/nginx/versions/nginx-1.18.js +5 -4
- package/lib/config/services/php/base-repo.js +1 -1
- package/lib/config/services/php/extensions/apcu.js +3 -3
- package/lib/config/services/php/extensions/bcmath.js +2 -2
- package/lib/config/services/php/extensions/curl.js +3 -6
- package/lib/config/services/php/extensions/gd.js +4 -3
- package/lib/config/services/php/extensions/index.js +9 -8
- package/lib/config/services/php/extensions/intl.js +3 -5
- package/lib/config/services/php/extensions/opcache.js +3 -5
- package/lib/config/services/php/extensions/pdo_mysql.js +2 -2
- package/lib/config/services/php/extensions/soap.js +3 -5
- package/lib/config/services/php/extensions/sodium.js +3 -5
- package/lib/config/services/php/extensions/xdebug.js +5 -3
- package/lib/config/services/php/extensions/xsl.js +3 -5
- package/lib/config/services/php/extensions/zip.js +3 -5
- package/lib/config/services/php/versions/index.js +1 -1
- package/lib/config/services/php/versions/php-7.2.js +13 -9
- package/lib/config/services/php/versions/php-7.3.js +13 -9
- package/lib/config/services/php/versions/php-7.4.js +13 -9
- package/lib/config/services/php/versions/php-8.1.js +13 -9
- package/lib/config/services/redis/index.js +1 -1
- package/lib/config/services/redis/redis-5.0.js +2 -2
- package/lib/config/services/redis/redis-6.0.js +2 -2
- package/lib/config/services/redis/redis-6.2.js +2 -2
- package/lib/config/services/ssl-terminator/index.js +6 -5
- package/lib/config/services/varnish/index.js +1 -1
- package/lib/config/services/varnish/varnish-6-0.js +7 -5
- package/lib/config/services/varnish/varnish-6-6.js +7 -5
- package/lib/config/services/varnish/varnish-7-0.js +7 -5
- package/lib/config/system-config.js +55 -32
- package/lib/config/templates/mariadb.template.cnf +8 -0
- package/lib/config/versions/index.js +48 -27
- package/lib/config/versions/magento-2.2.10.js +22 -15
- package/lib/config/versions/magento-2.3.0.js +22 -15
- package/lib/config/versions/magento-2.3.1.js +22 -15
- package/lib/config/versions/magento-2.3.2-p1.js +22 -15
- package/lib/config/versions/magento-2.3.2-p2.js +22 -15
- package/lib/config/versions/magento-2.3.2.js +22 -15
- package/lib/config/versions/magento-2.3.3-p1.js +22 -15
- package/lib/config/versions/magento-2.3.3.js +22 -15
- package/lib/config/versions/magento-2.3.4-p1.js +22 -15
- package/lib/config/versions/magento-2.3.4-p2.js +22 -15
- package/lib/config/versions/magento-2.3.4.js +22 -15
- package/lib/config/versions/magento-2.3.5-p1.js +22 -15
- package/lib/config/versions/magento-2.3.5-p2.js +22 -15
- package/lib/config/versions/magento-2.3.5.js +27 -15
- package/lib/config/versions/magento-2.3.6-p1.js +22 -15
- package/lib/config/versions/magento-2.3.6.js +22 -15
- package/lib/config/versions/magento-2.3.7-p1.js +22 -15
- package/lib/config/versions/magento-2.3.7-p2.js +22 -15
- package/lib/config/versions/magento-2.3.7-p3.js +22 -15
- package/lib/config/versions/magento-2.3.7-p4.js +22 -15
- package/lib/config/versions/magento-2.3.7.js +22 -15
- package/lib/config/versions/magento-2.4.0-p1.js +22 -15
- package/lib/config/versions/magento-2.4.0.js +22 -15
- package/lib/config/versions/magento-2.4.1-p1.js +23 -16
- package/lib/config/versions/magento-2.4.1.js +23 -16
- package/lib/config/versions/magento-2.4.2-p1.js +23 -16
- package/lib/config/versions/magento-2.4.2-p2.js +23 -16
- package/lib/config/versions/magento-2.4.2.js +23 -16
- package/lib/config/versions/magento-2.4.3-p1.js +23 -16
- package/lib/config/versions/magento-2.4.3-p2.js +23 -16
- package/lib/config/versions/magento-2.4.3-p3.js +23 -16
- package/lib/config/versions/magento-2.4.3.js +23 -16
- package/lib/config/versions/magento-2.4.4-p1.js +23 -16
- package/lib/config/versions/magento-2.4.4-p2.js +23 -16
- package/lib/config/versions/magento-2.4.4.js +23 -16
- package/lib/config/versions/magento-2.4.5-p1.js +23 -16
- package/lib/config/versions/magento-2.4.5.js +23 -17
- package/lib/config/xml-parser.js +21 -20
- package/lib/errors/known-error.js +8 -6
- package/lib/errors/unknown-error.js +8 -6
- package/lib/tasks/cache/create-cache-folder.js +10 -10
- package/lib/tasks/cache/index.js +1 -1
- package/lib/tasks/cache/remove-cache-folder.js +9 -9
- package/lib/tasks/cleanup.js +22 -24
- package/lib/tasks/cli/create-bashrc-config.js +19 -11
- package/lib/tasks/cli/index.js +10 -13
- package/lib/tasks/composer/index.js +20 -15
- package/lib/tasks/composer/local-auth-json.js +32 -18
- package/lib/tasks/database/connect-to-database.js +71 -51
- package/lib/tasks/database/create-magento-database.js +7 -7
- package/lib/tasks/database/create-magento-user.js +33 -20
- package/lib/tasks/database/default-magento-database.js +1 -1
- package/lib/tasks/database/default-magento-user.js +2 -2
- package/lib/tasks/database/dump-theme-config.js +16 -12
- package/lib/tasks/database/fix-db.js +62 -52
- package/lib/tasks/database/import-dump-to-database.js +122 -85
- package/lib/tasks/database/import-remote-db/index.js +16 -18
- package/lib/tasks/database/import-remote-db/ssh/database-dump-command.js +2 -2
- package/lib/tasks/database/import-remote-db/ssh/index.js +34 -35
- package/lib/tasks/database/import-remote-db/ssh/readymage.js +41 -38
- package/lib/tasks/database/import-remote-db/ssh/regular-server.js +44 -46
- package/lib/tasks/database/index.js +1 -1
- package/lib/tasks/database/magento-tables.js +3 -3
- package/lib/tasks/database/restore-theme-config.js +26 -19
- package/lib/tasks/docker/api.d.ts +1 -1
- package/lib/tasks/docker/api.js +31 -33
- package/lib/tasks/docker/containers/container-api.d.ts +49 -14
- package/lib/tasks/docker/containers/container-api.js +112 -83
- package/lib/tasks/docker/containers/index.js +3 -3
- package/lib/tasks/docker/containers/tasks.js +171 -99
- package/lib/tasks/docker/convert-composer-home-to-composer-cache-volume.js +34 -25
- package/lib/tasks/docker/convert-legacy-volumes.js +91 -55
- package/lib/tasks/docker/convert-mysql-to-mariadb.js +178 -147
- package/lib/tasks/docker/image/image-api.d.ts +2 -3
- package/lib/tasks/docker/image/image-api.js +41 -34
- package/lib/tasks/docker/image/index.js +2 -2
- package/lib/tasks/docker/index.js +26 -21
- package/lib/tasks/docker/network/index.js +3 -3
- package/lib/tasks/docker/network/network-api.d.ts +11 -8
- package/lib/tasks/docker/network/network-api.js +53 -61
- package/lib/tasks/docker/network/tasks.js +41 -31
- package/lib/tasks/docker/project-image-builder.js +175 -92
- package/lib/tasks/docker/system/index.js +2 -2
- package/lib/tasks/docker/system/system-api.d.ts +2 -2
- package/lib/tasks/docker/system/system-api.js +16 -19
- package/lib/tasks/docker/volume/index.js +3 -3
- package/lib/tasks/docker/volume/tasks.js +63 -46
- package/lib/tasks/docker/volume/volume-api.d.ts +8 -5
- package/lib/tasks/docker/volume/volume-api.js +59 -76
- package/lib/tasks/execute.js +91 -55
- package/lib/tasks/file-system/create-mariadb-config.js +26 -11
- package/lib/tasks/file-system/create-nginx-config.js +18 -19
- package/lib/tasks/file-system/create-php-config.js +12 -8
- package/lib/tasks/file-system/create-php-debug-config.js +23 -18
- package/lib/tasks/file-system/create-php-fpm-config.js +14 -9
- package/lib/tasks/file-system/create-phpstorm-config/database-config.js +144 -112
- package/lib/tasks/file-system/create-phpstorm-config/eslint-config.js +69 -45
- package/lib/tasks/file-system/create-phpstorm-config/exclude-folder-config.js +69 -70
- package/lib/tasks/file-system/create-phpstorm-config/index.js +28 -24
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/coding-standard-config.js +9 -9
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/config.js +23 -23
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/custom-ruleset-path-config.js +22 -19
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/default-properties-config.js +26 -16
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/eslint-inspection-config.js +14 -15
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/index.js +43 -34
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/inspection-tools-config.js +14 -6
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/magento-coding-standard-config.js +9 -9
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/mess-detector-validation-inspection-config.js +53 -47
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/paths.js +41 -12
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/php-cs-fixer-validation-inspection-config.js +33 -30
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/php-cs-validation-inspection-config.js +35 -38
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/stylelint-inspection-config.js +14 -15
- package/lib/tasks/file-system/create-phpstorm-config/keys.js +10 -10
- package/lib/tasks/file-system/create-phpstorm-config/php-config/index.js +33 -25
- package/lib/tasks/file-system/create-phpstorm-config/php-config/mess-detector-config.js +28 -25
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-code-sniffer-config.js +53 -32
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-config.js +7 -7
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-cs-fixer-config.js +37 -27
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-interpreters-config.js +53 -31
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-project-shared-configuration-config.js +42 -30
- package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/index.js +33 -20
- package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/php-docker-settings-config.js +3 -3
- package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/setup-php-docker-container-settings-config.js +27 -16
- package/lib/tasks/file-system/create-phpstorm-config/setup-xml-structure.js +14 -13
- package/lib/tasks/file-system/create-phpstorm-config/stylelint-config.js +52 -34
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/composer-settings-config.js +41 -33
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/format-setting-config.js +39 -27
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/index.js +34 -30
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/mess-detector-project-configuration-config.js +32 -22
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-code-sniffer-project-configuration-config.js +32 -22
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-cs-fixer-project-configuration-config.js +32 -22
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-debug-general-config.js +42 -31
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-server-config.js +45 -33
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-stan-project-configuration-config.js.js +32 -22
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-workspace-project-configuration-config.js +22 -19
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/properties-component-config.js +35 -21
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/psalm-project-configuration-config.js.js +31 -22
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/run-manager-config.js +38 -28
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/workspace-config.js +5 -5
- package/lib/tasks/file-system/create-phpstorm-config/xml-utils.js +3 -2
- package/lib/tasks/file-system/create-ssl-terminator-config.js +46 -34
- package/lib/tasks/file-system/create-varnish-config.js +20 -23
- package/lib/tasks/file-system/create-vscode-config.js +66 -49
- package/lib/tasks/file-system/index.js +29 -25
- package/lib/tasks/import-dump.js +54 -45
- package/lib/tasks/link.js +24 -23
- package/lib/tasks/magento/enable-magento-composer-plugins.js +213 -149
- package/lib/tasks/magento/index.js +1 -1
- package/lib/tasks/magento/install-magento-project.js +158 -97
- package/lib/tasks/magento/remove-magento.js +30 -24
- package/lib/tasks/magento/setup-magento/adjust-full-page-cache.js +27 -15
- package/lib/tasks/magento/setup-magento/configure-elasticsearch.js +23 -10
- package/lib/tasks/magento/setup-magento/create-admin.js +21 -13
- package/lib/tasks/magento/setup-magento/delete-admin-users.js +5 -5
- package/lib/tasks/magento/setup-magento/delete-customers.js +16 -10
- package/lib/tasks/magento/setup-magento/delete-orders.js +16 -10
- package/lib/tasks/magento/setup-magento/disable-2fa.js +11 -8
- package/lib/tasks/magento/setup-magento/disable-maintenance-mode.js +7 -7
- package/lib/tasks/magento/setup-magento/disable-page-builder.js +5 -4
- package/lib/tasks/magento/setup-magento/flush-redis-config.js +14 -8
- package/lib/tasks/magento/setup-magento/increase-admin-session-lifetime.js +21 -17
- package/lib/tasks/magento/setup-magento/index-products.js +4 -6
- package/lib/tasks/magento/setup-magento/index.js +54 -47
- package/lib/tasks/magento/setup-magento/install-magento.js +112 -79
- package/lib/tasks/magento/setup-magento/migrate-database.js +115 -96
- package/lib/tasks/magento/setup-magento/set-base-url.js +35 -21
- package/lib/tasks/magento/setup-magento/set-deployment-mode.js +15 -13
- package/lib/tasks/magento/setup-magento/set-mail-config.js +20 -14
- package/lib/tasks/magento/setup-magento/set-url-rewrite.js +13 -9
- package/lib/tasks/magento/setup-magento/upgrade-magento.js +30 -22
- package/lib/tasks/magento/setup-magento/urn-highlighter.js +11 -11
- package/lib/tasks/magento/setup-magento/varnish-config.js +42 -32
- package/lib/tasks/magento/setup-magento/waiting-for-redis.js +6 -8
- package/lib/tasks/magento/setup-magento/waiting-for-varnish.js +108 -65
- package/lib/tasks/magento/uninstall-magento.js +19 -16
- package/lib/tasks/php/php-container.d.ts +19 -0
- package/lib/tasks/php/php-container.js +50 -46
- package/lib/tasks/php/update-env-php.js +50 -30
- package/lib/tasks/project-config/index.js +12 -8
- package/lib/tasks/requirements/composer-credentials.js +215 -112
- package/lib/tasks/requirements/docker/context.js +49 -37
- package/lib/tasks/requirements/docker/index.js +123 -89
- package/lib/tasks/requirements/docker/install-on-mac.js +21 -14
- package/lib/tasks/requirements/docker/install.js +63 -52
- package/lib/tasks/requirements/docker/performance.js +39 -24
- package/lib/tasks/requirements/docker/permissions.js +27 -17
- package/lib/tasks/requirements/docker/running-status.js +79 -66
- package/lib/tasks/requirements/docker/version.js +15 -11
- package/lib/tasks/requirements/index.js +33 -29
- package/lib/tasks/requirements/node-version.js +8 -8
- package/lib/tasks/requirements/php-version.js +14 -11
- package/lib/tasks/requirements/platform.js +42 -26
- package/lib/tasks/requirements/rosetta.js +15 -12
- package/lib/tasks/start.js +172 -148
- package/lib/tasks/status/index.js +155 -88
- package/lib/tasks/stop.js +22 -18
- package/lib/tasks/theme/build-theme.js +50 -33
- package/lib/tasks/theme/install-theme.js +31 -18
- package/lib/tasks/theme/link-theme.js +27 -21
- package/lib/tasks/theme/retrieve-theme-data.js +24 -18
- package/lib/tasks/theme/setup-themes.js +87 -59
- package/lib/tasks/theme/symlink-theme.js +44 -22
- package/lib/util/CSA-theme.js +23 -21
- package/lib/util/analytics.js +130 -75
- package/lib/util/arch.js +22 -18
- package/lib/util/clean-object.js +15 -10
- package/lib/util/config-file-validator.js +74 -55
- package/lib/util/config-php-json.js +34 -16
- package/lib/util/connection-string.js +41 -27
- package/lib/util/console-block.js +112 -65
- package/lib/util/database.js +56 -33
- package/lib/util/deepmerge.d.ts +1 -1
- package/lib/util/deepmerge.js +19 -28
- package/lib/util/dockerfile-builder/build-instructions.js +159 -143
- package/lib/util/dockerfile-builder/index.js +47 -73
- package/lib/util/dockerfile-builder/types.d.ts +2 -1
- package/lib/util/download-file.js +28 -16
- package/lib/util/env-php-json.js +42 -16
- package/lib/util/exec-async-command.d.ts +9 -9
- package/lib/util/exec-async-command.js +82 -59
- package/lib/util/exec-async.d.ts +2 -0
- package/lib/util/exec-async.js +12 -5
- package/lib/util/execute-in-container.js +22 -27
- package/lib/util/execute-sudo-command.js +11 -15
- package/lib/util/get-brew-bin-path.js +27 -23
- package/lib/util/get-installed-magento-version.js +22 -16
- package/lib/util/get-jsonfile-data.js +14 -9
- package/lib/util/install-dependencies-task.js +53 -41
- package/lib/util/instance-metadata.js +44 -29
- package/lib/util/ip.js +16 -12
- package/lib/util/is-running-root.js +6 -3
- package/lib/util/is-wsl.js +10 -10
- package/lib/util/macos-version.js +12 -11
- package/lib/util/magento-task.js +14 -9
- package/lib/util/match-filesystem.js +22 -16
- package/lib/util/move-file.js +40 -25
- package/lib/util/nginx-logs-parser.js +50 -39
- package/lib/util/open-browser.js +10 -5
- package/lib/util/os-platform.js +40 -32
- package/lib/util/path-exists-sync.js +10 -6
- package/lib/util/path-exists.js +6 -6
- package/lib/util/php-task.js +11 -10
- package/lib/util/portscanner.js +97 -85
- package/lib/util/prefix.js +31 -22
- package/lib/util/resolve-configuration-with-overrides.js +30 -15
- package/lib/util/rmdir-safe.js +15 -11
- package/lib/util/run-composer.js +16 -16
- package/lib/util/run-container-image.js +9 -4
- package/lib/util/run-magento.js +16 -17
- package/lib/util/run-php.js +16 -21
- package/lib/util/safe-regex-extract.js +8 -12
- package/lib/util/set-config.js +24 -15
- package/lib/util/sleep.js +7 -2
- package/lib/util/systemctl.js +62 -44
- package/lib/util/wait-for-it.js +42 -33
- package/lib/util/wait-for-logs.js +42 -35
- package/lib/util/xdg-open-exists.js +19 -19
- package/package.json +7 -3
- package/tsconfig.json +24 -0
- package/typings/context.d.ts +76 -34
- package/typings/index.d.ts +54 -20
- package/typings/override.d.ts +14 -0
- package/typings/phpstorm.d.ts +19 -19
- package/.prettierrc +0 -3
- package/lib/util/get-php-for-phpbrew.js +0 -30
- package/lib/util/request.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const { orderTables } = require('../../database/magento-tables')
|
|
1
|
+
const { orderTables } = require('../../database/magento-tables')
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
@@ -6,21 +6,27 @@ const { orderTables } = require('../../database/magento-tables');
|
|
|
6
6
|
const deleteOrders = () => ({
|
|
7
7
|
title: 'Deleting orders',
|
|
8
8
|
task: async (ctx, task) => {
|
|
9
|
-
const { databaseConnection, withCustomersData } = ctx
|
|
9
|
+
const { databaseConnection, withCustomersData } = ctx
|
|
10
10
|
|
|
11
11
|
if (withCustomersData) {
|
|
12
|
-
task.skip()
|
|
13
|
-
return
|
|
12
|
+
task.skip()
|
|
13
|
+
return
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
const [rows] = await databaseConnection.query(
|
|
16
|
+
const [rows] = await databaseConnection.query(
|
|
17
|
+
'select TABLE_NAME from information_schema.TABLES;'
|
|
18
|
+
)
|
|
17
19
|
|
|
18
20
|
await Promise.all(
|
|
19
21
|
orderTables
|
|
20
|
-
.filter((tableName) =>
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
.filter((tableName) =>
|
|
23
|
+
rows.some((row) => row.TABLE_NAME === tableName)
|
|
24
|
+
)
|
|
25
|
+
.map((tableName) =>
|
|
26
|
+
databaseConnection.query(`TRUNCATE TABLE \`${tableName}\`;`)
|
|
27
|
+
)
|
|
28
|
+
)
|
|
23
29
|
}
|
|
24
|
-
})
|
|
30
|
+
})
|
|
25
31
|
|
|
26
|
-
module.exports = deleteOrders
|
|
32
|
+
module.exports = deleteOrders
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const configPhpToJson = require('../../../util/config-php-json')
|
|
2
|
-
const runMagentoCommand = require('../../../util/run-magento')
|
|
1
|
+
const configPhpToJson = require('../../../util/config-php-json')
|
|
2
|
+
const runMagentoCommand = require('../../../util/run-magento')
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
@@ -7,14 +7,17 @@ const runMagentoCommand = require('../../../util/run-magento');
|
|
|
7
7
|
module.exports = () => ({
|
|
8
8
|
title: 'Disabling 2fa for admin',
|
|
9
9
|
task: async (ctx, task) => {
|
|
10
|
-
const { modules } = await configPhpToJson(ctx)
|
|
10
|
+
const { modules } = await configPhpToJson(ctx)
|
|
11
11
|
|
|
12
|
-
if (
|
|
13
|
-
|
|
12
|
+
if (
|
|
13
|
+
modules.Magento_TwoFactorAuth !== undefined &&
|
|
14
|
+
modules.Magento_TwoFactorAuth !== 0
|
|
15
|
+
) {
|
|
16
|
+
await runMagentoCommand(ctx, 'module:disable Magento_TwoFactorAuth')
|
|
14
17
|
|
|
15
|
-
return
|
|
18
|
+
return
|
|
16
19
|
}
|
|
17
20
|
|
|
18
|
-
task.skip()
|
|
21
|
+
task.skip()
|
|
19
22
|
}
|
|
20
|
-
})
|
|
23
|
+
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const runMagentoCommand = require('../../../util/run-magento')
|
|
1
|
+
const runMagentoCommand = require('../../../util/run-magento')
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
@@ -8,15 +8,15 @@ const disableMaintenanceMode = () => ({
|
|
|
8
8
|
task: async (ctx, task) => {
|
|
9
9
|
const { result } = await runMagentoCommand(ctx, 'maintenance:status', {
|
|
10
10
|
throwNonZeroCode: false
|
|
11
|
-
})
|
|
11
|
+
})
|
|
12
12
|
|
|
13
13
|
if (result.includes('maintenance mode is not active')) {
|
|
14
|
-
task.skip()
|
|
15
|
-
return
|
|
14
|
+
task.skip()
|
|
15
|
+
return
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
await runMagentoCommand(ctx, 'maintenance:disable')
|
|
18
|
+
await runMagentoCommand(ctx, 'maintenance:disable')
|
|
19
19
|
}
|
|
20
|
-
})
|
|
20
|
+
})
|
|
21
21
|
|
|
22
|
-
module.exports = disableMaintenanceMode
|
|
22
|
+
module.exports = disableMaintenanceMode
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
const magentoTask = require('../../../util/magento-task')
|
|
1
|
+
const magentoTask = require('../../../util/magento-task')
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
5
5
|
*/
|
|
6
6
|
const disablePageBuilder = () => ({
|
|
7
7
|
title: 'Disabling page builder in Magento',
|
|
8
|
-
task: (ctx, task) =>
|
|
9
|
-
|
|
8
|
+
task: (ctx, task) =>
|
|
9
|
+
task.newListr(magentoTask('config:set cms/pagebuilder/enabled 0'))
|
|
10
|
+
})
|
|
10
11
|
|
|
11
|
-
module.exports = disablePageBuilder
|
|
12
|
+
module.exports = disablePageBuilder
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const { execAsyncSpawn } = require('../../../util/exec-async-command')
|
|
2
|
-
const UnknownError = require('../../../errors/unknown-error')
|
|
1
|
+
const { execAsyncSpawn } = require('../../../util/exec-async-command')
|
|
2
|
+
const UnknownError = require('../../../errors/unknown-error')
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
@@ -7,13 +7,19 @@ const UnknownError = require('../../../errors/unknown-error');
|
|
|
7
7
|
module.exports = () => ({
|
|
8
8
|
title: 'Flushing Magento Redis cache',
|
|
9
9
|
task: async ({ ports, config: { docker }, isDockerDesktop }) => {
|
|
10
|
-
const {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
10
|
+
const {
|
|
11
|
+
redis: { name }
|
|
12
|
+
} = docker.getContainers(ports)
|
|
13
|
+
const host = !isDockerDesktop ? 'localhost' : 'host.docker.internal'
|
|
14
|
+
const port = !isDockerDesktop ? '6379' : ports.redis
|
|
15
|
+
const result = await execAsyncSpawn(
|
|
16
|
+
`docker exec ${name} redis-cli -h ${host} -p ${port} -n 0 flushdb`
|
|
17
|
+
)
|
|
14
18
|
|
|
15
19
|
if (!result.trim().includes('OK')) {
|
|
16
|
-
throw new UnknownError(
|
|
20
|
+
throw new UnknownError(
|
|
21
|
+
`Unexpected output from redis flush command: ${result}`
|
|
22
|
+
)
|
|
17
23
|
}
|
|
18
24
|
}
|
|
19
|
-
})
|
|
25
|
+
})
|
|
@@ -1,24 +1,28 @@
|
|
|
1
|
-
const { updateTableValues } = require('../../../util/database')
|
|
1
|
+
const { updateTableValues } = require('../../../util/database')
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
5
5
|
*/
|
|
6
6
|
const increaseAdminSessionLifetime = () => ({
|
|
7
7
|
title: 'Increase admin session lifetime to 1 month',
|
|
8
|
-
task: async ({ databaseConnection }, task) =>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
8
|
+
task: async ({ databaseConnection }, task) =>
|
|
9
|
+
updateTableValues(
|
|
10
|
+
'core_config_data',
|
|
11
|
+
[
|
|
12
|
+
{
|
|
13
|
+
path: 'admin/security/session_lifetime',
|
|
14
|
+
value: '2800000'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
path: 'admin/security/password_lifetime',
|
|
18
|
+
value: null
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
{
|
|
22
|
+
databaseConnection,
|
|
23
|
+
task
|
|
24
|
+
}
|
|
25
|
+
)
|
|
26
|
+
})
|
|
21
27
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
module.exports = increaseAdminSessionLifetime;
|
|
28
|
+
module.exports = increaseAdminSessionLifetime
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
const magentoTask = require('../../../util/magento-task')
|
|
1
|
+
const magentoTask = require('../../../util/magento-task')
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
5
5
|
*/
|
|
6
6
|
const indexProducts = () => ({
|
|
7
|
-
task: (ctx, task) => task.newListr(
|
|
8
|
-
magentoTask('index:reindex')
|
|
9
|
-
),
|
|
7
|
+
task: (ctx, task) => task.newListr(magentoTask('index:reindex')),
|
|
10
8
|
retry: 2
|
|
11
|
-
})
|
|
9
|
+
})
|
|
12
10
|
|
|
13
|
-
module.exports = indexProducts
|
|
11
|
+
module.exports = indexProducts
|
|
@@ -1,65 +1,72 @@
|
|
|
1
|
-
const flushRedisConfig = require('./flush-redis-config')
|
|
2
|
-
const waitingForRedis = require('./waiting-for-redis')
|
|
3
|
-
const migrateDatabase = require('./migrate-database')
|
|
4
|
-
const createAdmin = require('./create-admin')
|
|
5
|
-
const setDeploymentMode = require('./set-deployment-mode')
|
|
6
|
-
const setBaseUrl = require('./set-base-url')
|
|
7
|
-
const disableMaintenanceMode = require('./disable-maintenance-mode')
|
|
8
|
-
const disable2fa = require('./disable-2fa')
|
|
9
|
-
const setUrlRewrite = require('./set-url-rewrite')
|
|
10
|
-
const increaseAdminSessionLifetime = require('./increase-admin-session-lifetime')
|
|
11
|
-
const magentoTask = require('../../../util/magento-task')
|
|
12
|
-
const urnHighlighter = require('./urn-highlighter')
|
|
13
|
-
const adjustFullPageCache = require('./adjust-full-page-cache')
|
|
14
|
-
const updateEnvPHP = require('../../php/update-env-php')
|
|
15
|
-
const setMailConfig = require('./set-mail-config')
|
|
1
|
+
const flushRedisConfig = require('./flush-redis-config')
|
|
2
|
+
const waitingForRedis = require('./waiting-for-redis')
|
|
3
|
+
const migrateDatabase = require('./migrate-database')
|
|
4
|
+
const createAdmin = require('./create-admin')
|
|
5
|
+
const setDeploymentMode = require('./set-deployment-mode')
|
|
6
|
+
const setBaseUrl = require('./set-base-url')
|
|
7
|
+
const disableMaintenanceMode = require('./disable-maintenance-mode')
|
|
8
|
+
const disable2fa = require('./disable-2fa')
|
|
9
|
+
const setUrlRewrite = require('./set-url-rewrite')
|
|
10
|
+
const increaseAdminSessionLifetime = require('./increase-admin-session-lifetime')
|
|
11
|
+
const magentoTask = require('../../../util/magento-task')
|
|
12
|
+
const urnHighlighter = require('./urn-highlighter')
|
|
13
|
+
const adjustFullPageCache = require('./adjust-full-page-cache')
|
|
14
|
+
const updateEnvPHP = require('../../php/update-env-php')
|
|
15
|
+
const setMailConfig = require('./set-mail-config')
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* @param {Object} [options]
|
|
19
|
-
* @param {Boolean} options.onlyInstallMagento
|
|
19
|
+
* @param {Boolean} [options.onlyInstallMagento]
|
|
20
20
|
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
21
21
|
*/
|
|
22
22
|
const setupMagento = (options = {}) => ({
|
|
23
23
|
title: 'Setting up Magento',
|
|
24
|
-
skip: ({ skipSetup }) => skipSetup,
|
|
24
|
+
skip: ({ skipSetup }) => Boolean(skipSetup),
|
|
25
25
|
task: (ctx, task) => {
|
|
26
26
|
if (options.onlyInstallMagento) {
|
|
27
27
|
return task.newListr([
|
|
28
28
|
flushRedisConfig(),
|
|
29
29
|
waitingForRedis(),
|
|
30
30
|
migrateDatabase({ onlyInstallMagento: true })
|
|
31
|
-
])
|
|
31
|
+
])
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
return task.newListr(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
return task.newListr(
|
|
35
|
+
[
|
|
36
|
+
waitingForRedis(),
|
|
37
|
+
updateEnvPHP(),
|
|
38
|
+
migrateDatabase(),
|
|
39
|
+
flushRedisConfig(),
|
|
40
|
+
{
|
|
41
|
+
title: 'Configuring Magento settings',
|
|
42
|
+
task: (ctx, task) =>
|
|
43
|
+
task.newListr(
|
|
44
|
+
[
|
|
45
|
+
setBaseUrl(),
|
|
46
|
+
setUrlRewrite(),
|
|
47
|
+
setMailConfig(),
|
|
48
|
+
increaseAdminSessionLifetime()
|
|
49
|
+
],
|
|
50
|
+
{
|
|
51
|
+
concurrent: true
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
},
|
|
55
|
+
createAdmin(),
|
|
56
|
+
setDeploymentMode(),
|
|
57
|
+
disableMaintenanceMode(),
|
|
58
|
+
disable2fa(),
|
|
59
|
+
urnHighlighter(),
|
|
60
|
+
adjustFullPageCache(),
|
|
61
|
+
magentoTask('cache:flush')
|
|
62
|
+
],
|
|
39
63
|
{
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
increaseAdminSessionLifetime()
|
|
46
|
-
], {
|
|
47
|
-
concurrent: true
|
|
48
|
-
})
|
|
49
|
-
},
|
|
50
|
-
createAdmin(),
|
|
51
|
-
setDeploymentMode(),
|
|
52
|
-
disableMaintenanceMode(),
|
|
53
|
-
disable2fa(),
|
|
54
|
-
urnHighlighter(),
|
|
55
|
-
adjustFullPageCache(),
|
|
56
|
-
magentoTask('cache:flush')
|
|
57
|
-
], {
|
|
58
|
-
concurrent: false,
|
|
59
|
-
exitOnError: true,
|
|
60
|
-
ctx
|
|
61
|
-
});
|
|
64
|
+
concurrent: false,
|
|
65
|
+
exitOnError: true,
|
|
66
|
+
ctx
|
|
67
|
+
}
|
|
68
|
+
)
|
|
62
69
|
}
|
|
63
|
-
})
|
|
70
|
+
})
|
|
64
71
|
|
|
65
|
-
module.exports = setupMagento
|
|
72
|
+
module.exports = setupMagento
|
|
@@ -1,189 +1,222 @@
|
|
|
1
|
-
const fs = require('fs')
|
|
2
|
-
const path = require('path')
|
|
3
|
-
const semver = require('semver')
|
|
4
|
-
const UnknownError = require('../../../errors/unknown-error')
|
|
5
|
-
const runMagentoCommand = require('../../../util/run-magento')
|
|
6
|
-
const envPhpToJson = require('../../../util/env-php-json')
|
|
7
|
-
const logger = require('@scandipwa/scandipwa-dev-utils/logger')
|
|
8
|
-
const {
|
|
9
|
-
|
|
1
|
+
const fs = require('fs')
|
|
2
|
+
const path = require('path')
|
|
3
|
+
const semver = require('semver')
|
|
4
|
+
const UnknownError = require('../../../errors/unknown-error')
|
|
5
|
+
const runMagentoCommand = require('../../../util/run-magento')
|
|
6
|
+
const envPhpToJson = require('../../../util/env-php-json')
|
|
7
|
+
const logger = require('@scandipwa/scandipwa-dev-utils/logger')
|
|
8
|
+
const {
|
|
9
|
+
defaultMagentoDatabase
|
|
10
|
+
} = require('../../database/default-magento-database')
|
|
11
|
+
const defaultMagentoUser = require('../../database/default-magento-user')
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
|
-
* @param {Object}
|
|
13
|
-
* @param {Boolean} param0.isDbEmpty
|
|
14
|
+
* @param {Object} param0
|
|
15
|
+
* @param {Boolean} [param0.isDbEmpty]
|
|
14
16
|
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
15
17
|
*/
|
|
16
18
|
const installMagento = ({ isDbEmpty = false } = {}) => ({
|
|
17
19
|
title: 'Installing Magento in Database',
|
|
18
20
|
task: async (ctx, task) => {
|
|
19
21
|
if (isDbEmpty) {
|
|
20
|
-
task.output = 'No Magento is installed in DB!\nInstalling...'
|
|
22
|
+
task.output = 'No Magento is installed in DB!\nInstalling...'
|
|
21
23
|
}
|
|
22
24
|
const {
|
|
23
25
|
magentoVersion,
|
|
24
|
-
config: {
|
|
25
|
-
magentoConfiguration
|
|
26
|
-
},
|
|
26
|
+
config: { magentoConfiguration },
|
|
27
27
|
ports,
|
|
28
28
|
databaseConnection,
|
|
29
29
|
isDockerDesktop
|
|
30
|
-
} = ctx
|
|
30
|
+
} = ctx
|
|
31
31
|
|
|
32
|
-
const hostMachine = !isDockerDesktop
|
|
32
|
+
const hostMachine = !isDockerDesktop
|
|
33
|
+
? '127.0.0.1'
|
|
34
|
+
: 'host.docker.internal'
|
|
33
35
|
|
|
34
36
|
const [tableResponse] = await databaseConnection.query(
|
|
35
|
-
|
|
36
|
-
)
|
|
37
|
+
"SELECT * FROM information_schema.tables WHERE table_schema = 'magento' AND table_name = 'admin_user' LIMIT 1;"
|
|
38
|
+
)
|
|
37
39
|
|
|
38
40
|
if (tableResponse.length > 0) {
|
|
39
41
|
const response = await databaseConnection.query(
|
|
40
|
-
|
|
41
|
-
)
|
|
42
|
+
"select * from admin_user where username='admin';"
|
|
43
|
+
)
|
|
42
44
|
|
|
43
|
-
const usersWithUsernameAdmin =
|
|
45
|
+
const usersWithUsernameAdmin =
|
|
46
|
+
response && response.length > 0 && response[0]
|
|
44
47
|
|
|
45
48
|
if (usersWithUsernameAdmin && usersWithUsernameAdmin.length > 0) {
|
|
46
49
|
const confirmDeleteAdminUsers = await task.prompt({
|
|
47
50
|
type: 'Select',
|
|
48
|
-
message: `In order to install Magento in database you will need to delete admin user with username ${logger.style.command(
|
|
51
|
+
message: `In order to install Magento in database you will need to delete admin user with username ${logger.style.command(
|
|
52
|
+
'admin'
|
|
53
|
+
)}`,
|
|
49
54
|
choices: [
|
|
50
55
|
{
|
|
51
56
|
name: 'delete-all',
|
|
52
|
-
message: `Delete all admin users (${logger.style.code(
|
|
57
|
+
message: `Delete all admin users (${logger.style.code(
|
|
58
|
+
'Recommended'
|
|
59
|
+
)})`
|
|
53
60
|
},
|
|
54
61
|
{
|
|
55
62
|
name: 'delete-only-admin',
|
|
56
|
-
message: `Delete only admin user with ${logger.style.command(
|
|
63
|
+
message: `Delete only admin user with ${logger.style.command(
|
|
64
|
+
'admin'
|
|
65
|
+
)} username`
|
|
57
66
|
}
|
|
58
67
|
]
|
|
59
|
-
})
|
|
68
|
+
})
|
|
60
69
|
|
|
61
|
-
await databaseConnection.query('SET FOREIGN_KEY_CHECKS = 0;')
|
|
70
|
+
await databaseConnection.query('SET FOREIGN_KEY_CHECKS = 0;')
|
|
62
71
|
|
|
63
72
|
if (confirmDeleteAdminUsers === 'delete-all') {
|
|
64
73
|
await databaseConnection.query(`
|
|
65
74
|
TRUNCATE TABLE admin_user;
|
|
66
|
-
`)
|
|
75
|
+
`)
|
|
67
76
|
} else {
|
|
68
77
|
await databaseConnection.query(`
|
|
69
78
|
DELETE FROM admin_user WHERE username='admin';
|
|
70
|
-
`)
|
|
79
|
+
`)
|
|
71
80
|
}
|
|
72
81
|
|
|
73
|
-
await databaseConnection.query('SET FOREIGN_KEY_CHECKS = 1;')
|
|
82
|
+
await databaseConnection.query('SET FOREIGN_KEY_CHECKS = 1;')
|
|
74
83
|
}
|
|
75
84
|
}
|
|
76
|
-
const envPhpData = await envPhpToJson(ctx)
|
|
85
|
+
const envPhpData = await envPhpToJson(ctx)
|
|
77
86
|
|
|
78
|
-
const envPhpHaveEncryptionKey =
|
|
87
|
+
const envPhpHaveEncryptionKey =
|
|
88
|
+
envPhpData &&
|
|
89
|
+
envPhpData.crypt &&
|
|
90
|
+
envPhpData.crypt.key &&
|
|
91
|
+
envPhpData.crypt.key
|
|
79
92
|
|
|
80
|
-
let encryptionKeyOption = null
|
|
93
|
+
let encryptionKeyOption = null
|
|
81
94
|
|
|
82
95
|
if (ctx.encryptionKey) {
|
|
83
|
-
encryptionKeyOption = `--key='${ctx.encryptionKey}'
|
|
96
|
+
encryptionKeyOption = `--key='${ctx.encryptionKey}'`
|
|
84
97
|
}
|
|
85
98
|
|
|
86
99
|
if (envPhpHaveEncryptionKey && !encryptionKeyOption) {
|
|
87
|
-
encryptionKeyOption = `--key='${envPhpData.crypt.key}'
|
|
100
|
+
encryptionKeyOption = `--key='${envPhpData.crypt.key}'`
|
|
88
101
|
}
|
|
89
102
|
|
|
90
|
-
let installed = false
|
|
103
|
+
let installed = false
|
|
91
104
|
|
|
92
|
-
const pureMagentoVersion = magentoVersion.match(
|
|
105
|
+
const pureMagentoVersion = magentoVersion.match(
|
|
106
|
+
/^([0-9]+\.[0-9]+\.[0-9]+)/
|
|
107
|
+
)[1]
|
|
93
108
|
|
|
94
|
-
const isMagento23 = semver.satisfies(pureMagentoVersion, '<2.4')
|
|
109
|
+
const isMagento23 = semver.satisfies(pureMagentoVersion, '<2.4')
|
|
95
110
|
|
|
96
111
|
const elasticsearchConfiguration = ` \
|
|
97
112
|
--search-engine='elasticsearch7' \
|
|
98
|
-
--elasticsearch-host='${
|
|
99
|
-
--elasticsearch-port='${
|
|
113
|
+
--elasticsearch-host='${hostMachine}' \
|
|
114
|
+
--elasticsearch-port='${ports.elasticsearch}'`
|
|
100
115
|
|
|
101
116
|
/**
|
|
102
117
|
* @type {Array<Error>}
|
|
103
118
|
*/
|
|
104
|
-
const errors = []
|
|
119
|
+
const errors = []
|
|
105
120
|
|
|
106
121
|
for (let tries = 0; tries < 2; tries++) {
|
|
107
122
|
try {
|
|
108
123
|
const command = `setup:install \
|
|
109
|
-
--admin-firstname='${
|
|
110
|
-
--admin-lastname='${
|
|
111
|
-
--admin-email='${
|
|
112
|
-
--admin-user='${
|
|
113
|
-
--admin-password='${
|
|
114
|
-
${
|
|
124
|
+
--admin-firstname='${magentoConfiguration.first_name}' \
|
|
125
|
+
--admin-lastname='${magentoConfiguration.last_name}' \
|
|
126
|
+
--admin-email='${magentoConfiguration.email}' \
|
|
127
|
+
--admin-user='${magentoConfiguration.user}' \
|
|
128
|
+
--admin-password='${magentoConfiguration.password}' \
|
|
129
|
+
${!isMagento23 ? elasticsearchConfiguration : ''} \
|
|
115
130
|
${encryptionKeyOption || ''} \
|
|
116
131
|
--session-save=redis \
|
|
117
|
-
--session-save-redis-host='${
|
|
118
|
-
--session-save-redis-port='${
|
|
132
|
+
--session-save-redis-host='${hostMachine}' \
|
|
133
|
+
--session-save-redis-port='${ports.redis}' \
|
|
119
134
|
--session-save-redis-log-level='3' \
|
|
120
135
|
--session-save-redis-max-concurrency='30' \
|
|
121
136
|
--session-save-redis-db='1' \
|
|
122
137
|
--session-save-redis-disable-locking='1' \
|
|
123
138
|
--cache-backend='redis' \
|
|
124
|
-
--cache-backend-redis-server='${
|
|
125
|
-
--cache-backend-redis-port='${
|
|
139
|
+
--cache-backend-redis-server='${hostMachine}' \
|
|
140
|
+
--cache-backend-redis-port='${ports.redis}' \
|
|
126
141
|
--cache-backend-redis-db='0't \
|
|
127
|
-
--db-host='${
|
|
128
|
-
--db-name='${
|
|
129
|
-
--db-user='${
|
|
130
|
-
--db-password='${
|
|
131
|
-
--backend-frontname='${
|
|
132
|
-
--no-interaction
|
|
142
|
+
--db-host='${hostMachine}:${ports.mariadb}' \
|
|
143
|
+
--db-name='${defaultMagentoDatabase}' \
|
|
144
|
+
--db-user='${defaultMagentoUser.user}' \
|
|
145
|
+
--db-password='${defaultMagentoUser.password}' \
|
|
146
|
+
--backend-frontname='${magentoConfiguration.adminuri}' \
|
|
147
|
+
--no-interaction`
|
|
133
148
|
|
|
134
149
|
await runMagentoCommand(ctx, command, {
|
|
135
150
|
throwNonZeroCode: true,
|
|
136
|
-
callback: !ctx.verbose
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
151
|
+
callback: !ctx.verbose
|
|
152
|
+
? undefined
|
|
153
|
+
: (t) => {
|
|
154
|
+
task.output = t
|
|
155
|
+
}
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
installed = true
|
|
142
159
|
} catch (e) {
|
|
143
|
-
errors.push(e)
|
|
160
|
+
errors.push(e)
|
|
144
161
|
}
|
|
145
162
|
|
|
146
163
|
if (installed) {
|
|
147
|
-
break
|
|
164
|
+
break
|
|
148
165
|
}
|
|
149
166
|
}
|
|
150
167
|
|
|
151
168
|
if (errors.length > 0) {
|
|
152
|
-
if (
|
|
153
|
-
|
|
154
|
-
|
|
169
|
+
if (
|
|
170
|
+
envPhpHaveEncryptionKey &&
|
|
171
|
+
errors.some((e) =>
|
|
172
|
+
e.message.includes(
|
|
173
|
+
"The default website isn't defined. Set the website and try again."
|
|
174
|
+
)
|
|
175
|
+
)
|
|
155
176
|
) {
|
|
156
177
|
const confirmToWipeEnvPhp = await task.prompt({
|
|
157
178
|
type: 'Confirm',
|
|
158
|
-
message: `We detected that your encryption key in ${logger.style.file(
|
|
159
|
-
|
|
179
|
+
message: `We detected that your encryption key in ${logger.style.file(
|
|
180
|
+
'app/etc/env.php'
|
|
181
|
+
)} file is not accepted by Magento installer.
|
|
182
|
+
To fix this issue we will need to ${logger.style.misc(
|
|
183
|
+
'DELETE'
|
|
184
|
+
)} ${logger.style.file(
|
|
185
|
+
'app/etc/env.php'
|
|
186
|
+
)} file. It will be recreated but existing encryption key but if you any custom configuration in it will be lost.
|
|
160
187
|
|
|
161
188
|
Without this you will not be able to install Magento at this moment.
|
|
162
189
|
|
|
163
190
|
Do you want to continue?`
|
|
164
|
-
})
|
|
191
|
+
})
|
|
165
192
|
|
|
166
193
|
if (confirmToWipeEnvPhp) {
|
|
167
194
|
try {
|
|
168
|
-
await fs.promises.unlink(
|
|
195
|
+
await fs.promises.unlink(
|
|
196
|
+
path.join(process.cwd(), 'app', 'etc', 'env.php')
|
|
197
|
+
)
|
|
169
198
|
} catch (e) {
|
|
170
|
-
throw new UnknownError(
|
|
199
|
+
throw new UnknownError(
|
|
200
|
+
`Unexpected error occurred during deleting of app/etc/env.php file!\n\n${e}`
|
|
201
|
+
)
|
|
171
202
|
}
|
|
172
|
-
ctx.encryptionKey = envPhpData.crypt.key
|
|
203
|
+
ctx.encryptionKey = envPhpData.crypt.key
|
|
173
204
|
|
|
174
|
-
return task.run(ctx)
|
|
205
|
+
return task.run(ctx)
|
|
175
206
|
}
|
|
176
207
|
}
|
|
177
208
|
}
|
|
178
209
|
|
|
179
210
|
if (!installed) {
|
|
180
|
-
const errorMessages = errors.map((e) => e.message).join('\n\n')
|
|
181
|
-
throw new UnknownError(
|
|
211
|
+
const errorMessages = errors.map((e) => e.message).join('\n\n')
|
|
212
|
+
throw new UnknownError(
|
|
213
|
+
`Unable to install Magento!\n${errorMessages}`
|
|
214
|
+
)
|
|
182
215
|
}
|
|
183
216
|
},
|
|
184
217
|
options: {
|
|
185
218
|
bottomBar: 15
|
|
186
219
|
}
|
|
187
|
-
})
|
|
220
|
+
})
|
|
188
221
|
|
|
189
|
-
module.exports = installMagento
|
|
222
|
+
module.exports = installMagento
|