@scandipwa/magento-scripts 1.11.2 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/lib/config/dependencies-for-platforms.js +0 -1
  2. package/lib/config/index.js +4 -2
  3. package/lib/config/{php.js → php-config.js} +0 -0
  4. package/lib/config/phpstorm/debug-config.js +46 -0
  5. package/lib/config/templates/Project_Default.template.xml +13 -0
  6. package/lib/config/templates/dataSources.local.template.xml +11 -0
  7. package/lib/config/templates/dataSources.template.xml +12 -0
  8. package/lib/config/templates/php.template.xml +14 -0
  9. package/lib/config/templates/vscode-launch.template.json +15 -0
  10. package/lib/config/templates/workspace.template.xml +20 -0
  11. package/lib/config/versions/magento-2.3.0.js +1 -1
  12. package/lib/config/versions/magento-2.3.1.js +1 -1
  13. package/lib/config/versions/magento-2.3.2-p2.js +1 -1
  14. package/lib/config/versions/magento-2.3.2.js +1 -1
  15. package/lib/config/versions/magento-2.3.3-p1.js +1 -1
  16. package/lib/config/versions/magento-2.3.3.js +1 -1
  17. package/lib/config/versions/magento-2.3.4-p2.js +1 -1
  18. package/lib/config/versions/magento-2.3.4.js +1 -1
  19. package/lib/config/versions/magento-2.3.5-p1.js +1 -1
  20. package/lib/config/versions/magento-2.3.5-p2.js +1 -1
  21. package/lib/config/versions/magento-2.3.5.js +1 -1
  22. package/lib/config/versions/magento-2.3.6-p1.js +1 -1
  23. package/lib/config/versions/magento-2.3.6.js +1 -1
  24. package/lib/config/versions/magento-2.3.7-p1.js +3 -3
  25. package/lib/config/versions/magento-2.3.7.js +3 -3
  26. package/lib/config/versions/magento-2.4.0-p1.js +2 -2
  27. package/lib/config/versions/magento-2.4.0.js +2 -2
  28. package/lib/config/versions/magento-2.4.1-p1.js +2 -2
  29. package/lib/config/versions/magento-2.4.1.js +2 -2
  30. package/lib/config/versions/magento-2.4.2-p1.js +3 -3
  31. package/lib/config/versions/magento-2.4.2-p2.js +3 -3
  32. package/lib/config/versions/magento-2.4.2.js +3 -3
  33. package/lib/config/versions/magento-2.4.3-p1.js +3 -3
  34. package/lib/config/versions/magento-2.4.3.js +3 -3
  35. package/lib/tasks/composer/index.js +13 -6
  36. package/lib/tasks/docker/index.js +1 -1
  37. package/lib/tasks/docker/network.js +2 -2
  38. package/lib/tasks/file-system/create-php-storm-config.js +82 -0
  39. package/lib/tasks/file-system/create-vscode-config.js +111 -0
  40. package/lib/tasks/file-system/index.js +5 -1
  41. package/lib/tasks/magento/setup-magento/set-deployment-mode.js +1 -1
  42. package/lib/tasks/magento/setup-magento/waiting-for-redis.js +1 -1
  43. package/lib/tasks/php/compile.js +2 -2
  44. package/lib/tasks/php/configure.js +56 -60
  45. package/lib/tasks/php/extensions/disable.js +41 -0
  46. package/lib/tasks/php/extensions/enable.js +44 -0
  47. package/lib/tasks/php/extensions/install.js +47 -0
  48. package/lib/tasks/php-fpm/start-php-fpm.js +3 -3
  49. package/lib/tasks/php-fpm/stop-php-fpm.js +2 -2
  50. package/lib/tasks/requirements/composer.js +1 -1
  51. package/lib/tasks/requirements/docker/index.js +2 -2
  52. package/lib/util/config-file-validator.js +7 -1
  53. package/package.json +17 -16
  54. package/typings/context.d.ts +2 -2
  55. package/typings/index.d.ts +36 -2
@@ -86,7 +86,6 @@ const dependenciesForPlatforms = {
86
86
  'libreadline-dev',
87
87
  'libsodium-dev',
88
88
  'libsqlite3-dev',
89
- 'libssl-dev',
90
89
  'libxml2-dev',
91
90
  ['libxslt-dev', 'libxslt1-dev'],
92
91
  'libonig-dev',
@@ -4,9 +4,10 @@ const {
4
4
  getConfigurations,
5
5
  defaultConfiguration
6
6
  } = require('./versions');
7
- const getPhpConfig = require('./php');
7
+ const getPhpConfig = require('./php-config');
8
8
  const getComposerConfig = require('./composer');
9
9
  const { getMagentoConfig } = require('./magento-config');
10
+ const { getPhpStormConfig } = require('./phpstorm/debug-config');
10
11
  const resolveConfigurationWithOverrides = require('../util/resolve-configuration-with-overrides');
11
12
  const { getPrefix, folderName } = require('../util/prefix');
12
13
 
@@ -57,7 +58,8 @@ module.exports = {
57
58
  baseConfig: newBaseConfig,
58
59
  overridenConfiguration,
59
60
  userConfiguration,
60
- nonOverridenConfiguration: configurations[magentoVersion]
61
+ nonOverridenConfiguration: configurations[magentoVersion],
62
+ phpStorm: getPhpStormConfig(overridenConfiguration, newBaseConfig)
61
63
  };
62
64
  },
63
65
  baseConfig,
File without changes
@@ -0,0 +1,46 @@
1
+ const path = require('path');
2
+
3
+ const getPhpStormConfig = (app, config) => {
4
+ const [majorPHPVersion, minorPHPVersion] = app.configuration.php.version.split('.');
5
+ const phpLanguageLevel = `${ majorPHPVersion }.${ minorPHPVersion }`;
6
+ const { templateDir } = config;
7
+ const phpStormConfiguration = {
8
+ xdebug: {
9
+ v2Port: '9111',
10
+ v3Port: '9003',
11
+ debugServerAddress: `http://${ app.host }`,
12
+ serverName: 'create-magento-app',
13
+ runManagerName: 'create-magento-app',
14
+ sessionId: 'PHPSTORM',
15
+ path: path.join(process.cwd(), '.idea', 'workspace.xml'),
16
+ templatePath: path.join(templateDir, 'workspace.template.xml')
17
+ },
18
+ php: {
19
+ phpLanguageLevel,
20
+ path: path.join(process.cwd(), '.idea', 'php.xml'),
21
+ templatePath: path.join(templateDir, 'php.template.xml')
22
+ },
23
+ database: {
24
+ driver: 'mysql',
25
+ dataSourceManagerName: 'mysql 8.0',
26
+ dataSourcesLocal: {
27
+ path: path.join(process.cwd(), '.idea', 'dataSources.local.xml'),
28
+ templatePath: path.join(templateDir, 'dataSources.local.template.xml')
29
+ },
30
+ dataSources: {
31
+ path: path.join(process.cwd(), '.idea', 'dataSources.xml'),
32
+ templatePath: path.join(templateDir, 'dataSources.template.xml')
33
+ }
34
+ },
35
+ inspectionTools: {
36
+ path: path.join(process.cwd(), '.idea', 'inspectionProfiles', 'Project_Default.xml'),
37
+ templatePath: path.join(templateDir, 'Project_Default.template.xml')
38
+ }
39
+ };
40
+
41
+ return phpStormConfiguration;
42
+ };
43
+
44
+ module.exports = {
45
+ getPhpStormConfig
46
+ };
@@ -0,0 +1,13 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="PhpCSValidationInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
5
+ <option name="CODING_STANDARD" value="Custom" />
6
+ <option name="CUSTOM_RULESET_PATH" value="$PROJECT_DIR$/vendor/magento/magento-coding-standard/Magento2/ruleset.xml" />
7
+ <option name="USE_INSTALLED_PATHS" value="true" />
8
+ <option name="INSTALLED_PATHS" value="$PROJECT_DIR$/vendor/phpcompatibility/php-compatibility/PHPCompatibility" />
9
+ <option name="EXTENSIONS" value="php,js,css,inc" />
10
+ </inspection_tool>
11
+ <inspection_tool class="PhpStanGlobal" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
12
+ </profile>
13
+ </component>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="dataSourceStorageLocal" created-in="PS-212.5284.49">
4
+ <data-source name="<%~ it.phpStorm.database.dataSourceManagerName %>" uuid="a2eadb3c-6fc9-4d85-b5f4-d8114906ce2f">
5
+ <database-info product="" version="" jdbc-version="" driver-name="" driver-version="" dbms="MYSQL" exact-version="0" />
6
+ <secret-storage>master_key</secret-storage>
7
+ <user-name>magento</user-name>
8
+ <schema-mapping />
9
+ </data-source>
10
+ </component>
11
+ </project>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="DataSourceManagerImpl" format="xml" multifile-model="true">
4
+ <data-source source="LOCAL" name="<%~ it.phpStorm.database.dataSourceManagerName %>" uuid="a2eadb3c-6fc9-4d85-b5f4-d8114906ce2f">
5
+ <driver-ref>mysql.8</driver-ref>
6
+ <synchronize>true</synchronize>
7
+ <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
8
+ <jdbc-url><%= it.jdbcUrl %></jdbc-url>
9
+ <working-dir>$ProjectFileDir$</working-dir>
10
+ </data-source>
11
+ </component>
12
+ </project>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="PhpCodeSniffer">
4
+ <phpcs_settings>
5
+ <PhpCSConfiguration beautifier_path="$PROJECT_DIR$/vendor/bin/phpcbf" standards="Magento2;MySource;PEAR;PHPCompatibility;PSR1;PSR12;PSR2;Squiz;Zend" tool_path="$PROJECT_DIR$/vendor/bin/phpcs" />
6
+ </phpcs_settings>
7
+ </component>
8
+ <component name="PhpStan">
9
+ <PhpStan_settings>
10
+ <PhpStanConfiguration tool_path="$PROJECT_DIR$/vendor/bin/phpstan" />
11
+ </PhpStan_settings>
12
+ </component>
13
+ <component name="PhpProjectSharedConfiguration" php_language_level="<%~ it.phpLanguageLevel %>" />
14
+ </project>
@@ -0,0 +1,15 @@
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "name": "Listen for XDebug",
9
+ "type": "php",
10
+ "request": "launch",
11
+ "port": <%~ it.XDebugPort %>,
12
+ "runtimeExecutable": "<%~ it.PHPBinPath %>"
13
+ }
14
+ ]
15
+ }
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="PhpDebugGeneral" xdebug_debug_port="<%~ it.phpStorm.xdebug.v3Port %>" ignore_connections_through_unregistered_servers="true">
4
+ <xdebug_debug_ports port="<%~ it.phpStorm.xdebug.v3Port %>" />
5
+ <xdebug_debug_ports port="<%~ it.phpStorm.xdebug.v2Port %>" />
6
+ </component>
7
+ <component name="PhpServers">
8
+ <servers>
9
+ <server host="<%~ it.phpStorm.xdebug.debugServerAddress %>" id="7e16e907-9ce3-4559-9d26-a30a5650d11f" name="<%~ it.phpStorm.xdebug.serverName %>" />
10
+ </servers>
11
+ </component>
12
+ <component name="RunManager">
13
+ <configuration name="<%~ it.phpStorm.xdebug.runManagerName %>" type="PhpRemoteDebugRunConfigurationType" factoryName="PHP Remote Debug" filter_connections="FILTER" server_name="<%~ it.phpStorm.xdebug.serverName %>" session_id="<%~ it.phpStorm.xdebug.sessionId %>">
14
+ <method v="2" />
15
+ </configuration>
16
+ </component>
17
+ <component name="PropertiesComponent">
18
+ <property name="DatabaseDriversLRU" value="<%~ it.phpStorm.database.driver %>" />
19
+ </component>
20
+ </project>
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -5,7 +5,7 @@ module.exports = ({ templateDir } = {}) => ({
5
5
  magentoVersion: '2.3.7-p1',
6
6
  configuration: {
7
7
  php: {
8
- version: '7.4.13',
8
+ version: '7.4.27',
9
9
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
10
10
  extensions: {
11
11
  gd: {},
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -36,7 +36,7 @@ module.exports = ({ templateDir } = {}) => ({
36
36
  version: '7.9.3'
37
37
  },
38
38
  composer: {
39
- version: '2'
39
+ version: '2.1.14'
40
40
  }
41
41
  },
42
42
  magento: defaultMagentoConfig,
@@ -5,7 +5,7 @@ module.exports = ({ templateDir } = {}) => ({
5
5
  magentoVersion: '2.3.7',
6
6
  configuration: {
7
7
  php: {
8
- version: '7.4.13',
8
+ version: '7.4.27',
9
9
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
10
10
  extensions: {
11
11
  gd: {},
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '2.9.8'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -36,7 +36,7 @@ module.exports = ({ templateDir } = {}) => ({
36
36
  version: '7.9.3'
37
37
  },
38
38
  composer: {
39
- version: '2'
39
+ version: '2.1.14'
40
40
  }
41
41
  },
42
42
  magento: defaultMagentoConfig,
@@ -5,7 +5,7 @@ module.exports = ({ templateDir } = {}) => ({
5
5
  magentoVersion: '2.4.0-p1',
6
6
  configuration: {
7
7
  php: {
8
- version: '7.4.16',
8
+ version: '7.4.27',
9
9
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
10
10
  extensions: {
11
11
  gd: {},
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '3.0.4'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -5,7 +5,7 @@ module.exports = ({ templateDir } = {}) => ({
5
5
  magentoVersion: '2.4.0',
6
6
  configuration: {
7
7
  php: {
8
- version: '7.4.16',
8
+ version: '7.4.27',
9
9
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
10
10
  extensions: {
11
11
  gd: {},
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '3.0.4'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -6,7 +6,7 @@ module.exports = ({ templateDir } = {}) => ({
6
6
  magentoVersion: '2.4.1-p1',
7
7
  configuration: {
8
8
  php: {
9
- version: '7.4.16',
9
+ version: '7.4.27',
10
10
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
11
11
  extensions: {
12
12
  gd: {},
@@ -17,7 +17,7 @@ module.exports = ({ templateDir } = {}) => ({
17
17
  SimpleXML: {},
18
18
  libsodium,
19
19
  xdebug: {
20
- version: '3.0.4'
20
+ version: '3.1.2'
21
21
  }
22
22
  }
23
23
  },
@@ -5,7 +5,7 @@ module.exports = ({ templateDir } = {}) => ({
5
5
  magentoVersion: '2.4.1',
6
6
  configuration: {
7
7
  php: {
8
- version: '7.4.13',
8
+ version: '7.4.27',
9
9
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
10
10
  extensions: {
11
11
  gd: {},
@@ -15,7 +15,7 @@ module.exports = ({ templateDir } = {}) => ({
15
15
  sockets: {},
16
16
  SimpleXML: {},
17
17
  xdebug: {
18
- version: '3.0.4'
18
+ version: '3.1.2'
19
19
  }
20
20
  }
21
21
  },
@@ -7,7 +7,7 @@ module.exports = ({ templateDir } = {}) => ({
7
7
  isDefault: true,
8
8
  configuration: {
9
9
  php: {
10
- version: '7.4.18',
10
+ version: '7.4.27',
11
11
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
12
12
  extensions: {
13
13
  gd: {},
@@ -19,7 +19,7 @@ module.exports = ({ templateDir } = {}) => ({
19
19
  libsodium,
20
20
  fileinfo: {},
21
21
  xdebug: {
22
- version: '3.0.4'
22
+ version: '3.1.2'
23
23
  }
24
24
  }
25
25
  },
@@ -40,7 +40,7 @@ module.exports = ({ templateDir } = {}) => ({
40
40
  version: '7.12.1'
41
41
  },
42
42
  composer: {
43
- version: '2'
43
+ version: '2.1.14'
44
44
  }
45
45
  },
46
46
  magento: defaultMagentoConfig,
@@ -7,7 +7,7 @@ module.exports = ({ templateDir } = {}) => ({
7
7
  isDefault: true,
8
8
  configuration: {
9
9
  php: {
10
- version: '7.4.18',
10
+ version: '7.4.27',
11
11
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
12
12
  extensions: {
13
13
  gd: {},
@@ -19,7 +19,7 @@ module.exports = ({ templateDir } = {}) => ({
19
19
  libsodium,
20
20
  fileinfo: {},
21
21
  xdebug: {
22
- version: '3.0.4'
22
+ version: '3.1.2'
23
23
  }
24
24
  }
25
25
  },
@@ -40,7 +40,7 @@ module.exports = ({ templateDir } = {}) => ({
40
40
  version: '7.12.1'
41
41
  },
42
42
  composer: {
43
- version: '2'
43
+ version: '2.1.14'
44
44
  }
45
45
  },
46
46
  magento: defaultMagentoConfig,
@@ -6,7 +6,7 @@ module.exports = ({ templateDir } = {}) => ({
6
6
  magentoVersion: '2.4.2',
7
7
  configuration: {
8
8
  php: {
9
- version: '7.4.18',
9
+ version: '7.4.27',
10
10
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
11
11
  extensions: {
12
12
  gd: {},
@@ -18,7 +18,7 @@ module.exports = ({ templateDir } = {}) => ({
18
18
  libsodium,
19
19
  fileinfo: {},
20
20
  xdebug: {
21
- version: '3.0.4'
21
+ version: '3.1.2'
22
22
  }
23
23
  }
24
24
  },
@@ -39,7 +39,7 @@ module.exports = ({ templateDir } = {}) => ({
39
39
  version: '7.12.1'
40
40
  },
41
41
  composer: {
42
- version: '2'
42
+ version: '2.1.14'
43
43
  }
44
44
  },
45
45
  magento: defaultMagentoConfig,
@@ -7,7 +7,7 @@ module.exports = ({ templateDir } = {}) => ({
7
7
  isDefault: true,
8
8
  configuration: {
9
9
  php: {
10
- version: '7.4.18',
10
+ version: '7.4.27',
11
11
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
12
12
  extensions: {
13
13
  gd: {},
@@ -19,7 +19,7 @@ module.exports = ({ templateDir } = {}) => ({
19
19
  libsodium,
20
20
  fileinfo: {},
21
21
  xdebug: {
22
- version: '3.0.4'
22
+ version: '3.1.2'
23
23
  }
24
24
  }
25
25
  },
@@ -40,7 +40,7 @@ module.exports = ({ templateDir } = {}) => ({
40
40
  version: '7.12.1'
41
41
  },
42
42
  composer: {
43
- version: '2'
43
+ version: '2.1.14'
44
44
  }
45
45
  },
46
46
  magento: defaultMagentoConfig,
@@ -7,7 +7,7 @@ module.exports = ({ templateDir } = {}) => ({
7
7
  isDefault: true,
8
8
  configuration: {
9
9
  php: {
10
- version: '7.4.18',
10
+ version: '7.4.27',
11
11
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
12
12
  extensions: {
13
13
  gd: {},
@@ -19,7 +19,7 @@ module.exports = ({ templateDir } = {}) => ({
19
19
  libsodium,
20
20
  fileinfo: {},
21
21
  xdebug: {
22
- version: '3.0.4'
22
+ version: '3.1.2'
23
23
  }
24
24
  }
25
25
  },
@@ -40,7 +40,7 @@ module.exports = ({ templateDir } = {}) => ({
40
40
  version: '7.12.1'
41
41
  },
42
42
  composer: {
43
- version: '2'
43
+ version: '2.1.14'
44
44
  }
45
45
  },
46
46
  magento: defaultMagentoConfig,
@@ -32,8 +32,12 @@ const createComposerDir = async ({ composer }) => {
32
32
  };
33
33
 
34
34
  const downloadComposerBinary = async ({ composer }) => {
35
+ const composerVersion = /^\d$/.test(composer.version)
36
+ ? `latest-${composer.version}.x`
37
+ : composer.version;
38
+
35
39
  try {
36
- await downloadFile(`https://getcomposer.org/download/latest-${composer.version}.x/composer.phar`, {
40
+ await downloadFile(`https://getcomposer.org/download/${composerVersion}/composer.phar`, {
37
41
  destination: composer.binPath
38
42
  });
39
43
  } catch (e) {
@@ -48,7 +52,7 @@ const downloadComposerBinary = async ({ composer }) => {
48
52
  * @type {() => import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
49
53
  */
50
54
  const installComposer = () => ({
51
- title: 'Installing composer',
55
+ title: 'Installing Composer',
52
56
  task: async (ctx, task) => {
53
57
  const { composer, php } = ctx.config;
54
58
  const hasComposerInCache = await pathExists(composer.binPath);
@@ -59,11 +63,14 @@ const installComposer = () => ({
59
63
  await downloadComposerBinary({ composer });
60
64
  } else {
61
65
  const currentComposerVersion = await getComposerVersion({ composer, php });
66
+ const expectedComposerVersion = /^\d$/.test(composer.version)
67
+ ? `${composer.version}.x`
68
+ : composer.version;
62
69
 
63
- if (!semver.satisfies(currentComposerVersion, `${composer.version}.x`)) {
70
+ if (!semver.satisfies(currentComposerVersion, expectedComposerVersion)) {
64
71
  const continueComposerBinaryVersionSwitch = await task.prompt({
65
72
  type: 'Select',
66
- message: `You have Composer ${logger.style.misc(`${currentComposerVersion}`)} while your Magento version requires ${logger.style.misc(`${composer.version}.x`)}!`,
73
+ message: `You have Composer ${logger.style.misc(`${currentComposerVersion}`)} while your Magento version requires ${logger.style.misc(expectedComposerVersion)}!`,
67
74
  choices: [
68
75
  {
69
76
  message: `Continue with current installed version (${logger.style.misc(`${currentComposerVersion}`)})`,
@@ -86,7 +93,7 @@ const installComposer = () => ({
86
93
  break;
87
94
  }
88
95
  case 'exit': {
89
- throw new Error(`Current composer version ${logger.style.misc(`v${currentComposerVersion}`)} is not compatible with version ${logger.style.misc(`${composer.version}.x`)}!`);
96
+ throw new Error(`Current composer version ${logger.style.misc(`v${currentComposerVersion}`)} is not compatible with version ${logger.style.misc(expectedComposerVersion)}!`);
90
97
  }
91
98
  case 'continue':
92
99
  default: {
@@ -98,7 +105,7 @@ const installComposer = () => ({
98
105
  }
99
106
 
100
107
  const composerVersion = await getComposerVersion({ composer, php });
101
- task.title = `Using composer version ${composerVersion}`;
108
+ task.title = `Using Composer version ${composerVersion}`;
102
109
  ctx.composerVersion = composerVersion;
103
110
  },
104
111
  options: {
@@ -6,7 +6,7 @@ const volumes = require('./volumes');
6
6
  * @type {() => import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
7
7
  */
8
8
  const startServices = () => ({
9
- title: 'Starting docker services',
9
+ title: 'Starting Docker services',
10
10
  task: (ctx, task) => task.newListr([
11
11
  {
12
12
  title: 'Preparing services',