@scandipwa/magento-scripts 2.3.6 → 2.4.0-alpha.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.
@@ -68,70 +68,6 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
68
68
 
69
69
  const { isDockerDesktop } = ctx
70
70
 
71
- if (isDockerDesktop) {
72
- /**
73
- * When CMA is running with Docker Desktop,
74
- * we need create named volumes to avoid performance penalty
75
- */
76
- volumes.php = {
77
- name: `${prefix}_project-data`,
78
- driver: 'local',
79
- opt: {
80
- type: 'none',
81
- device: path.join(magentoDir),
82
- o: 'bind'
83
- }
84
- }
85
- volumes.nginx = {
86
- name: `${prefix}_nginx-data`,
87
- driver: 'local',
88
- opt: {
89
- type: 'none',
90
- device: path.join(cacheDir, 'nginx', 'conf.d'),
91
- o: 'bind'
92
- }
93
- }
94
- volumes.appPub = {
95
- name: `${prefix}_pub-data`,
96
- driver: 'local',
97
- opt: {
98
- type: 'none',
99
- device: path.join(magentoDir, 'pub'),
100
- o: 'bind'
101
- }
102
- }
103
- volumes.appSetup = {
104
- name: `${prefix}_setup-data`,
105
- driver: 'local',
106
- opt: {
107
- type: 'none',
108
- device: path.join(magentoDir, 'setup'),
109
- o: 'bind'
110
- }
111
- }
112
- volumes.sslTerminator = {
113
- name: `${prefix}_ssl-terminator-data`,
114
- driver: 'local',
115
- opt: {
116
- type: 'none',
117
- device: path.join(cacheDir, 'ssl-terminator', 'conf.d'),
118
- o: 'bind'
119
- }
120
- }
121
-
122
- if (varnish.enabled) {
123
- volumes.varnish = {
124
- name: `${prefix}_varnish-data`,
125
- driver: 'local',
126
- opt: {
127
- type: 'none',
128
- device: path.join(cacheDir, 'varnish'),
129
- o: 'bind'
130
- }
131
- }
132
- }
133
- }
134
-
135
71
  /**
136
72
  * @param {Record<string, number>} ports
137
73
  */
@@ -166,16 +102,26 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
166
102
  ],
167
103
  network: isDockerDesktop ? network.name : 'host',
168
104
  mountVolumes: [
169
- `${
170
- !isDockerDesktop ? magentoDir : volumes.php.name
171
- }:${containerMagentoDir}`,
105
+ `${magentoDir}:${containerMagentoDir}${
106
+ isDockerDesktop ? ':cached' : ''
107
+ }`,
172
108
  `${volumes.composer_cache.name}:/composer/home/cache`,
173
- `${php.iniPath}:/usr/local/etc/php/php.ini`,
174
- `${php.fpmConfPath}:/usr/local/etc/php-fpm.d/zz-docker.conf`
109
+ `${php.iniPath}:/usr/local/etc/php/php.ini${
110
+ isDockerDesktop ? ':cached' : ''
111
+ }`,
112
+ `${
113
+ php.fpmConfPath
114
+ }:/usr/local/etc/php-fpm.d/zz-docker.conf${
115
+ isDockerDesktop ? ':cached' : ''
116
+ }`
175
117
  ].concat(
176
118
  ctx.debug
177
119
  ? [
178
- `${php.debugIniPath}:/usr/local/etc/php/conf.d/00-xdebug.ini`
120
+ `${
121
+ php.debugIniPath
122
+ }:/usr/local/etc/php/conf.d/00-xdebug.ini${
123
+ isDockerDesktop ? ':cached' : ''
124
+ }`
179
125
  ]
180
126
  : []
181
127
  ),
@@ -216,16 +162,18 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
216
162
  * Mount volumes directly on linux
217
163
  */
218
164
  mountVolumes: [
219
- `${
220
- !isDockerDesktop
221
- ? path.join(cacheDir, 'ssl-terminator', 'conf.d')
222
- : volumes.sslTerminator.name
223
- }:/etc/nginx/conf.d`,
165
+ `${path.join(
166
+ cacheDir,
167
+ 'ssl-terminator',
168
+ 'conf.d'
169
+ )}:/etc/nginx/conf.d${isDockerDesktop ? ':cached' : ''}`,
224
170
  `${path.join(
225
171
  cacheDir,
226
172
  'ssl-terminator',
227
173
  'fastcgi_params'
228
- )}:/etc/nginx/fastcgi_params`
174
+ )}:/etc/nginx/fastcgi_params${
175
+ isDockerDesktop ? ':cached' : ''
176
+ }`
229
177
  ],
230
178
  restart: 'on-failure:5',
231
179
  network: isDockerDesktop ? network.name : 'host',
@@ -255,39 +203,23 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
255
203
  /**
256
204
  * Mount volumes directly on linux
257
205
  */
258
- mountVolumes: !isDockerDesktop
259
- ? [
260
- `${cacheDir}/nginx/conf.d:/etc/nginx/conf.d`,
261
- `${path.join(magentoDir, 'pub')}:${path.join(
262
- containerMagentoDir,
263
- 'pub'
264
- )}`,
265
- `${path.join(magentoDir, 'setup')}:${path.join(
266
- containerMagentoDir,
267
- 'setup'
268
- )}`,
269
- `${path.join(
270
- cacheDir,
271
- 'ssl-terminator',
272
- 'fastcgi_params'
273
- )}:/etc/nginx/fastcgi_params`
274
- ]
275
- : [
276
- `${volumes.nginx.name}:/etc/nginx/conf.d`,
277
- `${volumes.appPub.name}:${path.join(
278
- containerMagentoDir,
279
- 'pub'
280
- )}`,
281
- `${volumes.appSetup.name}:${path.join(
282
- containerMagentoDir,
283
- 'setup'
284
- )}`,
285
- `${path.join(
286
- cacheDir,
287
- 'ssl-terminator',
288
- 'fastcgi_params'
289
- )}:/etc/nginx/fastcgi_params`
290
- ],
206
+ mountVolumes: [
207
+ `${path.join(
208
+ cacheDir,
209
+ 'nginx',
210
+ 'conf.d'
211
+ )}:/etc/nginx/conf.d${isDockerDesktop ? ':cached' : ''}`,
212
+ `${magentoDir}:${containerMagentoDir}${
213
+ isDockerDesktop ? ':cached' : ''
214
+ }`,
215
+ `${path.join(
216
+ cacheDir,
217
+ 'ssl-terminator',
218
+ 'fastcgi_params'
219
+ )}:/etc/nginx/fastcgi_params${
220
+ isDockerDesktop ? ':cached' : ''
221
+ }`
222
+ ],
291
223
  restart: 'on-failure:5',
292
224
  network: isDockerDesktop ? network.name : 'host',
293
225
  image: `${
@@ -323,7 +255,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
323
255
  `${path.join(
324
256
  baseConfig.cacheDir,
325
257
  'mariadb.cnf'
326
- )}:/etc/mysql/my.cnf`
258
+ )}:/etc/mysql/my.cnf${isDockerDesktop ? ':cached' : ''}`
327
259
  ],
328
260
  env: {
329
261
  MARIADB_ROOT_PASSWORD: 'scandipwa'
@@ -444,11 +376,9 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
444
376
  }`,
445
377
  name: `${prefix}_varnish`,
446
378
  mountVolumes: [
447
- `${
448
- !isDockerDesktop
449
- ? path.join(cacheDir, 'varnish')
450
- : volumes.varnish.name
451
- }:/etc/varnish`
379
+ `${path.join(cacheDir, 'varnish')}:/etc/varnish${
380
+ isDockerDesktop ? ':cached' : ''
381
+ }`
452
382
  ],
453
383
  ports: isDockerDesktop
454
384
  ? [
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @returns {import('../../../../../typings/index').ComposerConfiguration}
3
+ */
4
+ const composer28 = () => ({
5
+ version: '2.8.5'
6
+ })
7
+
8
+ module.exports = composer28
@@ -3,5 +3,6 @@ module.exports = {
3
3
  composer2: require('./composer-2'),
4
4
  composer22: require('./composer-2.2'),
5
5
  composer26: require('./composer-2.6'),
6
- composer27: require('./composer-2.7')
6
+ composer27: require('./composer-2.7'),
7
+ composer28: require('./composer-2.8')
7
8
  }
@@ -0,0 +1,14 @@
1
+ const defaultEnv = require('../default-es-env')
2
+
3
+ /**
4
+ * @returns {import('../../../../../typings/index').ElasticSearchConfiguration}
5
+ */
6
+ const elasticsearch816 = () => ({
7
+ image: 'elasticsearch:8.16.4',
8
+ env: {
9
+ ...defaultEnv,
10
+ 'indices.id_field_data.enabled': true
11
+ }
12
+ })
13
+
14
+ module.exports = elasticsearch816
@@ -10,6 +10,7 @@ const elasticsearch84 = require('./elasticsearch-8.4')
10
10
  const elasticsearch85 = require('./elasticsearch-8.5')
11
11
  const elasticsearch87 = require('./elasticsearch-8.7')
12
12
  const elasticsearch811 = require('./elasticsearch-8.11')
13
+ const elasticsearch816 = require('./elasticsearch-8.16')
13
14
 
14
15
  module.exports = {
15
16
  elasticsearch68,
@@ -23,5 +24,6 @@ module.exports = {
23
24
  elasticsearch84,
24
25
  elasticsearch85,
25
26
  elasticsearch87,
26
- elasticsearch811
27
+ elasticsearch811,
28
+ elasticsearch816
27
29
  }
@@ -1,5 +1,6 @@
1
1
  module.exports = {
2
2
  nginx118: require('./nginx-1.18'),
3
3
  nginx122: require('./nginx-1.22'),
4
- nginx124: require('./nginx-1.24')
4
+ nginx124: require('./nginx-1.24'),
5
+ nginx126: require('./nginx-1.26')
5
6
  }
@@ -0,0 +1,12 @@
1
+ const path = require('path')
2
+
3
+ /**
4
+ * @param {{ templateDir: string }} param0
5
+ * @returns {import('../../../../../typings/index').NginxConfiguration}
6
+ */
7
+ const nginx126 = ({ templateDir }) => ({
8
+ image: 'nginx:1.26.0',
9
+ configTemplate: path.join(templateDir || '', 'nginx.template.conf')
10
+ })
11
+
12
+ module.exports = nginx126
@@ -4,7 +4,7 @@ const defaultEnv = require('../default-os-env')
4
4
  * @returns {import('../../../../../typings/index').OpenSearchSearchConfiguration}
5
5
  */
6
6
  const opensearch13 = () => ({
7
- image: 'opensearchproject/opensearch:1.3.15',
7
+ image: 'opensearchproject/opensearch:1.3.20',
8
8
  env: {
9
9
  ...defaultEnv,
10
10
  'indices.id_field_data.enabled': true,
@@ -4,5 +4,7 @@ module.exports = {
4
4
  varnish70: require('./varnish-7-0'),
5
5
  varnish71: require('./varnish-7-1'),
6
6
  varnish73: require('./varnish-7-3'),
7
- varnish74: require('./varnish-7-4')
7
+ varnish74: require('./varnish-7-4'),
8
+ varnish75: require('./varnish-7-5'),
9
+ varnish76: require('./varnish-7-6')
8
10
  }
@@ -0,0 +1,15 @@
1
+ const path = require('path')
2
+
3
+ /**
4
+ * @param {Object} param0
5
+ * @param {string} param0.templateDir
6
+ * @returns {import('../../../../typings/index').VarnishConfiguration}
7
+ */
8
+ const varnish75 = ({ templateDir }) => ({
9
+ enabled: true,
10
+ healthCheck: false,
11
+ image: 'varnish:7.5',
12
+ configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
13
+ })
14
+
15
+ module.exports = varnish75
@@ -0,0 +1,15 @@
1
+ const path = require('path')
2
+
3
+ /**
4
+ * @param {Object} param0
5
+ * @param {string} param0.templateDir
6
+ * @returns {import('../../../../typings/index').VarnishConfiguration}
7
+ */
8
+ const varnish76 = ({ templateDir }) => ({
9
+ enabled: true,
10
+ healthCheck: false,
11
+ image: 'varnish:7.6',
12
+ configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
13
+ })
14
+
15
+ module.exports = varnish76
@@ -0,0 +1,40 @@
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 { varnish76 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx126 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis72 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch13 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.4-p12',
23
+ configuration: {
24
+ php: php81({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.1-magento-2.4`
28
+ }),
29
+ nginx: nginx126({ templateDir }),
30
+ redis: redis72(),
31
+ mysql: mysql80(),
32
+ mariadb: mariadb106(),
33
+ elasticsearch: elasticsearch717(),
34
+ composer: composer22(),
35
+ varnish: varnish76({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch13()
39
+ }
40
+ })
@@ -0,0 +1,40 @@
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 { varnish76 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx126 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis72 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch13 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.5-p11',
23
+ configuration: {
24
+ php: php81({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.1-magento-2.4`
28
+ }),
29
+ nginx: nginx126({ templateDir }),
30
+ redis: redis72(),
31
+ mysql: mysql80(),
32
+ mariadb: mariadb106(),
33
+ elasticsearch: elasticsearch717(),
34
+ composer: composer22(),
35
+ varnish: varnish76({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch13()
39
+ }
40
+ })
@@ -0,0 +1,40 @@
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 { varnish76 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx126 } = require('../services/nginx/versions')
10
+ const { composer22 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis72 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch212 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.6-p9',
23
+ configuration: {
24
+ php: php81({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.1-magento-2.4`
28
+ }),
29
+ nginx: nginx126({ templateDir }),
30
+ redis: redis72(),
31
+ mysql: mysql80(),
32
+ mariadb: mariadb106(),
33
+ elasticsearch: elasticsearch717(),
34
+ composer: composer22(),
35
+ varnish: varnish76({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch212()
39
+ }
40
+ })
@@ -20,7 +20,6 @@ const { opensearch212 } = require('../services/opensearch/versions')
20
20
  */
21
21
  module.exports = ({ templateDir }) => ({
22
22
  magentoVersion: '2.4.7-p3',
23
- isDefault: true,
24
23
  configuration: {
25
24
  php: php82({
26
25
  templateDir,
@@ -0,0 +1,42 @@
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 { varnish76 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx126 } = require('../services/nginx/versions')
10
+ const { composer28 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis72 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch816 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch212 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.7-p4',
23
+ isDefault: true,
24
+ configuration: {
25
+ php: php82({
26
+ templateDir,
27
+ extensions: { ...magento24PHPExtensionList, sodium },
28
+ baseImage: `${repo}:php-8.2-magento-2.4`
29
+ }),
30
+ nginx: nginx126({ templateDir }),
31
+ redis: redis72(),
32
+ mysql: mysql80(),
33
+ mariadb: mariadb106(),
34
+ elasticsearch: elasticsearch816(),
35
+ composer: composer28(),
36
+ varnish: varnish76({ templateDir }),
37
+ sslTerminator: sslTerminator({ templateDir }),
38
+ maildev: maildev(),
39
+ opensearch: opensearch212(),
40
+ searchengine: 'opensearch'
41
+ }
42
+ })
@@ -0,0 +1,41 @@
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 { varnish76 } = require('../services/varnish')
8
+ const { repo } = require('../services/php/base-repo')
9
+ const { nginx126 } = require('../services/nginx/versions')
10
+ const { composer28 } = require('../services/composer/versions')
11
+ const { maildev } = require('../services/maildev')
12
+ const { redis72 } = require('../services/redis')
13
+ const { mariadb106 } = require('../services/mariadb/versions')
14
+ const { elasticsearch816 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch212 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.8-beta2',
23
+ configuration: {
24
+ php: php82({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.2-magento-2.4`
28
+ }),
29
+ nginx: nginx126({ templateDir }),
30
+ redis: redis72(),
31
+ mysql: mysql80(),
32
+ mariadb: mariadb106(),
33
+ elasticsearch: elasticsearch816(),
34
+ composer: composer28(),
35
+ varnish: varnish76({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch212(),
39
+ searchengine: 'opensearch'
40
+ }
41
+ })
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Scripts and configuration used by CMA.",
4
4
  "homepage": "https://docs.create-magento-app.com/",
5
5
  "repository": "github:scandipwa/create-magento-app",
6
- "version": "2.3.6",
6
+ "version": "2.4.0-alpha.0",
7
7
  "main": "./index.js",
8
8
  "types": "./typings/index.d.ts",
9
9
  "license": "OSL-3.0",
@@ -59,5 +59,5 @@
59
59
  "@types/node": "^20.10.4",
60
60
  "@types/yargs": "^17.0.13"
61
61
  },
62
- "gitHead": "34550a6463f6b9c33f766805a0b58b3a5aae0bba"
62
+ "gitHead": "684832cd42a2a9b37bcb4a03a4196221e3802a74"
63
63
  }