From cacd4164165c4884c43d4cbd1c1b3f87fe9a2fa4 Mon Sep 17 00:00:00 2001 From: Zsolt Tovis Date: Fri, 26 Jun 2026 05:43:06 +0200 Subject: [PATCH 1/6] fix: Refactor locale script execution to use shell option in execFile --- frontend/vite.config.ts | 100 ++++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 1e00d067f2..7b0b86a818 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -5,58 +5,58 @@ import "vitest/config"; import { execFile } from "node:child_process"; const runLocaleScripts = () => { - execFile("yarn", ["locale-compile"], (error, stdout, _stderr) => { - if (error) { - throw error; - } - console.log(stdout); - execFile("yarn", ["locale-sort"], (error, stdout, _stderr) => { - if (error) { - throw error; - } - console.log(stdout); - }); - }); + execFile("yarn", ["locale-compile"], { shell: true }, (error, stdout, _stderr) => { + if (error) { + throw error; + } + console.log(stdout); + execFile("yarn", ["locale-sort"], { shell: true }, (error, stdout, _stderr) => { + if (error) { + throw error; + } + console.log(stdout); + }); + }); }; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [ - { - name: 'run-on-start', - configureServer(_server) { - runLocaleScripts(); - }, - }, - { - name: "trigger-on-reload", - configureServer(server) { - server.watcher.on("change", (file) => { - if (file.includes("locale/src")) { - console.log(`File changed: ${file}, running locale scripts...`); - runLocaleScripts(); - } - }); - }, - }, - react(), - checker({ - // e.g. use TypeScript check - typescript: true, - }), - ], - resolve: { - tsconfigPaths: true, - }, - server: { - host: true, - port: 5173, - strictPort: true, - allowedHosts: true, - }, - test: { - environment: "happy-dom", - setupFiles: ["./vitest-setup.js"], - }, - assetsInclude: ["**/*.md", "**/*.png", "**/*.svg"], + plugins: [ + { + name: "run-on-start", + configureServer(_server) { + runLocaleScripts(); + }, + }, + { + name: "trigger-on-reload", + configureServer(server) { + server.watcher.on("change", (file) => { + if (file.includes("locale/src")) { + console.log(`File changed: ${file}, running locale scripts...`); + runLocaleScripts(); + } + }); + }, + }, + react(), + checker({ + // e.g. use TypeScript check + typescript: true, + }), + ], + resolve: { + tsconfigPaths: true, + }, + server: { + host: true, + port: 5173, + strictPort: true, + allowedHosts: true, + }, + test: { + environment: "happy-dom", + setupFiles: ["./vitest-setup.js"], + }, + assetsInclude: ["**/*.md", "**/*.png", "**/*.svg"], }); From 5348f959786365bb07acb5c68bec9266a64d417d Mon Sep 17 00:00:00 2001 From: Zsolt Tovis Date: Fri, 26 Jun 2026 05:46:48 +0200 Subject: [PATCH 2/6] refactor: fix tab/space formatting --- frontend/vite.config.ts | 94 ++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 7b0b86a818..393e6b2da5 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -5,58 +5,58 @@ import "vitest/config"; import { execFile } from "node:child_process"; const runLocaleScripts = () => { - execFile("yarn", ["locale-compile"], { shell: true }, (error, stdout, _stderr) => { - if (error) { - throw error; - } - console.log(stdout); - execFile("yarn", ["locale-sort"], { shell: true }, (error, stdout, _stderr) => { - if (error) { - throw error; - } - console.log(stdout); + execFile("yarn", ["locale-compile"], { shell: true }, (error, stdout, _stderr) => { + if (error) { + throw error; + } + console.log(stdout); + execFile("yarn", ["locale-sort"], { shell: true }, (error, stdout, _stderr) => { + if (error) { + throw error; + } + console.log(stdout); + }); }); - }); }; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [ - { - name: "run-on-start", - configureServer(_server) { - runLocaleScripts(); - }, + plugins: [ + { + name: "run-on-start", + configureServer(_server) { + runLocaleScripts(); + }, + }, + { + name: "trigger-on-reload", + configureServer(server) { + server.watcher.on("change", (file) => { + if (file.includes("locale/src")) { + console.log(`File changed: ${file}, running locale scripts...`); + runLocaleScripts(); + } + }); + }, + }, + react(), + checker({ + // e.g. use TypeScript check + typescript: true, + }), + ], + resolve: { + tsconfigPaths: true, }, - { - name: "trigger-on-reload", - configureServer(server) { - server.watcher.on("change", (file) => { - if (file.includes("locale/src")) { - console.log(`File changed: ${file}, running locale scripts...`); - runLocaleScripts(); - } - }); - }, + server: { + host: true, + port: 5173, + strictPort: true, + allowedHosts: true, + }, + test: { + environment: "happy-dom", + setupFiles: ["./vitest-setup.js"], }, - react(), - checker({ - // e.g. use TypeScript check - typescript: true, - }), - ], - resolve: { - tsconfigPaths: true, - }, - server: { - host: true, - port: 5173, - strictPort: true, - allowedHosts: true, - }, - test: { - environment: "happy-dom", - setupFiles: ["./vitest-setup.js"], - }, - assetsInclude: ["**/*.md", "**/*.png", "**/*.svg"], + assetsInclude: ["**/*.md", "**/*.png", "**/*.svg"], }); From c5be5f620f29accce59c10dc3719eef10f823cd9 Mon Sep 17 00:00:00 2001 From: Zsolt Tovis Date: Fri, 26 Jun 2026 05:53:20 +0200 Subject: [PATCH 3/6] style: use tabs instead of spaces --- frontend/vite.config.ts | 100 ++++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 393e6b2da5..8b8c80458d 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -5,58 +5,58 @@ import "vitest/config"; import { execFile } from "node:child_process"; const runLocaleScripts = () => { - execFile("yarn", ["locale-compile"], { shell: true }, (error, stdout, _stderr) => { - if (error) { - throw error; - } - console.log(stdout); - execFile("yarn", ["locale-sort"], { shell: true }, (error, stdout, _stderr) => { - if (error) { - throw error; - } - console.log(stdout); - }); - }); + execFile("yarn", ["locale-compile"], { shell: true }, (error, stdout, _stderr) => { + if (error) { + throw error; + } + console.log(stdout); + execFile("yarn", ["locale-sort"], { shell: true }, (error, stdout, _stderr) => { + if (error) { + throw error; + } + console.log(stdout); + }); + }); }; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [ - { - name: "run-on-start", - configureServer(_server) { - runLocaleScripts(); - }, - }, - { - name: "trigger-on-reload", - configureServer(server) { - server.watcher.on("change", (file) => { - if (file.includes("locale/src")) { - console.log(`File changed: ${file}, running locale scripts...`); - runLocaleScripts(); - } - }); - }, - }, - react(), - checker({ - // e.g. use TypeScript check - typescript: true, - }), - ], - resolve: { - tsconfigPaths: true, - }, - server: { - host: true, - port: 5173, - strictPort: true, - allowedHosts: true, - }, - test: { - environment: "happy-dom", - setupFiles: ["./vitest-setup.js"], - }, - assetsInclude: ["**/*.md", "**/*.png", "**/*.svg"], + plugins: [ + { + name: "run-on-start", + configureServer(_server) { + runLocaleScripts(); + }, + }, + { + name: "trigger-on-reload", + configureServer(server) { + server.watcher.on("change", (file) => { + if (file.includes("locale/src")) { + console.log(`File changed: ${file}, running locale scripts...`); + runLocaleScripts(); + } + }); + }, + }, + react(), + checker({ + // e.g. use TypeScript check + typescript: true, + }), + ], + resolve: { + tsconfigPaths: true, + }, + server: { + host: true, + port: 5173, + strictPort: true, + allowedHosts: true, + }, + test: { + environment: "happy-dom", + setupFiles: ["./vitest-setup.js"], + }, + assetsInclude: ["**/*.md", "**/*.png", "**/*.svg"], }); From ec04ed0e2c5c2c982618ae2848f56836c8f7e98f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zsolt=20T=C3=B6vis?= Date: Fri, 26 Jun 2026 06:09:15 +0200 Subject: [PATCH 4/6] Potential fix for pull request finding `{ shell: true }` is broader than needed and increases shell injection/quoting risk. Prefer making shell conditional (or using yarn.cmd on Windows) so non-Windows platforms keep the safer direct-exec behavior. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- frontend/vite.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 8b8c80458d..8d422a3587 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -5,7 +5,7 @@ import "vitest/config"; import { execFile } from "node:child_process"; const runLocaleScripts = () => { - execFile("yarn", ["locale-compile"], { shell: true }, (error, stdout, _stderr) => { + execFile("yarn", ["locale-compile"], { shell: process.platform === "win32" }, (error, stdout, _stderr) => { if (error) { throw error; } From 3a1e0b85cce3ca95b3061d20db5a2af2aed1b216 Mon Sep 17 00:00:00 2001 From: Zsolt Tovis Date: Fri, 26 Jun 2026 06:13:18 +0200 Subject: [PATCH 5/6] Potential fix for pull request finding (2) `{ shell: true }` is broader than needed and increases shell injection/quoting risk. Prefer making shell conditional (or using yarn.cmd on Windows) so non-Windows platforms keep the safer direct-exec behavior. --- frontend/vite.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 8d422a3587..8870ad4d76 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -10,7 +10,7 @@ const runLocaleScripts = () => { throw error; } console.log(stdout); - execFile("yarn", ["locale-sort"], { shell: true }, (error, stdout, _stderr) => { + execFile("yarn", ["locale-sort"], { shell: process.platform === "win32" }, (error, stdout, _stderr) => { if (error) { throw error; } From a229a2562a8b9bd856de02ccd1b682ff09b95531 Mon Sep 17 00:00:00 2001 From: Zsolt Tovis Date: Fri, 26 Jun 2026 06:17:28 +0200 Subject: [PATCH 6/6] refactor: simplify shell option handling in locale script execution --- frontend/vite.config.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 8870ad4d76..9f94a149cc 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -5,12 +5,13 @@ import "vitest/config"; import { execFile } from "node:child_process"; const runLocaleScripts = () => { - execFile("yarn", ["locale-compile"], { shell: process.platform === "win32" }, (error, stdout, _stderr) => { + const shell = process.platform === "win32"; + execFile("yarn", ["locale-compile"], { shell }, (error, stdout, _stderr) => { if (error) { throw error; } console.log(stdout); - execFile("yarn", ["locale-sort"], { shell: process.platform === "win32" }, (error, stdout, _stderr) => { + execFile("yarn", ["locale-sort"], { shell }, (error, stdout, _stderr) => { if (error) { throw error; }