@scandipwa/magento-scripts 2.4.0-alpha.0 → 2.4.0-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.
Files changed (70) hide show
  1. package/exec.js +2 -2
  2. package/index.js +1 -0
  3. package/lib/commands/cli.js +17 -19
  4. package/lib/commands/execute.js +8 -4
  5. package/lib/commands/start.js +0 -6
  6. package/lib/config/docker.js +54 -45
  7. package/lib/config/get-project-configuration.js +0 -5
  8. package/lib/config/php-config.js +4 -0
  9. package/lib/config/port-config.js +1 -0
  10. package/lib/config/services/composer/versions/composer-2.8.js +1 -1
  11. package/lib/config/services/elasticsearch/versions/elasticsearch-8.17.js +14 -0
  12. package/lib/config/services/elasticsearch/versions/index.js +3 -1
  13. package/lib/config/services/mariadb/versions/index.js +3 -1
  14. package/lib/config/services/mariadb/versions/mariadb-11.4.js +9 -0
  15. package/lib/config/services/mariadb/versions/mariadb-11.6.js +9 -0
  16. package/lib/config/services/opensearch/versions/index.js +3 -1
  17. package/lib/config/services/opensearch/versions/opensearch-2.19.js +14 -0
  18. package/lib/config/services/php/extensions/ftp.js +7 -0
  19. package/lib/config/services/php/versions/index.js +2 -1
  20. package/lib/config/services/php/versions/php-7.2.js +0 -1
  21. package/lib/config/services/php/versions/php-7.3.js +0 -1
  22. package/lib/config/services/php/versions/php-7.4.js +0 -1
  23. package/lib/config/services/php/versions/php-8.1.js +4 -2
  24. package/lib/config/services/php/versions/php-8.2.js +1 -2
  25. package/lib/config/services/php/versions/php-8.3.js +32 -0
  26. package/lib/config/services/redis/index.js +6 -1
  27. package/lib/config/services/redis/valkey-8.0.js +8 -0
  28. package/lib/config/services/redis/valkey-8.1.js +8 -0
  29. package/lib/config/services/varnish/varnish-6-0.js +1 -1
  30. package/lib/config/services/varnish/varnish-6-6.js +1 -1
  31. package/lib/config/services/varnish/varnish-7-0.js +1 -1
  32. package/lib/config/services/varnish/varnish-7-1.js +1 -1
  33. package/lib/config/services/varnish/varnish-7-3.js +1 -1
  34. package/lib/config/services/varnish/varnish-7-4.js +1 -1
  35. package/lib/config/services/varnish/varnish-7-5.js +1 -1
  36. package/lib/config/services/varnish/varnish-7-6.js +1 -1
  37. package/lib/config/templates/nginx.template.conf +31 -8
  38. package/lib/config/templates/ssl-terminator.template.conf +2 -0
  39. package/lib/config/versions/magento-2.4.4-p13.js +40 -0
  40. package/lib/config/versions/magento-2.4.5-p12.js +40 -0
  41. package/lib/config/versions/magento-2.4.6-p10.js +40 -0
  42. package/lib/config/versions/magento-2.4.7-p4.js +0 -1
  43. package/lib/config/versions/magento-2.4.7-p5.js +41 -0
  44. package/lib/config/versions/magento-2.4.8.js +43 -0
  45. package/lib/tasks/database/create-magento-database.js +5 -4
  46. package/lib/tasks/docker/containers/container-api.d.ts +9 -3
  47. package/lib/tasks/docker/containers/container-api.js +14 -9
  48. package/lib/tasks/docker/containers/tasks.js +18 -12
  49. package/lib/tasks/docker/convert-mysql-to-mariadb.js +14 -22
  50. package/lib/tasks/docker/project-image-builder.js +113 -61
  51. package/lib/tasks/execute.js +9 -9
  52. package/lib/tasks/file-system/create-php-debug-config.js +1 -2
  53. package/lib/tasks/file-system/create-php-fpm-debug-config.js +33 -0
  54. package/lib/tasks/file-system/create-phpstorm-config/php-config/php-interpreters-config.js +5 -5
  55. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/composer-settings-config.js +2 -2
  56. package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-workspace-project-configuration-config.js +4 -3
  57. package/lib/tasks/file-system/create-ssl-terminator-config.js +27 -1
  58. package/lib/tasks/file-system/index.js +2 -0
  59. package/lib/tasks/magento/setup-magento/waiting-for-varnish.js +0 -1
  60. package/lib/tasks/php/php-container.d.ts +3 -3
  61. package/lib/tasks/php/php-container.js +6 -16
  62. package/lib/tasks/php/update-env-php.js +4 -5
  63. package/lib/tasks/project-config/index.js +0 -3
  64. package/lib/tasks/requirements/elasticsearch-version.js +4 -4
  65. package/lib/tasks/requirements/opensearch-version.js +4 -4
  66. package/lib/tasks/start.js +2 -13
  67. package/lib/util/execute-in-container.js +12 -8
  68. package/package.json +2 -2
  69. package/typings/context.d.ts +9 -3
  70. package/typings/index.d.ts +0 -5
package/exec.js CHANGED
@@ -98,10 +98,10 @@ const newVersionIsAPatch = (latestVersion, currentVersion) => {
98
98
  logger.log() // add empty line
99
99
  }
100
100
 
101
- const [containername, ...commands] = process.argv.slice(2)
101
+ const [containerName, ...commands] = process.argv.slice(2)
102
102
 
103
103
  return executeTask({
104
- containername,
104
+ containerName,
105
105
  commands
106
106
  })
107
107
  })()
package/index.js CHANGED
@@ -121,6 +121,7 @@ const newVersionIsAPatch = (latestVersion, currentVersion) => {
121
121
  }
122
122
 
123
123
  yargs.scriptName('magento-scripts')
124
+ yargs.version(false)
124
125
 
125
126
  // Initialize program commands
126
127
  commands.forEach((command) => command(yargs))
@@ -98,7 +98,7 @@ module.exports = (yargs) => {
98
98
 
99
99
  block
100
100
  .addLine(
101
- `Clear Magento cache: ${logger.style.command('m c:c')}`
101
+ `Clear Magento cache: ${logger.style.command('m c:f')}`
102
102
  )
103
103
  .addLine(
104
104
  `Magento setup upgrade: ${logger.style.command('m se:up')}`
@@ -127,24 +127,22 @@ module.exports = (yargs) => {
127
127
  )
128
128
  .addEmptyLine()
129
129
 
130
- if (ctx.debug) {
131
- block
132
- .addLine('Debug PHP in CLI:')
133
- .addLine('1. Start debugger in VSCode or PHPStorm')
134
- .addLine(
135
- `2. Go to PHP container: ${logger.style.command(
136
- 'exec php'
137
- )}`
138
- )
139
- .addLine(
140
- `3. Run CLI command with ${logger.style.code(
141
- 'XDEBUG_SESSION=phpstorm'
142
- )} environmental variable: ${logger.style.command(
143
- 'XDEBUG_SESSION=phpstorm magento <command>'
144
- )}`
145
- )
146
- .addLine('4. Enjoy')
147
- }
130
+ block
131
+ .addLine('Debug PHP in CLI:')
132
+ .addLine('1. Start debugger in VSCode or PHPStorm')
133
+ .addLine(
134
+ `2. Go to PHP container: ${logger.style.command(
135
+ 'exec phpWithDebug'
136
+ )}`
137
+ )
138
+ .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>'
143
+ )}`
144
+ )
145
+ .addLine('4. Enjoy')
148
146
 
149
147
  block.log()
150
148
 
@@ -5,10 +5,10 @@ const { executeTask } = require('../tasks/execute')
5
5
  */
6
6
  module.exports = (yargs) => {
7
7
  yargs.command(
8
- 'exec <container name> [commands...]',
8
+ 'exec <container name> [command...]',
9
9
  'Execute command in docker container',
10
10
  (yargs) => {
11
- yargs.usage(`Usage: npm run exec <container name> [commands...]
11
+ yargs.usage(`Usage: npm run exec <container name> [command...]
12
12
 
13
13
  Available containers:
14
14
  - mariadb
@@ -18,8 +18,12 @@ Available containers:
18
18
  - varnish (if enabled)
19
19
  - sslTerminator`)
20
20
  },
21
- async (argv) => {
22
- await executeTask(argv)
21
+ async () => {
22
+ const [containerName, ...commands] = process.argv.slice(3)
23
+ await executeTask({
24
+ containerName,
25
+ commands
26
+ })
23
27
  }
24
28
  )
25
29
  }
@@ -70,12 +70,6 @@ module.exports = (yargs) => {
70
70
  type: 'boolean',
71
71
  default: false
72
72
  })
73
- .option('debug', {
74
- alias: 'd',
75
- describe: 'Enable PHP xdebug.',
76
- type: 'boolean',
77
- default: false
78
- })
79
73
  .option('skip-setup', {
80
74
  alias: 's',
81
75
  describe: 'Skip Magento setup',
@@ -68,6 +68,8 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
68
68
 
69
69
  const { isDockerDesktop } = ctx
70
70
 
71
+ const volumeDirective = isDockerDesktop ? ':cached' : ''
72
+
71
73
  /**
72
74
  * @param {Record<string, number>} ports
73
75
  */
@@ -83,7 +85,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
83
85
  : {}
84
86
 
85
87
  /**
86
- * @type {Record<string, import('../tasks/docker/containers/container-api').ContainerRunOptions & { _?: string, forwardedPorts?: string[], debugImage?: string, remoteImages?: string[], connectCommand?: string[], description?: string }>}
88
+ * @type {Record<string, import('../tasks/docker/containers/container-api').ContainerRunOptions & { _?: string, forwardedPorts?: string[], remoteImages?: string[], connectCommand?: string[], description?: string, pullImage?: boolean }>}
87
89
  */
88
90
  const dockerConfig = {
89
91
  php: {
@@ -102,37 +104,15 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
102
104
  ],
103
105
  network: isDockerDesktop ? network.name : 'host',
104
106
  mountVolumes: [
105
- `${magentoDir}:${containerMagentoDir}${
106
- isDockerDesktop ? ':cached' : ''
107
- }`,
107
+ `${magentoDir}:${containerMagentoDir}${volumeDirective}`,
108
108
  `${volumes.composer_cache.name}:/composer/home/cache`,
109
- `${php.iniPath}:/usr/local/etc/php/php.ini${
110
- isDockerDesktop ? ':cached' : ''
111
- }`,
112
- `${
113
- php.fpmConfPath
114
- }:/usr/local/etc/php-fpm.d/zz-docker.conf${
115
- isDockerDesktop ? ':cached' : ''
116
- }`
117
- ].concat(
118
- ctx.debug
119
- ? [
120
- `${
121
- php.debugIniPath
122
- }:/usr/local/etc/php/conf.d/00-xdebug.ini${
123
- isDockerDesktop ? ':cached' : ''
124
- }`
125
- ]
126
- : []
127
- ),
109
+ `${php.iniPath}:/usr/local/etc/php/php.ini${volumeDirective}`,
110
+ `${php.fpmConfPath}:/usr/local/etc/php-fpm.d/zz-docker.conf${volumeDirective}`
111
+ ],
128
112
  env: deepmerge(composerAuthEnv, php.env || {}),
129
113
  restart: 'on-failure:5',
130
114
  image: `local-cma-project:${prefix}`,
131
- debugImage: `local-cma-project:${prefix}.debug`,
132
- remoteImages: [
133
- configuration.php.baseImage,
134
- configuration.php.debugImage
135
- ],
115
+ remoteImages: [configuration.php.baseImage],
136
116
  name: `${prefix}_php`,
137
117
  connectCommand: ['/bin/sh'],
138
118
  user:
@@ -141,6 +121,40 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
141
121
  ? `${os.userInfo().uid}:${os.userInfo().gid}`
142
122
  : ''
143
123
  },
124
+ phpWithXdebug: {
125
+ _: 'PHP with Xdebug',
126
+ ports: isDockerDesktop
127
+ ? [
128
+ `${isIpAddress(host) ? host : '127.0.0.1'}:${
129
+ ports.fpmXdebug
130
+ }:9000`
131
+ ]
132
+ : [],
133
+ forwardedPorts: [
134
+ isDockerDesktop
135
+ ? `127.0.0.1:${ports.fpmXdebug}:9000`
136
+ : `127.0.0.1:${ports.fpmXdebug}`
137
+ ],
138
+ network: isDockerDesktop ? network.name : 'host',
139
+ mountVolumes: [
140
+ `${magentoDir}:${containerMagentoDir}${volumeDirective}`,
141
+ `${volumes.composer_cache.name}:/composer/home/cache`,
142
+ `${php.iniPath}:/usr/local/etc/php/php.ini${volumeDirective}`,
143
+ `${php.debugFpmConfPath}:/usr/local/etc/php-fpm.d/zz-docker.conf${volumeDirective}`,
144
+ `${php.debugIniPath}:/usr/local/etc/php/conf.d/00-xdebug.ini${volumeDirective}`
145
+ ],
146
+ env: deepmerge(composerAuthEnv, php.env || {}),
147
+ restart: 'on-failure:5',
148
+ image: `local-cma-project:${prefix}.debug`,
149
+ pullImage: false,
150
+ name: `${prefix}_php_with_xdebug`,
151
+ connectCommand: ['/bin/sh'],
152
+ user:
153
+ (ctx.platform === 'linux' && isDockerDesktop) ||
154
+ !isDockerDesktop
155
+ ? `${os.userInfo().uid}:${os.userInfo().gid}`
156
+ : ''
157
+ },
144
158
  sslTerminator: {
145
159
  _: 'SSL Terminator (Nginx)',
146
160
  ports: isDockerDesktop
@@ -166,14 +180,12 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
166
180
  cacheDir,
167
181
  'ssl-terminator',
168
182
  'conf.d'
169
- )}:/etc/nginx/conf.d${isDockerDesktop ? ':cached' : ''}`,
183
+ )}:/etc/nginx/conf.d${volumeDirective}`,
170
184
  `${path.join(
171
185
  cacheDir,
172
186
  'ssl-terminator',
173
187
  'fastcgi_params'
174
- )}:/etc/nginx/fastcgi_params${
175
- isDockerDesktop ? ':cached' : ''
176
- }`
188
+ )}:/etc/nginx/fastcgi_params${volumeDirective}`
177
189
  ],
178
190
  restart: 'on-failure:5',
179
191
  network: isDockerDesktop ? network.name : 'host',
@@ -208,17 +220,13 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
208
220
  cacheDir,
209
221
  'nginx',
210
222
  'conf.d'
211
- )}:/etc/nginx/conf.d${isDockerDesktop ? ':cached' : ''}`,
212
- `${magentoDir}:${containerMagentoDir}${
213
- isDockerDesktop ? ':cached' : ''
214
- }`,
223
+ )}:/etc/nginx/conf.d${volumeDirective}`,
224
+ `${magentoDir}:${containerMagentoDir}${volumeDirective}`,
215
225
  `${path.join(
216
226
  cacheDir,
217
227
  'ssl-terminator',
218
228
  'fastcgi_params'
219
- )}:/etc/nginx/fastcgi_params${
220
- isDockerDesktop ? ':cached' : ''
221
- }`
229
+ )}:/etc/nginx/fastcgi_params${volumeDirective}`
222
230
  ],
223
231
  restart: 'on-failure:5',
224
232
  network: isDockerDesktop ? network.name : 'host',
@@ -246,7 +254,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
246
254
  mariadb: {
247
255
  _: 'MariaDB',
248
256
  healthCheck: {
249
- cmd: 'mysqladmin ping --silent'
257
+ cmd: 'mariadb-admin ping --silent'
250
258
  },
251
259
  ports: [`127.0.0.1:${ports.mariadb}:3306`],
252
260
  forwardedPorts: [`127.0.0.1:${ports.mariadb}:3306`],
@@ -255,7 +263,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
255
263
  `${path.join(
256
264
  baseConfig.cacheDir,
257
265
  'mariadb.cnf'
258
- )}:/etc/mysql/my.cnf${isDockerDesktop ? ':cached' : ''}`
266
+ )}:/etc/mysql/my.cnf${volumeDirective}`
259
267
  ],
260
268
  env: {
261
269
  MARIADB_ROOT_PASSWORD: 'scandipwa'
@@ -366,7 +374,7 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
366
374
  )
367
375
  }
368
376
 
369
- if (!ctx.debug && varnish.enabled) {
377
+ if (varnish.enabled) {
370
378
  dockerConfig.varnish = {
371
379
  _: 'Varnish',
372
380
  image: `${
@@ -376,9 +384,10 @@ module.exports = async (ctx, overridenConfiguration, baseConfig) => {
376
384
  }`,
377
385
  name: `${prefix}_varnish`,
378
386
  mountVolumes: [
379
- `${path.join(cacheDir, 'varnish')}:/etc/varnish${
380
- isDockerDesktop ? ':cached' : ''
381
- }`
387
+ `${path.join(
388
+ cacheDir,
389
+ 'varnish'
390
+ )}:/etc/varnish${volumeDirective}`
382
391
  ],
383
392
  ports: isDockerDesktop
384
393
  ? [
@@ -1,4 +1,3 @@
1
- const { getProjectConfig } = require('./config')
2
1
  const { getConfigFromMagentoVersion } = require('./index')
3
2
 
4
3
  /**
@@ -9,10 +8,6 @@ const getProjectConfiguration = () => ({
9
8
  task: async (ctx) => {
10
9
  const { magentoVersion } = ctx
11
10
 
12
- if (typeof ctx.debug !== 'boolean') {
13
- ctx.debug = getProjectConfig().debug
14
- }
15
-
16
11
  ctx.config = await getConfigFromMagentoVersion(ctx, {
17
12
  magentoVersion
18
13
  })
@@ -11,6 +11,9 @@ module.exports = (overridenConfiguration, baseConfig) => {
11
11
 
12
12
  const { cacheDir } = baseConfig
13
13
 
14
+ /**
15
+ * @type {import('../../typings/context').ListrContext['config']['php']}
16
+ */
14
17
  const phpConfiguration = {
15
18
  iniPath: path.join(cacheDir, 'php.ini'),
16
19
  iniTemplatePath: php.configTemplate,
@@ -18,6 +21,7 @@ module.exports = (overridenConfiguration, baseConfig) => {
18
21
  debugTemplatePath: php.debugTemplate,
19
22
  fpmTemplatePath: php.fpmConfigTemplate,
20
23
  fpmConfPath: path.join(cacheDir, 'php-fpm.conf'),
24
+ debugFpmConfPath: path.join(cacheDir, 'php-fpm-debug.conf'),
21
25
  extensions: php.extensions,
22
26
  env: php.env
23
27
  }
@@ -72,6 +72,7 @@ const defaultPorts = {
72
72
  varnish: 8080,
73
73
  sslTerminator: 80,
74
74
  fpm: 9000,
75
+ fpmXdebug: 9001,
75
76
  mariadb: 3306,
76
77
  redis: 6379,
77
78
  elasticsearch: 9200,
@@ -2,7 +2,7 @@
2
2
  * @returns {import('../../../../../typings/index').ComposerConfiguration}
3
3
  */
4
4
  const composer28 = () => ({
5
- version: '2.8.5'
5
+ version: '2.8.8'
6
6
  })
7
7
 
8
8
  module.exports = composer28
@@ -0,0 +1,14 @@
1
+ const defaultEnv = require('../default-es-env')
2
+
3
+ /**
4
+ * @returns {import('../../../../../typings/index').ElasticSearchConfiguration}
5
+ */
6
+ const elasticsearch817 = () => ({
7
+ image: 'elasticsearch:8.17.4',
8
+ env: {
9
+ ...defaultEnv,
10
+ 'indices.id_field_data.enabled': true
11
+ }
12
+ })
13
+
14
+ module.exports = elasticsearch817
@@ -11,6 +11,7 @@ const elasticsearch85 = require('./elasticsearch-8.5')
11
11
  const elasticsearch87 = require('./elasticsearch-8.7')
12
12
  const elasticsearch811 = require('./elasticsearch-8.11')
13
13
  const elasticsearch816 = require('./elasticsearch-8.16')
14
+ const elasticsearch817 = require('./elasticsearch-8.17')
14
15
 
15
16
  module.exports = {
16
17
  elasticsearch68,
@@ -25,5 +26,6 @@ module.exports = {
25
26
  elasticsearch85,
26
27
  elasticsearch87,
27
28
  elasticsearch811,
28
- elasticsearch816
29
+ elasticsearch816,
30
+ elasticsearch817
29
31
  }
@@ -2,5 +2,7 @@ module.exports = {
2
2
  mariadb102: require('./mariadb-10.2'),
3
3
  mariadb103: require('./mariadb-10.3'),
4
4
  mariadb104: require('./mariadb-10.4'),
5
- mariadb106: require('./mariadb-10.6')
5
+ mariadb106: require('./mariadb-10.6'),
6
+ mariadb114: require('./mariadb-11.4'),
7
+ mariadb116: require('./mariadb-11.6')
6
8
  }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @returns {import('../../../../../typings/index').MariaDBConfiguration}
3
+ */
4
+ const mariadb114 = () => ({
5
+ image: 'mariadb:11.4',
6
+ useOptimizerSwitch: true
7
+ })
8
+
9
+ module.exports = mariadb114
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @returns {import('../../../../../typings/index').MariaDBConfiguration}
3
+ */
4
+ const mariadb116 = () => ({
5
+ image: 'mariadb:11.6',
6
+ useOptimizerSwitch: true
7
+ })
8
+
9
+ module.exports = mariadb116
@@ -2,10 +2,12 @@ const opensearch12 = require('./opensearch-1.2')
2
2
  const opensearch13 = require('./opensearch-1.3')
3
3
  const opensearch25 = require('./opensearch-2.5')
4
4
  const opensearch212 = require('./opensearch-2.12')
5
+ const opensearch219 = require('./opensearch-2.19')
5
6
 
6
7
  module.exports = {
7
8
  opensearch12,
8
9
  opensearch13,
9
10
  opensearch25,
10
- opensearch212
11
+ opensearch212,
12
+ opensearch219
11
13
  }
@@ -0,0 +1,14 @@
1
+ const defaultEnv = require('../default-os-env')
2
+
3
+ /**
4
+ * @returns {import('../../../../../typings/index').OpenSearchSearchConfiguration}
5
+ */
6
+ const opensearch219 = () => ({
7
+ image: 'opensearchproject/opensearch:2.19.1',
8
+ env: {
9
+ ...defaultEnv,
10
+ 'indices.id_field_data.enabled': true
11
+ }
12
+ })
13
+
14
+ module.exports = opensearch219
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @type {import('../../../../../typings/index').PHPExtensionInstallationInstruction}
3
+ */
4
+ module.exports = {
5
+ name: 'ftp',
6
+ command: 'docker-php-ext-install ftp'
7
+ }
@@ -3,5 +3,6 @@ module.exports = {
3
3
  php73: require('./php-7.3'),
4
4
  php74: require('./php-7.4'),
5
5
  php81: require('./php-8.1'),
6
- php82: require('./php-8.2')
6
+ php82: require('./php-8.2'),
7
+ php83: require('./php-8.3')
7
8
  }
@@ -16,7 +16,6 @@ const php72 = ({
16
16
  baseImage = `${repo}:php-7.2`
17
17
  }) => ({
18
18
  baseImage,
19
- debugImage: `${baseImage}-debug`,
20
19
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
21
20
  fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
22
21
  debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
@@ -16,7 +16,6 @@ const php73 = ({
16
16
  baseImage = `${repo}:php-7.3`
17
17
  }) => ({
18
18
  baseImage,
19
- debugImage: `${baseImage}-debug`,
20
19
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
21
20
  fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
22
21
  debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
@@ -16,7 +16,6 @@ const php74 = ({
16
16
  baseImage = `${repo}:php-7.4`
17
17
  }) => ({
18
18
  baseImage,
19
- debugImage: `${baseImage}-debug`,
20
19
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
21
20
  fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
22
21
  debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
@@ -16,12 +16,14 @@ const php81 = ({
16
16
  baseImage = `${repo}:php-8.1`
17
17
  }) => ({
18
18
  baseImage,
19
- debugImage: `${baseImage}-debug`,
20
19
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
21
20
  fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
22
21
  debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
23
22
  extensions: {
24
- xdebug,
23
+ xdebug: {
24
+ ...xdebug,
25
+ version: '3.4.2'
26
+ },
25
27
  ...extensions
26
28
  },
27
29
  env: defaultPhpEnv
@@ -16,14 +16,13 @@ const php82 = ({
16
16
  baseImage = `${repo}:php-8.2`
17
17
  }) => ({
18
18
  baseImage,
19
- debugImage: `${baseImage}-debug`,
20
19
  configTemplate: path.join(templateDir || '', 'php.template.ini'),
21
20
  fpmConfigTemplate: path.join(templateDir || '', 'php-fpm.template.conf'),
22
21
  debugTemplate: path.join(templateDir || '', 'php-debug.template.ini'),
23
22
  extensions: {
24
23
  xdebug: {
25
24
  ...xdebug,
26
- version: '3.2.1'
25
+ version: '3.4.2'
27
26
  },
28
27
  ...extensions
29
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 php83 = ({
14
+ templateDir,
15
+ extensions = {},
16
+ baseImage = `${repo}:php-8.3`
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.4.2'
26
+ },
27
+ ...extensions
28
+ },
29
+ env: defaultPhpEnv
30
+ })
31
+
32
+ module.exports = php83
@@ -1,7 +1,12 @@
1
+ const valkey80 = require('./valkey-8.0')
2
+ const valkey81 = require('./valkey-8.1')
3
+
1
4
  module.exports = {
2
5
  redis50: require('./redis-5.0'),
3
6
  redis60: require('./redis-6.0'),
4
7
  redis62: require('./redis-6.2'),
5
8
  redis70: require('./redis-7.0'),
6
- redis72: require('./redis-7.2')
9
+ redis72: require('./redis-7.2'),
10
+ valkey80,
11
+ valkey81
7
12
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @returns {import('../../../../typings/index').ServiceWithImage}
3
+ */
4
+ const valkey80 = () => ({
5
+ image: 'valkey/valkey:8.0-alpine'
6
+ })
7
+
8
+ module.exports = valkey80
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @returns {import('../../../../typings/index').ServiceWithImage}
3
+ */
4
+ const valkey81 = () => ({
5
+ image: 'valkey/valkey:8.1-alpine'
6
+ })
7
+
8
+ module.exports = valkey81
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish60 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:6.0',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish66 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:6.6',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish70 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:7.0',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish71 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:7.1',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish73 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:7.3',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
@@ -6,7 +6,7 @@ const path = require('path')
6
6
  * @returns {import('../../../../typings/index').VarnishConfiguration}
7
7
  */
8
8
  const varnish74 = ({ templateDir }) => ({
9
- enabled: true,
9
+ enabled: false,
10
10
  healthCheck: false,
11
11
  image: 'varnish:7.4',
12
12
  configTemplate: path.join(templateDir || '', 'varnish.template.vcl')