@scandipwa/magento-scripts 2.1.2 → 2.1.3

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,7 +10,8 @@ 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+'
13
+ '2.4.4': '5.3.0+',
14
+ '2.4.6': '6.2.0+'
14
15
  }
15
16
 
16
17
  module.exports = scandipwaMagentoVersionMapping
@@ -0,0 +1,11 @@
1
+ const defaultEnv = require('../default-es-env')
2
+
3
+ /**
4
+ * @returns {import('../../../../../typings/index').ElasticSearchConfiguration}
5
+ */
6
+ const elasticsearch85 = () => ({
7
+ image: 'elasticsearch:8.5.3',
8
+ env: defaultEnv
9
+ })
10
+
11
+ module.exports = elasticsearch85
@@ -7,6 +7,7 @@ const elasticsearch712 = require('./elasticsearch-7.12')
7
7
  const elasticsearch716 = require('./elasticsearch-7.16')
8
8
  const elasticsearch717 = require('./elasticsearch-7.17')
9
9
  const elasticsearch84 = require('./elasticsearch-8.4')
10
+ const elasticsearch85 = require('./elasticsearch-8.5')
10
11
 
11
12
  module.exports = {
12
13
  elasticsearch68,
@@ -17,5 +18,6 @@ module.exports = {
17
18
  elasticsearch712,
18
19
  elasticsearch716,
19
20
  elasticsearch717,
20
- elasticsearch84
21
+ elasticsearch84,
22
+ elasticsearch85
21
23
  }
@@ -2,5 +2,6 @@ module.exports = {
2
2
  varnish60: require('./varnish-6-0'),
3
3
  varnish66: require('./varnish-6-6'),
4
4
  varnish70: require('./varnish-7-0'),
5
- varnish71: require('./varnish-7-1')
5
+ varnish71: require('./varnish-7-1'),
6
+ varnish73: require('./varnish-7-3')
6
7
  }
@@ -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 varnish73 = ({ templateDir }) => ({
9
+ enabled: true,
10
+ healthCheck: false,
11
+ image: 'varnish:7.3',
12
+ configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
13
+ })
14
+
15
+ module.exports = varnish73
@@ -0,0 +1,47 @@
1
+ const { defaultMagentoConfig } = require('../magento-config')
2
+ const sodium = require('../services/php/extensions/sodium')
3
+ const {
4
+ magento24PHPExtensionList
5
+ } = require('../magento/required-php-extensions')
6
+ const { php81 } = require('../services/php/versions')
7
+ const { sslTerminator } = require('../services/ssl-terminator')
8
+ const { varnish73 } = require('../services/varnish')
9
+ const { repo } = require('../services/php/base-repo')
10
+ const { nginx118 } = require('../services/nginx/versions')
11
+ const { composer2 } = require('../services/composer/versions')
12
+ const { maildev } = require('../services/maildev')
13
+ const { redis62 } = require('../services/redis')
14
+ const { mariadb104 } = require('../services/mariadb/versions')
15
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
16
+ const { mysql80 } = require('../services/mysql/versions')
17
+
18
+ /**
19
+ * @param {Object} param0
20
+ * @param {string} param0.templateDir
21
+ * @returns {import('../../../typings/index').CMAConfiguration & { magentoVersion: string, isDefault?: boolean }}
22
+ */
23
+ module.exports = ({ templateDir }) => ({
24
+ magentoVersion: '2.4.4-p4',
25
+ isDefault: true,
26
+ configuration: {
27
+ php: php81({
28
+ templateDir,
29
+ extensions: { ...magento24PHPExtensionList, sodium },
30
+ baseImage: `${repo}:php-8.1-magento-2.4`
31
+ }),
32
+ nginx: nginx118({ templateDir }),
33
+ redis: redis62(),
34
+ mysql: mysql80(),
35
+ mariadb: mariadb104(),
36
+ elasticsearch: elasticsearch717(),
37
+ composer: composer2(),
38
+ varnish: varnish73({ templateDir }),
39
+ sslTerminator: sslTerminator({ templateDir }),
40
+ maildev: maildev()
41
+ },
42
+ magento: defaultMagentoConfig,
43
+ host: 'localhost',
44
+ ssl: {
45
+ enabled: false
46
+ }
47
+ })
@@ -0,0 +1,47 @@
1
+ const { defaultMagentoConfig } = require('../magento-config')
2
+ const sodium = require('../services/php/extensions/sodium')
3
+ const {
4
+ magento24PHPExtensionList
5
+ } = require('../magento/required-php-extensions')
6
+ const { php81 } = require('../services/php/versions')
7
+ const { sslTerminator } = require('../services/ssl-terminator')
8
+ const { varnish73 } = require('../services/varnish')
9
+ const { repo } = require('../services/php/base-repo')
10
+ const { nginx118 } = require('../services/nginx/versions')
11
+ const { composer2 } = require('../services/composer/versions')
12
+ const { maildev } = require('../services/maildev')
13
+ const { redis62 } = require('../services/redis')
14
+ const { mariadb104 } = require('../services/mariadb/versions')
15
+ const { elasticsearch717 } = require('../services/elasticsearch/versions')
16
+ const { mysql80 } = require('../services/mysql/versions')
17
+
18
+ /**
19
+ * @param {Object} param0
20
+ * @param {string} param0.templateDir
21
+ * @returns {import('../../../typings/index').CMAConfiguration & { magentoVersion: string, isDefault?: boolean }}
22
+ */
23
+ module.exports = ({ templateDir }) => ({
24
+ magentoVersion: '2.4.5-p3',
25
+ isDefault: true,
26
+ configuration: {
27
+ php: php81({
28
+ templateDir,
29
+ extensions: { ...magento24PHPExtensionList, sodium },
30
+ baseImage: `${repo}:php-8.1-magento-2.4`
31
+ }),
32
+ nginx: nginx118({ templateDir }),
33
+ redis: redis62(),
34
+ mysql: mysql80(),
35
+ mariadb: mariadb104(),
36
+ elasticsearch: elasticsearch717(),
37
+ composer: composer2(),
38
+ varnish: varnish73({ templateDir }),
39
+ sslTerminator: sslTerminator({ templateDir }),
40
+ maildev: maildev()
41
+ },
42
+ magento: defaultMagentoConfig,
43
+ host: 'localhost',
44
+ ssl: {
45
+ enabled: false
46
+ }
47
+ })
@@ -0,0 +1,47 @@
1
+ const { defaultMagentoConfig } = require('../magento-config')
2
+ const sodium = require('../services/php/extensions/sodium')
3
+ const {
4
+ magento24PHPExtensionList
5
+ } = require('../magento/required-php-extensions')
6
+ const { php81 } = require('../services/php/versions')
7
+ const { sslTerminator } = require('../services/ssl-terminator')
8
+ const { varnish73 } = require('../services/varnish')
9
+ const { repo } = require('../services/php/base-repo')
10
+ const { nginx118 } = require('../services/nginx/versions')
11
+ const { composer2 } = require('../services/composer/versions')
12
+ const { maildev } = require('../services/maildev')
13
+ const { redis70 } = require('../services/redis')
14
+ const { mariadb104 } = require('../services/mariadb/versions')
15
+ const { elasticsearch85 } = require('../services/elasticsearch/versions')
16
+ const { mysql80 } = require('../services/mysql/versions')
17
+
18
+ /**
19
+ * @param {Object} param0
20
+ * @param {string} param0.templateDir
21
+ * @returns {import('../../../typings/index').CMAConfiguration & { magentoVersion: string, isDefault?: boolean }}
22
+ */
23
+ module.exports = ({ templateDir }) => ({
24
+ magentoVersion: '2.4.6-p1',
25
+ isDefault: true,
26
+ configuration: {
27
+ php: php81({
28
+ templateDir,
29
+ extensions: { ...magento24PHPExtensionList, sodium },
30
+ baseImage: `${repo}:php-8.1-magento-2.4`
31
+ }),
32
+ nginx: nginx118({ templateDir }),
33
+ redis: redis70(),
34
+ mysql: mysql80(),
35
+ mariadb: mariadb104(),
36
+ elasticsearch: elasticsearch85(),
37
+ composer: composer2(),
38
+ varnish: varnish73({ templateDir }),
39
+ sslTerminator: sslTerminator({ templateDir }),
40
+ maildev: maildev()
41
+ },
42
+ magento: defaultMagentoConfig,
43
+ host: 'localhost',
44
+ ssl: {
45
+ enabled: false
46
+ }
47
+ })
@@ -1,5 +1,4 @@
1
1
  const Joi = require('joi')
2
- const semver = require('semver')
3
2
  const KnownError = require('../errors/known-error')
4
3
  const pathExistsSync = require('./path-exists-sync')
5
4
 
@@ -16,14 +15,27 @@ const fileExistsValidator = (value) => {
16
15
  return undefined
17
16
  }
18
17
 
18
+ const composerVersionRegex =
19
+ /^latest-(\d+\.\d+\.?(x|\d)+?)$|^latest-stable$|^latest-preview$|^latest-(\d+\.x)$|^(\d+\.\d+\.\d+?)$/gi
20
+
19
21
  /**
20
22
  * @type {Joi.CustomValidator<string>}
21
23
  */
22
24
  const versionValidator = (value, helpers) => {
23
- const isValid = semver.valid(value)
24
-
25
- if (!isValid) {
26
- return helpers.error('any.invalid')
25
+ const isValidComposerVersion = composerVersionRegex.test(value)
26
+
27
+ if (!isValidComposerVersion) {
28
+ return helpers.error('any.invalid', {
29
+ label: `Not a valid composer version!
30
+ Allowed patterns:
31
+ - latest-stable
32
+ - latest-preview
33
+ - latest-2.2.x
34
+ - latest-2.x
35
+ - latest-1.x
36
+ - 2.2.21
37
+ `
38
+ })
27
39
  }
28
40
 
29
41
  return undefined
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.1.2",
6
+ "version": "2.1.3",
7
7
  "main": "./index.js",
8
8
  "types": "./typings/index.d.ts",
9
9
  "license": "OSL-3.0",
@@ -58,5 +58,5 @@
58
58
  "devDependencies": {
59
59
  "@types/yargs": "^17.0.13"
60
60
  },
61
- "gitHead": "7342c891aaaf3c1ff2967a945b1c75d78607f3c7"
61
+ "gitHead": "46f263a31736f8973bc04760b5bbdf779811cd32"
62
62
  }
@@ -89,7 +89,12 @@ export interface ComposerConfiguration {
89
89
  *
90
90
  * @url https://getcomposer.org/download/
91
91
  */
92
- version: string
92
+ version: 'latest-stable'
93
+ | 'latest-preview'
94
+ | 'latest-1.x'
95
+ | 'latest-2.x'
96
+ | 'latest-2.2.x'
97
+ | ''
93
98
 
94
99
  /**
95
100
  * Composer global plugins that will be added to Docker image