@scandipwa/magento-scripts 2.4.10-alpha.0 → 2.4.11

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.
Files changed (77) hide show
  1. package/lib/commands/cli.js +25 -9
  2. package/lib/commands/execute.js +18 -4
  3. package/lib/config/docker.js +17 -12
  4. package/lib/config/magento/required-php-extensions/magento-2.4.js +1 -0
  5. package/lib/config/php-config.js +2 -1
  6. package/lib/config/services/composer/versions/composer-1.js +1 -1
  7. package/lib/config/services/composer/versions/composer-2.9.js +8 -0
  8. package/lib/config/services/composer/versions/index.js +2 -1
  9. package/lib/config/services/elasticsearch/versions/elasticsearch-6.8.js +4 -4
  10. package/lib/config/services/elasticsearch/versions/elasticsearch-7.6.js +2 -1
  11. package/lib/config/services/mariadb/versions/index.js +2 -1
  12. package/lib/config/services/mariadb/versions/mariadb-11.8.js +11 -0
  13. package/lib/config/services/nginx/versions/nginx-1.18.js +2 -1
  14. package/lib/config/services/nginx/versions/nginx-1.22.js +2 -1
  15. package/lib/config/services/nginx/versions/nginx-1.24.js +2 -1
  16. package/lib/config/services/nginx/versions/nginx-1.26.js +2 -1
  17. package/lib/config/services/nginx/versions/nginx-1.28.js +3 -2
  18. package/lib/config/services/php/versions/php-8.1.js +1 -1
  19. package/lib/config/services/php/versions/php-8.2.js +1 -1
  20. package/lib/config/services/php/versions/php-8.3.js +1 -1
  21. package/lib/config/services/php/versions/php-8.4.js +1 -1
  22. package/lib/config/services/php/versions/php-8.5.js +32 -0
  23. package/lib/config/services/redis/index.js +3 -1
  24. package/lib/config/services/redis/valkey-9.0.js +8 -0
  25. package/lib/config/services/varnish/index.js +2 -1
  26. package/lib/config/services/varnish/varnish-8-0.js +15 -0
  27. package/lib/config/templates/magentorc.template +1 -0
  28. package/lib/config/templates/nginx.template.conf +1 -1
  29. package/lib/config/versions/magento-2.4.4-p16.js +1 -1
  30. package/lib/config/versions/magento-2.4.4-p17.js +41 -0
  31. package/lib/config/versions/magento-2.4.4-p18.js +43 -0
  32. package/lib/config/versions/magento-2.4.5-p16.js +41 -0
  33. package/lib/config/versions/magento-2.4.5-p17.js +43 -0
  34. package/lib/config/versions/magento-2.4.6-p14.js +41 -0
  35. package/lib/config/versions/magento-2.4.6-p15.js +43 -0
  36. package/lib/config/versions/magento-2.4.7-p1.js +2 -2
  37. package/lib/config/versions/magento-2.4.7-p10.js +42 -0
  38. package/lib/config/versions/magento-2.4.7-p2.js +2 -2
  39. package/lib/config/versions/magento-2.4.7-p3.js +2 -2
  40. package/lib/config/versions/magento-2.4.7-p4.js +2 -2
  41. package/lib/config/versions/magento-2.4.7-p5.js +2 -2
  42. package/lib/config/versions/magento-2.4.7-p6.js +2 -2
  43. package/lib/config/versions/magento-2.4.7-p7.js +2 -2
  44. package/lib/config/versions/magento-2.4.7-p8.js +2 -2
  45. package/lib/config/versions/magento-2.4.7-p9.js +41 -0
  46. package/lib/config/versions/magento-2.4.7.js +2 -2
  47. package/lib/config/versions/magento-2.4.8-p1.js +2 -2
  48. package/lib/config/versions/magento-2.4.8-p2.js +2 -2
  49. package/lib/config/versions/magento-2.4.8-p3.js +2 -3
  50. package/lib/config/versions/magento-2.4.8-p4.js +42 -0
  51. package/lib/config/versions/magento-2.4.8-p5.js +42 -0
  52. package/lib/config/versions/magento-2.4.8.js +2 -2
  53. package/lib/config/versions/magento-2.4.9-beta1.js +41 -0
  54. package/lib/config/versions/magento-2.4.9.js +44 -0
  55. package/lib/tasks/docker/containers/container-api.d.ts +4 -4
  56. package/lib/tasks/docker/containers/container-api.js +2 -2
  57. package/lib/tasks/docker/containers/tasks.js +31 -18
  58. package/lib/tasks/docker/image/image-api.d.ts +12 -0
  59. package/lib/tasks/docker/image/image-api.js +22 -1
  60. package/lib/tasks/docker/project-image-builder.js +25 -13
  61. package/lib/tasks/execute.js +51 -7
  62. package/lib/tasks/magento/setup-magento/clear-logs.js +31 -0
  63. package/lib/tasks/magento/setup-magento/disable-2fa.js +13 -0
  64. package/lib/tasks/magento/setup-magento/index.js +29 -1
  65. package/lib/tasks/magento/setup-magento/set-base-url.js +42 -15
  66. package/lib/tasks/magento/setup-magento/urn-highlighter.js +84 -2
  67. package/lib/tasks/requirements/searchengine-version.js +25 -30
  68. package/lib/tasks/start.js +9 -5
  69. package/lib/util/config-file-validator.js +15 -7
  70. package/lib/util/execute-in-container.js +88 -6
  71. package/lib/util/instance-metadata.js +15 -9
  72. package/lib/util/open-browser.js +7 -0
  73. package/lib/util/wait-for-logs.js +5 -2
  74. package/package.json +2 -2
  75. package/typings/context.d.ts +4 -2
  76. package/typings/index.d.ts +22 -0
  77. package/lib/config/services/elasticsearch/base-repo.js +0 -3
@@ -98,7 +98,7 @@ module.exports = (yargs) => {
98
98
 
99
99
  block
100
100
  .addLine(
101
- `Clear Magento cache: ${logger.style.command('m c:f')}`
101
+ `Clear Magento cache: ${logger.style.command('m c:c')}`
102
102
  )
103
103
  .addLine(
104
104
  `Magento setup upgrade: ${logger.style.command('m se:up')}`
@@ -128,21 +128,37 @@ module.exports = (yargs) => {
128
128
  .addEmptyLine()
129
129
 
130
130
  block
131
- .addLine('Debug PHP in CLI:')
131
+ .addSeparator('Debugging PHP')
132
+ .addEmptyLine()
132
133
  .addLine('1. Start debugger in VSCode or PHPStorm')
133
134
  .addLine(
134
- `2. Go to PHP container: ${logger.style.command(
135
- 'exec phpWithXdebug'
135
+ `2. Set breakpoint in any PHP file (example: ${logger.style.file(
136
+ 'app/autoload.php'
137
+ )} or ${logger.style.file('pub/index.php')})`
138
+ )
139
+ .addEmptyLine()
140
+ .addLine('Choose debugging approach:')
141
+ .addLine(`A. Run CLI command to debug any PHP file or Magento:`)
142
+ .addLine(` ${logger.style.command('debugphp php -v')}`)
143
+ .addLine(
144
+ ` ${logger.style.command(
145
+ 'debugphp magento setup:upgrade'
136
146
  )}`
137
147
  )
148
+ .addLine(` ${logger.style.command('debugphp magento ...')}`)
149
+ .addEmptyLine()
138
150
  .addLine(
139
- `3. Run CLI command with ${logger.style.code(
140
- 'XDEBUG_SESSION=PHPSTORM'
141
- )} environmental variable: ${logger.style.command(
142
- 'XDEBUG_SESSION=PHPSTORM magento <command>'
151
+ `B. Or enter PHP container with XDebug: ${logger.style.command(
152
+ 'debugphp'
143
153
  )}`
144
154
  )
145
- .addLine('4. Enjoy')
155
+ .addLine(
156
+ ` And run any command: ${logger.style.command(
157
+ 'magento <command>'
158
+ )} or ${logger.style.command('php <command>')}`
159
+ )
160
+ .addEmptyLine()
161
+ .addLine('Enjoy!')
146
162
 
147
163
  block.log()
148
164
 
@@ -8,6 +8,13 @@ module.exports = (yargs) => {
8
8
  'exec <container name> [command...]',
9
9
  'Execute command in docker container',
10
10
  (yargs) => {
11
+ yargs.option('non-interactive', {
12
+ alias: 'n',
13
+ type: 'boolean',
14
+ default: false,
15
+ description:
16
+ 'Run in non-interactive mode (for AI terminals and scripts)'
17
+ })
11
18
  yargs.usage(`Usage: npm run exec <container name> [command...]
12
19
 
13
20
  Available containers:
@@ -19,13 +26,20 @@ Available containers:
19
26
  - mariadb
20
27
  - elasticsearch
21
28
  - maildev
22
- - varnish (if enabled)`)
29
+ - varnish (if enabled)
30
+
31
+ Options:
32
+ --non-interactive, -n Run in non-interactive mode (no TTY required)`)
23
33
  },
24
- async () => {
25
- const [containerName, ...commands] = process.argv.slice(3)
34
+ async (argv) => {
35
+ const [containerName, ...commands] = process.argv
36
+ .slice(3)
37
+ .filter((arg) => arg !== '--non-interactive' && arg !== '-n')
38
+
26
39
  await executeTask({
27
40
  containerName,
28
- commands
41
+ commands,
42
+ nonInteractive: !!(argv.nonInteractive || argv.n)
29
43
  })
30
44
  }
31
45
  )
@@ -123,7 +123,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
123
123
  : {}
124
124
 
125
125
  /**
126
- * @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, platform?: string }>}
126
+ * @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, platform?: string, execCommandEnv?: Record<string, string> }>}
127
127
  */
128
128
  const dockerConfig = {
129
129
  php: {
@@ -179,7 +179,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
179
179
  serviceReadyLog: 'ready to handle connections',
180
180
  platform: rosettaTranslatedContainers.includes('php')
181
181
  ? 'linux/amd64'
182
- : undefined
182
+ : php.platform
183
183
  },
184
184
  phpWithXdebug: {
185
185
  _: 'PHP with Xdebug',
@@ -231,6 +231,9 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
231
231
  pullImage: false,
232
232
  name: `${prefix}_php_with_xdebug`,
233
233
  connectCommand: ['/bin/sh'],
234
+ execCommandEnv: {
235
+ XDEBUG_TRIGGER: 'PHPSTORM'
236
+ },
234
237
  dependsOn: ['mariadb', 'redis', 'elasticsearch'],
235
238
  user:
236
239
  (ctx.platform === 'linux' && isDockerDesktop) ||
@@ -240,7 +243,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
240
243
  serviceReadyLog: 'ready to handle connections',
241
244
  platform: rosettaTranslatedContainers.includes('php')
242
245
  ? 'linux/amd64'
243
- : undefined
246
+ : php.platform
244
247
  },
245
248
  sslTerminator: {
246
249
  _: 'SSL Terminator (Nginx)',
@@ -287,7 +290,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
287
290
  dependsOn: ['nginx'],
288
291
  platform: rosettaTranslatedContainers.includes('nginx')
289
292
  ? 'linux/amd64'
290
- : undefined
293
+ : nginx.platform
291
294
  },
292
295
  nginx: {
293
296
  _: 'Nginx',
@@ -339,7 +342,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
339
342
  dependsOn: ['php', 'phpWithXdebug'],
340
343
  platform: rosettaTranslatedContainers.includes('nginx')
341
344
  ? 'linux/amd64'
342
- : undefined
345
+ : nginx.platform
343
346
  },
344
347
  redis: {
345
348
  _: 'Redis',
@@ -358,7 +361,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
358
361
  serviceReadyLog: 'Ready to accept connections',
359
362
  platform: rosettaTranslatedContainers.includes('redis')
360
363
  ? 'linux/amd64'
361
- : undefined
364
+ : redis.platform
362
365
  },
363
366
  mariadb: {
364
367
  _: 'MariaDB',
@@ -402,7 +405,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
402
405
  )}`,
403
406
  platform: rosettaTranslatedContainers.includes('mariadb')
404
407
  ? 'linux/amd64'
405
- : undefined
408
+ : mariadb.platform
406
409
  },
407
410
  elasticsearch: {
408
411
  _:
@@ -448,7 +451,9 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
448
451
  name: `${prefix}_${searchengine}`,
449
452
  platform: rosettaTranslatedContainers.includes(searchengine)
450
453
  ? 'linux/amd64'
451
- : undefined
454
+ : searchengine === 'elasticsearch'
455
+ ? elasticsearch.platform
456
+ : opensearch.platform
452
457
  },
453
458
  maildev: {
454
459
  _: 'MailDev',
@@ -494,7 +499,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
494
499
  },
495
500
  platform: rosettaTranslatedContainers.includes('maildev')
496
501
  ? 'linux/amd64'
497
- : undefined
502
+ : maildev.platform
498
503
  }
499
504
  }
500
505
 
@@ -550,13 +555,13 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
550
555
  dependsOn: ['nginx'],
551
556
  platform: rosettaTranslatedContainers.includes('varnish')
552
557
  ? 'linux/amd64'
553
- : undefined
558
+ : varnish.platform
554
559
  }
555
560
 
556
- dockerConfig.sslTerminator.dependsOn.push('varnish')
561
+ dockerConfig.sslTerminator.dependsOn?.push('varnish')
557
562
  }
558
563
 
559
- if (newRelic.enabled) {
564
+ if (newRelic?.enabled) {
560
565
  dockerConfig.newRelicPHPDaemon = {
561
566
  _: 'New Relic PHP daemon',
562
567
  ports: [],
@@ -5,6 +5,7 @@ const magento24RequiredPHPExtensions = [
5
5
  'dom',
6
6
  'fileinfo',
7
7
  'filter',
8
+ 'ftp',
8
9
  'gd',
9
10
  'hash',
10
11
  'iconv',
@@ -23,7 +23,8 @@ module.exports = (overridenConfiguration, baseConfig) => {
23
23
  fpmConfPath: path.join(cacheDir, 'php-fpm.conf'),
24
24
  debugFpmConfPath: path.join(cacheDir, 'php-fpm-debug.conf'),
25
25
  extensions: php.extensions,
26
- env: php.env
26
+ env: php.env,
27
+ platform: php.platform
27
28
  }
28
29
 
29
30
  return phpConfiguration
@@ -5,7 +5,7 @@ const composer1 = () => ({
5
5
  version: 'latest-1.x',
6
6
  plugins: {
7
7
  'hirak/prestissimo': {
8
- enabled: true
8
+ enabled: false
9
9
  }
10
10
  }
11
11
  })
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @returns {import('../../../../../typings/index').ComposerConfiguration}
3
+ */
4
+ const composer29 = () => ({
5
+ version: '2.9.8'
6
+ })
7
+
8
+ module.exports = composer29
@@ -4,5 +4,6 @@ module.exports = {
4
4
  composer22: require('./composer-2.2'),
5
5
  composer26: require('./composer-2.6'),
6
6
  composer27: require('./composer-2.7'),
7
- composer28: require('./composer-2.8')
7
+ composer28: require('./composer-2.8'),
8
+ composer29: require('./composer-2.9')
8
9
  }
@@ -1,14 +1,13 @@
1
1
  const os = require('os')
2
2
  const { getArchSync } = require('../../../../util/arch')
3
3
  const { deepmerge } = require('../../../../util/deepmerge')
4
- const { repo } = require('../base-repo')
5
4
  const defaultEnv = require('../default-es-env')
6
5
 
7
6
  /**
8
7
  * @returns {import('../../../../../typings/index').ElasticSearchConfiguration}
9
8
  */
10
- const elasticsearch68 = ({ image = `${repo}:elasticsearch-6.8` } = {}) => ({
11
- image,
9
+ const elasticsearch68 = () => ({
10
+ image: 'elasticsearch:6.8.23',
12
11
  env: deepmerge(
13
12
  defaultEnv,
14
13
  os.platform() === 'darwin' && getArchSync() === 'arm64'
@@ -16,7 +15,8 @@ const elasticsearch68 = ({ image = `${repo}:elasticsearch-6.8` } = {}) => ({
16
15
  'xpack.ml.enabled': false
17
16
  }
18
17
  : {}
19
- )
18
+ ),
19
+ platform: 'linux/amd64'
20
20
  })
21
21
 
22
22
  module.exports = elasticsearch68
@@ -5,7 +5,8 @@ const defaultEnv = require('../default-es-env')
5
5
  */
6
6
  const elasticsearch76 = () => ({
7
7
  image: 'elasticsearch:7.6.2',
8
- env: defaultEnv
8
+ env: defaultEnv,
9
+ platform: 'linux/amd64'
9
10
  })
10
11
 
11
12
  module.exports = elasticsearch76
@@ -5,5 +5,6 @@ module.exports = {
5
5
  mariadb106: require('./mariadb-10.6'),
6
6
  mariadb1011: require('./mariadb-10.11'),
7
7
  mariadb114: require('./mariadb-11.4'),
8
- mariadb116: require('./mariadb-11.6')
8
+ mariadb116: require('./mariadb-11.6'),
9
+ mariadb118: require('./mariadb-11.8')
9
10
  }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @returns {import('../../../../../typings/index').MariaDBConfiguration}
3
+ */
4
+ const mariadb118 = () => ({
5
+ image: 'mariadb:11.8',
6
+ useOptimizerSwitch: true,
7
+ binFileName: 'mariadb',
8
+ binAdminFileName: 'mariadb-admin'
9
+ })
10
+
11
+ module.exports = mariadb118
@@ -6,7 +6,8 @@ const path = require('path')
6
6
  */
7
7
  const nginx118 = ({ templateDir }) => ({
8
8
  image: 'nginx:1.18.0',
9
- configTemplate: path.join(templateDir || '', 'nginx.template.conf')
9
+ configTemplate: path.join(templateDir || '', 'nginx.template.conf'),
10
+ runType: 'website'
10
11
  })
11
12
 
12
13
  module.exports = nginx118
@@ -6,7 +6,8 @@ const path = require('path')
6
6
  */
7
7
  const nginx122 = ({ templateDir }) => ({
8
8
  image: 'nginx:1.22.1',
9
- configTemplate: path.join(templateDir || '', 'nginx.template.conf')
9
+ configTemplate: path.join(templateDir || '', 'nginx.template.conf'),
10
+ runType: 'website'
10
11
  })
11
12
 
12
13
  module.exports = nginx122
@@ -6,7 +6,8 @@ const path = require('path')
6
6
  */
7
7
  const nginx124 = ({ templateDir }) => ({
8
8
  image: 'nginx:1.24.0',
9
- configTemplate: path.join(templateDir || '', 'nginx.template.conf')
9
+ configTemplate: path.join(templateDir || '', 'nginx.template.conf'),
10
+ runType: 'website'
10
11
  })
11
12
 
12
13
  module.exports = nginx124
@@ -6,7 +6,8 @@ const path = require('path')
6
6
  */
7
7
  const nginx126 = ({ templateDir }) => ({
8
8
  image: 'nginx:1.26.3',
9
- configTemplate: path.join(templateDir || '', 'nginx.template.conf')
9
+ configTemplate: path.join(templateDir || '', 'nginx.template.conf'),
10
+ runType: 'website'
10
11
  })
11
12
 
12
13
  module.exports = nginx126
@@ -5,8 +5,9 @@ const path = require('path')
5
5
  * @returns {import('../../../../../typings/index').NginxConfiguration}
6
6
  */
7
7
  const nginx128 = ({ templateDir }) => ({
8
- image: 'nginx:1.28.0',
9
- configTemplate: path.join(templateDir || '', 'nginx.template.conf')
8
+ image: 'nginx:1.28.2',
9
+ configTemplate: path.join(templateDir || '', 'nginx.template.conf'),
10
+ runType: 'website'
10
11
  })
11
12
 
12
13
  module.exports = nginx128
@@ -22,7 +22,7 @@ const php81 = ({
22
22
  extensions: {
23
23
  xdebug: {
24
24
  ...xdebug,
25
- version: '3.4.6'
25
+ version: '3.5.1'
26
26
  },
27
27
  ...extensions
28
28
  },
@@ -22,7 +22,7 @@ const php82 = ({
22
22
  extensions: {
23
23
  xdebug: {
24
24
  ...xdebug,
25
- version: '3.4.6'
25
+ version: '3.5.1'
26
26
  },
27
27
  ...extensions
28
28
  },
@@ -22,7 +22,7 @@ const php83 = ({
22
22
  extensions: {
23
23
  xdebug: {
24
24
  ...xdebug,
25
- version: '3.4.6'
25
+ version: '3.5.1'
26
26
  },
27
27
  ...extensions
28
28
  },
@@ -22,7 +22,7 @@ const php84 = ({
22
22
  extensions: {
23
23
  xdebug: {
24
24
  ...xdebug,
25
- version: '3.4.6'
25
+ version: '3.5.1'
26
26
  },
27
27
  ...extensions
28
28
  },
@@ -0,0 +1,32 @@
1
+ const path = require('path')
2
+ const { repo } = require('../base-repo')
3
+ const xdebug = require('../extensions/xdebug')
4
+ const defaultPhpEnv = require('../default-php-env')
5
+
6
+ /**
7
+ * @param {Object} param0
8
+ * @param {string} param0.templateDir
9
+ * @param {import('../../../../../typings/index').PHPExtensions} [param0.extensions]
10
+ * @param {string} [param0.baseImage]
11
+ * @returns {import('../../../../../typings/index').PHPConfiguration}
12
+ */
13
+ const php85 = ({
14
+ templateDir,
15
+ extensions = {},
16
+ baseImage = `${repo}:php-8.5`
17
+ }) => ({
18
+ baseImage,
19
+ configTemplate: path.join(templateDir || '', 'php.template.ini'),
20
+ fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
21
+ debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
22
+ extensions: {
23
+ xdebug: {
24
+ ...xdebug,
25
+ version: '3.5.1'
26
+ },
27
+ ...extensions
28
+ },
29
+ env: defaultPhpEnv
30
+ })
31
+
32
+ module.exports = php85
@@ -1,5 +1,6 @@
1
1
  const valkey80 = require('./valkey-8.0')
2
2
  const valkey81 = require('./valkey-8.1')
3
+ const valkey90 = require('./valkey-9.0')
3
4
 
4
5
  module.exports = {
5
6
  redis50: require('./redis-5.0'),
@@ -8,5 +9,6 @@ module.exports = {
8
9
  redis70: require('./redis-7.0'),
9
10
  redis72: require('./redis-7.2'),
10
11
  valkey80,
11
- valkey81
12
+ valkey81,
13
+ valkey90
12
14
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @returns {import('../../../../typings/index').ServiceWithImage}
3
+ */
4
+ const valkey90 = () => ({
5
+ image: 'valkey/valkey:9.0-alpine'
6
+ })
7
+
8
+ module.exports = valkey90
@@ -7,5 +7,6 @@ module.exports = {
7
7
  varnish74: require('./varnish-7-4'),
8
8
  varnish75: require('./varnish-7-5'),
9
9
  varnish76: require('./varnish-7-6'),
10
- varnish77: require('./varnish-7-7')
10
+ varnish77: require('./varnish-7-7'),
11
+ varnish80: require('./varnish-8-0')
11
12
  }
@@ -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 varnish80 = ({ templateDir }) => ({
9
+ enabled: false,
10
+ healthCheck: false,
11
+ image: 'varnish:8.0',
12
+ configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
13
+ })
14
+
15
+ module.exports = varnish80
@@ -17,6 +17,7 @@ alias cvc="exec varnish varnishadm ban req.url '~ /' && echo 'Varnish cache clea
17
17
  <% } %>
18
18
  alias mariadb="exec mariadb <%~ it.databaseBinFile %> -umagento -pmagento"
19
19
  alias mariadbroot="exec mariadb <%~ it.databaseBinFile %> -uroot -pscandipwa"
20
+ alias debugphp="exec phpWithXdebug"
20
21
 
21
22
  # silence warning on macos
22
23
  export BASH_SILENCE_DEPRECATION_WARNING=1
@@ -45,7 +45,7 @@ server {
45
45
  server_name _;
46
46
  set $MAGE_MODE <%= it.config.magento.mode %>;
47
47
  set $MAGE_ROOT "<%= it.mageRoot %>";
48
- set $MAGE_RUN_TYPE website;
48
+ set $MAGE_RUN_TYPE <%= it.config.configuration.nginx.runType %>;
49
49
  <% if (it.useStoreDomainMapping) { %>
50
50
  set $MAGE_RUN_CODE $SITE_CODE_MAPPING;
51
51
  <% } %>
@@ -19,7 +19,7 @@ const { opensearch219 } = require('../services/opensearch/versions')
19
19
  * @type {import('../../../typings/common').MagentoVersionConfigurationFunction}
20
20
  */
21
21
  module.exports = ({ templateDir }) => ({
22
- magentoVersion: '2.4.4-p15',
22
+ magentoVersion: '2.4.4-p16',
23
23
  configuration: {
24
24
  php: php81({
25
25
  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 { 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 { nginx128 } = 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.4-p17',
23
+ configuration: {
24
+ php: php81({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.1-magento-2.4`
28
+ }),
29
+ nginx: nginx128({ 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
+ searchengine: 'opensearch'
40
+ }
41
+ })
@@ -0,0 +1,43 @@
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 { nginx128 } = 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.4-p18',
23
+ configuration: {
24
+ php: php81({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.1-magento-2.4`
28
+ }),
29
+ nginx: nginx128({ templateDir }),
30
+ redis: redis72(),
31
+ // not supported anymore
32
+ mysql: mysql80(),
33
+ mariadb: mariadb106(),
34
+ // not supported anymore
35
+ elasticsearch: elasticsearch717(),
36
+ composer: composer22(),
37
+ varnish: varnish77({ 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 { 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 { nginx128 } = 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-p16',
23
+ configuration: {
24
+ php: php81({
25
+ templateDir,
26
+ extensions: { ...magento24PHPExtensionList, sodium },
27
+ baseImage: `${repo}:php-8.1-magento-2.4`
28
+ }),
29
+ nginx: nginx128({ 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
+ searchengine: 'opensearch'
40
+ }
41
+ })