@scandipwa/magento-scripts 1.16.0 → 2.0.0-alpha.1
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/lib/commands/cli.js +4 -6
- package/lib/commands/execute.js +29 -4
- package/lib/commands/import-db.js +1 -1
- package/lib/commands/logs.js +1 -1
- package/lib/commands/start.js +38 -20
- package/lib/commands/status.js +2 -0
- package/lib/config/docker.js +98 -83
- package/lib/config/get-project-configuration.js +3 -1
- package/lib/config/index.js +10 -7
- package/lib/config/magento/required-php-extensions/index.js +29 -0
- package/lib/config/magento/required-php-extensions/magento-2.3.js +19 -0
- package/lib/config/magento/required-php-extensions/magento-2.4.js +29 -0
- package/lib/config/php/base-repo.js +3 -0
- package/lib/config/php/extensions/apcu.js +12 -0
- package/lib/config/php/extensions/bcmath.js +7 -0
- package/lib/config/php/extensions/curl.js +11 -0
- package/lib/config/php/extensions/gd.js +14 -0
- package/lib/config/php/extensions/index.js +18 -2
- package/lib/config/php/extensions/intl.js +10 -0
- package/lib/config/php/extensions/opcache.js +10 -0
- package/lib/config/php/extensions/pdo_mysql.js +7 -0
- package/lib/config/php/extensions/soap.js +10 -0
- package/lib/config/php/extensions/sodium.js +10 -0
- package/lib/config/php/extensions/xdebug.js +8 -5
- package/lib/config/php/extensions/xsl.js +10 -0
- package/lib/config/php/extensions/zip.js +10 -0
- package/lib/config/php/{releases → versions}/index.js +0 -0
- package/lib/config/php/versions/php-7.2.js +23 -0
- package/lib/config/php/versions/php-7.3.js +23 -0
- package/lib/config/php/versions/php-7.4.js +23 -0
- package/lib/config/php/versions/php-8.1.js +23 -0
- package/lib/config/php-config.js +8 -12
- package/lib/config/port-config.js +2 -6
- package/lib/config/services/elasticsearch/base-repo.js +3 -0
- package/lib/config/services/elasticsearch/versions/elasticsearch-6.8.js +23 -0
- package/lib/config/services/elasticsearch/versions/index.js +5 -0
- package/lib/config/templates/magentorc.template +5 -5
- package/lib/config/templates/mariadb.template.cnf +191 -0
- package/lib/config/templates/php-fpm.template.conf +3 -3
- package/lib/config/templates/php.template.ini +12 -6
- package/lib/config/templates/ssl-terminator.template.conf +1 -1
- package/lib/config/templates/vscode-launch.template.json +3 -1
- package/lib/config/versions/magento-2.3.0.js +10 -5
- package/lib/config/versions/magento-2.3.1.js +10 -5
- package/lib/config/versions/magento-2.3.2-p1.js +43 -0
- package/lib/config/versions/magento-2.3.2-p2.js +10 -5
- package/lib/config/versions/magento-2.3.2.js +10 -5
- package/lib/config/versions/magento-2.3.3-p1.js +10 -5
- package/lib/config/versions/magento-2.3.3.js +10 -5
- package/lib/config/versions/magento-2.3.4-p1.js +43 -0
- package/lib/config/versions/magento-2.3.4-p2.js +10 -5
- package/lib/config/versions/magento-2.3.4.js +10 -5
- package/lib/config/versions/magento-2.3.5-p1.js +8 -2
- package/lib/config/versions/magento-2.3.5-p2.js +8 -2
- package/lib/config/versions/magento-2.3.5.js +8 -2
- package/lib/config/versions/magento-2.3.6-p1.js +8 -2
- package/lib/config/versions/magento-2.3.6.js +8 -2
- package/lib/config/versions/magento-2.3.7-p1.js +8 -2
- package/lib/config/versions/magento-2.3.7-p2.js +8 -2
- package/lib/config/versions/magento-2.3.7-p3.js +8 -2
- package/lib/config/versions/magento-2.3.7.js +8 -2
- package/lib/config/versions/magento-2.4.0-p1.js +9 -3
- package/lib/config/versions/magento-2.4.0.js +9 -3
- package/lib/config/versions/magento-2.4.1-p1.js +6 -5
- package/lib/config/versions/magento-2.4.1.js +9 -2
- package/lib/config/versions/magento-2.4.2-p1.js +6 -5
- package/lib/config/versions/magento-2.4.2-p2.js +6 -6
- package/lib/config/versions/magento-2.4.2.js +6 -6
- package/lib/config/versions/magento-2.4.3-p1.js +7 -7
- package/lib/config/versions/magento-2.4.3-p2.js +7 -7
- package/lib/config/versions/magento-2.4.3.js +7 -7
- package/lib/config/versions/magento-2.4.4.js +9 -2
- package/lib/tasks/cleanup.js +3 -3
- package/lib/tasks/composer/index.js +14 -104
- package/lib/tasks/database/connect-to-database.js +117 -0
- package/lib/tasks/database/create-magento-database.js +18 -0
- package/lib/tasks/{mysql → database}/dump-theme-config.js +3 -3
- package/lib/tasks/{mysql → database}/fix-db.js +2 -2
- package/lib/tasks/{mysql/import-dump-to-mysql.js → database/import-dump-to-database.js} +65 -22
- package/lib/tasks/{mysql → database}/import-remote-db/index.js +0 -0
- package/lib/tasks/{mysql/import-remote-db/ssh/mysqldump-command.js → database/import-remote-db/ssh/database-dump-command.js} +2 -2
- package/lib/tasks/{mysql → database}/import-remote-db/ssh/index.js +0 -0
- package/lib/tasks/{mysql → database}/import-remote-db/ssh/readymage.js +4 -4
- package/lib/tasks/{mysql → database}/import-remote-db/ssh/regular-server.js +2 -2
- package/lib/tasks/{mysql → database}/index.js +2 -2
- package/lib/tasks/{mysql → database}/magento-tables.js +0 -0
- package/lib/tasks/{mysql → database}/restore-theme-config.js +4 -4
- package/lib/tasks/docker/api.d.ts +71 -0
- package/lib/tasks/docker/api.js +30 -0
- package/lib/tasks/docker/containers/container-api.d.ts +128 -0
- package/lib/tasks/docker/containers/container-api.js +153 -0
- package/lib/tasks/docker/containers/index.js +19 -0
- package/lib/tasks/docker/containers/tasks.js +215 -0
- package/lib/tasks/docker/convert-legacy-volumes.js +15 -10
- package/lib/tasks/docker/convert-mysql-to-mariadb.js +284 -0
- package/lib/tasks/docker/image/image-api.d.ts +34 -0
- package/lib/tasks/docker/image/image-api.js +49 -0
- package/lib/tasks/docker/image/index.js +5 -0
- package/lib/tasks/docker/index.js +1 -13
- package/lib/tasks/docker/network/index.js +7 -0
- package/lib/tasks/docker/network/network-api.d.ts +103 -0
- package/lib/tasks/docker/network/network-api.js +99 -0
- package/lib/tasks/docker/{network.js → network/tasks.js} +17 -10
- package/lib/tasks/docker/project-image-builder.js +167 -0
- package/lib/tasks/docker/volume/index.js +8 -0
- package/lib/tasks/docker/{volumes.js → volume/tasks.js} +5 -19
- package/lib/tasks/docker/volume/volume-api.d.ts +39 -0
- package/lib/tasks/docker/volume/volume-api.js +66 -0
- package/lib/tasks/execute/index.js +5 -2
- package/lib/tasks/file-system/create-mariadb-config.js +23 -0
- package/lib/tasks/file-system/create-nginx-config.js +2 -3
- package/lib/tasks/file-system/create-php-config.js +20 -5
- package/lib/tasks/file-system/create-php-fpm-config.js +8 -4
- package/lib/tasks/file-system/create-phpstorm-config/exclude-folder-config.js +41 -29
- package/lib/tasks/file-system/create-phpstorm-config/index.js +2 -0
- package/lib/tasks/file-system/create-phpstorm-config/keys.js +15 -1
- package/lib/tasks/file-system/create-phpstorm-config/php-config/index.js +4 -1
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-config.js +3 -3
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-interpreters-config.js +81 -0
- package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/index.js +42 -0
- package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/php-docker-settings-config.js +9 -0
- package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/setup-php-docker-container-settings-config.js +66 -0
- package/lib/tasks/file-system/create-phpstorm-config/setup-xml-structure.js +11 -9
- package/lib/tasks/file-system/create-phpstorm-config/stylelint-config.js +2 -1
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/composer-settings-config.js +15 -30
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/index.js +24 -5
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/mess-detector-project-configuration-config.js +50 -0
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-code-sniffer-project-configuration-config.js +50 -0
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-cs-fixer-project-configuration-config.js +50 -0
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-debug-general-config.js +15 -15
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-server-config.js +29 -3
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-stan-project-configuration-config.js.js +50 -0
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-workspace-project-configuration-config.js +42 -0
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/psalm-project-configuration-config.js.js +50 -0
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/workspace-config.js +0 -2
- package/lib/tasks/file-system/create-ssl-terminator-config.js +4 -2
- package/lib/tasks/file-system/create-vscode-config.js +57 -42
- package/lib/tasks/file-system/index.js +5 -2
- package/lib/tasks/import-dump.js +6 -6
- package/lib/tasks/link.js +5 -4
- package/lib/tasks/magento/install-magento-project.js +31 -63
- package/lib/tasks/magento/setup-magento/adjust-full-page-cache.js +4 -4
- package/lib/tasks/magento/setup-magento/configure-elasticsearch.js +7 -3
- package/lib/tasks/magento/setup-magento/create-admin.js +5 -6
- package/lib/tasks/magento/setup-magento/delete-admin-users.js +2 -2
- package/lib/tasks/magento/setup-magento/delete-customers.js +4 -4
- package/lib/tasks/magento/setup-magento/delete-orders.js +4 -4
- package/lib/tasks/magento/setup-magento/disable-2fa.js +3 -5
- package/lib/tasks/magento/setup-magento/disable-maintenance-mode.js +3 -4
- package/lib/tasks/magento/setup-magento/increase-admin-session-lifetime.js +2 -2
- package/lib/tasks/magento/setup-magento/index.js +3 -3
- package/lib/tasks/magento/setup-magento/install-magento.js +47 -40
- package/lib/tasks/magento/setup-magento/migrate-database.js +7 -14
- package/lib/tasks/magento/setup-magento/set-base-url.js +2 -2
- package/lib/tasks/magento/setup-magento/set-deployment-mode.js +4 -4
- package/lib/tasks/magento/setup-magento/set-url-rewrite.js +2 -2
- package/lib/tasks/magento/setup-magento/varnish-config.js +11 -9
- package/lib/tasks/magento/setup-magento/waiting-for-varnish.js +128 -3
- package/lib/tasks/php/php-container.js +108 -0
- package/lib/tasks/php/update-env-php.js +39 -21
- package/lib/tasks/php/update-env.php +66 -61
- package/lib/tasks/php/working_health_check.php +85 -0
- package/lib/tasks/requirements/{composer.js → composer-credentials.js} +3 -1
- package/lib/tasks/requirements/docker/index.js +15 -12
- package/lib/tasks/requirements/docker/performance.js +54 -0
- package/lib/tasks/requirements/docker/version.js +8 -8
- package/lib/tasks/requirements/index.js +5 -8
- package/lib/tasks/requirements/php-version.js +8 -116
- package/lib/tasks/requirements/platform.js +12 -25
- package/lib/tasks/start.js +24 -51
- package/lib/tasks/status/index.js +8 -12
- package/lib/tasks/stop.js +0 -2
- package/lib/tasks/theme/install-theme.js +1 -1
- package/lib/tasks/theme/link-theme.js +2 -2
- package/lib/tasks/theme/symlink-theme.js +2 -3
- package/lib/util/config-file-validator.js +27 -13
- package/lib/util/config-php-json.js +13 -4
- package/lib/util/database.js +7 -7
- package/lib/util/dockerfile-builder/build-instructions.js +197 -0
- package/lib/util/dockerfile-builder/index.js +276 -0
- package/lib/util/dockerfile-builder/types.d.ts +123 -0
- package/lib/util/env-php-json.js +10 -6
- package/lib/util/exec-async-command.js +3 -9
- package/lib/util/macos-version.js +20 -0
- package/lib/util/magento-task.js +3 -4
- package/lib/util/nginx-logs-parser.js +122 -0
- package/lib/util/php-task.js +3 -6
- package/lib/util/run-composer.js +6 -14
- package/lib/util/run-container-image.js +17 -0
- package/lib/util/run-magento.js +6 -14
- package/lib/util/run-php.js +6 -17
- package/package.json +9 -9
- package/typings/context.d.ts +7 -13
- package/typings/index.d.ts +67 -85
- package/yarn-error.log +9660 -0
- package/lib/config/composer.js +0 -11
- package/lib/config/php/extensions/libsodium.js +0 -36
- package/lib/config/php/releases/php-7.2.js +0 -25
- package/lib/config/php/releases/php-7.3.js +0 -25
- package/lib/config/php/releases/php-7.4.js +0 -23
- package/lib/config/php/releases/php-8.1.js +0 -25
- package/lib/config/phpbrew.js +0 -12
- package/lib/tasks/composer/install-prestissimo.js +0 -103
- package/lib/tasks/docker/containers.js +0 -231
- package/lib/tasks/mysql/connect-to-mysql.js +0 -114
- package/lib/tasks/mysql/create-magento-database.js +0 -18
- package/lib/tasks/php/bundled-extensions.js +0 -27
- package/lib/tasks/php/compile-options.js +0 -56
- package/lib/tasks/php/compile.js +0 -55
- package/lib/tasks/php/configure.js +0 -89
- package/lib/tasks/php/extensions/disable.js +0 -49
- package/lib/tasks/php/extensions/enable.js +0 -52
- package/lib/tasks/php/extensions/index.js +0 -80
- package/lib/tasks/php/extensions/install.js +0 -54
- package/lib/tasks/php/index.js +0 -79
- package/lib/tasks/php/install-sodium.js +0 -93
- package/lib/tasks/php/update-phpbrew.js +0 -45
- package/lib/tasks/php/validate-php.js +0 -67
- package/lib/tasks/php-fpm/get-process-id.js +0 -14
- package/lib/tasks/php-fpm/index.js +0 -4
- package/lib/tasks/php-fpm/start-php-fpm.js +0 -49
- package/lib/tasks/php-fpm/stop-php-fpm.js +0 -48
- package/lib/tasks/requirements/phpbrew/index.js +0 -61
- package/lib/tasks/requirements/phpbrew/install.js +0 -159
- package/lib/tasks/requirements/phpbrew/version.js +0 -28
|
@@ -1,77 +1,85 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
|
-
const semver = require('semver');
|
|
3
2
|
const fs = require('fs');
|
|
4
|
-
const os = require('os');
|
|
5
3
|
const hjson = require('hjson');
|
|
6
4
|
const pathExists = require('../../util/path-exists');
|
|
7
5
|
const setConfigFile = require('../../util/set-config');
|
|
8
6
|
const UnknownError = require('../../errors/unknown-error');
|
|
9
7
|
|
|
10
|
-
const phpXDebug2port = 9111;
|
|
11
|
-
const phpXDebug3port = 9003;
|
|
12
8
|
const listenForXDebugConfigName = 'Listen for XDebug';
|
|
13
9
|
|
|
14
|
-
const
|
|
10
|
+
const xdebugPort = 9003;
|
|
15
11
|
|
|
16
|
-
|
|
17
|
-
* @param {import('../../../typings/context').ListrContext['config']['php']} php
|
|
18
|
-
*/
|
|
19
|
-
const getCurrentXDebugPort = (php) => (semver.satisfies(php.extensions.xdebug.version, '>=3')
|
|
20
|
-
? phpXDebug3port
|
|
21
|
-
: phpXDebug2port);
|
|
12
|
+
const vscodeLaunchConfigPath = path.join(process.cwd(), '.vscode', 'launch.json');
|
|
22
13
|
|
|
23
14
|
/**
|
|
24
|
-
* @param {import('../../../typings/context').ListrContext
|
|
25
|
-
*/
|
|
26
|
-
const getPHPBinPathWithHomeVariable = (php) => php.binPath.replace(os.homedir(), '$HOME');
|
|
27
|
-
/**
|
|
28
|
-
* @param {import('../../../typings/context').ListrContext['config']['php']} php
|
|
15
|
+
* @param {import('../../../typings/context').ListrContext} ctx
|
|
29
16
|
*/
|
|
30
|
-
const addPHPDebugConfig = (vscodeLaunchConfig,
|
|
17
|
+
const addPHPDebugConfig = (vscodeLaunchConfig, ctx) => {
|
|
31
18
|
const phpXDebugConfig = vscodeLaunchConfig.configurations.find(
|
|
32
19
|
({ name }) => name === listenForXDebugConfigName
|
|
33
20
|
);
|
|
34
21
|
|
|
35
|
-
|
|
36
|
-
|
|
22
|
+
let hasChanges = false;
|
|
23
|
+
|
|
24
|
+
const newConfiguration = {
|
|
25
|
+
name: listenForXDebugConfigName,
|
|
26
|
+
type: 'php',
|
|
27
|
+
request: 'launch',
|
|
28
|
+
port: xdebugPort,
|
|
29
|
+
pathMappings: {
|
|
30
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
31
|
+
[ctx.config.baseConfig.containerMagentoDir]: '${workspaceFolder}'
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
if (phpXDebugConfig && phpXDebugConfig.runtimeExecutable) {
|
|
37
|
+
vscodeLaunchConfig.configurations = vscodeLaunchConfig.configurations.filter(
|
|
38
|
+
({ name }) => name !== listenForXDebugConfigName
|
|
39
|
+
);
|
|
37
40
|
|
|
41
|
+
vscodeLaunchConfig.configurations.push(newConfiguration);
|
|
42
|
+
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
38
45
|
if (!phpXDebugConfig) {
|
|
39
|
-
vscodeLaunchConfig.configurations.push(
|
|
40
|
-
name: listenForXDebugConfigName,
|
|
41
|
-
type: 'php',
|
|
42
|
-
request: 'launch',
|
|
43
|
-
port: phpXDebugPort,
|
|
44
|
-
runtimeExecutable: phpBingPath
|
|
45
|
-
});
|
|
46
|
+
vscodeLaunchConfig.configurations.push(newConfiguration);
|
|
46
47
|
|
|
47
48
|
return true;
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
if (
|
|
51
|
-
phpXDebugConfig.port
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
phpXDebugConfig.port = phpXDebugPort;
|
|
55
|
-
phpXDebugConfig.runtimeExecutable = phpBingPath;
|
|
52
|
+
!phpXDebugConfig.port
|
|
53
|
+
|| phpXDebugConfig.port !== xdebugPort) {
|
|
54
|
+
phpXDebugConfig.port = xdebugPort;
|
|
56
55
|
|
|
57
|
-
|
|
56
|
+
hasChanges = true;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (!phpXDebugConfig.pathMappings || !phpXDebugConfig.pathMappings[ctx.config.baseConfig.containerMagentoDir]) {
|
|
60
|
+
phpXDebugConfig.pathMappings = {
|
|
61
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
62
|
+
[ctx.config.baseConfig.containerMagentoDir]: '${workspaceFolder}'
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
hasChanges = true;
|
|
58
66
|
}
|
|
59
67
|
|
|
60
|
-
return
|
|
68
|
+
return hasChanges;
|
|
61
69
|
};
|
|
62
70
|
|
|
63
71
|
/**
|
|
64
72
|
* @type {() => import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
|
|
65
73
|
*/
|
|
66
|
-
const
|
|
74
|
+
const createVSCodeConfig = () => ({
|
|
67
75
|
title: 'Setting VSCode config',
|
|
68
|
-
task: async (
|
|
76
|
+
task: async (ctx, task) => {
|
|
69
77
|
if (await pathExists(vscodeLaunchConfigPath)) {
|
|
70
78
|
const vscodeLaunchConfig = hjson.parse(await fs.promises.readFile(vscodeLaunchConfigPath, 'utf-8'), {
|
|
71
79
|
keepWsc: true
|
|
72
80
|
});
|
|
73
81
|
|
|
74
|
-
const vscodeConfigEdited = addPHPDebugConfig(vscodeLaunchConfig,
|
|
82
|
+
const vscodeConfigEdited = addPHPDebugConfig(vscodeLaunchConfig, ctx);
|
|
75
83
|
|
|
76
84
|
// if vscode config is up-to-date, skip task
|
|
77
85
|
if (!vscodeConfigEdited) {
|
|
@@ -79,7 +87,15 @@ const createPhpFpmConfig = () => ({
|
|
|
79
87
|
return;
|
|
80
88
|
}
|
|
81
89
|
|
|
82
|
-
|
|
90
|
+
const result = hjson.stringify(vscodeLaunchConfig, {
|
|
91
|
+
keepWsc: true,
|
|
92
|
+
bracesSameLine: true,
|
|
93
|
+
separator: true,
|
|
94
|
+
quotes: 'all'
|
|
95
|
+
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
await fs.promises.writeFile(vscodeLaunchConfigPath, result);
|
|
83
99
|
|
|
84
100
|
return;
|
|
85
101
|
}
|
|
@@ -93,14 +109,13 @@ const createPhpFpmConfig = () => ({
|
|
|
93
109
|
}
|
|
94
110
|
|
|
95
111
|
try {
|
|
96
|
-
const
|
|
97
|
-
const vscodeLaunchConfigTemplatePath = path.join(baseConfig.templateDir, 'vscode-launch.template.json');
|
|
112
|
+
const vscodeLaunchConfigTemplatePath = path.join(ctx.config.baseConfig.templateDir, 'vscode-launch.template.json');
|
|
98
113
|
await setConfigFile({
|
|
99
114
|
template: vscodeLaunchConfigTemplatePath,
|
|
100
115
|
configPathname: vscodeLaunchConfigPath,
|
|
101
116
|
templateArgs: {
|
|
102
|
-
XDebugPort:
|
|
103
|
-
|
|
117
|
+
XDebugPort: xdebugPort,
|
|
118
|
+
baseConfig: ctx.config.baseConfig
|
|
104
119
|
}
|
|
105
120
|
});
|
|
106
121
|
} catch (e) {
|
|
@@ -109,4 +124,4 @@ const createPhpFpmConfig = () => ({
|
|
|
109
124
|
}
|
|
110
125
|
});
|
|
111
126
|
|
|
112
|
-
module.exports =
|
|
127
|
+
module.exports = createVSCodeConfig;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const createMariaDBConfig = require('./create-mariadb-config');
|
|
1
2
|
const createNginxConfig = require('./create-nginx-config');
|
|
2
3
|
const createPhpConfig = require('./create-php-config');
|
|
3
4
|
const createPhpFpmConfig = require('./create-php-fpm-config');
|
|
@@ -18,9 +19,11 @@ const prepareFileSystem = () => ({
|
|
|
18
19
|
createPhpConfig(),
|
|
19
20
|
createPhpStormConfig(),
|
|
20
21
|
createVSCodeConfig(),
|
|
21
|
-
createVarnishConfig()
|
|
22
|
+
createVarnishConfig(),
|
|
23
|
+
createMariaDBConfig()
|
|
22
24
|
], {
|
|
23
|
-
concurrent: true
|
|
25
|
+
concurrent: true,
|
|
26
|
+
exitOnError: false
|
|
24
27
|
})
|
|
25
28
|
});
|
|
26
29
|
|
package/lib/tasks/import-dump.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { checkRequirements } = require('./requirements');
|
|
3
3
|
const {
|
|
4
|
-
|
|
4
|
+
importDumpToDatabase,
|
|
5
5
|
fixDB,
|
|
6
6
|
dumpThemeConfig,
|
|
7
7
|
restoreThemeConfig
|
|
8
|
-
} = require('./
|
|
8
|
+
} = require('./database');
|
|
9
9
|
const { setupMagento } = require('./magento');
|
|
10
10
|
const indexProducts = require('./magento/setup-magento/index-products');
|
|
11
11
|
const {
|
|
@@ -14,7 +14,7 @@ const {
|
|
|
14
14
|
retrieveFreshProjectConfiguration,
|
|
15
15
|
configureProject
|
|
16
16
|
} = require('./start');
|
|
17
|
-
const importRemoteDb = require('./
|
|
17
|
+
const importRemoteDb = require('./database/import-remote-db');
|
|
18
18
|
const matchFilesystem = require('../util/match-filesystem');
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -34,8 +34,8 @@ const importDump = () => ({
|
|
|
34
34
|
// skip setup if env.php and config.php are present in app/etc folder and db is not empty
|
|
35
35
|
skip: async (ctx) => {
|
|
36
36
|
const isFsMatching = await matchFilesystem(path.join(process.cwd(), 'app', 'etc'), ['config.php', 'env.php']);
|
|
37
|
-
const {
|
|
38
|
-
const [[{ tableCount }]] = await
|
|
37
|
+
const { databaseConnection } = ctx;
|
|
38
|
+
const [[{ tableCount }]] = await databaseConnection.query(`
|
|
39
39
|
SELECT count(*) AS tableCount
|
|
40
40
|
FROM INFORMATION_SCHEMA.TABLES
|
|
41
41
|
WHERE TABLE_SCHEMA = 'magento';
|
|
@@ -48,7 +48,7 @@ const importDump = () => ({
|
|
|
48
48
|
)
|
|
49
49
|
},
|
|
50
50
|
dumpThemeConfig(),
|
|
51
|
-
|
|
51
|
+
importDumpToDatabase(),
|
|
52
52
|
restoreThemeConfig(),
|
|
53
53
|
fixDB(),
|
|
54
54
|
setupMagento(),
|
package/lib/tasks/link.js
CHANGED
|
@@ -4,22 +4,23 @@ const getProjectConfiguration = require('../config/get-project-configuration');
|
|
|
4
4
|
const retrieveThemeData = require('./theme/retrieve-theme-data');
|
|
5
5
|
const linkTheme = require('./theme/link-theme');
|
|
6
6
|
const { startServices } = require('./docker');
|
|
7
|
-
const { startPhpFpm } = require('./php-fpm');
|
|
8
7
|
const checkConfigurationFile = require('../config/check-configuration-file');
|
|
9
|
-
const {
|
|
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
15
|
task: (ctx, task) => task.newListr([
|
|
16
|
+
checkRequirements(),
|
|
16
17
|
getMagentoVersionConfig(),
|
|
17
18
|
checkConfigurationFile(),
|
|
18
19
|
getProjectConfiguration(),
|
|
19
20
|
getCachedPorts(),
|
|
20
21
|
startServices(),
|
|
21
|
-
startPhpFpm(),
|
|
22
|
-
|
|
22
|
+
// startPhpFpm(),
|
|
23
|
+
connectToDatabase(),
|
|
23
24
|
retrieveThemeData(themePath),
|
|
24
25
|
linkTheme()
|
|
25
26
|
])
|
|
@@ -1,32 +1,27 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const fs = require('fs');
|
|
3
|
-
const
|
|
3
|
+
const logger = require('@scandipwa/scandipwa-dev-utils/logger');
|
|
4
4
|
const runComposerCommand = require('../../util/run-composer');
|
|
5
5
|
const matchFilesystem = require('../../util/match-filesystem');
|
|
6
|
-
const moveFile = require('../../util/move-file');
|
|
7
6
|
const pathExists = require('../../util/path-exists');
|
|
8
7
|
const getJsonFileData = require('../../util/get-jsonfile-data');
|
|
9
|
-
const rmdirSafe = require('../../util/rmdir-safe');
|
|
10
8
|
const KnownError = require('../../errors/known-error');
|
|
11
9
|
const UnknownError = require('../../errors/unknown-error');
|
|
12
|
-
const
|
|
10
|
+
const { runPHPContainerCommand } = require('../php/php-container');
|
|
13
11
|
|
|
14
12
|
const magentoProductEnterpriseEdition = 'magento/product-enterprise-edition';
|
|
15
13
|
const magentoProductCommunityEdition = 'magento/product-community-edition';
|
|
16
14
|
|
|
17
15
|
/**
|
|
18
|
-
*
|
|
16
|
+
* @param {import('../../../typings/context').ListrContext} ctx
|
|
17
|
+
* @param {import('listr2').ListrTaskWrapper<import('../../../typings/context').ListrContext>} task
|
|
19
18
|
*/
|
|
20
|
-
const adjustComposerJson = async ({
|
|
21
|
-
baseConfig,
|
|
19
|
+
const adjustComposerJson = async (ctx, task, {
|
|
22
20
|
magentoEdition,
|
|
23
21
|
magentoProductSelectedEdition,
|
|
24
|
-
|
|
25
|
-
magentoPackageVersion,
|
|
26
|
-
task,
|
|
27
|
-
verbose
|
|
22
|
+
magentoPackageVersion
|
|
28
23
|
}) => {
|
|
29
|
-
const composerData = await getJsonFileData(path.join(baseConfig.magentoDir, 'composer.json'));
|
|
24
|
+
const composerData = await getJsonFileData(path.join(ctx.config.baseConfig.magentoDir, 'composer.json'));
|
|
30
25
|
|
|
31
26
|
// fix composer magento repository
|
|
32
27
|
if (composerData && (!composerData.repositories
|
|
@@ -37,9 +32,8 @@ const adjustComposerJson = async ({
|
|
|
37
32
|
&& !Object.values(composerData.repositories).some((repo) => repo.type === 'composer' && repo.url.includes('repo.magento.com')))
|
|
38
33
|
)) {
|
|
39
34
|
task.output = 'No Magento repository is set in composer.json! Setting up...';
|
|
40
|
-
await runComposerCommand('config repo.0 composer https://repo.magento.com', {
|
|
41
|
-
|
|
42
|
-
callback: !verbose ? undefined : (t) => {
|
|
35
|
+
await runComposerCommand(ctx, 'config repo.0 composer https://repo.magento.com', {
|
|
36
|
+
callback: !ctx.verbose ? undefined : (t) => {
|
|
43
37
|
task.output = t;
|
|
44
38
|
}
|
|
45
39
|
});
|
|
@@ -48,10 +42,9 @@ const adjustComposerJson = async ({
|
|
|
48
42
|
// if composer-root-update-plugin is not installed in composer, install it.
|
|
49
43
|
if (composerData && !composerData.require['magento/composer-root-update-plugin']) {
|
|
50
44
|
task.output = 'Installing magento/composer-root-update-plugin!';
|
|
51
|
-
await runComposerCommand('require magento/composer-root-update-plugin:^1',
|
|
45
|
+
await runComposerCommand(ctx, 'require magento/composer-root-update-plugin:^1',
|
|
52
46
|
{
|
|
53
|
-
|
|
54
|
-
callback: !verbose ? undefined : (t) => {
|
|
47
|
+
callback: !ctx.verbose ? undefined : (t) => {
|
|
55
48
|
task.output = t;
|
|
56
49
|
}
|
|
57
50
|
});
|
|
@@ -62,7 +55,8 @@ const adjustComposerJson = async ({
|
|
|
62
55
|
&& composerData.require[magentoProductCommunityEdition]
|
|
63
56
|
&& composerData.require[magentoProductEnterpriseEdition]
|
|
64
57
|
) {
|
|
65
|
-
throw new KnownError(
|
|
58
|
+
throw new KnownError(`Somehow, both Magento editions are installed!
|
|
59
|
+
Please choose only one edition an modify your composer.json manually!`);
|
|
66
60
|
}
|
|
67
61
|
|
|
68
62
|
const oppositeEdition = [magentoProductCommunityEdition, magentoProductEnterpriseEdition]
|
|
@@ -76,13 +70,11 @@ Change magento edition in config file or manually reinstall correct magento edit
|
|
|
76
70
|
}
|
|
77
71
|
|
|
78
72
|
// if magento package is not installed in composer, require it.
|
|
79
|
-
|
|
80
73
|
if (composerData && !composerData.require[magentoProductSelectedEdition]) {
|
|
81
74
|
task.output = `Installing ${magentoProductSelectedEdition}=${magentoPackageVersion}!`;
|
|
82
|
-
await runComposerCommand(`require ${magentoProductSelectedEdition}:${magentoPackageVersion}`,
|
|
75
|
+
await runComposerCommand(ctx, `require ${magentoProductSelectedEdition}:${magentoPackageVersion}`,
|
|
83
76
|
{
|
|
84
|
-
|
|
85
|
-
callback: !verbose ? undefined : (t) => {
|
|
77
|
+
callback: !ctx.verbose ? undefined : (t) => {
|
|
86
78
|
task.output = t;
|
|
87
79
|
}
|
|
88
80
|
});
|
|
@@ -90,16 +82,14 @@ Change magento edition in config file or manually reinstall correct magento edit
|
|
|
90
82
|
};
|
|
91
83
|
|
|
92
84
|
/**
|
|
93
|
-
*
|
|
85
|
+
* @param {import('../../../typings/context').ListrContext} ctx
|
|
86
|
+
* @param {import('listr2').ListrTaskWrapper<import('../../../typings/context').ListrContext>} task
|
|
94
87
|
*/
|
|
95
|
-
const createMagentoProject = async ({
|
|
88
|
+
const createMagentoProject = async (ctx, task, {
|
|
96
89
|
magentoProject,
|
|
97
|
-
magentoPackageVersion
|
|
98
|
-
magentoVersion,
|
|
99
|
-
task,
|
|
100
|
-
verbose
|
|
90
|
+
magentoPackageVersion
|
|
101
91
|
}) => {
|
|
102
|
-
const tempDir =
|
|
92
|
+
const tempDir = `/tmp/magento-tmpdir-${Date.now()}`;
|
|
103
93
|
const installCommand = [
|
|
104
94
|
'create-project',
|
|
105
95
|
`--repository=https://repo.magento.com/ ${magentoProject}=${magentoPackageVersion}`,
|
|
@@ -107,22 +97,8 @@ const createMagentoProject = async ({
|
|
|
107
97
|
`"${tempDir}"`
|
|
108
98
|
];
|
|
109
99
|
|
|
110
|
-
await
|
|
111
|
-
|
|
112
|
-
{
|
|
113
|
-
magentoVersion,
|
|
114
|
-
callback: !verbose ? undefined : (t) => {
|
|
115
|
-
task.output = t;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
);
|
|
119
|
-
|
|
120
|
-
await moveFile({
|
|
121
|
-
from: path.join(tempDir, 'composer.json'),
|
|
122
|
-
to: path.join(process.cwd(), 'composer.json')
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
await rmdirSafe(tempDir);
|
|
100
|
+
await runPHPContainerCommand(ctx, `composer ${installCommand.join(' ')} \n
|
|
101
|
+
&& mv ${tempDir}/composer.json ${ctx.config.baseConfig.containerMagentoDir}/composer.json`);
|
|
126
102
|
};
|
|
127
103
|
|
|
128
104
|
/**
|
|
@@ -131,7 +107,7 @@ const createMagentoProject = async ({
|
|
|
131
107
|
const installMagentoProject = () => ({
|
|
132
108
|
title: 'Installing Magento Project',
|
|
133
109
|
task: async (ctx, task) => {
|
|
134
|
-
const {
|
|
110
|
+
const { config: { baseConfig, overridenConfiguration } } = ctx;
|
|
135
111
|
const {
|
|
136
112
|
magento: { edition: magentoEdition },
|
|
137
113
|
magentoVersion: magentoPackageVersion
|
|
@@ -141,15 +117,10 @@ const installMagentoProject = () => ({
|
|
|
141
117
|
const magentoProject = `magento/project-${magentoEdition}-edition`;
|
|
142
118
|
|
|
143
119
|
if (await pathExists(path.join(baseConfig.magentoDir, 'composer.json'))) {
|
|
144
|
-
await adjustComposerJson({
|
|
145
|
-
baseConfig,
|
|
146
|
-
isEnterprise,
|
|
120
|
+
await adjustComposerJson(ctx, task, {
|
|
147
121
|
magentoEdition,
|
|
148
122
|
magentoPackageVersion,
|
|
149
|
-
magentoProductSelectedEdition
|
|
150
|
-
magentoVersion,
|
|
151
|
-
task,
|
|
152
|
-
verbose
|
|
123
|
+
magentoProductSelectedEdition
|
|
153
124
|
});
|
|
154
125
|
}
|
|
155
126
|
|
|
@@ -173,12 +144,9 @@ const installMagentoProject = () => ({
|
|
|
173
144
|
task.output = 'Creating Magento project';
|
|
174
145
|
|
|
175
146
|
if (!await pathExists(path.join(process.cwd(), 'composer.json'))) {
|
|
176
|
-
await createMagentoProject({
|
|
147
|
+
await createMagentoProject(ctx, task, {
|
|
177
148
|
magentoProject,
|
|
178
|
-
magentoPackageVersion
|
|
179
|
-
magentoVersion,
|
|
180
|
-
task,
|
|
181
|
-
verbose
|
|
149
|
+
magentoPackageVersion
|
|
182
150
|
});
|
|
183
151
|
}
|
|
184
152
|
|
|
@@ -187,18 +155,18 @@ const installMagentoProject = () => ({
|
|
|
187
155
|
recursive: true
|
|
188
156
|
});
|
|
189
157
|
}
|
|
158
|
+
|
|
190
159
|
try {
|
|
191
|
-
await runComposerCommand('install',
|
|
160
|
+
await runComposerCommand(ctx, 'install',
|
|
192
161
|
{
|
|
193
|
-
|
|
194
|
-
callback: !verbose ? undefined : (t) => {
|
|
162
|
+
callback: !ctx.verbose ? undefined : (t) => {
|
|
195
163
|
task.output = t;
|
|
196
164
|
}
|
|
197
165
|
});
|
|
198
166
|
} catch (e) {
|
|
199
167
|
if (e.message.includes('man-in-the-middle attack')) {
|
|
200
168
|
throw new KnownError(`Probably you haven't setup pubkeys in composer.
|
|
201
|
-
Please run ${logger.style.command('composer diagnose')} in cli to get mode.\n\n${e}`);
|
|
169
|
+
Please run ${logger.style.command('composer diagnose')} in cli to get mode.\n\n${e}`);
|
|
202
170
|
}
|
|
203
171
|
|
|
204
172
|
throw new UnknownError(`Unexpected error during composer install.\n\n${e}`);
|
|
@@ -6,15 +6,15 @@ const magentoTask = require('../../../util/magento-task');
|
|
|
6
6
|
*/
|
|
7
7
|
const disableFullPageCache = () => ({
|
|
8
8
|
title: 'Adjusting full_page cache setting',
|
|
9
|
-
task: async (
|
|
10
|
-
const { cache_types } = await envPhpToJson(
|
|
9
|
+
task: async (ctx, task) => {
|
|
10
|
+
const { cache_types } = await envPhpToJson(ctx);
|
|
11
11
|
if (cache_types && typeof cache_types.full_page === 'number') {
|
|
12
|
-
if (cache_types.full_page !== 0 && !config.overridenConfiguration.configuration.varnish.enabled) {
|
|
12
|
+
if (cache_types.full_page !== 0 && !ctx.config.overridenConfiguration.configuration.varnish.enabled) {
|
|
13
13
|
task.title = 'Disabling full_page cache in Magento';
|
|
14
14
|
return task.newListr(magentoTask('cache:disable full_page'));
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
if (config.overridenConfiguration.configuration.varnish.enabled && cache_types.full_page !== 1) {
|
|
17
|
+
if (ctx.config.overridenConfiguration.configuration.varnish.enabled && cache_types.full_page !== 1) {
|
|
18
18
|
task.title = 'Enabling full_page cache in Magento (Varnish is enabled)';
|
|
19
19
|
return task.newListr(magentoTask('cache:enable full_page'));
|
|
20
20
|
}
|
|
@@ -6,11 +6,15 @@ const { updateTableValues, isTableExists } = require('../../../util/database');
|
|
|
6
6
|
module.exports = () => ({
|
|
7
7
|
title: 'Configuring Elasticsearch',
|
|
8
8
|
skip: async (ctx) => !(await isTableExists('magento', 'core_config_data', ctx)),
|
|
9
|
-
task: async (
|
|
9
|
+
task: async (ctx, task) => {
|
|
10
|
+
const { ports, databaseConnection } = ctx;
|
|
11
|
+
const isLinux = ctx.platform === 'linux';
|
|
12
|
+
const isNativeLinux = isLinux && !ctx.isWsl;
|
|
13
|
+
const hostMachine = isNativeLinux ? '127.0.0.1' : 'host.docker.internal';
|
|
10
14
|
await updateTableValues('core_config_data', [
|
|
11
15
|
{ path: 'catalog/search/engine', value: 'elasticsearch7' },
|
|
12
|
-
{ path: 'catalog/search/elasticsearch7_server_hostname', value:
|
|
16
|
+
{ path: 'catalog/search/elasticsearch7_server_hostname', value: hostMachine },
|
|
13
17
|
{ path: 'catalog/search/elasticsearch7_server_port', value: `${ports.elasticsearch}` }
|
|
14
|
-
], {
|
|
18
|
+
], { databaseConnection, task });
|
|
15
19
|
}
|
|
16
20
|
});
|
|
@@ -5,8 +5,9 @@ const runMagentoCommand = require('../../../util/run-magento');
|
|
|
5
5
|
*/
|
|
6
6
|
module.exports = () => ({
|
|
7
7
|
title: 'Creating admin user',
|
|
8
|
-
task: async (
|
|
9
|
-
const
|
|
8
|
+
task: async (ctx, task) => {
|
|
9
|
+
const { config: { magentoConfiguration } } = ctx;
|
|
10
|
+
const [[{ userCount }]] = await ctx.databaseConnection.query(`
|
|
10
11
|
SELECT count(*) AS userCount
|
|
11
12
|
FROM admin_user
|
|
12
13
|
WHERE username = ?;
|
|
@@ -17,13 +18,11 @@ module.exports = () => ({
|
|
|
17
18
|
return;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
await runMagentoCommand(`admin:user:create \
|
|
21
|
+
await runMagentoCommand(ctx, `admin:user:create \
|
|
21
22
|
--admin-firstname='${ magentoConfiguration.first_name }' \
|
|
22
23
|
--admin-lastname='${ magentoConfiguration.last_name }' \
|
|
23
24
|
--admin-email='${ magentoConfiguration.email }' \
|
|
24
25
|
--admin-user='${ magentoConfiguration.user }' \
|
|
25
|
-
--admin-password='${ magentoConfiguration.password }'
|
|
26
|
-
magentoVersion
|
|
27
|
-
});
|
|
26
|
+
--admin-password='${ magentoConfiguration.password }'`);
|
|
28
27
|
}
|
|
29
28
|
});
|
|
@@ -7,8 +7,8 @@ const deleteAdminUsers = () => ({
|
|
|
7
7
|
title: 'Deleting old admin users',
|
|
8
8
|
skip: async (ctx) => !(await isTableExists('magento', 'admin_user', ctx)),
|
|
9
9
|
task: async (ctx) => {
|
|
10
|
-
const {
|
|
11
|
-
await
|
|
10
|
+
const { databaseConnection } = ctx;
|
|
11
|
+
await databaseConnection.query(`
|
|
12
12
|
TRUNCATE TABLE admin_user;
|
|
13
13
|
`);
|
|
14
14
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const { customerTables } = require('../../
|
|
1
|
+
const { customerTables } = require('../../database/magento-tables');
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
@@ -6,19 +6,19 @@ const { customerTables } = require('../../mysql/magento-tables');
|
|
|
6
6
|
const deleteCustomers = () => ({
|
|
7
7
|
title: 'Deleting customers',
|
|
8
8
|
task: async (ctx, task) => {
|
|
9
|
-
const {
|
|
9
|
+
const { databaseConnection, withCustomersData } = ctx;
|
|
10
10
|
|
|
11
11
|
if (withCustomersData) {
|
|
12
12
|
task.skip();
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
const [rows] = await
|
|
16
|
+
const [rows] = await databaseConnection.query('select TABLE_NAME from information_schema.TABLES;');
|
|
17
17
|
|
|
18
18
|
await Promise.all(
|
|
19
19
|
customerTables
|
|
20
20
|
.filter((tableName) => rows.some((row) => row.TABLE_NAME === tableName))
|
|
21
|
-
.map((tableName) =>
|
|
21
|
+
.map((tableName) => databaseConnection.query(`TRUNCATE TABLE \`${ tableName }\`;`))
|
|
22
22
|
);
|
|
23
23
|
}
|
|
24
24
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const { orderTables } = require('../../
|
|
1
|
+
const { orderTables } = require('../../database/magento-tables');
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
@@ -6,19 +6,19 @@ const { orderTables } = require('../../mysql/magento-tables');
|
|
|
6
6
|
const deleteOrders = () => ({
|
|
7
7
|
title: 'Deleting orders',
|
|
8
8
|
task: async (ctx, task) => {
|
|
9
|
-
const {
|
|
9
|
+
const { databaseConnection, withCustomersData } = ctx;
|
|
10
10
|
|
|
11
11
|
if (withCustomersData) {
|
|
12
12
|
task.skip();
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
const [rows] = await
|
|
16
|
+
const [rows] = await databaseConnection.query('select TABLE_NAME from information_schema.TABLES;');
|
|
17
17
|
|
|
18
18
|
await Promise.all(
|
|
19
19
|
orderTables
|
|
20
20
|
.filter((tableName) => rows.some((row) => row.TABLE_NAME === tableName))
|
|
21
|
-
.map((tableName) =>
|
|
21
|
+
.map((tableName) => databaseConnection.query(`TRUNCATE TABLE \`${ tableName }\`;`))
|
|
22
22
|
);
|
|
23
23
|
}
|
|
24
24
|
});
|
|
@@ -6,13 +6,11 @@ const runMagentoCommand = require('../../../util/run-magento');
|
|
|
6
6
|
*/
|
|
7
7
|
module.exports = () => ({
|
|
8
8
|
title: 'Disabling 2fa for admin',
|
|
9
|
-
task: async (
|
|
10
|
-
const { modules } = await configPhpToJson(
|
|
9
|
+
task: async (ctx, task) => {
|
|
10
|
+
const { modules } = await configPhpToJson(ctx);
|
|
11
11
|
|
|
12
12
|
if (modules.Magento_TwoFactorAuth !== undefined && modules.Magento_TwoFactorAuth !== 0) {
|
|
13
|
-
await runMagentoCommand('module:disable Magento_TwoFactorAuth'
|
|
14
|
-
magentoVersion
|
|
15
|
-
});
|
|
13
|
+
await runMagentoCommand(ctx, 'module:disable Magento_TwoFactorAuth');
|
|
16
14
|
|
|
17
15
|
return;
|
|
18
16
|
}
|
|
@@ -5,9 +5,8 @@ const runMagentoCommand = require('../../../util/run-magento');
|
|
|
5
5
|
*/
|
|
6
6
|
const disableMaintenanceMode = () => ({
|
|
7
7
|
title: 'Disabling maintenance mode',
|
|
8
|
-
task: async (
|
|
9
|
-
const { result } = await runMagentoCommand('maintenance:status', {
|
|
10
|
-
magentoVersion,
|
|
8
|
+
task: async (ctx, task) => {
|
|
9
|
+
const { result } = await runMagentoCommand(ctx, 'maintenance:status', {
|
|
11
10
|
throwNonZeroCode: false
|
|
12
11
|
});
|
|
13
12
|
|
|
@@ -16,7 +15,7 @@ const disableMaintenanceMode = () => ({
|
|
|
16
15
|
return;
|
|
17
16
|
}
|
|
18
17
|
|
|
19
|
-
await runMagentoCommand('maintenance:disable'
|
|
18
|
+
await runMagentoCommand(ctx, 'maintenance:disable');
|
|
20
19
|
}
|
|
21
20
|
});
|
|
22
21
|
|
|
@@ -5,7 +5,7 @@ const { updateTableValues } = require('../../../util/database');
|
|
|
5
5
|
*/
|
|
6
6
|
const increaseAdminSessionLifetime = () => ({
|
|
7
7
|
title: 'Increase admin session lifetime to 1 month',
|
|
8
|
-
task: async ({
|
|
8
|
+
task: async ({ databaseConnection }, task) => updateTableValues('core_config_data', [
|
|
9
9
|
{
|
|
10
10
|
path: 'admin/security/session_lifetime',
|
|
11
11
|
value: '2800000'
|
|
@@ -15,7 +15,7 @@ const increaseAdminSessionLifetime = () => ({
|
|
|
15
15
|
value: null
|
|
16
16
|
}
|
|
17
17
|
], {
|
|
18
|
-
|
|
18
|
+
databaseConnection,
|
|
19
19
|
task
|
|
20
20
|
})
|
|
21
21
|
|