chore: security patch for the dependency chain v2026.1.0 (#5786)

Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
This commit is contained in:
Mir Arif Hasan 2026-01-21 23:55:40 +06:00 committed by GitHub
parent 69c7c2d9ad
commit 4f13549ed2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 2779 additions and 1897 deletions

View file

@ -67,8 +67,8 @@ services:
target: app target: app
env_file: env_file:
- ./.env - ./.env
# depends_on: depends_on:
# - hoppscotch-backend - hoppscotch-backend
ports: ports:
- "3080:80" - "3080:80"
- "3000:3000" - "3000:3000"
@ -86,8 +86,8 @@ services:
target: sh_admin target: sh_admin
env_file: env_file:
- ./.env - ./.env
# depends_on: depends_on:
# - hoppscotch-backend - hoppscotch-backend
ports: ports:
- "3280:80" - "3280:80"
- "3100:3100" - "3100:3100"

View file

@ -5,7 +5,7 @@
"author": "Hoppscotch (support@hoppscotch.io)", "author": "Hoppscotch (support@hoppscotch.io)",
"private": true, "private": true,
"license": "MIT", "license": "MIT",
"packageManager": "pnpm@10.23.0", "packageManager": "pnpm@10.28.1",
"scripts": { "scripts": {
"preinstall": "npx only-allow pnpm", "preinstall": "npx only-allow pnpm",
"prepare": "husky", "prepare": "husky",
@ -25,7 +25,7 @@
], ],
"devDependencies": { "devDependencies": {
"@commitlint/cli": "20.2.0", "@commitlint/cli": "20.2.0",
"@commitlint/config-conventional": "20.2.0", "@commitlint/config-conventional": "20.3.1",
"@hoppscotch/ui": "0.2.5", "@hoppscotch/ui": "0.2.5",
"@types/node": "24.10.1", "@types/node": "24.10.1",
"cross-env": "10.1.0", "cross-env": "10.1.0",
@ -40,12 +40,14 @@
"body-parser": "2.2.1", "body-parser": "2.2.1",
"cross-spawn": "7.0.6", "cross-spawn": "7.0.6",
"execa@0.10.0": "2.0.0", "execa@0.10.0": "2.0.0",
"jws@<3.2.3": "3.2.3",
"nodemailer@<7.0.11": "7.0.11",
"glob@<11.1.0": "11.1.0",
"subscriptions-transport-ws>ws": "7.5.10",
"vue": "3.5.26",
"form-data": "4.0.4", "form-data": "4.0.4",
"glob@<11.1.0": "11.1.0",
"hono@4.10.6": "4.11.4",
"jws@<3.2.3": "3.2.3",
"nodemailer@<7.0.12": "7.0.12",
"qs@6.14.0": "6.14.1",
"subscriptions-transport-ws>ws": "7.5.10",
"vue": "3.5.27",
"ws": "8.17.1" "ws": "8.17.1"
}, },
"onlyBuiltDependencies": [ "onlyBuiltDependencies": [

View file

@ -25,7 +25,7 @@
"@lezer/generator": "1.8.0", "@lezer/generator": "1.8.0",
"@rollup/plugin-typescript": "12.1.4", "@rollup/plugin-typescript": "12.1.4",
"mocha": "11.7.5", "mocha": "11.7.5",
"rollup": "4.53.5", "rollup": "4.55.3",
"typescript": "5.9.3" "typescript": "5.9.3"
} }
} }

View file

@ -24,21 +24,21 @@
"axios": "1.13.2", "axios": "1.13.2",
"fp-ts": "2.16.11", "fp-ts": "2.16.11",
"lodash-es": "4.17.22", "lodash-es": "4.17.22",
"vue": "3.5.26" "vue": "3.5.27"
}, },
"devDependencies": { "devDependencies": {
"@iconify-json/lucide": "1.2.81", "@iconify-json/lucide": "1.2.86",
"@tauri-apps/cli": "2.9.3", "@tauri-apps/cli": "2.9.3",
"@types/lodash-es": "4.17.12", "@types/lodash-es": "4.17.12",
"@types/node": "24.10.1", "@types/node": "24.10.1",
"@typescript-eslint/eslint-plugin": "8.50.0", "@typescript-eslint/eslint-plugin": "8.53.1",
"@typescript-eslint/parser": "8.50.0", "@typescript-eslint/parser": "8.53.1",
"@vitejs/plugin-vue": "6.0.3", "@vitejs/plugin-vue": "6.0.3",
"@vue/eslint-config-typescript": "14.6.0", "@vue/eslint-config-typescript": "14.6.0",
"autoprefixer": "10.4.23", "autoprefixer": "10.4.23",
"cross-env": "10.1.0", "cross-env": "10.1.0",
"eslint": "9.39.2", "eslint": "9.39.2",
"eslint-plugin-prettier": "5.5.4", "eslint-plugin-prettier": "5.5.5",
"eslint-plugin-vue": "10.6.2", "eslint-plugin-vue": "10.6.2",
"globals": "16.5.0", "globals": "16.5.0",
"postcss": "8.5.6", "postcss": "8.5.6",
@ -46,7 +46,7 @@
"typescript": "5.9.3", "typescript": "5.9.3",
"unplugin-icons": "22.5.0", "unplugin-icons": "22.5.0",
"unplugin-vue-components": "30.0.0", "unplugin-vue-components": "30.0.0",
"vite": "7.3.0", "vite": "7.3.1",
"vue-tsc": "2.2.0" "vue-tsc": "2.2.0"
} }
} }

View file

@ -35,15 +35,15 @@
"@as-integrations/express5": "1.1.2", "@as-integrations/express5": "1.1.2",
"@nestjs-modules/mailer": "2.0.2", "@nestjs-modules/mailer": "2.0.2",
"@nestjs/apollo": "13.2.3", "@nestjs/apollo": "13.2.3",
"@nestjs/common": "11.1.9", "@nestjs/common": "11.1.12",
"@nestjs/config": "4.0.2", "@nestjs/config": "4.0.2",
"@nestjs/core": "11.1.9", "@nestjs/core": "11.1.12",
"@nestjs/graphql": "13.2.3", "@nestjs/graphql": "13.2.3",
"@nestjs/jwt": "11.0.2", "@nestjs/jwt": "11.0.2",
"@nestjs/passport": "11.0.0", "@nestjs/passport": "11.0.0",
"@nestjs/platform-express": "11.1.9", "@nestjs/platform-express": "11.1.12",
"@nestjs/schedule": "6.1.0", "@nestjs/schedule": "6.1.0",
"@nestjs/swagger": "11.2.3", "@nestjs/swagger": "11.2.5",
"@nestjs/terminus": "11.0.0", "@nestjs/terminus": "11.0.0",
"@nestjs/throttler": "6.5.0", "@nestjs/throttler": "6.5.0",
"@prisma/adapter-pg": "7.2.0", "@prisma/adapter-pg": "7.2.0",
@ -65,15 +65,15 @@
"handlebars": "4.7.8", "handlebars": "4.7.8",
"io-ts": "2.2.22", "io-ts": "2.2.22",
"morgan": "1.10.1", "morgan": "1.10.1",
"nodemailer": "7.0.11", "nodemailer": "7.0.12",
"passport": "0.7.0", "passport": "0.7.0",
"passport-github2": "0.1.12", "passport-github2": "0.1.12",
"passport-google-oauth20": "2.0.0", "passport-google-oauth20": "2.0.0",
"passport-jwt": "4.0.1", "passport-jwt": "4.0.1",
"passport-local": "1.0.0", "passport-local": "1.0.0",
"passport-microsoft": "2.1.0", "passport-microsoft": "2.1.0",
"pg": "8.16.3", "pg": "8.17.1",
"posthog-node": "5.17.4", "posthog-node": "5.23.0",
"prisma": "7.2.0", "prisma": "7.2.0",
"reflect-metadata": "0.2.2", "reflect-metadata": "0.2.2",
"rimraf": "6.1.2", "rimraf": "6.1.2",
@ -82,34 +82,34 @@
"devDependencies": { "devDependencies": {
"@eslint/eslintrc": "3.3.3", "@eslint/eslintrc": "3.3.3",
"@eslint/js": "9.39.2", "@eslint/js": "9.39.2",
"@nestjs/cli": "11.0.14", "@nestjs/cli": "11.0.16",
"@nestjs/schematics": "11.0.9", "@nestjs/schematics": "11.0.9",
"@nestjs/testing": "11.1.9", "@nestjs/testing": "11.1.12",
"@relmify/jest-fp-ts": "2.1.1", "@relmify/jest-fp-ts": "2.1.1",
"@types/bcrypt": "6.0.0", "@types/bcrypt": "6.0.0",
"@types/cookie-parser": "1.4.10", "@types/cookie-parser": "1.4.10",
"@types/express": "5.0.6", "@types/express": "5.0.6",
"@types/jest": "30.0.0", "@types/jest": "30.0.0",
"@types/node": "25.0.3", "@types/node": "25.0.9",
"@types/nodemailer": "7.0.4", "@types/nodemailer": "7.0.5",
"@types/passport-github2": "1.2.9", "@types/passport-github2": "1.2.9",
"@types/passport-google-oauth20": "2.0.17", "@types/passport-google-oauth20": "2.0.17",
"@types/passport-jwt": "4.0.1", "@types/passport-jwt": "4.0.1",
"@types/passport-microsoft": "2.1.1", "@types/passport-microsoft": "2.1.1",
"@types/pg": "8.16.0", "@types/pg": "8.16.0",
"@types/supertest": "6.0.3", "@types/supertest": "6.0.3",
"@typescript-eslint/eslint-plugin": "8.50.0", "@typescript-eslint/eslint-plugin": "8.53.1",
"@typescript-eslint/parser": "8.50.0", "@typescript-eslint/parser": "8.53.1",
"cross-env": "10.1.0", "cross-env": "10.1.0",
"eslint": "9.39.2", "eslint": "9.39.2",
"eslint-config-prettier": "10.1.8", "eslint-config-prettier": "10.1.8",
"eslint-plugin-prettier": "5.5.4", "eslint-plugin-prettier": "5.5.5",
"globals": "16.5.0", "globals": "17.0.0",
"jest": "30.2.0", "jest": "30.2.0",
"jest-mock-extended": "4.0.0", "jest-mock-extended": "4.0.0",
"prettier": "3.7.4", "prettier": "3.8.0",
"source-map-support": "0.5.21", "source-map-support": "0.5.21",
"supertest": "7.1.4", "supertest": "7.2.2",
"ts-jest": "29.4.6", "ts-jest": "29.4.6",
"ts-loader": "9.5.4", "ts-loader": "9.5.4",
"ts-node": "10.9.2", "ts-node": "10.9.2",

View file

@ -51,7 +51,7 @@
"jsonc-parser": "3.3.1", "jsonc-parser": "3.3.1",
"lodash-es": "4.17.22", "lodash-es": "4.17.22",
"papaparse": "5.5.3", "papaparse": "5.5.3",
"qs": "6.14.0", "qs": "6.14.1",
"tough-cookie": "6.0.0", "tough-cookie": "6.0.0",
"verzod": "0.4.0", "verzod": "0.4.0",
"xmlbuilder2": "4.0.3", "xmlbuilder2": "4.0.3",
@ -65,11 +65,11 @@
"@types/papaparse": "5.5.2", "@types/papaparse": "5.5.2",
"@types/qs": "6.14.0", "@types/qs": "6.14.0",
"fp-ts": "2.16.11", "fp-ts": "2.16.11",
"prettier": "3.7.4", "prettier": "3.8.0",
"qs": "6.11.2", "qs": "6.11.2",
"semver": "7.7.3", "semver": "7.7.3",
"tsup": "8.5.1", "tsup": "8.5.1",
"typescript": "5.9.3", "typescript": "5.9.3",
"vitest": "4.0.16" "vitest": "4.0.17"
} }
} }

View file

@ -52,7 +52,7 @@
"@types/hawk": "9.0.7", "@types/hawk": "9.0.7",
"@types/markdown-it": "14.1.2", "@types/markdown-it": "14.1.2",
"@types/node": "24.10.1", "@types/node": "24.10.1",
"@unhead/vue": "2.0.19", "@unhead/vue": "2.1.2",
"@urql/core": "6.0.1", "@urql/core": "6.0.1",
"@urql/devtools": "2.0.3", "@urql/devtools": "2.0.3",
"@urql/exchange-auth": "3.0.0", "@urql/exchange-auth": "3.0.0",
@ -90,9 +90,9 @@
"path": "0.12.7", "path": "0.12.7",
"postman-collection": "5.2.0", "postman-collection": "5.2.0",
"process": "0.11.10", "process": "0.11.10",
"qs": "6.14.0", "qs": "6.14.1",
"quicktype-core": "23.2.6", "quicktype-core": "23.2.6",
"rollup": "4.53.5", "rollup": "4.55.3",
"rxjs": "7.8.2", "rxjs": "7.8.2",
"set-cookie-parser": "2.7.2", "set-cookie-parser": "2.7.2",
"set-cookie-parser-es": "1.0.5", "set-cookie-parser-es": "1.0.5",
@ -111,8 +111,8 @@
"util": "0.12.5", "util": "0.12.5",
"uuid": "13.0.0", "uuid": "13.0.0",
"verzod": "0.4.0", "verzod": "0.4.0",
"vue": "3.5.26", "vue": "3.5.27",
"vue-i18n": "11.2.2", "vue-i18n": "11.2.8",
"vue-json-pretty": "2.6.0", "vue-json-pretty": "2.6.0",
"vue-pdf-embed": "2.1.3", "vue-pdf-embed": "2.1.3",
"vue-router": "4.6.4", "vue-router": "4.6.4",
@ -130,14 +130,14 @@
"@eslint/eslintrc": "3.3.3", "@eslint/eslintrc": "3.3.3",
"@eslint/js": "9.39.2", "@eslint/js": "9.39.2",
"@graphql-codegen/add": "6.0.0", "@graphql-codegen/add": "6.0.0",
"@graphql-codegen/cli": "6.1.0", "@graphql-codegen/cli": "6.1.1",
"@graphql-codegen/typed-document-node": "6.1.5", "@graphql-codegen/typed-document-node": "6.1.5",
"@graphql-codegen/typescript": "5.0.7", "@graphql-codegen/typescript": "5.0.7",
"@graphql-codegen/typescript-operations": "5.0.7", "@graphql-codegen/typescript-operations": "5.0.7",
"@graphql-codegen/typescript-urql-graphcache": "3.1.1", "@graphql-codegen/typescript-urql-graphcache": "3.1.1",
"@graphql-codegen/urql-introspection": "3.0.1", "@graphql-codegen/urql-introspection": "3.0.1",
"@graphql-typed-document-node/core": "3.2.0", "@graphql-typed-document-node/core": "3.2.0",
"@iconify-json/lucide": "1.2.81", "@iconify-json/lucide": "1.2.86",
"@import-meta-env/cli": "0.7.4", "@import-meta-env/cli": "0.7.4",
"@intlify/unplugin-vue-i18n": "11.0.3", "@intlify/unplugin-vue-i18n": "11.0.3",
"@relmify/jest-fp-ts": "2.1.1", "@relmify/jest-fp-ts": "2.1.1",
@ -151,35 +151,35 @@
"@types/qs": "6.14.0", "@types/qs": "6.14.0",
"@types/splitpanes": "2.2.6", "@types/splitpanes": "2.2.6",
"@types/yargs-parser": "21.0.3", "@types/yargs-parser": "21.0.3",
"@typescript-eslint/eslint-plugin": "8.50.0", "@typescript-eslint/eslint-plugin": "8.53.1",
"@typescript-eslint/parser": "8.50.0", "@typescript-eslint/parser": "8.53.1",
"@vitejs/plugin-vue": "6.0.3", "@vitejs/plugin-vue": "6.0.3",
"@vue/compiler-sfc": "3.5.26", "@vue/compiler-sfc": "3.5.27",
"@vue/eslint-config-typescript": "14.6.0", "@vue/eslint-config-typescript": "14.6.0",
"@vue/runtime-core": "3.5.26", "@vue/runtime-core": "3.5.27",
"autoprefixer": "10.4.23", "autoprefixer": "10.4.23",
"cross-env": "10.1.0", "cross-env": "10.1.0",
"dotenv": "17.2.3", "dotenv": "17.2.3",
"eslint": "9.39.2", "eslint": "9.39.2",
"eslint-plugin-prettier": "5.5.4", "eslint-plugin-prettier": "5.5.5",
"eslint-plugin-vue": "10.6.2", "eslint-plugin-vue": "10.6.2",
"glob": "13.0.0", "glob": "13.0.0",
"globals": "16.5.0", "globals": "16.5.0",
"jsdom": "27.3.0", "jsdom": "27.4.0",
"npm-run-all": "4.1.5", "npm-run-all": "4.1.5",
"openapi-types": "12.1.3", "openapi-types": "12.1.3",
"postcss": "8.5.6", "postcss": "8.5.6",
"prettier": "3.7.4", "prettier": "3.8.0",
"prettier-plugin-tailwindcss": "0.7.1", "prettier-plugin-tailwindcss": "0.7.1",
"rollup-plugin-polyfill-node": "0.13.0", "rollup-plugin-polyfill-node": "0.13.0",
"sass": "1.97.0", "sass": "1.97.2",
"tailwindcss": "3.4.16", "tailwindcss": "3.4.16",
"tsup": "8.5.1", "tsup": "8.5.1",
"typescript": "5.9.3", "typescript": "5.9.3",
"unplugin-fonts": "1.4.0", "unplugin-fonts": "1.4.0",
"unplugin-icons": "22.5.0", "unplugin-icons": "22.5.0",
"unplugin-vue-components": "30.0.0", "unplugin-vue-components": "30.0.0",
"vite": "7.3.0", "vite": "7.3.1",
"vite-plugin-checker": "0.11.0", "vite-plugin-checker": "0.11.0",
"vite-plugin-fonts": "0.7.0", "vite-plugin-fonts": "0.7.0",
"vite-plugin-html-config": "2.0.2", "vite-plugin-html-config": "2.0.2",
@ -187,7 +187,7 @@
"vite-plugin-pages-sitemap": "1.7.1", "vite-plugin-pages-sitemap": "1.7.1",
"vite-plugin-pwa": "1.2.0", "vite-plugin-pwa": "1.2.0",
"vite-plugin-vue-layouts": "0.11.0", "vite-plugin-vue-layouts": "0.11.0",
"vitest": "4.0.16", "vitest": "4.0.17",
"vue-tsc": "1.8.8" "vue-tsc": "1.8.8"
} }
} }

View file

@ -35,9 +35,9 @@
}, },
"homepage": "https://github.com/hoppscotch/hoppscotch#readme", "homepage": "https://github.com/hoppscotch/hoppscotch#readme",
"devDependencies": { "devDependencies": {
"@types/lodash": "4.17.21", "@types/lodash": "4.17.23",
"typescript": "5.9.3", "typescript": "5.9.3",
"vite": "7.3.0" "vite": "7.3.1"
}, },
"dependencies": { "dependencies": {
"fp-ts": "2.16.11", "fp-ts": "2.16.11",

View file

@ -23,7 +23,7 @@
}, },
"dependencies": { "dependencies": {
"@fontsource-variable/inter": "5.2.8", "@fontsource-variable/inter": "5.2.8",
"@fontsource-variable/material-symbols-rounded": "5.2.30", "@fontsource-variable/material-symbols-rounded": "5.2.32",
"@fontsource-variable/roboto-mono": "5.2.8", "@fontsource-variable/roboto-mono": "5.2.8",
"@hoppscotch/common": "workspace:^", "@hoppscotch/common": "workspace:^",
"@hoppscotch/kernel": "workspace:^", "@hoppscotch/kernel": "workspace:^",
@ -37,7 +37,7 @@
"@tauri-apps/plugin-updater": "2.9.0", "@tauri-apps/plugin-updater": "2.9.0",
"fp-ts": "2.16.11", "fp-ts": "2.16.11",
"rxjs": "7.8.2", "rxjs": "7.8.2",
"vue": "3.5.26", "vue": "3.5.27",
"vue-router": "4.6.4", "vue-router": "4.6.4",
"vue-tippy": "6.7.1", "vue-tippy": "6.7.1",
"zod": "3.25.32" "zod": "3.25.32"
@ -45,25 +45,25 @@
"devDependencies": { "devDependencies": {
"@eslint/eslintrc": "3.3.3", "@eslint/eslintrc": "3.3.3",
"@eslint/js": "9.39.2", "@eslint/js": "9.39.2",
"@iconify-json/lucide": "1.2.81", "@iconify-json/lucide": "1.2.86",
"@rushstack/eslint-patch": "1.15.0", "@rushstack/eslint-patch": "1.15.0",
"@tauri-apps/cli": "2.9.3", "@tauri-apps/cli": "2.9.3",
"@typescript-eslint/eslint-plugin": "8.50.0", "@typescript-eslint/eslint-plugin": "8.53.1",
"@typescript-eslint/parser": "8.50.0", "@typescript-eslint/parser": "8.53.1",
"@vitejs/plugin-vue": "6.0.3", "@vitejs/plugin-vue": "6.0.3",
"@vue/eslint-config-typescript": "14.6.0", "@vue/eslint-config-typescript": "14.6.0",
"autoprefixer": "10.4.23", "autoprefixer": "10.4.23",
"eslint": "9.39.2", "eslint": "9.39.2",
"eslint-plugin-prettier": "5.5.4", "eslint-plugin-prettier": "5.5.5",
"eslint-plugin-vue": "10.6.2", "eslint-plugin-vue": "10.6.2",
"globals": "16.5.0", "globals": "16.5.0",
"postcss": "8.5.6", "postcss": "8.5.6",
"sass": "1.97.0", "sass": "1.97.2",
"tailwindcss": "3.4.16", "tailwindcss": "3.4.16",
"typescript": "5.9.3", "typescript": "5.9.3",
"unplugin-icons": "22.5.0", "unplugin-icons": "22.5.0",
"unplugin-vue-components": "30.0.0", "unplugin-vue-components": "30.0.0",
"vite": "7.3.0", "vite": "7.3.1",
"vue-tsc": "2.2.0" "vue-tsc": "2.2.0"
} }
} }

View file

@ -17,6 +17,6 @@
"@sveltejs/vite-plugin-svelte": "^1.0.1", "@sveltejs/vite-plugin-svelte": "^1.0.1",
"@tauri-apps/cli": "^2.0.0-alpha.17", "@tauri-apps/cli": "^2.0.0-alpha.17",
"svelte": "^3.49.0", "svelte": "^3.49.0",
"vite": "^7.3.0" "vite": "^7.3.1"
} }
} }

View file

@ -26,7 +26,7 @@
}, },
"devDependencies": { "devDependencies": {
"@rollup/plugin-typescript": "^12.3.0", "@rollup/plugin-typescript": "^12.3.0",
"rollup": "^4.53.5", "rollup": "^4.55.3",
"tslib": "^2.6.2", "tslib": "^2.6.2",
"typescript": "5.9.3" "typescript": "5.9.3"
} }

View file

@ -26,7 +26,7 @@
}, },
"devDependencies": { "devDependencies": {
"@rollup/plugin-typescript": "^12.3.0", "@rollup/plugin-typescript": "^12.3.0",
"rollup": "^4.53.5", "rollup": "^4.55.3",
"tslib": "^2.6.2", "tslib": "^2.6.2",
"typescript": "5.9.3" "typescript": "5.9.3"
} }

View file

@ -52,7 +52,7 @@
"dependencies": { "dependencies": {
"@hoppscotch/data": "workspace:^", "@hoppscotch/data": "workspace:^",
"@types/lodash-es": "4.17.12", "@types/lodash-es": "4.17.12",
"chai": "6.2.1", "chai": "6.2.2",
"faraday-cage": "0.1.0", "faraday-cage": "0.1.0",
"fp-ts": "2.16.11", "fp-ts": "2.16.11",
"lodash": "4.17.21", "lodash": "4.17.21",
@ -60,24 +60,24 @@
}, },
"devDependencies": { "devDependencies": {
"@digitak/esrun": "3.2.26", "@digitak/esrun": "3.2.26",
"@eslint/eslintrc": "3.3.3",
"@eslint/js": "9.39.2",
"@relmify/jest-fp-ts": "2.1.1", "@relmify/jest-fp-ts": "2.1.1",
"@types/chai": "5.2.3", "@types/chai": "5.2.3",
"@types/jest": "30.0.0", "@types/jest": "30.0.0",
"@types/lodash": "4.17.21", "@types/lodash": "4.17.23",
"@types/node": "24.10.1", "@types/node": "24.10.1",
"@typescript-eslint/eslint-plugin": "8.50.0", "@typescript-eslint/eslint-plugin": "8.53.1",
"@typescript-eslint/parser": "8.50.0", "@typescript-eslint/parser": "8.53.1",
"@eslint/eslintrc": "3.3.3",
"@eslint/js": "9.39.2",
"eslint": "9.39.2", "eslint": "9.39.2",
"globals": "16.5.0",
"eslint-config-prettier": "10.1.8", "eslint-config-prettier": "10.1.8",
"eslint-plugin-prettier": "5.5.4", "eslint-plugin-prettier": "5.5.5",
"globals": "16.5.0",
"io-ts": "2.2.22", "io-ts": "2.2.22",
"prettier": "3.7.4", "prettier": "3.8.0",
"typescript": "5.9.3", "typescript": "5.9.3",
"vite": "7.3.0", "vite": "7.3.1",
"vitest": "4.0.16" "vitest": "4.0.17"
}, },
"peerDependencies": { "peerDependencies": {
"isolated-vm": "6.0.2" "isolated-vm": "6.0.2"

View file

@ -41,13 +41,13 @@
"devDependencies": { "devDependencies": {
"@eslint/js": "9.39.2", "@eslint/js": "9.39.2",
"@types/node": "24.9.1", "@types/node": "24.9.1",
"@typescript-eslint/eslint-plugin": "8.50.0", "@typescript-eslint/eslint-plugin": "8.53.1",
"@typescript-eslint/parser": "8.50.0", "@typescript-eslint/parser": "8.53.1",
"eslint": "9.39.2", "eslint": "9.39.2",
"eslint-plugin-prettier": "5.5.4", "eslint-plugin-prettier": "5.5.5",
"globals": "16.5.0", "globals": "16.5.0",
"typescript": "5.9.3", "typescript": "5.9.3",
"vite": "7.3.0" "vite": "7.3.1"
}, },
"peerDependencies": { "peerDependencies": {
"@tauri-apps/api": "2.1.1" "@tauri-apps/api": "2.1.1"

View file

@ -24,7 +24,7 @@
}, },
"dependencies": { "dependencies": {
"@fontsource-variable/inter": "5.2.8", "@fontsource-variable/inter": "5.2.8",
"@fontsource-variable/material-symbols-rounded": "5.2.30", "@fontsource-variable/material-symbols-rounded": "5.2.32",
"@fontsource-variable/roboto-mono": "5.2.8", "@fontsource-variable/roboto-mono": "5.2.8",
"@hoppscotch/common": "workspace:^", "@hoppscotch/common": "workspace:^",
"@hoppscotch/data": "workspace:^", "@hoppscotch/data": "workspace:^",
@ -46,7 +46,7 @@
"stream-browserify": "3.0.0", "stream-browserify": "3.0.0",
"util": "0.12.5", "util": "0.12.5",
"verzod": "0.4.0", "verzod": "0.4.0",
"vue": "3.5.26", "vue": "3.5.27",
"workbox-window": "7.4.0", "workbox-window": "7.4.0",
"zod": "3.25.32" "zod": "3.25.32"
}, },
@ -54,18 +54,18 @@
"@eslint/eslintrc": "3.3.3", "@eslint/eslintrc": "3.3.3",
"@eslint/js": "9.39.2", "@eslint/js": "9.39.2",
"@graphql-codegen/add": "6.0.0", "@graphql-codegen/add": "6.0.0",
"@graphql-codegen/cli": "6.1.0", "@graphql-codegen/cli": "6.1.1",
"@graphql-codegen/typed-document-node": "6.1.5", "@graphql-codegen/typed-document-node": "6.1.5",
"@graphql-codegen/typescript": "5.0.7", "@graphql-codegen/typescript": "5.0.7",
"@graphql-codegen/typescript-operations": "5.0.7", "@graphql-codegen/typescript-operations": "5.0.7",
"@graphql-codegen/typescript-urql-graphcache": "3.1.1", "@graphql-codegen/typescript-urql-graphcache": "3.1.1",
"@graphql-codegen/urql-introspection": "3.0.1", "@graphql-codegen/urql-introspection": "3.0.1",
"@graphql-typed-document-node/core": "3.2.0", "@graphql-typed-document-node/core": "3.2.0",
"@iconify-json/lucide": "1.2.81", "@iconify-json/lucide": "1.2.86",
"@intlify/unplugin-vue-i18n": "11.0.3", "@intlify/unplugin-vue-i18n": "11.0.3",
"@rushstack/eslint-patch": "1.15.0", "@rushstack/eslint-patch": "1.15.0",
"@typescript-eslint/eslint-plugin": "8.50.0", "@typescript-eslint/eslint-plugin": "8.53.1",
"@typescript-eslint/parser": "8.50.0", "@typescript-eslint/parser": "8.53.1",
"@vitejs/plugin-legacy": "7.2.1", "@vitejs/plugin-legacy": "7.2.1",
"@vitejs/plugin-vue": "6.0.3", "@vitejs/plugin-vue": "6.0.3",
"@vue/eslint-config-typescript": "14.6.0", "@vue/eslint-config-typescript": "14.6.0",
@ -73,7 +73,7 @@
"cross-env": "10.1.0", "cross-env": "10.1.0",
"dotenv": "17.2.3", "dotenv": "17.2.3",
"eslint": "9.39.2", "eslint": "9.39.2",
"eslint-plugin-prettier": "5.5.4", "eslint-plugin-prettier": "5.5.5",
"eslint-plugin-vue": "10.6.2", "eslint-plugin-vue": "10.6.2",
"globals": "16.5.0", "globals": "16.5.0",
"npm-run-all": "4.1.5", "npm-run-all": "4.1.5",
@ -84,14 +84,14 @@
"unplugin-fonts": "1.4.0", "unplugin-fonts": "1.4.0",
"unplugin-icons": "22.5.0", "unplugin-icons": "22.5.0",
"unplugin-vue-components": "30.0.0", "unplugin-vue-components": "30.0.0",
"vite": "7.3.0", "vite": "7.3.1",
"vite-plugin-fonts": "0.7.0", "vite-plugin-fonts": "0.7.0",
"vite-plugin-html-config": "2.0.2", "vite-plugin-html-config": "2.0.2",
"vite-plugin-inspect": "11.3.3", "vite-plugin-inspect": "11.3.3",
"vite-plugin-pages": "0.33.2", "vite-plugin-pages": "0.33.2",
"vite-plugin-pages-sitemap": "1.7.1", "vite-plugin-pages-sitemap": "1.7.1",
"vite-plugin-pwa": "1.2.0", "vite-plugin-pwa": "1.2.0",
"vite-plugin-static-copy": "3.1.4", "vite-plugin-static-copy": "3.1.5",
"vite-plugin-vue-layouts": "0.11.0", "vite-plugin-vue-layouts": "0.11.0",
"vue-tsc": "2.1.6" "vue-tsc": "2.1.6"
} }

View file

@ -14,7 +14,7 @@
}, },
"dependencies": { "dependencies": {
"@fontsource-variable/inter": "5.2.8", "@fontsource-variable/inter": "5.2.8",
"@fontsource-variable/material-symbols-rounded": "5.2.30", "@fontsource-variable/material-symbols-rounded": "5.2.32",
"@fontsource-variable/roboto-mono": "5.2.8", "@fontsource-variable/roboto-mono": "5.2.8",
"@graphql-typed-document-node/core": "3.2.0", "@graphql-typed-document-node/core": "3.2.0",
"@hoppscotch/ui": "0.2.5", "@hoppscotch/ui": "0.2.5",
@ -39,13 +39,13 @@
"ts-node-dev": "2.0.0", "ts-node-dev": "2.0.0",
"unplugin-icons": "22.5.0", "unplugin-icons": "22.5.0",
"unplugin-vue-components": "30.0.0", "unplugin-vue-components": "30.0.0",
"vue": "3.5.26", "vue": "3.5.27",
"vue-i18n": "11.2.2", "vue-i18n": "11.2.8",
"vue-router": "4.6.4", "vue-router": "4.6.4",
"vue-tippy": "6.7.1" "vue-tippy": "6.7.1"
}, },
"devDependencies": { "devDependencies": {
"@graphql-codegen/cli": "6.1.0", "@graphql-codegen/cli": "6.1.1",
"@graphql-codegen/client-preset": "5.2.2", "@graphql-codegen/client-preset": "5.2.2",
"@graphql-codegen/introspection": "5.0.0", "@graphql-codegen/introspection": "5.0.0",
"@graphql-codegen/typed-document-node": "6.1.5", "@graphql-codegen/typed-document-node": "6.1.5",
@ -53,22 +53,22 @@
"@graphql-codegen/typescript-document-nodes": "5.0.7", "@graphql-codegen/typescript-document-nodes": "5.0.7",
"@graphql-codegen/typescript-operations": "5.0.7", "@graphql-codegen/typescript-operations": "5.0.7",
"@graphql-codegen/urql-introspection": "3.0.1", "@graphql-codegen/urql-introspection": "3.0.1",
"@iconify-json/lucide": "1.2.81", "@iconify-json/lucide": "1.2.86",
"@import-meta-env/cli": "0.7.4", "@import-meta-env/cli": "0.7.4",
"@import-meta-env/unplugin": "0.6.3", "@import-meta-env/unplugin": "0.6.3",
"@types/lodash-es": "4.17.12", "@types/lodash-es": "4.17.12",
"@vitejs/plugin-vue": "6.0.3", "@vitejs/plugin-vue": "6.0.3",
"@vue/compiler-sfc": "3.5.26", "@vue/compiler-sfc": "3.5.27",
"autoprefixer": "10.4.23", "autoprefixer": "10.4.23",
"dotenv": "17.2.3", "dotenv": "17.2.3",
"graphql-tag": "2.12.6", "graphql-tag": "2.12.6",
"hoppscotch-backend": "workspace:^", "hoppscotch-backend": "workspace:^",
"npm-run-all": "4.1.5", "npm-run-all": "4.1.5",
"sass": "1.97.0", "sass": "1.97.2",
"ts-node": "10.9.2", "ts-node": "10.9.2",
"typescript": "5.9.3", "typescript": "5.9.3",
"unplugin-fonts": "1.4.0", "unplugin-fonts": "1.4.0",
"vite": "7.3.0", "vite": "7.3.1",
"vite-plugin-pages": "0.33.2", "vite-plugin-pages": "0.33.2",
"vite-plugin-vue-layouts": "0.11.0", "vite-plugin-vue-layouts": "0.11.0",
"vue-tsc": "2.1.6" "vue-tsc": "2.1.6"

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
# Base Go builder with Go lang installation # Base Go builder with Go lang installation
# This stage is used to build both Caddy and the webapp server, # This stage is used to build both Caddy and the webapp server,
# preventing vulnerable packages on the dependency chain # preventing vulnerable packages on the dependency chain
FROM alpine:3.23.0 AS go_builder FROM alpine:3.23.2 AS go_builder
RUN apk add --no-cache curl git && \ RUN apk add --no-cache curl git && \
mkdir -p /tmp/caddy-build && \ mkdir -p /tmp/caddy-build && \
@ -16,7 +16,7 @@ RUN expected="a9efa00c161922dd24650fd0bee2f4f8bb2fb69ff3e63dcc44f0694da64bb0cf"
# Install Go 1.25.4 from GitHub releases to fix CVE-2025-47907 # Install Go 1.25.4 from GitHub releases to fix CVE-2025-47907
ARG TARGETARCH ARG TARGETARCH
ENV GOLANG_VERSION=1.25.5 ENV GOLANG_VERSION=1.25.6
# Download and install Go from the official tarball # Download and install Go from the official tarball
RUN case "${TARGETARCH}" in amd64) GOARCH=amd64 ;; arm64) GOARCH=arm64 ;; *) echo "Unsupported arch: ${TARGETARCH}" && exit 1 ;; esac && \ RUN case "${TARGETARCH}" in amd64) GOARCH=amd64 ;; arm64) GOARCH=arm64 ;; *) echo "Unsupported arch: ${TARGETARCH}" && exit 1 ;; esac && \
curl -fsSL "https://go.dev/dl/go${GOLANG_VERSION}.linux-${GOARCH}.tar.gz" -o go.tar.gz && \ curl -fsSL "https://go.dev/dl/go${GOLANG_VERSION}.linux-${GOARCH}.tar.gz" -o go.tar.gz && \
@ -61,16 +61,16 @@ RUN CGO_ENABLED=0 GOOS=linux go build -o webapp-server .
# Shared Node.js base with optimized NPM installation # Shared Node.js base with optimized NPM installation
FROM alpine:3.23.0 AS node_base FROM alpine:3.23.2 AS node_base
# Install dependencies # Install dependencies
RUN apk add --no-cache nodejs curl bash tini ca-certificates RUN apk add --no-cache nodejs curl bash tini ca-certificates
# Set working directory for NPM installation # Set working directory for NPM installation
RUN mkdir -p /tmp/npm-install RUN mkdir -p /tmp/npm-install
WORKDIR /tmp/npm-install WORKDIR /tmp/npm-install
# Download NPM tarball # Download NPM tarball
RUN curl -fsSL https://registry.npmjs.org/npm/-/npm-11.6.4.tgz -o npm.tgz RUN curl -fsSL https://registry.npmjs.org/npm/-/npm-11.7.0.tgz -o npm.tgz
# Verify checksum # Verify checksum
RUN expected="9c07edca12853cddbf4fed4e372485aa60c064f9bf3e4cd157a2db5518a1792b" \ RUN expected="292f142dc1a8c01199ba34a07e57cf016c260ea2c59b64f3eee8aaae7a2e7504" \
&& actual=$(sha256sum npm.tgz | cut -d' ' -f1) \ && actual=$(sha256sum npm.tgz | cut -d' ' -f1) \
&& [ "$actual" = "$expected" ] \ && [ "$actual" = "$expected" ] \
&& echo "✅ NPM Tarball Checksum OK" \ && echo "✅ NPM Tarball Checksum OK" \
@ -78,15 +78,30 @@ RUN expected="9c07edca12853cddbf4fed4e372485aa60c064f9bf3e4cd157a2db5518a1792b"
# Install NPM from verified tarball and global packages # Install NPM from verified tarball and global packages
RUN tar -xzf npm.tgz && \ RUN tar -xzf npm.tgz && \
cd package && \ cd package && \
node bin/npm-cli.js install -g npm@11.6.4 && \ node bin/npm-cli.js install -g npm@11.7.0 && \
cd / && \ cd / && \
rm -rf /tmp/npm-install rm -rf /tmp/npm-install
RUN npm install -g pnpm@10.25.0 @import-meta-env/cli RUN npm install -g pnpm@10.28.1 @import-meta-env/cli
# Fix CVE-2025-64756 by replacing vulnerable glob with patched version # Fix CVE-2025-64756 by replacing vulnerable glob with patched version
RUN npm install -g glob@11.1.0 && \ # Fix CVE-2026-23745 by replacing vulnerable tar with patched version
# Fix GHSA-73rr-hh4g-fpgx replacing vulnerable diff with patched version
RUN npm install -g glob@11.1.0 tar@7.5.3 diff@8.0.3 && \
# Replace tar in npm's node_modules
rm -rf /usr/lib/node_modules/npm/node_modules/tar && \
cp -r /usr/lib/node_modules/tar /usr/lib/node_modules/npm/node_modules/ && \
# Replace tar in npm's node_modules
rm -rf /usr/lib/node_modules/npm/node_modules/diff && \
cp -r /usr/lib/node_modules/diff /usr/lib/node_modules/npm/node_modules/ && \
# Replace glob in @import-meta-env/cli's node_modules # Replace glob in @import-meta-env/cli's node_modules
rm -rf /usr/lib/node_modules/@import-meta-env/cli/node_modules/glob && \ rm -rf /usr/lib/node_modules/@import-meta-env/cli/node_modules/glob && \
cp -r /usr/lib/node_modules/glob /usr/lib/node_modules/@import-meta-env/cli/node_modules/ cp -r /usr/lib/node_modules/glob /usr/lib/node_modules/@import-meta-env/cli/node_modules/ && \
# Replace tar in @import-meta-env/cli's node_modules
rm -rf /usr/lib/node_modules/@import-meta-env/cli/node_modules/tar && \
cp -r /usr/lib/node_modules/tar /usr/lib/node_modules/@import-meta-env/cli/node_modules/ && \
# Replace diff in @import-meta-env/cli's node_modules
rm -rf /usr/lib/node_modules/@import-meta-env/cli/node_modules/diff && \
cp -r /usr/lib/node_modules/diff /usr/lib/node_modules/@import-meta-env/cli/node_modules/
FROM node_base AS base_builder FROM node_base AS base_builder