chore: bump dependencies and account for breaking changes (#5329)

Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
This commit is contained in:
James George 2025-08-20 23:04:14 +05:30 committed by GitHub
parent cbdb654927
commit 42089fbb55
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
28 changed files with 8006 additions and 5664 deletions

View file

@ -5,7 +5,7 @@
"author": "Hoppscotch (support@hoppscotch.io)",
"private": true,
"license": "MIT",
"packageManager": "pnpm@10.13.1",
"packageManager": "pnpm@10.15.0",
"scripts": {
"preinstall": "npx only-allow pnpm",
"prepare": "husky",
@ -24,19 +24,19 @@
"./packages/*"
],
"devDependencies": {
"@commitlint/cli": "19.5.0",
"@commitlint/config-conventional": "19.5.0",
"@hoppscotch/ui": "0.2.2",
"@types/node": "22.7.6",
"cross-env": "7.0.3",
"@commitlint/cli": "19.8.1",
"@commitlint/config-conventional": "19.8.1",
"@hoppscotch/ui": "0.2.5",
"@types/node": "24.3.0",
"cross-env": "10.0.0",
"http-server": "14.1.1",
"husky": "9.1.6",
"lint-staged": "15.2.10"
"husky": "9.1.7",
"lint-staged": "16.1.5"
},
"pnpm": {
"overrides": {
"cross-spawn": "7.0.6",
"vue": "3.5.12",
"vue": "3.5.18",
"@nestjs-modules/mailer>mjml": "5.0.0-alpha.4",
"subscriptions-transport-ws>ws": "7.5.10",
"braces": "3.0.3",

View file

@ -17,15 +17,15 @@
"types": "dist/index.d.ts",
"sideEffects": false,
"dependencies": {
"@codemirror/language": "6.10.1",
"@lezer/highlight": "1.2.0",
"@lezer/lr": "1.3.14"
"@codemirror/language": "6.11.3",
"@lezer/highlight": "1.2.1",
"@lezer/lr": "1.4.2"
},
"devDependencies": {
"@lezer/generator": "1.5.1",
"mocha": "9.2.2",
"rollup": "3.29.4",
"@rollup/plugin-typescript": "12.1.1",
"typescript": "5.8.3"
"@lezer/generator": "1.8.0",
"@rollup/plugin-typescript": "12.1.4",
"mocha": "11.7.1",
"rollup": "4.46.3",
"typescript": "5.9.2"
}
}

View file

@ -33,19 +33,19 @@
"@apollo/server": "4.12.1",
"@nestjs-modules/mailer": "2.0.2",
"@nestjs/apollo": "13.1.0",
"@nestjs/common": "11.1.5",
"@nestjs/common": "11.1.6",
"@nestjs/config": "4.0.2",
"@nestjs/core": "11.1.5",
"@nestjs/core": "11.1.6",
"@nestjs/graphql": "13.1.0",
"@nestjs/jwt": "11.0.0",
"@nestjs/passport": "11.0.0",
"@nestjs/platform-express": "11.1.5",
"@nestjs/platform-express": "11.1.6",
"@nestjs/schedule": "6.0.0",
"@nestjs/swagger": "11.2.0",
"@nestjs/terminus": "11.0.0",
"@nestjs/throttler": "6.4.0",
"@prisma/client": "6.12.0",
"argon2": "0.43.1",
"@prisma/client": "6.14.0",
"argon2": "0.44.0",
"bcrypt": "6.0.0",
"class-transformer": "0.5.1",
"class-validator": "0.14.2",
@ -53,7 +53,7 @@
"cookie-parser": "1.4.7",
"express": "5.1.0",
"express-session": "1.18.2",
"fp-ts": "2.16.10",
"fp-ts": "2.16.11",
"graphql": "16.11.0",
"graphql-query-complexity": "1.1.0",
"graphql-redis-subscriptions": "2.7.0",
@ -68,47 +68,47 @@
"passport-jwt": "4.0.1",
"passport-local": "1.0.0",
"passport-microsoft": "2.1.0",
"posthog-node": "5.6.0",
"prisma": "6.12.0",
"posthog-node": "5.7.0",
"prisma": "6.14.0",
"reflect-metadata": "0.2.2",
"rimraf": "6.0.1",
"rxjs": "7.8.2"
},
"devDependencies": {
"@eslint/eslintrc": "3.3.1",
"@eslint/js": "9.31.0",
"@nestjs/cli": "11.0.7",
"@nestjs/schematics": "11.0.5",
"@nestjs/testing": "11.1.5",
"@eslint/js": "9.33.0",
"@nestjs/cli": "11.0.10",
"@nestjs/schematics": "11.0.7",
"@nestjs/testing": "11.1.6",
"@relmify/jest-fp-ts": "2.1.1",
"@types/bcrypt": "6.0.0",
"@types/cookie-parser": "1.4.9",
"@types/express": "5.0.3",
"@types/jest": "30.0.0",
"@types/node": "24.1.0",
"@types/nodemailer": "6.4.17",
"@types/node": "24.3.0",
"@types/nodemailer": "7.0.0",
"@types/passport-github2": "1.2.9",
"@types/passport-google-oauth20": "2.0.16",
"@types/passport-jwt": "4.0.1",
"@types/passport-microsoft": "2.1.0",
"@types/supertest": "6.0.3",
"@typescript-eslint/eslint-plugin": "8.38.0",
"@typescript-eslint/parser": "8.38.0",
"cross-env": "7.0.3",
"eslint": "9.31.0",
"@typescript-eslint/eslint-plugin": "8.40.0",
"@typescript-eslint/parser": "8.40.0",
"cross-env": "10.0.0",
"eslint": "9.33.0",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-prettier": "5.5.3",
"eslint-plugin-prettier": "5.5.4",
"globals": "16.3.0",
"jest": "30.0.5",
"jest-mock-extended": "4.0.0",
"prettier": "3.6.2",
"source-map-support": "0.5.21",
"supertest": "7.1.4",
"ts-jest": "29.4.0",
"ts-jest": "29.4.1",
"ts-loader": "9.5.2",
"ts-node": "10.9.2",
"tsconfig-paths": "4.2.0",
"typescript": "5.8.3"
"typescript": "5.9.2"
},
"jest": {
"moduleFileExtensions": [

View file

@ -13,6 +13,8 @@ import { getMailerAddressFrom, getTransportOption } from './helper';
})
export class MailerModule {
static async register() {
if (process.env.GENERATE_GQL_SCHEMA) return { module: MailerModule };
const env = await loadInfraConfiguration();
// If mailer SMTP is DISABLED, return the module without any configuration (service, listener, etc.)

View file

@ -42,15 +42,15 @@
"private": false,
"dependencies": {
"aws4fetch": "1.0.20",
"axios": "1.8.2",
"chalk": "5.3.0",
"commander": "12.1.0",
"isolated-vm": "5.0.1",
"axios": "1.11.0",
"chalk": "5.6.0",
"commander": "14.0.0",
"isolated-vm": "5.0.4",
"js-md5": "0.8.3",
"lodash-es": "4.17.21",
"papaparse": "5.4.1",
"qs": "6.13.0",
"verzod": "0.3.0",
"papaparse": "5.5.3",
"qs": "6.14.0",
"verzod": "0.4.0",
"xmlbuilder2": "3.1.1",
"zod": "3.25.32"
},
@ -59,14 +59,14 @@
"@hoppscotch/js-sandbox": "workspace:^",
"@relmify/jest-fp-ts": "2.1.1",
"@types/lodash-es": "4.17.12",
"@types/papaparse": "5.3.14",
"@types/qs": "6.9.16",
"fp-ts": "2.16.9",
"prettier": "3.3.3",
"@types/papaparse": "5.3.16",
"@types/qs": "6.14.0",
"fp-ts": "2.16.11",
"prettier": "3.6.2",
"qs": "6.11.2",
"semver": "7.6.3",
"tsup": "8.3.0",
"typescript": "5.8.3",
"vitest": "2.1.2"
"semver": "7.7.2",
"tsup": "8.5.0",
"typescript": "5.9.2",
"vitest": "3.2.4"
}
}

View file

@ -263,7 +263,7 @@ describe("getters", () => {
test("Promise rejects with the code `UNKNOWN_ERROR` while encountering an error that is not an instance of `AxiosError`", () => {
const expected = {
code: "UNKNOWN_ERROR",
data: new TypeError("UNKNOWN_ERROR"),
data: new Error("UNKNOWN_ERROR"),
};
vi.spyOn(axios, "get").mockImplementation(() =>

View file

@ -16,7 +16,7 @@ module.exports = {
},
extends: [
"@vue/typescript/recommended",
"plugin:vue/vue3-recommended",
"plugin:vue/recommended",
"plugin:prettier/recommended",
],
ignorePatterns: [
@ -34,7 +34,6 @@ module.exports = {
"no-debugger": process.env.HOPP_LINT_FOR_PROD === "true" ? "error" : "warn",
"prettier/prettier": [
process.env.HOPP_LINT_FOR_PROD === "true" ? "error" : "warn",
{},
{
semi: false,
trailingComma: "es5",

View file

@ -21,19 +21,19 @@
"do-lintfix": "pnpm run lintfix"
},
"dependencies": {
"@apidevtools/swagger-parser": "11.0.1",
"@codemirror/autocomplete": "6.18.1",
"@codemirror/commands": "6.7.0",
"@codemirror/lang-javascript": "6.2.2",
"@codemirror/lang-json": "6.0.1",
"@apidevtools/swagger-parser": "12.0.0",
"@codemirror/autocomplete": "6.18.6",
"@codemirror/commands": "6.8.1",
"@codemirror/lang-javascript": "6.2.4",
"@codemirror/lang-json": "6.0.2",
"@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.1",
"@codemirror/legacy-modes": "6.4.1",
"@codemirror/lint": "6.8.2",
"@codemirror/merge": "6.7.2",
"@codemirror/search": "6.5.6",
"@codemirror/state": "6.4.1",
"@codemirror/view": "6.25.1",
"@codemirror/language": "6.11.3",
"@codemirror/legacy-modes": "6.5.1",
"@codemirror/lint": "6.8.5",
"@codemirror/merge": "6.10.2",
"@codemirror/search": "6.5.11",
"@codemirror/state": "6.5.2",
"@codemirror/view": "6.38.1",
"@guolao/vue-monaco-editor": "1.5.5",
"@hoppscotch/codemirror-lang-graphql": "workspace:^",
"@hoppscotch/data": "workspace:^",
@ -43,57 +43,57 @@
"@hoppscotch/plugin-appload": "github:CuriousCorrelation/tauri-plugin-appload#1b52e49d881926135838cf6cfebdc1643a9bec31",
"@hoppscotch/ui": "0.2.5",
"@hoppscotch/vue-toasted": "0.1.0",
"@lezer/highlight": "1.2.0",
"@noble/curves": "1.6.0",
"@scure/base": "1.1.9",
"@shopify/lang-jsonc": "1.0.0",
"@lezer/highlight": "1.2.1",
"@noble/curves": "1.9.6",
"@scure/base": "1.2.6",
"@shopify/lang-jsonc": "1.0.1",
"@tauri-apps/api": "2.1.1",
"@tauri-apps/plugin-store": "2.2.0",
"@types/hawk": "9.0.6",
"@types/markdown-it": "14.1.2",
"@unhead/vue": "1.11.10",
"@urql/core": "5.0.6",
"@unhead/vue": "2.0.14",
"@urql/core": "6.0.1",
"@urql/devtools": "2.0.3",
"@urql/exchange-auth": "2.2.0",
"@vueuse/core": "11.1.0",
"@urql/exchange-auth": "3.0.0",
"@vueuse/core": "13.7.0",
"acorn-walk": "8.3.4",
"aws4fetch": "1.0.20",
"axios": "1.8.2",
"axios": "1.11.0",
"buffer": "6.0.3",
"cookie-es": "1.2.2",
"cookie-es": "2.0.0",
"dioc": "3.0.2",
"esprima": "4.0.1",
"events": "3.3.0",
"fp-ts": "2.16.9",
"fp-ts": "2.16.11",
"globalthis": "1.0.4",
"graphql": "16.9.0",
"graphql": "16.11.0",
"graphql-language-service-interface": "2.10.2",
"graphql-tag": "2.12.6",
"hawk": "9.0.2",
"insomnia-importers": "3.6.0",
"io-ts": "2.2.21",
"io-ts": "2.2.22",
"js-md5": "0.8.3",
"js-yaml": "4.1.0",
"jsonc-parser": "3.3.1",
"jsonpath-plus": "10.0.0",
"jsonpath-plus": "10.3.0",
"lodash-es": "4.17.21",
"lossless-json": "4.0.2",
"lossless-json": "4.1.1",
"markdown-it": "14.1.0",
"minisearch": "7.1.0",
"minisearch": "7.1.2",
"monaco-editor": "0.52.2",
"nprogress": "0.2.0",
"paho-mqtt": "1.1.0",
"path": "0.12.7",
"postman-collection": "4.5.0",
"postman-collection": "5.1.0",
"process": "0.11.10",
"qs": "6.13.0",
"quicktype-core": "23.0.170",
"rxjs": "7.8.1",
"set-cookie-parser": "2.7.0",
"qs": "6.14.0",
"quicktype-core": "23.2.6",
"rxjs": "7.8.2",
"set-cookie-parser": "2.7.1",
"set-cookie-parser-es": "1.0.5",
"socket.io-client-v2": "npm:socket.io-client@2.5.0",
"socket.io-client-v3": "npm:socket.io-client@3.1.3",
"socket.io-client-v4": "npm:socket.io-client@4.8.0",
"socket.io-client-v4": "npm:socket.io-client@4.8.1",
"socketio-wildcard": "2.0.0",
"splitpanes": "3.1.5",
"stream-browserify": "3.0.0",
@ -104,83 +104,81 @@
"tippy.js": "6.3.7",
"url": "0.11.4",
"util": "0.12.5",
"uuid": "10.0.0",
"verzod": "0.3.0",
"vue": "3.5.12",
"vue-i18n": "10.0.4",
"vue-json-pretty": "2.4.0",
"vue-pdf-embed": "2.1.0",
"vue-router": "4.4.5",
"vue-tippy": "6.7.0",
"uuid": "11.1.0",
"verzod": "0.4.0",
"vue": "3.5.18",
"vue-i18n": "11.1.11",
"vue-json-pretty": "2.5.0",
"vue-pdf-embed": "2.1.3",
"vue-router": "4.5.1",
"vue-tippy": "6.7.1",
"vuedraggable-es": "4.1.1",
"wonka": "6.3.4",
"workbox-window": "7.1.0",
"xml-formatter": "3.6.3",
"yargs-parser": "21.1.1",
"wonka": "6.3.5",
"workbox-window": "7.3.0",
"xml-formatter": "3.6.6",
"yargs-parser": "22.0.0",
"zod": "3.25.32"
},
"devDependencies": {
"@esbuild-plugins/node-globals-polyfill": "0.2.3",
"@esbuild-plugins/node-modules-polyfill": "0.2.2",
"@graphql-codegen/add": "5.0.3",
"@graphql-codegen/cli": "5.0.3",
"@graphql-codegen/typed-document-node": "5.0.10",
"@graphql-codegen/typescript": "4.1.0",
"@graphql-codegen/typescript-operations": "4.3.0",
"@graphql-codegen/typescript-urql-graphcache": "3.1.0",
"@graphql-codegen/urql-introspection": "3.0.0",
"@graphql-codegen/cli": "5.0.7",
"@graphql-codegen/typed-document-node": "5.1.2",
"@graphql-codegen/typescript": "4.1.6",
"@graphql-codegen/typescript-operations": "4.6.1",
"@graphql-codegen/typescript-urql-graphcache": "3.1.1",
"@graphql-codegen/urql-introspection": "3.0.1",
"@graphql-typed-document-node/core": "3.2.0",
"@iconify-json/lucide": "1.2.9",
"@intlify/unplugin-vue-i18n": "6.0.4",
"@iconify-json/lucide": "1.2.63",
"@intlify/unplugin-vue-i18n": "6.0.8",
"@relmify/jest-fp-ts": "2.1.1",
"@rushstack/eslint-patch": "1.10.4",
"@rushstack/eslint-patch": "1.12.0",
"@types/har-format": "1.2.16",
"@types/js-yaml": "4.0.9",
"@types/lodash-es": "4.17.12",
"@types/lossless-json": "1.0.4",
"@types/nprogress": "0.2.3",
"@types/paho-mqtt": "1.0.10",
"@types/postman-collection": "3.5.10",
"@types/qs": "6.9.16",
"@types/postman-collection": "3.5.11",
"@types/qs": "6.14.0",
"@types/splitpanes": "2.2.6",
"@types/uuid": "10.0.0",
"@types/yargs-parser": "21.0.3",
"@typescript-eslint/eslint-plugin": "8.9.0",
"@typescript-eslint/parser": "8.9.0",
"@urql/exchange-graphcache": "6.5.1",
"@typescript-eslint/eslint-plugin": "8.40.0",
"@typescript-eslint/parser": "8.40.0",
"@vitejs/plugin-vue": "5.1.4",
"@vue/compiler-sfc": "3.5.12",
"@vue/compiler-sfc": "3.5.18",
"@vue/eslint-config-typescript": "13.0.0",
"@vue/runtime-core": "3.5.12",
"autoprefixer": "10.4.20",
"cross-env": "7.0.3",
"dotenv": "16.4.5",
"@vue/runtime-core": "3.5.18",
"autoprefixer": "10.4.21",
"cross-env": "10.0.0",
"dotenv": "17.2.1",
"eslint": "8.57.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vue": "9.29.0",
"glob": "11.0.0",
"jsdom": "25.0.1",
"eslint-plugin-prettier": "5.5.4",
"eslint-plugin-vue": "10.4.0",
"glob": "11.0.3",
"jsdom": "26.1.0",
"npm-run-all": "4.1.5",
"openapi-types": "12.1.3",
"postcss": "8.4.47",
"prettier": "3.3.3",
"prettier-plugin-tailwindcss": "0.6.8",
"postcss": "8.5.6",
"prettier": "3.6.2",
"prettier-plugin-tailwindcss": "0.6.14",
"rollup-plugin-polyfill-node": "0.13.0",
"sass": "1.79.5",
"tailwindcss": "3.4.14",
"typescript": "5.8.3",
"unplugin-fonts": "1.1.1",
"unplugin-icons": "0.19.3",
"unplugin-vue-components": "0.27.4",
"vite": "5.4.9",
"vite-plugin-checker": "0.6.4",
"sass": "1.90.0",
"tailwindcss": "3.4.16",
"typescript": "5.9.2",
"unplugin-fonts": "1.4.0",
"unplugin-icons": "22.2.0",
"unplugin-vue-components": "29.0.0",
"vite": "6.3.5",
"vite-plugin-checker": "0.10.2",
"vite-plugin-fonts": "0.7.0",
"vite-plugin-html-config": "2.0.2",
"vite-plugin-pages": "0.32.3",
"vite-plugin-pages": "0.33.1",
"vite-plugin-pages-sitemap": "1.7.1",
"vite-plugin-pwa": "0.20.5",
"vite-plugin-pwa": "1.0.2",
"vite-plugin-vue-layouts": "0.11.0",
"vitest": "2.1.3",
"vue-tsc": "1.8.24"
"vitest": "3.2.4",
"vue-tsc": "1.8.8"
}
}

View file

@ -2,6 +2,7 @@
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
// biome-ignore lint: disable
export {}
/* prettier-ignore */

View file

@ -164,8 +164,8 @@
:shortcut="['D']"
@click="
() => {
emit('duplicate-collection'),
collectionsType === 'my-collections' ? hide() : null
;(emit('duplicate-collection'),
collectionsType === 'my-collections' ? hide() : null)
}
"
/>
@ -177,8 +177,8 @@
:loading="exportLoading"
@click="
() => {
emit('export-data'),
collectionsType === 'my-collections' ? hide() : null
;(emit('export-data'),
collectionsType === 'my-collections' ? hide() : null)
}
"
/>

View file

@ -52,17 +52,17 @@
folder-type="collection"
@add-request="
node.data.type === 'collections' &&
emit('add-request', {
path: node.id,
folder: node.data.data.data,
})
emit('add-request', {
path: node.id,
folder: node.data.data.data,
})
"
@add-folder="
node.data.type === 'collections' &&
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
"
@run-collection="
emit('run-collection', {
@ -72,28 +72,28 @@
"
@edit-collection="
node.data.type === 'collections' &&
emit('edit-collection', {
collectionIndex: node.id,
collection: node.data.data.data,
})
emit('edit-collection', {
collectionIndex: node.id,
collection: node.data.data.data,
})
"
@duplicate-collection="
node.data.type === 'collections' &&
emit('duplicate-collection', {
pathOrID: node.id,
collectionSyncID: node.data.data.data.id,
})
emit('duplicate-collection', {
pathOrID: node.id,
collectionSyncID: node.data.data.data.id,
})
"
@edit-properties="
node.data.type === 'collections' &&
emit('edit-properties', {
collectionIndex: node.id,
collection: node.data.data.data,
})
emit('edit-properties', {
collectionIndex: node.id,
collection: node.data.data.data,
})
"
@export-data="
node.data.type === 'collections' &&
emit('export-data', node.data.data.data)
emit('export-data', node.data.data.data)
"
@remove-collection="emit('remove-collection', node.id)"
@drop-event="dropEvent($event, node.id)"
@ -116,12 +116,12 @@
"
@toggle-children="
() => {
toggleChildren(),
;(toggleChildren(),
saveRequest &&
emit('select', {
pickedType: 'my-collection',
collectionIndex: parseInt(node.id),
})
}))
}
"
/>
@ -147,42 +147,42 @@
"
@add-request="
node.data.type === 'folders' &&
emit('add-request', {
path: node.id,
folder: node.data.data.data,
})
emit('add-request', {
path: node.id,
folder: node.data.data.data,
})
"
@add-folder="
node.data.type === 'folders' &&
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
"
@edit-collection="
node.data.type === 'folders' &&
emit('edit-folder', {
folderPath: node.id,
folder: node.data.data.data,
})
emit('edit-folder', {
folderPath: node.id,
folder: node.data.data.data,
})
"
@duplicate-collection="
node.data.type === 'folders' &&
emit('duplicate-collection', {
pathOrID: node.id,
collectionSyncID: node.data.data.data.id,
})
emit('duplicate-collection', {
pathOrID: node.id,
collectionSyncID: node.data.data.data.id,
})
"
@edit-properties="
node.data.type === 'folders' &&
emit('edit-properties', {
collectionIndex: node.id,
collection: node.data.data.data,
})
emit('edit-properties', {
collectionIndex: node.id,
collection: node.data.data.data,
})
"
@export-data="
node.data.type === 'folders' &&
emit('export-data', node.data.data.data)
emit('export-data', node.data.data.data)
"
@remove-collection="emit('remove-folder', node.id)"
@drop-event="dropEvent($event, node.id)"
@ -205,12 +205,12 @@
"
@toggle-children="
() => {
toggleChildren(),
;(toggleChildren(),
saveRequest &&
emit('select', {
pickedType: 'my-folder',
folderPath: node.id,
})
}))
}
"
/>
@ -236,11 +236,11 @@
"
@edit-request="
node.data.type === 'requests' &&
emit('edit-request', {
folderPath: node.data.data.parentIndex,
requestIndex: pathToIndex(node.id),
request: node.data.data.data,
})
emit('edit-request', {
folderPath: node.data.data.parentIndex,
requestIndex: pathToIndex(node.id),
request: node.data.data.data,
})
"
@edit-response="
emit('edit-response', {
@ -253,10 +253,10 @@
"
@duplicate-request="
node.data.type === 'requests' &&
emit('duplicate-request', {
folderPath: node.data.data.parentIndex,
request: node.data.data.data,
})
emit('duplicate-request', {
folderPath: node.data.data.parentIndex,
request: node.data.data.data,
})
"
@duplicate-response="
emit('duplicate-response', {
@ -269,10 +269,10 @@
"
@remove-request="
node.data.type === 'requests' &&
emit('remove-request', {
folderPath: node.data.data.parentIndex,
requestIndex: pathToIndex(node.id),
})
emit('remove-request', {
folderPath: node.data.data.parentIndex,
requestIndex: pathToIndex(node.id),
})
"
@remove-response="
emit('remove-response', {
@ -285,11 +285,11 @@
"
@select-request="
node.data.type === 'requests' &&
selectRequest({
request: node.data.data.data,
folderPath: node.data.data.parentIndex,
requestIndex: pathToIndex(node.id),
})
selectRequest({
request: node.data.data.data,
folderPath: node.data.data.parentIndex,
requestIndex: pathToIndex(node.id),
})
"
@select-response="
emit('select-response', {
@ -302,9 +302,9 @@
"
@share-request="
node.data.type === 'requests' &&
emit('share-request', {
request: node.data.data.data,
})
emit('share-request', {
request: node.data.data.data,
})
"
@drag-request="
dragRequest($event, {
@ -378,10 +378,10 @@
outline
@click="
node.data.type === 'collections' &&
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
"
/>
</template>

View file

@ -71,41 +71,41 @@
folder-type="collection"
@add-request="
node.data.type === 'collections' &&
emit('add-request', {
path: node.id,
folder: node.data.data.data,
})
emit('add-request', {
path: node.id,
folder: node.data.data.data,
})
"
@add-folder="
node.data.type === 'collections' &&
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
"
@edit-collection="
node.data.type === 'collections' &&
emit('edit-collection', {
collectionIndex: node.id,
collection: node.data.data.data,
})
emit('edit-collection', {
collectionIndex: node.id,
collection: node.data.data.data,
})
"
@duplicate-collection="
node.data.type === 'collections' &&
emit('duplicate-collection', {
pathOrID: node.data.data.data.id,
})
emit('duplicate-collection', {
pathOrID: node.data.data.data.id,
})
"
@edit-properties="
node.data.type === 'collections' &&
emit('edit-properties', {
collectionIndex: node.id,
collection: node.data.data.data,
})
emit('edit-properties', {
collectionIndex: node.id,
collection: node.data.data.data,
})
"
@export-data="
node.data.type === 'collections' &&
emit('export-data', node.data.data.data)
emit('export-data', node.data.data.data)
"
@remove-collection="emit('remove-collection', node.id)"
@drop-event="dropEvent($event, node.id)"
@ -128,12 +128,12 @@
"
@toggle-children="
() => {
toggleChildren(),
;(toggleChildren(),
saveRequest &&
emit('select', {
pickedType: 'teams-collection',
collectionID: node.id,
})
}))
}
"
@run-collection="
@ -171,44 +171,44 @@
folder-type="folder"
@add-request="
node.data.type === 'folders' &&
emit('add-request', {
path: node.id,
folder: node.data.data.data,
})
emit('add-request', {
path: node.id,
folder: node.data.data.data,
})
"
@add-folder="
node.data.type === 'folders' &&
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
"
@edit-collection="
node.data.type === 'folders' &&
emit('edit-folder', {
folder: node.data.data.data,
})
emit('edit-folder', {
folder: node.data.data.data,
})
"
@duplicate-collection="
node.data.type === 'folders' &&
emit('duplicate-collection', {
pathOrID: node.data.data.data.id,
})
emit('duplicate-collection', {
pathOrID: node.data.data.data.id,
})
"
@edit-properties="
node.data.type === 'folders' &&
emit('edit-properties', {
collectionIndex: node.id,
collection: node.data.data.data,
})
emit('edit-properties', {
collectionIndex: node.id,
collection: node.data.data.data,
})
"
@export-data="
node.data.type === 'folders' &&
emit('export-data', node.data.data.data)
emit('export-data', node.data.data.data)
"
@remove-collection="
node.data.type === 'folders' &&
emit('remove-folder', node.data.data.data.id)
emit('remove-folder', node.data.data.data.id)
"
@drop-event="dropEvent($event, node.data.data.data.id)"
@drag-event="dragEvent($event, node.data.data.data.id)"
@ -230,12 +230,12 @@
"
@toggle-children="
() => {
toggleChildren(),
;(toggleChildren(),
saveRequest &&
emit('select', {
pickedType: 'teams-folder',
folderID: node.data.data.data.id,
})
}))
}
"
@run-collection="
@ -272,10 +272,10 @@
"
@edit-request="
node.data.type === 'requests' &&
emit('edit-request', {
requestIndex: node.data.data.data.id,
request: node.data.data.data.request,
})
emit('edit-request', {
requestIndex: node.data.data.data.id,
request: node.data.data.data.request,
})
"
@edit-response="
emit('edit-response', {
@ -288,10 +288,10 @@
"
@duplicate-request="
node.data.type === 'requests' &&
emit('duplicate-request', {
folderPath: node.data.data.parentIndex,
request: node.data.data.data.request,
})
emit('duplicate-request', {
folderPath: node.data.data.parentIndex,
request: node.data.data.data.request,
})
"
@duplicate-response="
emit('duplicate-response', {
@ -304,10 +304,10 @@
"
@remove-request="
node.data.type === 'requests' &&
emit('remove-request', {
folderPath: null,
requestIndex: node.data.data.data.id,
})
emit('remove-request', {
folderPath: null,
requestIndex: node.data.data.data.id,
})
"
@remove-response="
emit('remove-response', {
@ -320,11 +320,11 @@
"
@select-request="
node.data.type === 'requests' &&
selectRequest({
request: node.data.data.data.request,
requestIndex: node.data.data.data.id,
folderPath: getPath(node.id),
})
selectRequest({
request: node.data.data.data.request,
requestIndex: node.data.data.data.id,
folderPath: getPath(node.id),
})
"
@select-response="
emit('select-response', {
@ -337,9 +337,9 @@
"
@share-request="
node.data.type === 'requests' &&
emit('share-request', {
request: node.data.data.data.request,
})
emit('share-request', {
request: node.data.data.data.request,
})
"
@drag-request="
dragRequest($event, {
@ -423,10 +423,10 @@
outline
@click="
node.data.type === 'collections' &&
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
emit('add-folder', {
path: node.id,
folder: node.data.data.data,
})
"
/>
</template>

View file

@ -125,11 +125,11 @@
:shortcut="['D']"
@click="
() => {
emit('duplicate-collection', {
;(emit('duplicate-collection', {
path: `${collectionIndex}`,
collectionSyncID: collection.id,
}),
hide()
hide())
}
"
/>

View file

@ -118,11 +118,11 @@
:shortcut="['D']"
@click="
() => {
emit('duplicate-collection', {
;(emit('duplicate-collection', {
path: folderPath,
collectionSyncID: folder.id,
}),
hide()
hide())
}
"
/>

View file

@ -62,7 +62,7 @@
class="flex items-center gap-4 flex-1 cursor-pointer"
@click="
!isConnectedTo(instance.serverUrl) &&
connectToServer(instance.serverUrl)
connectToServer(instance.serverUrl)
"
>
<IconLucideServer />

View file

@ -132,6 +132,7 @@ const createHoppClient = () => {
...(platform.auth.getGQLClientOptions
? platform.auth.getGQLClientOptions()
: {}),
preferGetMethod: false,
})
}

View file

@ -1,4 +1,6 @@
import { createHead, useHead } from "@unhead/vue"
import { useHead } from "@unhead/vue"
import { createHead } from "@unhead/vue/client"
import { APP_INFO } from "~/../meta"
import { HoppModule } from "."

View file

@ -35,19 +35,19 @@
},
"homepage": "https://github.com/hoppscotch/hoppscotch#readme",
"devDependencies": {
"@types/lodash": "4.17.10",
"@types/lodash": "4.17.20",
"@types/uuid": "10.0.0",
"typescript": "5.8.3",
"vite": "5.4.9"
"typescript": "5.9.2",
"vite": "6.3.5"
},
"dependencies": {
"fp-ts": "2.16.9",
"io-ts": "2.2.21",
"jose": "6.0.11",
"fp-ts": "2.16.11",
"io-ts": "2.2.22",
"jose": "6.0.12",
"lodash": "4.17.21",
"parser-ts": "0.7.0",
"uuid": "10.0.0",
"verzod": "0.3.0",
"uuid": "11.1.0",
"verzod": "0.4.0",
"zod": "3.25.32"
}
}

View file

@ -54,26 +54,26 @@
"@hoppscotch/data": "workspace:^",
"@types/lodash-es": "4.17.12",
"faraday-cage": "0.1.0",
"fp-ts": "2.16.9",
"fp-ts": "2.16.11",
"lodash": "4.17.21",
"lodash-es": "4.17.21"
},
"devDependencies": {
"@digitak/esrun": "3.2.26",
"@relmify/jest-fp-ts": "2.1.1",
"@types/jest": "29.5.13",
"@types/lodash": "4.17.10",
"@types/node": "22.7.5",
"@typescript-eslint/eslint-plugin": "8.9.0",
"@typescript-eslint/parser": "8.9.0",
"@types/jest": "30.0.0",
"@types/lodash": "4.17.20",
"@types/node": "24.3.0",
"@typescript-eslint/eslint-plugin": "8.40.0",
"@typescript-eslint/parser": "8.40.0",
"eslint": "8.57.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"io-ts": "2.2.21",
"prettier": "3.3.3",
"typescript": "5.8.3",
"vite": "5.4.9",
"vitest": "2.1.3"
"eslint-config-prettier": "10.1.8",
"eslint-plugin-prettier": "5.5.4",
"io-ts": "2.2.22",
"prettier": "3.6.2",
"typescript": "5.9.2",
"vite": "6.3.5",
"vitest": "3.2.4"
},
"peerDependencies": {
"isolated-vm": "5.0.1"

View file

@ -17,7 +17,7 @@ module.exports = {
},
extends: [
"@vue/typescript/recommended",
"plugin:vue/vue3-recommended",
"plugin:vue/recommended",
"plugin:prettier/recommended",
],
ignorePatterns: [

View file

@ -23,72 +23,71 @@
"postinstall": "pnpm run gql-codegen"
},
"dependencies": {
"@fontsource-variable/inter": "5.1.0",
"@fontsource-variable/material-symbols-rounded": "5.1.2",
"@fontsource-variable/roboto-mono": "5.1.0",
"@fontsource-variable/inter": "5.2.6",
"@fontsource-variable/material-symbols-rounded": "5.2.19",
"@fontsource-variable/roboto-mono": "5.2.6",
"@hoppscotch/common": "workspace:^",
"@hoppscotch/data": "workspace:^",
"@hoppscotch/kernel": "workspace:^",
"@hoppscotch/ui": "0.2.1",
"@import-meta-env/unplugin": "0.6.0",
"@hoppscotch/ui": "0.2.5",
"@import-meta-env/unplugin": "0.6.2",
"@tauri-apps/api": "2.1.1",
"@tauri-apps/plugin-dialog": "2.0.1",
"@tauri-apps/plugin-fs": "2.0.2",
"@tauri-apps/plugin-shell": "2.0.1",
"@vueuse/core": "10.5.0",
"axios": "1.8.2",
"@vueuse/core": "13.7.0",
"axios": "1.11.0",
"buffer": "6.0.3",
"dioc": "3.0.2",
"fp-ts": "2.16.9",
"fp-ts": "2.16.11",
"process": "0.11.10",
"rxjs": "7.8.1",
"rxjs": "7.8.2",
"stream-browserify": "3.0.0",
"util": "0.12.5",
"verzod": "0.3.0",
"vue": "3.5.12",
"workbox-window": "7.1.0",
"verzod": "0.4.0",
"vue": "3.5.18",
"workbox-window": "7.3.0",
"zod": "3.25.32"
},
"devDependencies": {
"@graphql-codegen/add": "5.0.3",
"@graphql-codegen/cli": "5.0.3",
"@graphql-codegen/typed-document-node": "5.0.10",
"@graphql-codegen/typescript": "4.1.0",
"@graphql-codegen/typescript-operations": "4.3.0",
"@graphql-codegen/typescript-urql-graphcache": "3.1.0",
"@graphql-codegen/urql-introspection": "3.0.0",
"@graphql-codegen/cli": "5.0.7",
"@graphql-codegen/typed-document-node": "5.1.2",
"@graphql-codegen/typescript": "4.1.6",
"@graphql-codegen/typescript-operations": "4.6.1",
"@graphql-codegen/typescript-urql-graphcache": "3.1.1",
"@graphql-codegen/urql-introspection": "3.0.1",
"@graphql-typed-document-node/core": "3.2.0",
"@iconify-json/lucide": "1.2.8",
"@intlify/unplugin-vue-i18n": "6.0.4",
"@rushstack/eslint-patch": "1.10.4",
"@typescript-eslint/eslint-plugin": "8.9.0",
"@typescript-eslint/parser": "8.9.0",
"@urql/exchange-graphcache": "6.5.1",
"@iconify-json/lucide": "1.2.63",
"@intlify/unplugin-vue-i18n": "6.0.8",
"@rushstack/eslint-patch": "1.12.0",
"@typescript-eslint/eslint-plugin": "8.40.0",
"@typescript-eslint/parser": "8.40.0",
"@vitejs/plugin-legacy": "5.4.2",
"@vitejs/plugin-vue": "5.1.4",
"@vue/eslint-config-typescript": "13.0.0",
"autoprefixer": "10.4.20",
"cross-env": "7.0.3",
"autoprefixer": "10.4.21",
"cross-env": "10.0.0",
"dotenv": "17.2.1",
"eslint": "8.57.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vue": "9.29.0",
"eslint-plugin-prettier": "5.5.4",
"eslint-plugin-vue": "10.4.0",
"npm-run-all": "4.1.5",
"postcss": "8.4.47",
"prettier-plugin-tailwindcss": "0.6.8",
"postcss": "8.5.6",
"prettier-plugin-tailwindcss": "0.6.14",
"tailwindcss": "3.4.13",
"typescript": "5.8.3",
"unplugin-fonts": "1.1.1",
"unplugin-icons": "0.19.3",
"unplugin-vue-components": "0.27.4",
"vite": "5.4.9",
"typescript": "5.9.2",
"unplugin-fonts": "1.4.0",
"unplugin-icons": "22.2.0",
"unplugin-vue-components": "29.0.0",
"vite": "6.3.5",
"vite-plugin-fonts": "0.7.0",
"vite-plugin-html-config": "2.0.2",
"vite-plugin-inspect": "0.8.7",
"vite-plugin-pages": "0.32.3",
"vite-plugin-inspect": "11.3.2",
"vite-plugin-pages": "0.33.1",
"vite-plugin-pages-sitemap": "1.7.1",
"vite-plugin-pwa": "0.20.5",
"vite-plugin-static-copy": "2.0.0",
"vite-plugin-pwa": "1.0.2",
"vite-plugin-static-copy": "3.1.1",
"vite-plugin-vue-layouts": "0.11.0",
"vue-tsc": "2.1.6"
}

View file

@ -260,11 +260,4 @@ export default defineConfig({
})
: [],
],
css: {
preprocessorOptions: {
scss: {
api: "modern",
},
},
},
})

View file

@ -13,63 +13,63 @@
"preview": "vite preview"
},
"dependencies": {
"@fontsource-variable/inter": "5.1.0",
"@fontsource-variable/material-symbols-rounded": "5.1.3",
"@fontsource-variable/roboto-mono": "5.1.0",
"@fontsource-variable/inter": "5.2.6",
"@fontsource-variable/material-symbols-rounded": "5.2.19",
"@fontsource-variable/roboto-mono": "5.2.6",
"@graphql-typed-document-node/core": "3.2.0",
"@hoppscotch/ui": "0.2.1",
"@hoppscotch/ui": "0.2.5",
"@hoppscotch/vue-toasted": "0.1.0",
"@intlify/unplugin-vue-i18n": "6.0.4",
"@types/cors": "2.8.17",
"@urql/exchange-auth": "2.2.0",
"@urql/vue": "1.4.0",
"@vueuse/core": "11.1.0",
"axios": "1.8.2",
"@intlify/unplugin-vue-i18n": "6.0.8",
"@types/cors": "2.8.19",
"@urql/exchange-auth": "3.0.0",
"@urql/vue": "2.0.0",
"@vueuse/core": "13.7.0",
"axios": "1.11.0",
"cors": "2.8.5",
"date-fns": "4.1.0",
"fp-ts": "2.16.9",
"graphql": "16.9.0",
"io-ts": "2.2.21",
"fp-ts": "2.16.11",
"graphql": "16.11.0",
"io-ts": "2.2.22",
"lodash-es": "4.17.21",
"postcss": "8.4.47",
"prettier-plugin-tailwindcss": "0.6.8",
"rxjs": "7.8.1",
"postcss": "8.5.6",
"prettier-plugin-tailwindcss": "0.6.14",
"rxjs": "7.8.2",
"tailwindcss": "3.4.14",
"tippy.js": "6.3.7",
"ts-node-dev": "2.0.0",
"unplugin-icons": "0.19.3",
"unplugin-vue-components": "0.27.4",
"vue": "3.5.12",
"vue-i18n": "10.0.4",
"vue-router": "4.4.5",
"vue-tippy": "6.5.0"
"unplugin-icons": "22.2.0",
"unplugin-vue-components": "29.0.0",
"vue": "3.5.18",
"vue-i18n": "11.1.11",
"vue-router": "4.5.1",
"vue-tippy": "6.7.1"
},
"devDependencies": {
"@graphql-codegen/cli": "5.0.3",
"@graphql-codegen/client-preset": "4.4.0",
"@graphql-codegen/cli": "5.0.7",
"@graphql-codegen/client-preset": "4.8.3",
"@graphql-codegen/introspection": "4.0.3",
"@graphql-codegen/typed-document-node": "5.0.10",
"@graphql-codegen/typescript": "4.1.0",
"@graphql-codegen/typescript-document-nodes": "4.0.10",
"@graphql-codegen/typescript-operations": "4.3.0",
"@graphql-codegen/urql-introspection": "3.0.0",
"@iconify-json/lucide": "1.2.10",
"@import-meta-env/cli": "0.7.0",
"@import-meta-env/unplugin": "0.6.0",
"@graphql-codegen/typed-document-node": "5.1.2",
"@graphql-codegen/typescript": "4.1.6",
"@graphql-codegen/typescript-document-nodes": "4.0.16",
"@graphql-codegen/typescript-operations": "4.6.1",
"@graphql-codegen/urql-introspection": "3.0.1",
"@iconify-json/lucide": "1.2.63",
"@import-meta-env/cli": "0.7.3",
"@import-meta-env/unplugin": "0.6.2",
"@types/lodash-es": "4.17.12",
"@vitejs/plugin-vue": "5.1.4",
"@vue/compiler-sfc": "3.5.12",
"@vue/compiler-sfc": "3.5.18",
"autoprefixer": "10.4.21",
"dotenv": "16.4.5",
"dotenv": "17.2.1",
"graphql-tag": "2.12.6",
"hoppscotch-backend": "workspace:^",
"npm-run-all": "4.1.5",
"sass": "1.80.3",
"sass": "1.90.0",
"ts-node": "10.9.2",
"typescript": "5.8.3",
"unplugin-fonts": "1.1.1",
"vite": "5.4.9",
"vite-plugin-pages": "0.32.3",
"typescript": "5.9.2",
"unplugin-fonts": "1.4.0",
"vite": "6.3.5",
"vite-plugin-pages": "0.33.1",
"vite-plugin-vue-layouts": "0.11.0",
"vue-tsc": "2.1.6"
},

View file

@ -2,7 +2,8 @@
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
export {}
// biome-ignore lint: disable
export {};
/* prettier-ignore */
declare module 'vue' {

View file

@ -46,6 +46,7 @@ import { HOPP_MODULES } from './modules';
})),
fetchExchange,
],
preferGetMethod: false,
});
// Initialize auth

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
# This step is used to build a custom build of Caddy to prevent
# vulnerable packages on the dependency chain
FROM alpine:3.22.1 AS caddy_builder
RUN apk add --no-cache curl go git && \
RUN apk add --no-cache curl git && \
mkdir -p /tmp/caddy-build && \
curl -L -o /tmp/caddy-build/src.tar.gz https://github.com/caddyserver/caddy/releases/download/v2.10.0/caddy_2.10.0_src.tar.gz
@ -12,10 +12,21 @@ RUN expected="62ba008d9e9fd354e8b28be11de59c6a213f9153f2e9de451417c0b4eb13d9f3"
echo "✅ Caddy Source Checksum OK" || \
(echo "❌ Caddy Source Checksum failed!" && exit 1)
# Install Go 1.25.0 from GitHub releases to fix CVE-2025-47907
ARG TARGETARCH
ENV GOLANG_VERSION=1.25.0
# 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 && \
curl -fsSL "https://go.dev/dl/go${GOLANG_VERSION}.linux-${GOARCH}.tar.gz" -o go.tar.gz && \
tar -C /usr/local -xzf go.tar.gz && \
rm go.tar.gz
# Set up Go environment variables
ENV PATH="/usr/local/go/bin:${PATH}" \
GOPATH="/go" \
GOBIN="/go/bin"
WORKDIR /tmp/caddy-build
RUN tar xvf /tmp/caddy-build/src.tar.gz && \
# Patch to resolve CVE-2025-22872 on net
go get golang.org/x/net@v0.38.0 && \
# Patch to resolve GHSA-vrw8-fxc6-2r93 on chi
go get github.com/go-chi/chi/v5@v5.2.2 && \
# Patch to resolve GHSA-2x5j-vhc8-9cwm on circl
@ -32,18 +43,18 @@ RUN go build
# Shared Node.js base with optimized NPM installation
FROM alpine:3.19.7 AS node_base
FROM alpine:3.22.1 AS node_base
RUN apk add --no-cache nodejs curl tini && \
# Install NPM from source, as Alpine version is old and has dependency vulnerabilities
# TODO: Find a better method which is resistant to supply chain attacks
sh -c "curl -qL https://www.npmjs.com/install.sh | env npm_install=11.4.2 sh" && \
npm install -g pnpm@10.13.1 @import-meta-env/cli
sh -c "curl -qL https://www.npmjs.com/install.sh | env npm_install=11.5.2 sh" && \
npm install -g pnpm@10.15.0 @import-meta-env/cli
FROM node_base AS base_builder
# Required by @hoppscotch/js-sandbox to build `isolated-vm`
RUN apk add python3 make g++ zlib-dev brotli-dev c-ares-dev nghttp2-dev openssl-dev icu-dev
RUN apk add --no-cache python3 make g++ zlib-dev brotli-dev c-ares-dev nghttp2-dev openssl-dev icu-dev ada-dev simdjson-dev simdutf-dev sqlite-dev zstd-dev
WORKDIR /usr/src/app
ENV HOPP_ALLOW_RUNTIME_ENV=true