@scandipwa/magento-scripts 2.3.4-alpha.0 → 2.3.4-alpha.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.
@@ -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
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @returns {import('../../../../../typings/index').ComposerConfiguration}
3
3
  */
4
- const composer22 = () => ({
4
+ const composer26 = () => ({
5
5
  version: '2.6.6'
6
6
  })
7
7
 
8
- module.exports = composer22
8
+ module.exports = composer26
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @returns {import('../../../../../typings/index').ComposerConfiguration}
3
+ */
4
+ const composer27 = () => ({
5
+ version: '2.7.9'
6
+ })
7
+
8
+ module.exports = composer27
@@ -2,5 +2,6 @@ module.exports = {
2
2
  composer1: require('./composer-1'),
3
3
  composer2: require('./composer-2'),
4
4
  composer22: require('./composer-2.2'),
5
- composer26: require('./composer-2.6')
5
+ composer26: require('./composer-2.6'),
6
+ composer27: require('./composer-2.7')
6
7
  }
@@ -4,7 +4,7 @@ const defaultEnv = require('../default-es-env')
4
4
  * @returns {import('../../../../../typings/index').ElasticSearchConfiguration}
5
5
  */
6
6
  const elasticsearch717 = () => ({
7
- image: 'elasticsearch:7.17.9',
7
+ image: 'elasticsearch:7.17.23',
8
8
  env: defaultEnv
9
9
  })
10
10
 
@@ -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) => a.magentoVersion.localeCompare(b.magentoVersion))
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.4-p11',
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-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,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-p8',
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
+ })
@@ -20,7 +20,6 @@ const { opensearch212 } = require('../services/opensearch/versions')
20
20
  */
21
21
  module.exports = ({ templateDir }) => ({
22
22
  magentoVersion: '2.4.7-p1',
23
- isDefault: true,
24
23
  configuration: {
25
24
  php: php82({
26
25
  templateDir,
@@ -0,0 +1,40 @@
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
+ configuration: {
24
+ php: php82({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.2-magento-2.4`
28
+ }),
29
+ nginx: nginx124({ templateDir }),
30
+ redis: redis72(),
31
+ mysql: mysql80(),
32
+ mariadb: mariadb106(),
33
+ elasticsearch: elasticsearch811(),
34
+ composer: composer27(),
35
+ varnish: varnish74({ 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-p3',
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
+ })
@@ -0,0 +1,40 @@
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 { 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 { elasticsearch87 } = require('../services/elasticsearch/versions')
15
+ const { mysql80 } = require('../services/mysql/versions')
16
+ const { opensearch25 } = require('../services/opensearch/versions')
17
+
18
+ /**
19
+ * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
+ */
21
+ module.exports = ({ templateDir }) => ({
22
+ magentoVersion: '2.4.8-beta1',
23
+ configuration: {
24
+ php: php82({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.2-magento-2.4`
28
+ }),
29
+ nginx: nginx124({ templateDir }),
30
+ redis: redis70(),
31
+ mysql: mysql80(),
32
+ mariadb: mariadb106(),
33
+ elasticsearch: elasticsearch87(),
34
+ composer: composer22(),
35
+ varnish: varnish73({ templateDir }),
36
+ sslTerminator: sslTerminator({ templateDir }),
37
+ maildev: maildev(),
38
+ opensearch: opensearch25()
39
+ }
40
+ })
@@ -20,7 +20,9 @@ const waitForDatabaseInitialization = () => ({
20
20
  const databaseOutput = await execAsyncSpawn(
21
21
  `docker logs ${mariadb.name}`
22
22
  )
23
- if (databaseOutput.includes('ready for connections')) {
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')) {
@@ -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: 15 * 1000 })
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(300).then(() => {
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.0",
6
+ "version": "2.3.4-alpha.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": "dc6b868bdfd7c4d063a8e755f050c77b5265cab9"
62
+ "gitHead": "7dc33240f5486ceedc9b5bc7033732df4e0b2773"
63
63
  }