@scandipwa/magento-scripts 2.4.2-alpha.1 → 2.4.2

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.
@@ -115,7 +115,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
115
115
  : {}
116
116
 
117
117
  /**
118
- * @type {Record<string, import('../tasks/docker/containers/container-api').ContainerRunOptions & { _?: string, forwardedPorts?: string[], remoteImages?: string[], connectCommand?: string[], description?: string, pullImage?: boolean, dependsOn?: string[], serviceReadyLog?: string }>}
118
+ * @type {Record<string, import('../tasks/docker/containers/container-api').ContainerRunOptions & { _?: string, forwardedPorts?: string[], remoteImages?: string[], connectCommand?: string[], description?: string, pullImage?: boolean, dependsOn?: string[] }>}
119
119
  */
120
120
  const dockerConfig = {
121
121
  php: {
@@ -169,8 +169,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
169
169
  (ctx.platform === 'linux' && isDockerDesktop) ||
170
170
  !isDockerDesktop
171
171
  ? `${os.userInfo().uid}:${os.userInfo().gid}`
172
- : '',
173
- serviceReadyLog: 'ready to handle connections'
172
+ : ''
174
173
  },
175
174
  phpWithXdebug: {
176
175
  _: 'PHP with Xdebug',
@@ -229,8 +228,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
229
228
  (ctx.platform === 'linux' && isDockerDesktop) ||
230
229
  !isDockerDesktop
231
230
  ? `${os.userInfo().uid}:${os.userInfo().gid}`
232
- : '',
233
- serviceReadyLog: 'ready to handle connections'
231
+ : ''
234
232
  },
235
233
  sslTerminator: {
236
234
  _: 'SSL Terminator (Nginx)',
@@ -339,8 +337,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
339
337
  redis.version ? `redis:${redis.version}` : redis.image
340
338
  }`,
341
339
  name: `${prefix}_redis`,
342
- connectCommand: ['redis-cli'],
343
- serviceReadyLog: 'Ready to accept connections'
340
+ connectCommand: ['redis-cli']
344
341
  },
345
342
  mariadb: {
346
343
  _: 'MariaDB',
@@ -426,9 +423,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
426
423
  : elasticsearch.image
427
424
  : opensearch.image
428
425
  }`,
429
- name: `${prefix}_${searchengine}`,
430
- serviceReadyLog:
431
- searchengine === 'elasticsearch' ? '"started"' : '] started'
426
+ name: `${prefix}_${searchengine}`
432
427
  },
433
428
  maildev: {
434
429
  _: 'MailDev',
@@ -3,6 +3,7 @@ module.exports = {
3
3
  mariadb103: require('./mariadb-10.3'),
4
4
  mariadb104: require('./mariadb-10.4'),
5
5
  mariadb106: require('./mariadb-10.6'),
6
+ mariadb1011: require('./mariadb-10.11'),
6
7
  mariadb114: require('./mariadb-11.4'),
7
8
  mariadb116: require('./mariadb-11.6')
8
9
  }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @returns {import('../../../../../typings/index').MariaDBConfiguration}
3
+ */
4
+ const mariadb106 = () => ({
5
+ image: 'mariadb:10.11',
6
+ useOptimizerSwitch: true,
7
+ binFileName: 'mysql',
8
+ binAdminFileName: 'mysqladmin'
9
+ })
10
+
11
+ module.exports = mariadb106
@@ -1,9 +1,11 @@
1
1
  const mysql57 = require('./mysql-5.7')
2
2
  const mysql80 = require('./mysql-8.0')
3
3
  const mysql8028 = require('./mysql-8.0.28')
4
+ const mysql84 = require('./mysql-8.4')
4
5
 
5
6
  module.exports = {
6
7
  mysql57,
7
8
  mysql80,
8
- mysql8028
9
+ mysql8028,
10
+ mysql84
9
11
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @returns {import("../../../../../typings/common").CMAConfigurationWithMySQL['configuration']['mysql']}
3
+ */
4
+ const mysql84 = () => ({
5
+ image: 'mysql:8.4'
6
+ })
7
+
8
+ module.exports = mysql84
@@ -6,5 +6,6 @@ module.exports = {
6
6
  varnish73: require('./varnish-7-3'),
7
7
  varnish74: require('./varnish-7-4'),
8
8
  varnish75: require('./varnish-7-5'),
9
- varnish76: require('./varnish-7-6')
9
+ varnish76: require('./varnish-7-6'),
10
+ varnish77: require('./varnish-7-7')
10
11
  }
@@ -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 varnish77 = ({ templateDir }) => ({
9
+ enabled: false,
10
+ healthCheck: false,
11
+ image: 'varnish:7.7',
12
+ configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
13
+ })
14
+
15
+ module.exports = varnish77
@@ -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 { varnish77 } = 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 { opensearch219 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.5-p13',
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: varnish77({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch219()
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 { varnish77 } = 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 { mariadb1011 } = require('../services/mariadb/versions')
14
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch219 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.6-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: mariadb1011(),
33
+ elasticsearch: elasticsearch717(),
34
+ composer: composer22(),
35
+ varnish: varnish77({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch219()
39
+ }
40
+ })
@@ -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 { mariadb1011 } = require('../services/mariadb/versions')
14
+ const { elasticsearch817 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch219 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.7-p6',
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: mariadb1011(),
33
+ elasticsearch: elasticsearch817(),
34
+ composer: composer28(),
35
+ varnish: varnish76({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch219(),
39
+ searchengine: 'opensearch'
40
+ }
41
+ })
@@ -0,0 +1,43 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const ftp = require('../services/php/extensions/ftp')
3
+ const {
4
+ magento24PHPExtensionList
5
+ } = require('../magento/required-php-extensions')
6
+ const { php83 } = require('../services/php/versions')
7
+ const { sslTerminator } = require('../services/ssl-terminator')
8
+ const { varnish76 } = require('../services/varnish')
9
+ const { repo } = require('../services/php/base-repo')
10
+ const { nginx126 } = require('../services/nginx/versions')
11
+ const { composer28 } = require('../services/composer/versions')
12
+ const { maildev } = require('../services/maildev')
13
+ const { valkey80 } = require('../services/redis')
14
+ const { mariadb114 } = require('../services/mariadb/versions')
15
+ const { elasticsearch817 } = require('../services/elasticsearch/versions')
16
+ const { mysql80 } = require('../services/mysql/versions')
17
+ const { opensearch219 } = require('../services/opensearch/versions')
18
+
19
+ /**
20
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
21
+ */
22
+ module.exports = ({ templateDir }) => ({
23
+ magentoVersion: '2.4.8-p1',
24
+ isDefault: true,
25
+ configuration: {
26
+ php: php83({
27
+ templateDir,
28
+ extensions: { ...magento24PHPExtensionList, sodium, ftp },
29
+ baseImage: `${repo}:php-8.3-magento-2.4`
30
+ }),
31
+ nginx: nginx126({ templateDir }),
32
+ redis: valkey80(),
33
+ mysql: mysql80(),
34
+ mariadb: mariadb114(),
35
+ elasticsearch: elasticsearch817(),
36
+ composer: composer28(),
37
+ varnish: varnish76({ templateDir }),
38
+ sslTerminator: sslTerminator({ templateDir }),
39
+ maildev: maildev(),
40
+ opensearch: opensearch219(),
41
+ searchengine: 'opensearch'
42
+ }
43
+ })
@@ -21,7 +21,6 @@ const { opensearch219 } = require('../services/opensearch/versions')
21
21
  */
22
22
  module.exports = ({ templateDir }) => ({
23
23
  magentoVersion: '2.4.8',
24
- isDefault: true,
25
24
  configuration: {
26
25
  php: php83({
27
26
  templateDir,
@@ -0,0 +1,41 @@
1
+ const sodium = require('../services/php/extensions/sodium')
2
+ const {
3
+ magento24PHPExtensionList
4
+ } = require('../magento/required-php-extensions')
5
+ const { php83 } = require('../services/php/versions')
6
+ const { sslTerminator } = require('../services/ssl-terminator')
7
+ const { varnish77 } = 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 { valkey80 } = require('../services/redis')
13
+ const { mariadb114 } = require('../services/mariadb/versions')
14
+ const { elasticsearch87 } = require('../services/elasticsearch/versions')
15
+ const { mysql84 } = require('../services/mysql/versions')
16
+ const { opensearch219 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.9-alpha1',
23
+ configuration: {
24
+ php: php83({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.3-magento-2.4`
28
+ }),
29
+ nginx: nginx126({ templateDir }),
30
+ redis: valkey80(),
31
+ mysql: mysql84(),
32
+ mariadb: mariadb114(),
33
+ elasticsearch: elasticsearch87(),
34
+ composer: composer28(),
35
+ varnish: varnish77({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch219(),
39
+ searchengine: 'opensearch'
40
+ }
41
+ })
@@ -5,7 +5,6 @@ const KnownError = require('../../../errors/known-error')
5
5
  const containerApi = require('./container-api')
6
6
  const { imageApi } = require('../image')
7
7
  const { execAsyncSpawn } = require('../../../util/exec-async-command')
8
- const waitForLogs = require('../../../util/wait-for-logs')
9
8
 
10
9
  /**
11
10
  * @param {string[]} containers
@@ -155,9 +154,7 @@ const startContainers = () => ({
155
154
  all: true
156
155
  })
157
156
 
158
- const containers = docker.getContainers(ports)
159
-
160
- const missingContainers = Object.entries(containers)
157
+ const missingContainers = Object.entries(docker.getContainers(ports))
161
158
  .filter(
162
159
  ([nameWithoutPrefix, { name }]) =>
163
160
  !containerList.some((c) => c.Names === name)
@@ -192,9 +189,7 @@ const startContainers = () => ({
192
189
  const startedContainers = []
193
190
  subTask.title = `Container ${
194
191
  container._
195
- } is waiting for ${dependsOn
196
- .map((a) => containers[a]._)
197
- .join(', ')} to start...`
192
+ } is waiting for ${dependsOn.join(', ')} to start...`
198
193
  await Promise.all(
199
194
  dependsOn.map(
200
195
  async (name) =>
@@ -222,7 +217,6 @@ const startContainers = () => ({
222
217
  d
223
218
  )
224
219
  )
225
- .map((d) => containers[d]._)
226
220
  .join(', ')} to start...`
227
221
  clearTimeout(timeout)
228
222
  resolve()
@@ -237,13 +231,6 @@ const startContainers = () => ({
237
231
 
238
232
  await containerApi.run(container)
239
233
 
240
- if (container.serviceReadyLog) {
241
- await waitForLogs({
242
- containerName: container.name,
243
- matchText: container.serviceReadyLog
244
- })
245
- }
246
-
247
234
  containerStatuses[
248
235
  container.nameWithoutPrefix
249
236
  ].started = true
@@ -253,7 +240,7 @@ const startContainers = () => ({
253
240
  cb()
254
241
  })
255
242
 
256
- subTask.title = `${container._} container started`
243
+ subTask.output = `${container._} container started`
257
244
  }
258
245
  })),
259
246
  {
@@ -28,16 +28,13 @@ const createNginxConfig = () => ({
28
28
  }
29
29
 
30
30
  if (isDockerDesktop) {
31
- // const containers = docker.getContainers(ports)
31
+ const containers = docker.getContainers(ports)
32
32
 
33
- // networkSettings.phpNetwork = containers.php.name
34
- // networkSettings.phpWithXdebugNetwork = containers.phpWithXdebug.name
33
+ networkSettings.phpNetwork = containers.php.name
34
+ networkSettings.phpWithXdebugNetwork = containers.phpWithXdebug.name
35
35
 
36
- networkSettings.phpNetwork = 'host.docker.internal'
37
- networkSettings.phpWithXdebugNetwork = 'host.docker.internal'
38
-
39
- // networkSettings.fpmPort = 9000
40
- // networkSettings.fpmXdebugPort = 9000
36
+ networkSettings.fpmPort = 9000
37
+ networkSettings.fpmXdebugPort = 9000
41
38
 
42
39
  networkSettings.hostPort = 80
43
40
  }
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.4.2-alpha.1",
6
+ "version": "2.4.2",
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.14.11",
60
60
  "@types/yargs": "^17.0.32"
61
61
  },
62
- "gitHead": "96732295d12ac0fc5cf37a70aaeec93fb85503d7"
62
+ "gitHead": "fc6fc272e01ce2442814452a14e0d2c6fe28a9f7"
63
63
  }
@@ -118,7 +118,6 @@ export interface ListrContext {
118
118
  command: string
119
119
  connectCommand: string[]
120
120
  dependsOn?: string[]
121
- serviceReadyLog?: string
122
121
  }
123
122
  >
124
123
  }
@@ -155,5 +154,4 @@ export interface ListrContext {
155
154
  dockerServerData?: DockerVersionResult['Server']
156
155
  dockerClientData?: DockerVersionResult['Client']
157
156
  dockerVersion?: DockerVersionResult['Server']['Version']
158
- dockerMemoryLimit: number
159
157
  }