@scandipwa/magento-scripts 2.3.4-alpha.0 → 2.3.4-alpha.1
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/scandipwa-versions.js +3 -2
- package/lib/config/services/composer/versions/composer-2.6.js +2 -2
- package/lib/config/services/composer/versions/composer-2.7.js +8 -0
- package/lib/config/services/composer/versions/index.js +2 -1
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.17.js +1 -1
- package/lib/config/versions/index.js +43 -1
- package/lib/config/versions/magento-2.4.4-p10.js +40 -0
- package/lib/config/versions/magento-2.4.5-p9.js +40 -0
- package/lib/config/versions/magento-2.4.6-p7.js +40 -0
- package/lib/config/versions/magento-2.4.7-p1.js +0 -1
- package/lib/config/versions/magento-2.4.7-p2.js +41 -0
- package/lib/tasks/database/connect-to-database.js +3 -1
- package/lib/util/wait-for-it.js +5 -2
- package/package.json +2 -2
|
@@ -10,8 +10,9 @@ const scandipwaMagentoVersionMapping = {
|
|
|
10
10
|
'2.4.1': '3.2.0 - 4.2.1',
|
|
11
11
|
'2.4.2': '4.3.0 - 5.0.3',
|
|
12
12
|
'2.4.3': '5.0.4 - 5.2.7',
|
|
13
|
-
'2.4.4': '5.3.0
|
|
14
|
-
'2.4.6': '6.2.0
|
|
13
|
+
'2.4.4': '5.3.0 - 5.3.6',
|
|
14
|
+
'2.4.6': '6.2.0 - 6.3.0',
|
|
15
|
+
'2.4.7': '6.4.0+'
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
module.exports = scandipwaMagentoVersionMapping
|
|
@@ -33,6 +33,9 @@ const magentoVersions = fs
|
|
|
33
33
|
.filter((f) => f.name.includes('magento'))
|
|
34
34
|
.map((f) => require(path.join(__dirname, f.name)))
|
|
35
35
|
|
|
36
|
+
/**
|
|
37
|
+
* @returns {Record<string, ReturnType<import('../../../typings/common').MagentoVersionConfigurationFunction>>}
|
|
38
|
+
*/
|
|
36
39
|
const getConfigurations = (config = {}) =>
|
|
37
40
|
magentoVersions.reduce(
|
|
38
41
|
(acc, val) => ({
|
|
@@ -46,7 +49,46 @@ const getConfigurations = (config = {}) =>
|
|
|
46
49
|
|
|
47
50
|
const allVersions = Object.entries(getConfigurations())
|
|
48
51
|
.map(([name, magentoConfig]) => ({ ...magentoConfig, name }))
|
|
49
|
-
.sort((a, b) =>
|
|
52
|
+
.sort((a, b) => {
|
|
53
|
+
// Splitting the version strings into major, minor, and patch numbers
|
|
54
|
+
const [versionA, patchA] = a.magentoVersion.split('-')
|
|
55
|
+
const [versionB, patchB] = b.magentoVersion.split('-')
|
|
56
|
+
|
|
57
|
+
const [majorA, minorA, patchNumberA] = versionA.split('.').map(Number)
|
|
58
|
+
const [majorB, minorB, patchNumberB] = versionB.split('.').map(Number)
|
|
59
|
+
|
|
60
|
+
// Comparing major versions
|
|
61
|
+
if (majorA !== majorB) {
|
|
62
|
+
return majorA - majorB
|
|
63
|
+
}
|
|
64
|
+
// Comparing minor versions
|
|
65
|
+
if (minorA !== minorB) {
|
|
66
|
+
return minorA - minorB
|
|
67
|
+
}
|
|
68
|
+
// Comparing patch numbers
|
|
69
|
+
if (patchNumberA !== patchNumberB) {
|
|
70
|
+
return patchNumberA - patchNumberB
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Comparing patch versions (if present)
|
|
74
|
+
if (patchA && patchB) {
|
|
75
|
+
const patchNumberA = Number(patchA.replace('p', ''))
|
|
76
|
+
const patchNumberB = Number(patchB.replace('p', ''))
|
|
77
|
+
return patchNumberA - patchNumberB
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Sorting versions with patch against versions without patch
|
|
81
|
+
if (patchA && !patchB) {
|
|
82
|
+
return -1
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (!patchA && patchB) {
|
|
86
|
+
return 1
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Versions are equal
|
|
90
|
+
return 0
|
|
91
|
+
})
|
|
50
92
|
.reverse()
|
|
51
93
|
|
|
52
94
|
module.exports = {
|
|
@@ -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 { varnish73 } = require('../services/varnish')
|
|
8
|
+
const { repo } = require('../services/php/base-repo')
|
|
9
|
+
const { nginx124 } = 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 { mariadb104 } = 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-p10',
|
|
23
|
+
configuration: {
|
|
24
|
+
php: php81({
|
|
25
|
+
templateDir,
|
|
26
|
+
extensions: { ...magento24PHPExtensionList, sodium },
|
|
27
|
+
baseImage: `${repo}:php-8.1-magento-2.4`
|
|
28
|
+
}),
|
|
29
|
+
nginx: nginx124({ templateDir }),
|
|
30
|
+
redis: redis70(),
|
|
31
|
+
mysql: mysql80(),
|
|
32
|
+
mariadb: mariadb104(),
|
|
33
|
+
elasticsearch: elasticsearch717(),
|
|
34
|
+
composer: composer22(),
|
|
35
|
+
varnish: varnish73({ 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 { varnish73 } = require('../services/varnish')
|
|
8
|
+
const { repo } = require('../services/php/base-repo')
|
|
9
|
+
const { nginx124 } = 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 { mariadb104 } = 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-p9',
|
|
23
|
+
configuration: {
|
|
24
|
+
php: php81({
|
|
25
|
+
templateDir,
|
|
26
|
+
extensions: { ...magento24PHPExtensionList, sodium },
|
|
27
|
+
baseImage: `${repo}:php-8.1-magento-2.4`
|
|
28
|
+
}),
|
|
29
|
+
nginx: nginx124({ templateDir }),
|
|
30
|
+
redis: redis70(),
|
|
31
|
+
mysql: mysql80(),
|
|
32
|
+
mariadb: mariadb104(),
|
|
33
|
+
elasticsearch: elasticsearch717(),
|
|
34
|
+
composer: composer22(),
|
|
35
|
+
varnish: varnish73({ 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 { varnish73 } = require('../services/varnish')
|
|
8
|
+
const { repo } = require('../services/php/base-repo')
|
|
9
|
+
const { nginx124 } = 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
|
+
const { opensearch212 } = require('../services/opensearch/versions')
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
|
|
20
|
+
*/
|
|
21
|
+
module.exports = ({ templateDir }) => ({
|
|
22
|
+
magentoVersion: '2.4.6-p7',
|
|
23
|
+
configuration: {
|
|
24
|
+
php: php81({
|
|
25
|
+
templateDir,
|
|
26
|
+
extensions: { ...magento24PHPExtensionList, sodium },
|
|
27
|
+
baseImage: `${repo}:php-8.1-magento-2.4`
|
|
28
|
+
}),
|
|
29
|
+
nginx: nginx124({ 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
|
+
opensearch: opensearch212()
|
|
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 { varnish74 } = require('../services/varnish')
|
|
8
|
+
const { repo } = require('../services/php/base-repo')
|
|
9
|
+
const { nginx124 } = require('../services/nginx/versions')
|
|
10
|
+
const { composer27 } = 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 { elasticsearch811 } = 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-p2',
|
|
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: nginx124({ templateDir }),
|
|
31
|
+
redis: redis72(),
|
|
32
|
+
mysql: mysql80(),
|
|
33
|
+
mariadb: mariadb106(),
|
|
34
|
+
elasticsearch: elasticsearch811(),
|
|
35
|
+
composer: composer27(),
|
|
36
|
+
varnish: varnish74({ templateDir }),
|
|
37
|
+
sslTerminator: sslTerminator({ templateDir }),
|
|
38
|
+
maildev: maildev(),
|
|
39
|
+
opensearch: opensearch212()
|
|
40
|
+
}
|
|
41
|
+
})
|
|
@@ -20,7 +20,9 @@ const waitForDatabaseInitialization = () => ({
|
|
|
20
20
|
const databaseOutput = await execAsyncSpawn(
|
|
21
21
|
`docker logs ${mariadb.name}`
|
|
22
22
|
)
|
|
23
|
-
|
|
23
|
+
// we can't rely on ready for connections message because it's written 1 or 2 times depending if data is already there or not
|
|
24
|
+
// changed to rely on server socket created message
|
|
25
|
+
if (databaseOutput.includes('Server socket created on IP')) {
|
|
24
26
|
databaseReadyForConnections = true
|
|
25
27
|
break
|
|
26
28
|
} else if (databaseOutput.includes('Initializing database files')) {
|
package/lib/util/wait-for-it.js
CHANGED
|
@@ -2,13 +2,16 @@ const net = require('net')
|
|
|
2
2
|
const UnknownError = require('../errors/unknown-error')
|
|
3
3
|
const sleep = require('./sleep')
|
|
4
4
|
|
|
5
|
+
// 15 seconds
|
|
6
|
+
const timeout = 15 * 1000
|
|
7
|
+
|
|
5
8
|
/**
|
|
6
9
|
* @param {{ host: string, port: number}} param0
|
|
7
10
|
* @returns {Promise<void>}
|
|
8
11
|
*/
|
|
9
12
|
const connectToHostPort = ({ host, port }) =>
|
|
10
13
|
new Promise((resolve, reject) => {
|
|
11
|
-
const socket = net.createConnection({ host, port, timeout
|
|
14
|
+
const socket = net.createConnection({ host, port, timeout })
|
|
12
15
|
|
|
13
16
|
socket.on('connect', () => {
|
|
14
17
|
socket.end()
|
|
@@ -34,7 +37,7 @@ const waitForIt = async ({ name, host, port, output }) => {
|
|
|
34
37
|
while (!connected) {
|
|
35
38
|
try {
|
|
36
39
|
await Promise.race([
|
|
37
|
-
sleep(
|
|
40
|
+
sleep(timeout).then(() => {
|
|
38
41
|
throw new UnknownError('Connection timeout')
|
|
39
42
|
}),
|
|
40
43
|
connectToHostPort({ host, port })
|
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.4-alpha.
|
|
6
|
+
"version": "2.3.4-alpha.1",
|
|
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": "51ea8f24a48174ba3f19bacb1833d97d92cba152"
|
|
63
63
|
}
|