@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.
- package/lib/config/docker.js +5 -10
- package/lib/config/services/mariadb/versions/index.js +1 -0
- package/lib/config/services/mariadb/versions/mariadb-10.11.js +11 -0
- package/lib/config/services/mysql/versions/index.js +3 -1
- package/lib/config/services/mysql/versions/mysql-8.4.js +8 -0
- package/lib/config/services/varnish/index.js +2 -1
- package/lib/config/services/varnish/varnish-7-7.js +15 -0
- package/lib/config/versions/magento-2.4.5-p13.js +40 -0
- package/lib/config/versions/magento-2.4.6-p11.js +40 -0
- package/lib/config/versions/magento-2.4.7-p6.js +41 -0
- package/lib/config/versions/magento-2.4.8-p1.js +43 -0
- package/lib/config/versions/magento-2.4.8.js +0 -1
- package/lib/config/versions/magento-2.4.9-alpha1.js +41 -0
- package/lib/tasks/docker/containers/tasks.js +3 -16
- package/lib/tasks/file-system/create-nginx-config.js +5 -8
- package/package.json +2 -2
- package/typings/context.d.ts +0 -2
package/lib/config/docker.js
CHANGED
|
@@ -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[]
|
|
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',
|
|
@@ -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
|
|
@@ -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
|
+
})
|
|
@@ -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
|
|
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.
|
|
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
|
-
|
|
31
|
+
const containers = docker.getContainers(ports)
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
networkSettings.phpNetwork = containers.php.name
|
|
34
|
+
networkSettings.phpWithXdebugNetwork = containers.phpWithXdebug.name
|
|
35
35
|
|
|
36
|
-
networkSettings.
|
|
37
|
-
networkSettings.
|
|
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
|
|
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": "
|
|
62
|
+
"gitHead": "fc6fc272e01ce2442814452a14e0d2c6fe28a9f7"
|
|
63
63
|
}
|
package/typings/context.d.ts
CHANGED
|
@@ -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
|
}
|