@scandipwa/magento-scripts 2.1.4 → 2.2.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 (98) hide show
  1. package/lib/config/docker.js +29 -12
  2. package/lib/config/get-magento-version-config.js +4 -1
  3. package/lib/config/php-config.js +2 -1
  4. package/lib/config/services/composer/versions/composer-1.js +1 -1
  5. package/lib/config/services/composer/versions/composer-2.2.js +8 -0
  6. package/lib/config/services/composer/versions/composer-2.js +1 -1
  7. package/lib/config/services/composer/versions/index.js +2 -1
  8. package/lib/config/services/elasticsearch/versions/elasticsearch-8.4.js +4 -1
  9. package/lib/config/services/elasticsearch/versions/elasticsearch-8.5.js +4 -1
  10. package/lib/config/services/elasticsearch/versions/elasticsearch-8.7.js +14 -0
  11. package/lib/config/services/elasticsearch/versions/index.js +3 -1
  12. package/lib/config/services/mysql/versions/mysql-8.0.js +1 -1
  13. package/lib/config/services/php/default-php-env.js +6 -0
  14. package/lib/config/services/php/versions/php-7.2.js +3 -1
  15. package/lib/config/services/php/versions/php-7.3.js +3 -1
  16. package/lib/config/services/php/versions/php-7.4.js +3 -1
  17. package/lib/config/services/php/versions/php-8.1.js +3 -1
  18. package/lib/config/services/php/versions/php-8.2.js +3 -1
  19. package/lib/config/ssl-config.js +9 -0
  20. package/lib/config/templates/nginx.fastcgi_params.template +2 -2
  21. package/lib/config/templates/nginx.template.conf +19 -2
  22. package/lib/config/templates/ssl-terminator.template.conf +2 -6
  23. package/lib/config/versions/index.js +16 -33
  24. package/lib/config/versions/magento-2.2.10.js +3 -12
  25. package/lib/config/versions/magento-2.3.0.js +3 -12
  26. package/lib/config/versions/magento-2.3.1.js +3 -12
  27. package/lib/config/versions/magento-2.3.2-p1.js +3 -12
  28. package/lib/config/versions/magento-2.3.2-p2.js +3 -12
  29. package/lib/config/versions/magento-2.3.2.js +3 -12
  30. package/lib/config/versions/magento-2.3.3-p1.js +3 -12
  31. package/lib/config/versions/magento-2.3.3.js +3 -12
  32. package/lib/config/versions/magento-2.3.4-p1.js +3 -12
  33. package/lib/config/versions/magento-2.3.4-p2.js +3 -12
  34. package/lib/config/versions/magento-2.3.4.js +3 -12
  35. package/lib/config/versions/magento-2.3.5-p1.js +3 -12
  36. package/lib/config/versions/magento-2.3.5-p2.js +3 -12
  37. package/lib/config/versions/magento-2.3.5.js +3 -17
  38. package/lib/config/versions/magento-2.3.6-p1.js +3 -12
  39. package/lib/config/versions/magento-2.3.6.js +3 -12
  40. package/lib/config/versions/magento-2.3.7-p1.js +3 -12
  41. package/lib/config/versions/magento-2.3.7-p2.js +3 -12
  42. package/lib/config/versions/magento-2.3.7-p3.js +3 -12
  43. package/lib/config/versions/magento-2.3.7-p4.js +3 -12
  44. package/lib/config/versions/magento-2.3.7.js +3 -12
  45. package/lib/config/versions/magento-2.4.0-p1.js +3 -12
  46. package/lib/config/versions/magento-2.4.0.js +3 -12
  47. package/lib/config/versions/magento-2.4.1-p1.js +3 -12
  48. package/lib/config/versions/magento-2.4.1.js +3 -12
  49. package/lib/config/versions/magento-2.4.2-p1.js +3 -13
  50. package/lib/config/versions/magento-2.4.2-p2.js +3 -13
  51. package/lib/config/versions/magento-2.4.2.js +3 -12
  52. package/lib/config/versions/magento-2.4.3-p1.js +3 -13
  53. package/lib/config/versions/magento-2.4.3-p2.js +3 -13
  54. package/lib/config/versions/magento-2.4.3-p3.js +3 -13
  55. package/lib/config/versions/magento-2.4.3.js +3 -13
  56. package/lib/config/versions/magento-2.4.4-p1.js +3 -13
  57. package/lib/config/versions/magento-2.4.4-p2.js +3 -13
  58. package/lib/config/versions/magento-2.4.4-p3.js +3 -13
  59. package/lib/config/versions/magento-2.4.4-p4.js +1 -10
  60. package/lib/config/versions/magento-2.4.4-p5.js +38 -0
  61. package/lib/config/versions/magento-2.4.4-p6.js +38 -0
  62. package/lib/config/versions/magento-2.4.4.js +3 -13
  63. package/lib/config/versions/magento-2.4.5-p1.js +3 -13
  64. package/lib/config/versions/magento-2.4.5-p2.js +3 -13
  65. package/lib/config/versions/magento-2.4.5-p3.js +1 -10
  66. package/lib/config/versions/magento-2.4.5-p4.js +38 -0
  67. package/lib/config/versions/magento-2.4.5-p5.js +38 -0
  68. package/lib/config/versions/magento-2.4.5.js +3 -12
  69. package/lib/config/versions/magento-2.4.6-p1.js +1 -10
  70. package/lib/config/versions/magento-2.4.6-p2.js +38 -0
  71. package/lib/config/versions/magento-2.4.6-p3.js +39 -0
  72. package/lib/config/versions/magento-2.4.6.js +1 -10
  73. package/lib/config/versions/magento-2.4.7-beta2.js +38 -0
  74. package/lib/tasks/database/import-dump-to-database.js +1 -1
  75. package/lib/tasks/database/import-remote-db/ssh/database-dump-command.js +0 -2
  76. package/lib/tasks/database/import-remote-db/ssh/readymage.js +29 -28
  77. package/lib/tasks/docker/containers/container-api.d.ts +5 -0
  78. package/lib/tasks/docker/containers/container-api.js +4 -1
  79. package/lib/tasks/docker/project-image-builder.js +21 -0
  80. package/lib/tasks/file-system/create-nginx-config.js +7 -2
  81. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/workspace-config.js +1 -1
  82. package/lib/tasks/file-system/create-ssl-terminator-config.js +9 -7
  83. package/lib/tasks/magento/install-magento-project.js +10 -7
  84. package/lib/tasks/magento/setup-magento/configure-elasticsearch.js +1 -1
  85. package/lib/tasks/magento/setup-magento/index-products.js +41 -1
  86. package/lib/tasks/magento/setup-magento/index.js +4 -1
  87. package/lib/tasks/magento/setup-magento/set-base-url.js +121 -13
  88. package/lib/tasks/requirements/elasticsearch-version.js +21 -6
  89. package/lib/util/config-file-validator.js +60 -19
  90. package/lib/util/config-php-json.js +2 -0
  91. package/lib/util/database.js +83 -1
  92. package/lib/util/instance-metadata.js +16 -19
  93. package/lib/util/match-filesystem.js +1 -0
  94. package/lib/util/run-magento.js +1 -0
  95. package/package.json +2 -2
  96. package/tsconfig.json +2 -1
  97. package/typings/common.d.ts +53 -0
  98. package/typings/index.d.ts +55 -0
@@ -0,0 +1,38 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php81 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish73 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx118 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis62 } = require('../services/redis')
13
+ const { mariadb104 } = require('../services/mariadb/versions')
14
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+
17
+ /**
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
19
+ */
20
+ module.exports = ({ templateDir }) => ({
21
+ magentoVersion: '2.4.4-p5',
22
+ configuration: {
23
+ php: php81({
24
+ templateDir,
25
+ extensions: { ...magento24PHPExtensionList, sodium },
26
+ baseImage: `${repo}:php-8.1-magento-2.4`
27
+ }),
28
+ nginx: nginx118({ templateDir }),
29
+ redis: redis62(),
30
+ mysql: mysql80(),
31
+ mariadb: mariadb104(),
32
+ elasticsearch: elasticsearch717(),
33
+ composer: composer22(),
34
+ varnish: varnish73({ templateDir }),
35
+ sslTerminator: sslTerminator({ templateDir }),
36
+ maildev: maildev()
37
+ }
38
+ })
@@ -0,0 +1,38 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php81 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish73 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx118 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis62 } = require('../services/redis')
13
+ const { mariadb104 } = require('../services/mariadb/versions')
14
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+
17
+ /**
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
19
+ */
20
+ module.exports = ({ templateDir }) => ({
21
+ magentoVersion: '2.4.4-p6',
22
+ configuration: {
23
+ php: php81({
24
+ templateDir,
25
+ extensions: { ...magento24PHPExtensionList, sodium },
26
+ baseImage: `${repo}:php-8.1-magento-2.4`
27
+ }),
28
+ nginx: nginx118({ templateDir }),
29
+ redis: redis62(),
30
+ mysql: mysql80(),
31
+ mariadb: mariadb104(),
32
+ elasticsearch: elasticsearch717(),
33
+ composer: composer22(),
34
+ varnish: varnish73({ templateDir }),
35
+ sslTerminator: sslTerminator({ templateDir }),
36
+ maildev: maildev()
37
+ }
38
+ })
@@ -1,4 +1,3 @@
1
- const { defaultMagentoConfig } = require('../magento-config')
2
1
  const sodium = require('../services/php/extensions/sodium')
3
2
  const {
4
3
  magento24PHPExtensionList
@@ -13,15 +12,13 @@ const { maildev } = require('../services/maildev')
13
12
  const { redis62 } = require('../services/redis')
14
13
  const { mariadb104 } = require('../services/mariadb/versions')
15
14
  const { elasticsearch716 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
16
 
17
17
  /**
18
- * @param {Object} param0
19
- * @param {string} param0.templateDir
20
- * @returns {import('../../../typings/index').CMAConfiguration & { magentoVersion: string, isDefault?: boolean }}
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
21
19
  */
22
20
  module.exports = ({ templateDir }) => ({
23
21
  magentoVersion: '2.4.4',
24
- isDefault: true,
25
22
  configuration: {
26
23
  php: php81({
27
24
  templateDir,
@@ -30,19 +27,12 @@ module.exports = ({ templateDir }) => ({
30
27
  }),
31
28
  nginx: nginx118({ templateDir }),
32
29
  redis: redis62(),
33
- mysql: {
34
- version: '8.0'
35
- },
30
+ mysql: mysql80(),
36
31
  mariadb: mariadb104(),
37
32
  elasticsearch: elasticsearch716(),
38
33
  composer: composer2(),
39
34
  varnish: varnish70({ templateDir }),
40
35
  sslTerminator: sslTerminator({ templateDir }),
41
36
  maildev: maildev()
42
- },
43
- magento: defaultMagentoConfig,
44
- host: 'localhost',
45
- ssl: {
46
- enabled: false
47
37
  }
48
38
  })
@@ -1,4 +1,3 @@
1
- const { defaultMagentoConfig } = require('../magento-config')
2
1
  const sodium = require('../services/php/extensions/sodium')
3
2
  const {
4
3
  magento24PHPExtensionList
@@ -13,15 +12,13 @@ const { maildev } = require('../services/maildev')
13
12
  const { redis62 } = require('../services/redis')
14
13
  const { mariadb104 } = require('../services/mariadb/versions')
15
14
  const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
16
 
17
17
  /**
18
- * @param {Object} param0
19
- * @param {string} param0.templateDir
20
- * @returns {import('../../../typings/index').CMAConfiguration & { magentoVersion: string, isDefault?: boolean }}
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
21
19
  */
22
20
  module.exports = ({ templateDir }) => ({
23
21
  magentoVersion: '2.4.5-p1',
24
- isDefault: true,
25
22
  configuration: {
26
23
  php: php81({
27
24
  templateDir,
@@ -30,19 +27,12 @@ module.exports = ({ templateDir }) => ({
30
27
  }),
31
28
  nginx: nginx118({ templateDir }),
32
29
  redis: redis62(),
33
- mysql: {
34
- version: '8.0'
35
- },
30
+ mysql: mysql80(),
36
31
  mariadb: mariadb104(),
37
32
  elasticsearch: elasticsearch717(),
38
33
  composer: composer2(),
39
34
  varnish: varnish70({ templateDir }),
40
35
  sslTerminator: sslTerminator({ templateDir }),
41
36
  maildev: maildev()
42
- },
43
- magento: defaultMagentoConfig,
44
- host: 'localhost',
45
- ssl: {
46
- enabled: false
47
37
  }
48
38
  })
@@ -1,4 +1,3 @@
1
- const { defaultMagentoConfig } = require('../magento-config')
2
1
  const sodium = require('../services/php/extensions/sodium')
3
2
  const {
4
3
  magento24PHPExtensionList
@@ -13,15 +12,13 @@ const { maildev } = require('../services/maildev')
13
12
  const { redis62 } = require('../services/redis')
14
13
  const { mariadb104 } = require('../services/mariadb/versions')
15
14
  const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
16
 
17
17
  /**
18
- * @param {Object} param0
19
- * @param {string} param0.templateDir
20
- * @returns {import('../../../typings/index').CMAConfiguration & { magentoVersion: string, isDefault?: boolean }}
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
21
19
  */
22
20
  module.exports = ({ templateDir }) => ({
23
21
  magentoVersion: '2.4.5-p2',
24
- isDefault: true,
25
22
  configuration: {
26
23
  php: php81({
27
24
  templateDir,
@@ -30,19 +27,12 @@ module.exports = ({ templateDir }) => ({
30
27
  }),
31
28
  nginx: nginx118({ templateDir }),
32
29
  redis: redis62(),
33
- mysql: {
34
- version: '8.0'
35
- },
30
+ mysql: mysql80(),
36
31
  mariadb: mariadb104(),
37
32
  elasticsearch: elasticsearch717(),
38
33
  composer: composer2(),
39
34
  varnish: varnish71({ templateDir }),
40
35
  sslTerminator: sslTerminator({ templateDir }),
41
36
  maildev: maildev()
42
- },
43
- magento: defaultMagentoConfig,
44
- host: 'localhost',
45
- ssl: {
46
- enabled: false
47
37
  }
48
38
  })
@@ -1,4 +1,3 @@
1
- const { defaultMagentoConfig } = require('../magento-config')
2
1
  const sodium = require('../services/php/extensions/sodium')
3
2
  const {
4
3
  magento24PHPExtensionList
@@ -16,13 +15,10 @@ const { elasticsearch717 } = require('../services/elasticsearch/versions')
16
15
  const { mysql80 } = require('../services/mysql/versions')
17
16
 
18
17
  /**
19
- * @param {Object} param0
20
- * @param {string} param0.templateDir
21
- * @returns {import('../../../typings/index').CMAConfiguration & { magentoVersion: string, isDefault?: boolean }}
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
22
19
  */
23
20
  module.exports = ({ templateDir }) => ({
24
21
  magentoVersion: '2.4.5-p3',
25
- isDefault: true,
26
22
  configuration: {
27
23
  php: php81({
28
24
  templateDir,
@@ -38,10 +34,5 @@ module.exports = ({ templateDir }) => ({
38
34
  varnish: varnish73({ templateDir }),
39
35
  sslTerminator: sslTerminator({ templateDir }),
40
36
  maildev: maildev()
41
- },
42
- magento: defaultMagentoConfig,
43
- host: 'localhost',
44
- ssl: {
45
- enabled: false
46
37
  }
47
38
  })
@@ -0,0 +1,38 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php81 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish73 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx118 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis62 } = require('../services/redis')
13
+ const { mariadb104 } = require('../services/mariadb/versions')
14
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+
17
+ /**
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
19
+ */
20
+ module.exports = ({ templateDir }) => ({
21
+ magentoVersion: '2.4.5-p4',
22
+ configuration: {
23
+ php: php81({
24
+ templateDir,
25
+ extensions: { ...magento24PHPExtensionList, sodium },
26
+ baseImage: `${repo}:php-8.1-magento-2.4`
27
+ }),
28
+ nginx: nginx118({ templateDir }),
29
+ redis: redis62(),
30
+ mysql: mysql80(),
31
+ mariadb: mariadb104(),
32
+ elasticsearch: elasticsearch717(),
33
+ composer: composer22(),
34
+ varnish: varnish73({ templateDir }),
35
+ sslTerminator: sslTerminator({ templateDir }),
36
+ maildev: maildev()
37
+ }
38
+ })
@@ -0,0 +1,38 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php81 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish73 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx118 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis62 } = require('../services/redis')
13
+ const { mariadb104 } = require('../services/mariadb/versions')
14
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+
17
+ /**
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
19
+ */
20
+ module.exports = ({ templateDir }) => ({
21
+ magentoVersion: '2.4.5-p5',
22
+ configuration: {
23
+ php: php81({
24
+ templateDir,
25
+ extensions: { ...magento24PHPExtensionList, sodium },
26
+ baseImage: `${repo}:php-8.1-magento-2.4`
27
+ }),
28
+ nginx: nginx118({ templateDir }),
29
+ redis: redis62(),
30
+ mysql: mysql80(),
31
+ mariadb: mariadb104(),
32
+ elasticsearch: elasticsearch717(),
33
+ composer: composer22(),
34
+ varnish: varnish73({ templateDir }),
35
+ sslTerminator: sslTerminator({ templateDir }),
36
+ maildev: maildev()
37
+ }
38
+ })
@@ -1,4 +1,3 @@
1
- const { defaultMagentoConfig } = require('../magento-config')
2
1
  const sodium = require('../services/php/extensions/sodium')
3
2
  const {
4
3
  magento24PHPExtensionList
@@ -13,11 +12,10 @@ const { maildev } = require('../services/maildev')
13
12
  const { redis62 } = require('../services/redis')
14
13
  const { mariadb104 } = require('../services/mariadb/versions')
15
14
  const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
16
 
17
17
  /**
18
- * @param {Object} param0
19
- * @param {string} param0.templateDir
20
- * @returns {import('../../../typings/index').CMAConfiguration & { magentoVersion: string, isDefault?: boolean }}
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
21
19
  */
22
20
  module.exports = ({ templateDir }) => ({
23
21
  magentoVersion: '2.4.5',
@@ -29,19 +27,12 @@ module.exports = ({ templateDir }) => ({
29
27
  }),
30
28
  nginx: nginx118({ templateDir }),
31
29
  redis: redis62(),
32
- mysql: {
33
- version: '8.0'
34
- },
30
+ mysql: mysql80(),
35
31
  mariadb: mariadb104(),
36
32
  elasticsearch: elasticsearch717(),
37
33
  composer: composer2(),
38
34
  varnish: varnish70({ templateDir }),
39
35
  sslTerminator: sslTerminator({ templateDir }),
40
36
  maildev: maildev()
41
- },
42
- magento: defaultMagentoConfig,
43
- host: 'localhost',
44
- ssl: {
45
- enabled: false
46
37
  }
47
38
  })
@@ -1,4 +1,3 @@
1
- const { defaultMagentoConfig } = require('../magento-config')
2
1
  const sodium = require('../services/php/extensions/sodium')
3
2
  const {
4
3
  magento24PHPExtensionList
@@ -16,13 +15,10 @@ const { elasticsearch85 } = require('../services/elasticsearch/versions')
16
15
  const { mysql80 } = require('../services/mysql/versions')
17
16
 
18
17
  /**
19
- * @param {Object} param0
20
- * @param {string} param0.templateDir
21
- * @returns {import('../../../typings/index').CMAConfiguration & { magentoVersion: string, isDefault?: boolean }}
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
22
19
  */
23
20
  module.exports = ({ templateDir }) => ({
24
21
  magentoVersion: '2.4.6-p1',
25
- isDefault: true,
26
22
  configuration: {
27
23
  php: php81({
28
24
  templateDir,
@@ -38,10 +34,5 @@ module.exports = ({ templateDir }) => ({
38
34
  varnish: varnish73({ templateDir }),
39
35
  sslTerminator: sslTerminator({ templateDir }),
40
36
  maildev: maildev()
41
- },
42
- magento: defaultMagentoConfig,
43
- host: 'localhost',
44
- ssl: {
45
- enabled: false
46
37
  }
47
38
  })
@@ -0,0 +1,38 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php81 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish73 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx118 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis70 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch85 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+
17
+ /**
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
19
+ */
20
+ module.exports = ({ templateDir }) => ({
21
+ magentoVersion: '2.4.6-p2',
22
+ configuration: {
23
+ php: php81({
24
+ templateDir,
25
+ extensions: { ...magento24PHPExtensionList, sodium },
26
+ baseImage: `${repo}:php-8.1-magento-2.4`
27
+ }),
28
+ nginx: nginx118({ templateDir }),
29
+ redis: redis70(),
30
+ mysql: mysql80(),
31
+ mariadb: mariadb106(),
32
+ elasticsearch: elasticsearch85(),
33
+ composer: composer22(),
34
+ varnish: varnish73({ templateDir }),
35
+ sslTerminator: sslTerminator({ templateDir }),
36
+ maildev: maildev()
37
+ }
38
+ })
@@ -0,0 +1,39 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php81 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish73 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx118 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis70 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch85 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+
17
+ /**
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
19
+ */
20
+ module.exports = ({ templateDir }) => ({
21
+ magentoVersion: '2.4.6-p3',
22
+ isDefault: true,
23
+ configuration: {
24
+ php: php81({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.1-magento-2.4`
28
+ }),
29
+ nginx: nginx118({ templateDir }),
30
+ redis: redis70(),
31
+ mysql: mysql80(),
32
+ mariadb: mariadb106(),
33
+ elasticsearch: elasticsearch85(),
34
+ composer: composer22(),
35
+ varnish: varnish73({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev()
38
+ }
39
+ })
@@ -1,4 +1,3 @@
1
- const { defaultMagentoConfig } = require('../magento-config')
2
1
  const sodium = require('../services/php/extensions/sodium')
3
2
  const {
4
3
  magento24PHPExtensionList
@@ -16,13 +15,10 @@ const { elasticsearch84 } = require('../services/elasticsearch/versions')
16
15
  const { mysql80 } = require('../services/mysql/versions')
17
16
 
18
17
  /**
19
- * @param {Object} param0
20
- * @param {string} param0.templateDir
21
- * @returns {import('../../../typings/index').CMAConfiguration & { magentoVersion: string, isDefault?: boolean }}
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
22
19
  */
23
20
  module.exports = ({ templateDir }) => ({
24
21
  magentoVersion: '2.4.6',
25
- isDefault: true,
26
22
  configuration: {
27
23
  php: php81({
28
24
  templateDir,
@@ -38,10 +34,5 @@ module.exports = ({ templateDir }) => ({
38
34
  varnish: varnish71({ templateDir }),
39
35
  sslTerminator: sslTerminator({ templateDir }),
40
36
  maildev: maildev()
41
- },
42
- magento: defaultMagentoConfig,
43
- host: 'localhost',
44
- ssl: {
45
- enabled: false
46
37
  }
47
38
  })
@@ -0,0 +1,38 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php82 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish73 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx118 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis70 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch87 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+
17
+ /**
18
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
19
+ */
20
+ module.exports = ({ templateDir }) => ({
21
+ magentoVersion: '2.4.7-beta2',
22
+ configuration: {
23
+ php: php82({
24
+ templateDir,
25
+ extensions: { ...magento24PHPExtensionList, sodium },
26
+ baseImage: `${repo}:php-8.2-magento-2.4`
27
+ }),
28
+ nginx: nginx118({ templateDir }),
29
+ redis: redis70(),
30
+ mysql: mysql80(),
31
+ mariadb: mariadb106(),
32
+ elasticsearch: elasticsearch87(),
33
+ composer: composer22(),
34
+ varnish: varnish73({ templateDir }),
35
+ sslTerminator: sslTerminator({ templateDir }),
36
+ maildev: maildev()
37
+ }
38
+ })
@@ -73,7 +73,7 @@ Note that you will lose your existing database!`,
73
73
  {
74
74
  name: 'skip',
75
75
  message:
76
- "NO I DON'T wANT TO DELETE magento DATABASE! (Skip this step)"
76
+ "NO I DON'T WANT TO DELETE magento DATABASE! (Skip this step)"
77
77
  }
78
78
  ]
79
79
  })
@@ -2,9 +2,7 @@ const databaseDumpCommandWithOptions = [
2
2
  'mysqldump',
3
3
  'magento',
4
4
  '--skip-lock-tables',
5
- '--set-gtid-purged=OFF',
6
5
  '--single-transaction=TRUE',
7
- '--column-statistics=0',
8
6
  '--max_allowed_packet=1GB',
9
7
  '--no-tablespaces'
10
8
  ]
@@ -21,36 +21,37 @@ const readymageSSH = () => ({
21
21
  task.output =
22
22
  'Making remote database dump files without customers data...'
23
23
 
24
+ const firstCommand = [
25
+ ...databaseDumpCommandWithOptions,
26
+ ...[...orderTables, ...customerTables].map(
27
+ (table) => `--ignore-table=magento.${table}`
28
+ ),
29
+ '--result-file=dump-0.sql'
30
+ ].join(' ')
31
+
24
32
  /**
25
33
  * create dump without customers and orders
26
34
  */
27
- await ssh.execCommand(
28
- [
29
- ...databaseDumpCommandWithOptions,
30
- ...[...orderTables, ...customerTables].map(
31
- (table) => `--ignore-table=magento.${table}`
32
- ),
33
- '--result-file=dump-0.sql'
34
- ].join(' ')
35
- )
35
+ await ssh.execCommand(firstCommand)
36
36
 
37
- await ssh.execCommand(
38
- [
39
- ...databaseDumpCommandWithOptions,
40
- '--no-data',
41
- '--result-file=dump-1.sql',
42
- ...[...orderTables, ...customerTables]
43
- ].join(' ')
44
- )
37
+ const secondCommand = [
38
+ ...databaseDumpCommandWithOptions,
39
+ '--no-data',
40
+ '--result-file=dump-1.sql',
41
+ ...[...orderTables, ...customerTables]
42
+ ].join(' ')
43
+
44
+ await ssh.execCommand(secondCommand)
45
45
  } else {
46
46
  task.output =
47
47
  'Making remote database dump file with customers data...'
48
- await ssh.execCommand(
49
- [
50
- ...databaseDumpCommandWithOptions,
51
- '--result-file=dump.sql'
52
- ].join(' ')
53
- )
48
+
49
+ const command = [
50
+ ...databaseDumpCommandWithOptions,
51
+ '--result-file=dump.sql'
52
+ ].join(' ')
53
+
54
+ await ssh.execCommand(command)
54
55
  }
55
56
 
56
57
  if (!noCompress) {
@@ -73,14 +74,14 @@ const readymageSSH = () => ({
73
74
  task.output = 'Downloading dump files...'
74
75
  if (noCompress) {
75
76
  await execAsyncSpawn(
76
- `scp ${sshConnectString}:${remotePwd}/dump-0.sql .`
77
+ `scp -O ${sshConnectString}:${remotePwd}/dump-0.sql .`
77
78
  )
78
79
  await execAsyncSpawn(
79
- `scp ${sshConnectString}:${remotePwd}/dump-1.sql .`
80
+ `scp -O ${sshConnectString}:${remotePwd}/dump-1.sql .`
80
81
  )
81
82
  } else {
82
83
  await execAsyncSpawn(
83
- `scp ${sshConnectString}:${remotePwd}/dump.sql.gz .`
84
+ `scp -O ${sshConnectString}:${remotePwd}/dump.sql.gz .`
84
85
  )
85
86
 
86
87
  task.output = 'Extracting dump files...'
@@ -93,11 +94,11 @@ const readymageSSH = () => ({
93
94
  task.output = 'Downloading dump file...'
94
95
  if (noCompress) {
95
96
  await execAsyncSpawn(
96
- `scp ${sshConnectString}:${remotePwd}/dump.sql .`
97
+ `scp -o StrictHostKeyChecking=no -O ${sshConnectString}:${remotePwd}/dump.sql .`
97
98
  )
98
99
  } else {
99
100
  await execAsyncSpawn(
100
- `scp ${sshConnectString}:${remotePwd}/dump.sql.gz .`
101
+ `scp -o StrictHostKeyChecking=no -O ${sshConnectString}:${remotePwd}/dump.sql.gz .`
101
102
  )
102
103
 
103
104
  task.output = 'Extracting dump file...'
@@ -145,6 +145,11 @@ export interface ContainerRunOptions {
145
145
  network?: string
146
146
 
147
147
  expose?: (string | number)[]
148
+
149
+ /**
150
+ * Memory option [docs](https://docs.docker.com/engine/reference/commandline/run/#memory)
151
+ */
152
+ memory?: string
148
153
  }
149
154
 
150
155
  export function run<T>(