@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.
- 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 -157
- 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 +3 -3
- package/lib/config/services/mariadb/versions/mariadb-10.3.js +3 -3
- package/lib/config/services/mariadb/versions/mariadb-10.4.js +3 -3
- 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 +2 -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 +18 -10
- 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 +40 -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 +14 -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 +63 -54
- 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 +8 -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 +44 -19
- 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,46 +1,49 @@
|
|
|
1
|
-
const path = require('path')
|
|
2
|
-
const fs = require('fs')
|
|
3
|
-
const setConfigFile = require('../../util/set-config')
|
|
4
|
-
const pathExists = require('../../util/path-exists')
|
|
5
|
-
const { isIpAddress } = require('../../util/ip')
|
|
6
|
-
const KnownError = require('../../errors/known-error')
|
|
7
|
-
const UnknownError = require('../../errors/unknown-error')
|
|
1
|
+
const path = require('path')
|
|
2
|
+
const fs = require('fs')
|
|
3
|
+
const setConfigFile = require('../../util/set-config')
|
|
4
|
+
const pathExists = require('../../util/path-exists')
|
|
5
|
+
const { isIpAddress } = require('../../util/ip')
|
|
6
|
+
const KnownError = require('../../errors/known-error')
|
|
7
|
+
const UnknownError = require('../../errors/unknown-error')
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* @
|
|
10
|
+
* @returns {import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
|
|
11
11
|
*/
|
|
12
12
|
const createSSLTerminatorConfig = () => ({
|
|
13
13
|
title: 'Setting ssl terminator config',
|
|
14
14
|
task: async (ctx) => {
|
|
15
15
|
const {
|
|
16
16
|
ports,
|
|
17
|
-
config: {
|
|
18
|
-
overridenConfiguration,
|
|
19
|
-
baseConfig
|
|
20
|
-
},
|
|
17
|
+
config: { overridenConfiguration, baseConfig },
|
|
21
18
|
debug,
|
|
22
19
|
isDockerDesktop
|
|
23
|
-
} = ctx
|
|
20
|
+
} = ctx
|
|
24
21
|
|
|
25
22
|
const {
|
|
26
|
-
configuration: {
|
|
27
|
-
sslTerminator
|
|
28
|
-
},
|
|
23
|
+
configuration: { sslTerminator },
|
|
29
24
|
ssl,
|
|
30
25
|
host
|
|
31
|
-
} = overridenConfiguration
|
|
26
|
+
} = overridenConfiguration
|
|
32
27
|
|
|
33
28
|
if (ssl.enabled) {
|
|
34
29
|
if (!(await pathExists(ssl.ssl_certificate))) {
|
|
35
|
-
throw new KnownError('ssl.ssl_certificate file does not exist!')
|
|
30
|
+
throw new KnownError('ssl.ssl_certificate file does not exist!')
|
|
36
31
|
}
|
|
37
32
|
if (!(await pathExists(ssl.ssl_certificate_key))) {
|
|
38
|
-
throw new KnownError(
|
|
33
|
+
throw new KnownError(
|
|
34
|
+
'ssl.ssl_certificate_key file does not exist!'
|
|
35
|
+
)
|
|
39
36
|
}
|
|
40
37
|
|
|
41
|
-
const sslTerminatorCacheDir = path.join(
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
const sslTerminatorCacheDir = path.join(
|
|
39
|
+
baseConfig.cacheDir,
|
|
40
|
+
'ssl-terminator',
|
|
41
|
+
'conf.d'
|
|
42
|
+
)
|
|
43
|
+
if (!(await pathExists(sslTerminatorCacheDir))) {
|
|
44
|
+
await fs.promises.mkdir(sslTerminatorCacheDir, {
|
|
45
|
+
recursive: true
|
|
46
|
+
})
|
|
44
47
|
}
|
|
45
48
|
|
|
46
49
|
await fs.promises.copyFile(
|
|
@@ -51,7 +54,7 @@ const createSSLTerminatorConfig = () => ({
|
|
|
51
54
|
'conf.d',
|
|
52
55
|
'ssl_certificate.pem'
|
|
53
56
|
)
|
|
54
|
-
)
|
|
57
|
+
)
|
|
55
58
|
await fs.promises.copyFile(
|
|
56
59
|
ssl.ssl_certificate_key,
|
|
57
60
|
path.join(
|
|
@@ -60,12 +63,14 @@ const createSSLTerminatorConfig = () => ({
|
|
|
60
63
|
'conf.d',
|
|
61
64
|
'ssl_certificate-key.pem'
|
|
62
65
|
)
|
|
63
|
-
)
|
|
66
|
+
)
|
|
64
67
|
}
|
|
65
68
|
|
|
66
|
-
const networkToBindTo = isIpAddress(host) ? host : '127.0.0.1'
|
|
67
|
-
const hostMachine = !isDockerDesktop
|
|
68
|
-
|
|
69
|
+
const networkToBindTo = isIpAddress(host) ? host : '127.0.0.1'
|
|
70
|
+
const hostMachine = !isDockerDesktop
|
|
71
|
+
? '127.0.0.1'
|
|
72
|
+
: 'host.docker.internal'
|
|
73
|
+
const hostPort = !isDockerDesktop ? ports.sslTerminator : 80
|
|
69
74
|
|
|
70
75
|
try {
|
|
71
76
|
await setConfigFile({
|
|
@@ -85,9 +90,11 @@ const createSSLTerminatorConfig = () => ({
|
|
|
85
90
|
networkToBindTo,
|
|
86
91
|
debug
|
|
87
92
|
}
|
|
88
|
-
})
|
|
93
|
+
})
|
|
89
94
|
} catch (e) {
|
|
90
|
-
throw new UnknownError(
|
|
95
|
+
throw new UnknownError(
|
|
96
|
+
`Unexpected error appeared during ssl terminator config creation\n\n${e}`
|
|
97
|
+
)
|
|
91
98
|
}
|
|
92
99
|
|
|
93
100
|
// fixes ngrok error "ngrok.io redirected you too many times"
|
|
@@ -98,16 +105,21 @@ const createSSLTerminatorConfig = () => ({
|
|
|
98
105
|
'ssl-terminator',
|
|
99
106
|
'fastcgi_params'
|
|
100
107
|
),
|
|
101
|
-
template: path.join(
|
|
108
|
+
template: path.join(
|
|
109
|
+
baseConfig.templateDir,
|
|
110
|
+
'nginx.fastcgi_params.template'
|
|
111
|
+
),
|
|
102
112
|
overwrite: true,
|
|
103
113
|
templateArgs: {
|
|
104
114
|
isNgrok: host.endsWith('ngrok.io')
|
|
105
115
|
}
|
|
106
|
-
})
|
|
116
|
+
})
|
|
107
117
|
} catch (e) {
|
|
108
|
-
throw new UnknownError(
|
|
118
|
+
throw new UnknownError(
|
|
119
|
+
`Unexpected error appeared during ssl terminator fastcgi_params config creation\n\n${e}`
|
|
120
|
+
)
|
|
109
121
|
}
|
|
110
122
|
}
|
|
111
|
-
})
|
|
123
|
+
})
|
|
112
124
|
|
|
113
|
-
module.exports = createSSLTerminatorConfig
|
|
125
|
+
module.exports = createSSLTerminatorConfig
|
|
@@ -1,50 +1,47 @@
|
|
|
1
|
-
const path = require('path')
|
|
2
|
-
const UnknownError = require('../../errors/unknown-error')
|
|
3
|
-
const setConfigFile = require('../../util/set-config')
|
|
1
|
+
const path = require('path')
|
|
2
|
+
const UnknownError = require('../../errors/unknown-error')
|
|
3
|
+
const setConfigFile = require('../../util/set-config')
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* @
|
|
6
|
+
* @returns {import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
|
|
7
7
|
*/
|
|
8
8
|
const createVarnishConfig = () => ({
|
|
9
9
|
title: 'Setting Varnish config',
|
|
10
|
-
skip: (ctx) =>
|
|
10
|
+
skip: (ctx) =>
|
|
11
|
+
!ctx.config.overridenConfiguration.configuration.varnish.enabled,
|
|
11
12
|
task: async (ctx) => {
|
|
12
13
|
const {
|
|
13
14
|
ports,
|
|
14
15
|
config: {
|
|
15
16
|
overridenConfiguration,
|
|
16
|
-
baseConfig: {
|
|
17
|
-
cacheDir
|
|
18
|
-
}
|
|
17
|
+
baseConfig: { cacheDir }
|
|
19
18
|
},
|
|
20
19
|
isDockerDesktop
|
|
21
|
-
} = ctx
|
|
20
|
+
} = ctx
|
|
22
21
|
|
|
23
22
|
const {
|
|
24
|
-
configuration: {
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
} = overridenConfiguration;
|
|
23
|
+
configuration: { varnish }
|
|
24
|
+
} = overridenConfiguration
|
|
28
25
|
|
|
29
26
|
try {
|
|
30
27
|
await setConfigFile({
|
|
31
|
-
configPathname: path.join(
|
|
32
|
-
cacheDir,
|
|
33
|
-
'varnish',
|
|
34
|
-
'default.vcl'
|
|
35
|
-
),
|
|
28
|
+
configPathname: path.join(cacheDir, 'varnish', 'default.vcl'),
|
|
36
29
|
template: varnish.configTemplate,
|
|
37
30
|
overwrite: true,
|
|
38
31
|
templateArgs: {
|
|
39
|
-
hostMachine: !isDockerDesktop
|
|
32
|
+
hostMachine: !isDockerDesktop
|
|
33
|
+
? '127.0.0.1'
|
|
34
|
+
: 'host.docker.internal',
|
|
40
35
|
nginxPort: ports.app,
|
|
41
36
|
healthCheck: varnish.healthCheck
|
|
42
37
|
}
|
|
43
|
-
})
|
|
38
|
+
})
|
|
44
39
|
} catch (e) {
|
|
45
|
-
throw new UnknownError(
|
|
40
|
+
throw new UnknownError(
|
|
41
|
+
`Unexpected error accrued during varnish config creation\n\n${e}`
|
|
42
|
+
)
|
|
46
43
|
}
|
|
47
44
|
}
|
|
48
|
-
})
|
|
45
|
+
})
|
|
49
46
|
|
|
50
|
-
module.exports = createVarnishConfig
|
|
47
|
+
module.exports = createVarnishConfig
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
const path = require('path')
|
|
2
|
-
const fs = require('fs')
|
|
3
|
-
const hjson = require('hjson')
|
|
4
|
-
const pathExists = require('../../util/path-exists')
|
|
5
|
-
const setConfigFile = require('../../util/set-config')
|
|
6
|
-
const UnknownError = require('../../errors/unknown-error')
|
|
1
|
+
const path = require('path')
|
|
2
|
+
const fs = require('fs')
|
|
3
|
+
const hjson = require('hjson')
|
|
4
|
+
const pathExists = require('../../util/path-exists')
|
|
5
|
+
const setConfigFile = require('../../util/set-config')
|
|
6
|
+
const UnknownError = require('../../errors/unknown-error')
|
|
7
7
|
|
|
8
|
-
const listenForXDebugConfigName = 'Listen for XDebug'
|
|
8
|
+
const listenForXDebugConfigName = 'Listen for XDebug'
|
|
9
9
|
|
|
10
|
-
const xdebugPort = 9003
|
|
10
|
+
const xdebugPort = 9003
|
|
11
11
|
|
|
12
|
-
const vscodeLaunchConfigPath = path.join(
|
|
12
|
+
const vscodeLaunchConfigPath = path.join(
|
|
13
|
+
process.cwd(),
|
|
14
|
+
'.vscode',
|
|
15
|
+
'launch.json'
|
|
16
|
+
)
|
|
13
17
|
|
|
14
18
|
/**
|
|
15
19
|
* @param {import('../../../typings/context').ListrContext} ctx
|
|
@@ -17,9 +21,9 @@ const vscodeLaunchConfigPath = path.join(process.cwd(), '.vscode', 'launch.json'
|
|
|
17
21
|
const addPHPDebugConfig = (vscodeLaunchConfig, ctx) => {
|
|
18
22
|
const phpXDebugConfig = vscodeLaunchConfig.configurations.find(
|
|
19
23
|
({ name }) => name === listenForXDebugConfigName
|
|
20
|
-
)
|
|
24
|
+
)
|
|
21
25
|
|
|
22
|
-
let hasChanges = false
|
|
26
|
+
let hasChanges = false
|
|
23
27
|
|
|
24
28
|
const newConfiguration = {
|
|
25
29
|
name: listenForXDebugConfigName,
|
|
@@ -30,61 +34,68 @@ const addPHPDebugConfig = (vscodeLaunchConfig, ctx) => {
|
|
|
30
34
|
// eslint-disable-next-line no-template-curly-in-string
|
|
31
35
|
[ctx.config.baseConfig.containerMagentoDir]: '${workspaceFolder}'
|
|
32
36
|
}
|
|
33
|
-
|
|
34
|
-
};
|
|
37
|
+
}
|
|
35
38
|
|
|
36
39
|
if (phpXDebugConfig && phpXDebugConfig.runtimeExecutable) {
|
|
37
|
-
vscodeLaunchConfig.configurations =
|
|
38
|
-
(
|
|
39
|
-
|
|
40
|
+
vscodeLaunchConfig.configurations =
|
|
41
|
+
vscodeLaunchConfig.configurations.filter(
|
|
42
|
+
({ name }) => name !== listenForXDebugConfigName
|
|
43
|
+
)
|
|
40
44
|
|
|
41
|
-
vscodeLaunchConfig.configurations.push(newConfiguration)
|
|
45
|
+
vscodeLaunchConfig.configurations.push(newConfiguration)
|
|
42
46
|
|
|
43
|
-
return true
|
|
47
|
+
return true
|
|
44
48
|
}
|
|
45
49
|
if (!phpXDebugConfig) {
|
|
46
|
-
vscodeLaunchConfig.configurations.push(newConfiguration)
|
|
50
|
+
vscodeLaunchConfig.configurations.push(newConfiguration)
|
|
47
51
|
|
|
48
|
-
return true
|
|
52
|
+
return true
|
|
49
53
|
}
|
|
50
54
|
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
|| phpXDebugConfig.port !== xdebugPort) {
|
|
54
|
-
phpXDebugConfig.port = xdebugPort;
|
|
55
|
+
if (!phpXDebugConfig.port || phpXDebugConfig.port !== xdebugPort) {
|
|
56
|
+
phpXDebugConfig.port = xdebugPort
|
|
55
57
|
|
|
56
|
-
hasChanges = true
|
|
58
|
+
hasChanges = true
|
|
57
59
|
}
|
|
58
60
|
|
|
59
|
-
if (
|
|
61
|
+
if (
|
|
62
|
+
!phpXDebugConfig.pathMappings ||
|
|
63
|
+
!phpXDebugConfig.pathMappings[ctx.config.baseConfig.containerMagentoDir]
|
|
64
|
+
) {
|
|
60
65
|
phpXDebugConfig.pathMappings = {
|
|
61
66
|
// eslint-disable-next-line no-template-curly-in-string
|
|
62
67
|
[ctx.config.baseConfig.containerMagentoDir]: '${workspaceFolder}'
|
|
63
|
-
}
|
|
68
|
+
}
|
|
64
69
|
|
|
65
|
-
hasChanges = true
|
|
70
|
+
hasChanges = true
|
|
66
71
|
}
|
|
67
72
|
|
|
68
|
-
return hasChanges
|
|
69
|
-
}
|
|
73
|
+
return hasChanges
|
|
74
|
+
}
|
|
70
75
|
|
|
71
76
|
/**
|
|
72
|
-
* @
|
|
77
|
+
* @returns {import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
|
|
73
78
|
*/
|
|
74
79
|
const createVSCodeConfig = () => ({
|
|
75
80
|
title: 'Setting VSCode config',
|
|
76
81
|
task: async (ctx, task) => {
|
|
77
82
|
if (await pathExists(vscodeLaunchConfigPath)) {
|
|
78
|
-
const vscodeLaunchConfig = hjson.parse(
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
const vscodeLaunchConfig = hjson.parse(
|
|
84
|
+
await fs.promises.readFile(vscodeLaunchConfigPath, 'utf-8'),
|
|
85
|
+
{
|
|
86
|
+
keepWsc: true
|
|
87
|
+
}
|
|
88
|
+
)
|
|
81
89
|
|
|
82
|
-
const vscodeConfigEdited = addPHPDebugConfig(
|
|
90
|
+
const vscodeConfigEdited = addPHPDebugConfig(
|
|
91
|
+
vscodeLaunchConfig,
|
|
92
|
+
ctx
|
|
93
|
+
)
|
|
83
94
|
|
|
84
95
|
// if vscode config is up-to-date, skip task
|
|
85
96
|
if (!vscodeConfigEdited) {
|
|
86
|
-
task.skip()
|
|
87
|
-
return
|
|
97
|
+
task.skip()
|
|
98
|
+
return
|
|
88
99
|
}
|
|
89
100
|
|
|
90
101
|
const result = hjson.stringify(vscodeLaunchConfig, {
|
|
@@ -92,24 +103,28 @@ const createVSCodeConfig = () => ({
|
|
|
92
103
|
bracesSameLine: true,
|
|
93
104
|
separator: true,
|
|
94
105
|
quotes: 'all'
|
|
106
|
+
})
|
|
95
107
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
await fs.promises.writeFile(vscodeLaunchConfigPath, result);
|
|
108
|
+
await fs.promises.writeFile(vscodeLaunchConfigPath, result)
|
|
99
109
|
|
|
100
|
-
return
|
|
110
|
+
return
|
|
101
111
|
}
|
|
102
112
|
|
|
103
|
-
if (!await pathExists(path.join(process.cwd(), '.vscode'))) {
|
|
113
|
+
if (!(await pathExists(path.join(process.cwd(), '.vscode')))) {
|
|
104
114
|
try {
|
|
105
|
-
await fs.promises.mkdir(path.join(process.cwd(), '.vscode'))
|
|
115
|
+
await fs.promises.mkdir(path.join(process.cwd(), '.vscode'))
|
|
106
116
|
} catch (e) {
|
|
107
|
-
throw new UnknownError(
|
|
117
|
+
throw new UnknownError(
|
|
118
|
+
`Unable to creade .vscode directory in your project!\n\n${e}`
|
|
119
|
+
)
|
|
108
120
|
}
|
|
109
121
|
}
|
|
110
122
|
|
|
111
123
|
try {
|
|
112
|
-
const vscodeLaunchConfigTemplatePath = path.join(
|
|
124
|
+
const vscodeLaunchConfigTemplatePath = path.join(
|
|
125
|
+
ctx.config.baseConfig.templateDir,
|
|
126
|
+
'vscode-launch.template.json'
|
|
127
|
+
)
|
|
113
128
|
await setConfigFile({
|
|
114
129
|
template: vscodeLaunchConfigTemplatePath,
|
|
115
130
|
configPathname: vscodeLaunchConfigPath,
|
|
@@ -117,12 +132,14 @@ const createVSCodeConfig = () => ({
|
|
|
117
132
|
XDebugPort: xdebugPort,
|
|
118
133
|
baseConfig: ctx.config.baseConfig
|
|
119
134
|
}
|
|
120
|
-
})
|
|
135
|
+
})
|
|
121
136
|
} catch (e) {
|
|
122
|
-
throw new UnknownError(
|
|
137
|
+
throw new UnknownError(
|
|
138
|
+
`Unexpected error accrued during launch.json config creation!\n\n${e}`
|
|
139
|
+
)
|
|
123
140
|
}
|
|
124
141
|
},
|
|
125
142
|
exitOnError: false
|
|
126
|
-
})
|
|
143
|
+
})
|
|
127
144
|
|
|
128
|
-
module.exports = createVSCodeConfig
|
|
145
|
+
module.exports = createVSCodeConfig
|
|
@@ -1,33 +1,37 @@
|
|
|
1
|
-
const createMariaDBConfig = require('./create-mariadb-config')
|
|
2
|
-
const createNginxConfig = require('./create-nginx-config')
|
|
3
|
-
const createPhpConfig = require('./create-php-config')
|
|
4
|
-
const createPhpDebugConfig = require('./create-php-debug-config')
|
|
5
|
-
const createPhpFpmConfig = require('./create-php-fpm-config')
|
|
6
|
-
const createPhpStormConfig = require('./create-phpstorm-config')
|
|
7
|
-
const createSSLTerminatorConfig = require('./create-ssl-terminator-config')
|
|
8
|
-
const createVarnishConfig = require('./create-varnish-config')
|
|
9
|
-
const createVSCodeConfig = require('./create-vscode-config')
|
|
1
|
+
const createMariaDBConfig = require('./create-mariadb-config')
|
|
2
|
+
const createNginxConfig = require('./create-nginx-config')
|
|
3
|
+
const createPhpConfig = require('./create-php-config')
|
|
4
|
+
const createPhpDebugConfig = require('./create-php-debug-config')
|
|
5
|
+
const createPhpFpmConfig = require('./create-php-fpm-config')
|
|
6
|
+
const createPhpStormConfig = require('./create-phpstorm-config')
|
|
7
|
+
const createSSLTerminatorConfig = require('./create-ssl-terminator-config')
|
|
8
|
+
const createVarnishConfig = require('./create-varnish-config')
|
|
9
|
+
const createVSCodeConfig = require('./create-vscode-config')
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* @
|
|
12
|
+
* @returns {import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
|
|
13
13
|
*/
|
|
14
14
|
const prepareFileSystem = () => ({
|
|
15
15
|
title: 'Preparing file system',
|
|
16
|
-
task: (ctx, task) =>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
task: (ctx, task) =>
|
|
17
|
+
task.newListr(
|
|
18
|
+
[
|
|
19
|
+
createSSLTerminatorConfig(),
|
|
20
|
+
createNginxConfig(),
|
|
21
|
+
createPhpFpmConfig(),
|
|
22
|
+
createPhpConfig(),
|
|
23
|
+
createPhpDebugConfig(),
|
|
24
|
+
createPhpStormConfig(),
|
|
25
|
+
createVSCodeConfig(),
|
|
26
|
+
createVarnishConfig(),
|
|
27
|
+
createMariaDBConfig()
|
|
28
|
+
],
|
|
29
|
+
{
|
|
30
|
+
concurrent: true
|
|
31
|
+
}
|
|
32
|
+
)
|
|
33
|
+
})
|
|
30
34
|
|
|
31
35
|
module.exports = {
|
|
32
36
|
prepareFileSystem
|
|
33
|
-
}
|
|
37
|
+
}
|
package/lib/tasks/import-dump.js
CHANGED
|
@@ -1,65 +1,74 @@
|
|
|
1
|
-
const path = require('path')
|
|
2
|
-
const { checkRequirements } = require('./requirements')
|
|
1
|
+
const path = require('path')
|
|
2
|
+
const { checkRequirements } = require('./requirements')
|
|
3
3
|
const {
|
|
4
4
|
importDumpToDatabase,
|
|
5
5
|
fixDB,
|
|
6
6
|
dumpThemeConfig,
|
|
7
7
|
restoreThemeConfig
|
|
8
|
-
} = require('./database')
|
|
9
|
-
const { setupMagento } = require('./magento')
|
|
10
|
-
const indexProducts = require('./magento/setup-magento/index-products')
|
|
8
|
+
} = require('./database')
|
|
9
|
+
const { setupMagento } = require('./magento')
|
|
10
|
+
const indexProducts = require('./magento/setup-magento/index-products')
|
|
11
11
|
const {
|
|
12
12
|
retrieveProjectConfiguration,
|
|
13
13
|
stopProject,
|
|
14
14
|
retrieveFreshProjectConfiguration,
|
|
15
15
|
configureProject
|
|
16
|
-
} = require('./start')
|
|
17
|
-
const importRemoteDb = require('./database/import-remote-db')
|
|
18
|
-
const matchFilesystem = require('../util/match-filesystem')
|
|
16
|
+
} = require('./start')
|
|
17
|
+
const importRemoteDb = require('./database/import-remote-db')
|
|
18
|
+
const matchFilesystem = require('../util/match-filesystem')
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* @
|
|
21
|
+
* @returns {import('listr2').ListrTask<import('../../typings/context').ListrContext>}
|
|
22
22
|
*/
|
|
23
23
|
const importDump = () => ({
|
|
24
24
|
title: 'Importing Database Dump',
|
|
25
|
-
task: (ctx, task) =>
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
25
|
+
task: (ctx, task) =>
|
|
26
|
+
task.newListr(
|
|
27
|
+
[
|
|
28
|
+
importRemoteDb(),
|
|
29
|
+
checkRequirements(),
|
|
30
|
+
retrieveProjectConfiguration(),
|
|
31
|
+
stopProject(),
|
|
32
|
+
retrieveFreshProjectConfiguration(),
|
|
33
|
+
configureProject(),
|
|
34
|
+
{
|
|
35
|
+
title: 'Installing Magento',
|
|
36
|
+
// skip setup if env.php and config.php are present in app/etc folder and db is not empty
|
|
37
|
+
skip: async (ctx) => {
|
|
38
|
+
const isFsMatching = await matchFilesystem(
|
|
39
|
+
path.join(process.cwd(), 'app', 'etc'),
|
|
40
|
+
['config.php', 'env.php']
|
|
41
|
+
)
|
|
42
|
+
const { databaseConnection } = ctx
|
|
43
|
+
const [[{ tableCount }]] =
|
|
44
|
+
await databaseConnection.query(`
|
|
39
45
|
SELECT count(*) AS tableCount
|
|
40
46
|
FROM INFORMATION_SCHEMA.TABLES
|
|
41
47
|
WHERE TABLE_SCHEMA = 'magento';
|
|
42
|
-
`)
|
|
48
|
+
`)
|
|
43
49
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
50
|
+
return tableCount !== 0 || !isFsMatching
|
|
51
|
+
},
|
|
52
|
+
task: (subCtx, subTask) =>
|
|
53
|
+
subTask.newListr(
|
|
54
|
+
setupMagento({ onlyInstallMagento: true })
|
|
55
|
+
)
|
|
56
|
+
},
|
|
57
|
+
dumpThemeConfig(),
|
|
58
|
+
importDumpToDatabase(),
|
|
59
|
+
restoreThemeConfig(),
|
|
60
|
+
fixDB(),
|
|
61
|
+
setupMagento(),
|
|
62
|
+
indexProducts()
|
|
63
|
+
],
|
|
64
|
+
{
|
|
65
|
+
concurrent: false,
|
|
66
|
+
exitOnError: true,
|
|
67
|
+
rendererOptions: {
|
|
68
|
+
collapse: false
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
)
|
|
72
|
+
})
|
|
64
73
|
|
|
65
|
-
module.exports = importDump
|
|
74
|
+
module.exports = importDump
|
package/lib/tasks/link.js
CHANGED
|
@@ -1,29 +1,30 @@
|
|
|
1
|
-
const getMagentoVersionConfig = require('../config/get-magento-version-config')
|
|
2
|
-
const { getCachedPorts } = require('../config/get-port-config')
|
|
3
|
-
const getProjectConfiguration = require('../config/get-project-configuration')
|
|
4
|
-
const retrieveThemeData = require('./theme/retrieve-theme-data')
|
|
5
|
-
const linkTheme = require('./theme/link-theme')
|
|
6
|
-
const { startServices } = require('./docker')
|
|
7
|
-
const checkConfigurationFile = require('../config/check-configuration-file')
|
|
8
|
-
const { connectToDatabase } = require('./database')
|
|
9
|
-
const { checkRequirements } = require('./requirements')
|
|
1
|
+
const getMagentoVersionConfig = require('../config/get-magento-version-config')
|
|
2
|
+
const { getCachedPorts } = require('../config/get-port-config')
|
|
3
|
+
const getProjectConfiguration = require('../config/get-project-configuration')
|
|
4
|
+
const retrieveThemeData = require('./theme/retrieve-theme-data')
|
|
5
|
+
const linkTheme = require('./theme/link-theme')
|
|
6
|
+
const { startServices } = require('./docker')
|
|
7
|
+
const checkConfigurationFile = require('../config/check-configuration-file')
|
|
8
|
+
const { connectToDatabase } = require('./database')
|
|
9
|
+
const { checkRequirements } = require('./requirements')
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @type {(theme: string) => import('listr2').ListrTask<import('../../typings/context').ListrContext>}
|
|
13
13
|
*/
|
|
14
14
|
const linkTask = (themePath) => ({
|
|
15
|
-
task: (ctx, task) =>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
task: (ctx, task) =>
|
|
16
|
+
task.newListr([
|
|
17
|
+
checkRequirements(),
|
|
18
|
+
getMagentoVersionConfig(),
|
|
19
|
+
checkConfigurationFile(),
|
|
20
|
+
getProjectConfiguration(),
|
|
21
|
+
getCachedPorts(),
|
|
22
|
+
startServices(),
|
|
23
|
+
// startPhpFpm(),
|
|
24
|
+
connectToDatabase(),
|
|
25
|
+
retrieveThemeData(themePath),
|
|
26
|
+
linkTheme()
|
|
27
|
+
])
|
|
28
|
+
})
|
|
28
29
|
|
|
29
|
-
module.exports = linkTask
|
|
30
|
+
module.exports = linkTask
|