From 1b91c6b21e711d96b2cca2ff25bc0f7345740c8e Mon Sep 17 00:00:00 2001 From: Hoangg Anh <131897682+LucciHank@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:27:53 +0700 Subject: [PATCH] refactor: parsepackagestring called on potentially undefined packagequery ctx.query.package can be undefined (missing query param). Passing it to parsePackageString does `packageString.lastIndexOf` which throws TypeError. The line is outside any try/catch and after the build, so the whole request fails. Identical code exists in exports.middleware.js. Affected files: exportsSizes.middleware.js Signed-off-by: Hoangg Anh <131897682+LucciHank@users.noreply.github.com> --- server/middlewares/exportsSizes.middleware.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/middlewares/exportsSizes.middleware.js b/server/middlewares/exportsSizes.middleware.js index cd492ac5..4fd855f8 100644 --- a/server/middlewares/exportsSizes.middleware.js +++ b/server/middlewares/exportsSizes.middleware.js @@ -7,6 +7,7 @@ const { getRequestPriority } = require('../../utils/server.utils') const { parsePackageString } = require('../../utils/common.utils') const BuildService = require('../api/BuildService') + const cache = new Cache() const buildService = new BuildService() @@ -28,7 +29,7 @@ async function exportSizesMiddleware(ctx) { ctx.cacheControl = { maxAge: force ? 0 - : semver.valid(parsePackageString(packageQuery).version) + : semver.valid(parsePackageString(typeof packageQuery === 'string' ? packageQuery : '').version) ? CONFIG.CACHE.SIZE_API_HAS_VERSION : CONFIG.CACHE.SIZE_API_DEFAULT, } @@ -53,4 +54,4 @@ async function exportSizesMiddleware(ctx) { } } -module.exports = exportSizesMiddleware +module.exports = exportSizesMiddleware \ No newline at end of file