diff --git a/package.json b/package.json index 0889b23b0..dbe13220e 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "vue": "3.3.9" }, "packageExtensions": { - "httpsnippet@3.0.1": { + "@hoppscotch/httpsnippet": { "dependencies": { "ajv": "6.12.3" } diff --git a/packages/hoppscotch-common/package.json b/packages/hoppscotch-common/package.json index da8fe681b..8a46bb05a 100644 --- a/packages/hoppscotch-common/package.json +++ b/packages/hoppscotch-common/package.json @@ -38,6 +38,7 @@ "@hoppscotch/js-sandbox": "workspace:^", "@hoppscotch/ui": "0.2.0", "@hoppscotch/vue-toasted": "0.1.0", + "@hoppscotch/httpsnippet": "3.0.6", "@lezer/highlight": "1.2.0", "@unhead/vue": "1.8.8", "@urql/core": "4.2.0", @@ -58,7 +59,6 @@ "graphql": "16.8.1", "graphql-language-service-interface": "2.10.2", "graphql-tag": "2.12.6", - "httpsnippet": "3.0.1", "insomnia-importers": "3.6.0", "io-ts": "2.2.20", "js-yaml": "4.1.0", diff --git a/packages/hoppscotch-common/src/components/http/Codegen.vue b/packages/hoppscotch-common/src/components/http/Codegen.vue index 2fcc7960c..9d490640d 100644 --- a/packages/hoppscotch-common/src/components/http/Codegen.vue +++ b/packages/hoppscotch-common/src/components/http/Codegen.vue @@ -178,7 +178,7 @@ const requestCode = computed(() => { ...aggregateEnvs, ], } - const effectiveRequest = getEffectiveRESTRequest(request.value, env) + const effectiveRequest = getEffectiveRESTRequest(request.value, env, true) const result = generateCode( codegenType.value, diff --git a/packages/hoppscotch-common/src/helpers/curl/curlparser.ts b/packages/hoppscotch-common/src/helpers/curl/curlparser.ts index 40bba10ba..4df4bb645 100644 --- a/packages/hoppscotch-common/src/helpers/curl/curlparser.ts +++ b/packages/hoppscotch-common/src/helpers/curl/curlparser.ts @@ -126,7 +126,7 @@ export const parseCurlCommand = (curlCommand: string) => { hasBodyBeenParsed = true } - const urlString = concatParams(urlObject, danglingParams) + const urlString = decodeURIComponent(concatParams(urlObject, danglingParams)) let multipartUploads: Record = pipe( O.of(parsedArguments), diff --git a/packages/hoppscotch-common/src/helpers/curl/sub_helpers/url.ts b/packages/hoppscotch-common/src/helpers/curl/sub_helpers/url.ts index 6c83e33fc..2ff68f7d6 100644 --- a/packages/hoppscotch-common/src/helpers/curl/sub_helpers/url.ts +++ b/packages/hoppscotch-common/src/helpers/curl/sub_helpers/url.ts @@ -53,7 +53,7 @@ const parseURL = (urlText: string | number) => u .toString() .replace(/^'|'$/g, "") - .replaceAll(/[^a-zA-Z0-9_\-./?&=:@%+#,;()'\s]/g, "") + .replaceAll(/[^a-zA-Z0-9_\-./?&=:@%+#,;()'<>\s]/g, "") ), O.filter((u) => u.length > 0), O.chain((u) => diff --git a/packages/hoppscotch-common/src/helpers/new-codegen/index.ts b/packages/hoppscotch-common/src/helpers/new-codegen/index.ts index ebe1504ac..3edaa58a4 100644 --- a/packages/hoppscotch-common/src/helpers/new-codegen/index.ts +++ b/packages/hoppscotch-common/src/helpers/new-codegen/index.ts @@ -1,4 +1,4 @@ -import { HTTPSnippet } from "httpsnippet" +import { HTTPSnippet } from "@hoppscotch/httpsnippet" import { HoppRESTRequest } from "@hoppscotch/data" import * as O from "fp-ts/Option" import * as E from "fp-ts/Either" diff --git a/packages/hoppscotch-common/src/helpers/utils/EffectiveURL.ts b/packages/hoppscotch-common/src/helpers/utils/EffectiveURL.ts index 00cc530d0..491d268ec 100644 --- a/packages/hoppscotch-common/src/helpers/utils/EffectiveURL.ts +++ b/packages/hoppscotch-common/src/helpers/utils/EffectiveURL.ts @@ -69,10 +69,10 @@ export const getComputedAuthHeaders = ( // TODO: Support a better b64 implementation than btoa ? if (request.auth.authType === "basic") { const username = parse - ? parseTemplateString(request.auth.username, envVars) + ? parseTemplateString(request.auth.username, envVars, false, true) : request.auth.username const password = parse - ? parseTemplateString(request.auth.password, envVars) + ? parseTemplateString(request.auth.password, envVars, false, true) : request.auth.password headers.push({ @@ -92,16 +92,18 @@ export const getComputedAuthHeaders = ( headers.push({ active: true, key: "Authorization", - value: `Bearer ${parse ? parseTemplateString(token, envVars) : token}`, + value: `Bearer ${ + parse ? parseTemplateString(token, envVars, false, true) : token + }`, }) } else if (request.auth.authType === "api-key") { const { key, addTo } = request.auth if (addTo === "HEADERS" && key) { headers.push({ active: true, - key: parseTemplateString(key, envVars), + key: parseTemplateString(key, envVars, false, true), value: parse - ? parseTemplateString(request.auth.value ?? "", envVars) + ? parseTemplateString(request.auth.value ?? "", envVars, false, true) : request.auth.value ?? "", }) } @@ -215,8 +217,8 @@ export const getComputedParams = ( source: "auth" as const, param: { active: true, - key: parseTemplateString(req.auth.key, envVars), - value: parseTemplateString(req.auth.value, envVars), + key: parseTemplateString(req.auth.key, envVars, false, true), + value: parseTemplateString(req.auth.value, envVars, false, true), }, }, ] @@ -230,7 +232,7 @@ export const getComputedParams = ( param: { active: true, key: "access_token", - value: parseTemplateString(grantTypeInfo.token, envVars), + value: parseTemplateString(grantTypeInfo.token, envVars, false, true), }, }, ] @@ -244,6 +246,11 @@ export const resolvesEnvsInBody = ( if (!body.contentType) return body if (body.contentType === "multipart/form-data") { + if (!body.body) + return { + contentType: "", + body: [], + } return { contentType: "multipart/form-data", body: body.body.map( @@ -251,10 +258,10 @@ export const resolvesEnvsInBody = ( { active: entry.active, isFile: entry.isFile, - key: parseTemplateString(entry.key, env.variables), + key: parseTemplateString(entry.key, env.variables, false, true), value: entry.isFile ? entry.value - : parseTemplateString(entry.value, env.variables), + : parseTemplateString(entry.value, env.variables, false, true), } ), } @@ -262,13 +269,14 @@ export const resolvesEnvsInBody = ( return { contentType: body.contentType, - body: parseTemplateString(body.body ?? "", env.variables), + body: parseTemplateString(body.body ?? "", env.variables, false, true), } } function getFinalBodyFromRequest( request: HoppRESTRequest, - envVariables: Environment["variables"] + envVariables: Environment["variables"], + showKeyIfSecret = false ): FormData | string | null { if (request.body.contentType === null) return null @@ -289,8 +297,8 @@ function getFinalBodyFromRequest( * which will be resolved in further steps. */ A.map(({ key, value }) => [ - parseTemplateStringE(key, envVariables), - parseTemplateStringE(value, envVariables), + parseTemplateStringE(key, envVariables, false, showKeyIfSecret), + parseTemplateStringE(value, envVariables, false, showKeyIfSecret), ]), /** @@ -349,12 +357,14 @@ function getFinalBodyFromRequest( * * @param request The request to source from * @param environment The environment to apply + * @param showKeyIfSecret Whether to show the key if the value is a secret * * @returns An object with extra fields defining a complete request */ export function getEffectiveRESTRequest( request: HoppRESTRequest, - environment: Environment + environment: Environment, + showKeyIfSecret = false ): EffectiveHoppRESTRequest { const effectiveFinalHeaders = pipe( getComputedHeaders(request, environment.variables).map((h) => h.header), @@ -362,8 +372,18 @@ export function getEffectiveRESTRequest( A.filter((x) => x.active && x.key !== ""), A.map((x) => ({ active: true, - key: parseTemplateString(x.key, environment.variables), - value: parseTemplateString(x.value, environment.variables), + key: parseTemplateString( + x.key, + environment.variables, + false, + showKeyIfSecret + ), + value: parseTemplateString( + x.value, + environment.variables, + false, + showKeyIfSecret + ), })) ) @@ -373,8 +393,18 @@ export function getEffectiveRESTRequest( A.filter((x) => x.active && x.key !== ""), A.map((x) => ({ active: true, - key: parseTemplateString(x.key, environment.variables), - value: parseTemplateString(x.value, environment.variables), + key: parseTemplateString( + x.key, + environment.variables, + false, + showKeyIfSecret + ), + value: parseTemplateString( + x.value, + environment.variables, + false, + showKeyIfSecret + ), })) ) @@ -390,14 +420,17 @@ export function getEffectiveRESTRequest( const effectiveFinalBody = getFinalBodyFromRequest( request, - environment.variables + environment.variables, + showKeyIfSecret ) return { ...request, effectiveFinalURL: parseTemplateString( request.endpoint, - environment.variables + environment.variables, + false, + showKeyIfSecret ), effectiveFinalHeaders, effectiveFinalParams, diff --git a/packages/hoppscotch-data/src/environment/index.ts b/packages/hoppscotch-data/src/environment/index.ts index 3b4e89233..46c43aa82 100644 --- a/packages/hoppscotch-data/src/environment/index.ts +++ b/packages/hoppscotch-data/src/environment/index.ts @@ -93,7 +93,8 @@ export function parseTemplateStringE( variables: | Environment["variables"] | { secret: true; value: string; key: string }[], - maskValue = false + maskValue = false, + showKeyIfSecret = false ) { if (!variables || !str) { return E.right(str) @@ -101,12 +102,22 @@ export function parseTemplateStringE( let result = str let depth = 0 + let isSecret = false - while (result.match(REGEX_ENV_VAR) != null && depth <= ENV_MAX_EXPAND_LIMIT) { + while ( + result.match(REGEX_ENV_VAR) != null && + depth <= ENV_MAX_EXPAND_LIMIT && + !isSecret + ) { result = decodeURI(encodeURI(result)).replace(REGEX_ENV_VAR, (_, p1) => { const variable = variables.find((x) => x && x.key === p1) if (variable && "value" in variable) { + // Show the key if it is a secret and explicitly specified + if (variable.secret && showKeyIfSecret) { + isSecret = true + return `<<${p1}>>` + } // Mask the value if it is a secret and explicitly specified if (variable.secret && maskValue) { return "*".repeat( @@ -144,10 +155,11 @@ export const parseTemplateString = ( variables: | Environment["variables"] | { secret: true; value: string; key: string }[], - maskValue = false + maskValue = false, + showKeyIfSecret = false ) => pipe( - parseTemplateStringE(str, variables, maskValue), + parseTemplateStringE(str, variables, maskValue, showKeyIfSecret), E.getOrElse(() => str) ) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4d08f5c3d..afd2bca5b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: overrides: vue: 3.3.9 -packageExtensionsChecksum: e7f8d2e2f491662822f685ff3c4b1274 +packageExtensionsChecksum: da57d58cd55bf5e7924e59ad5f1485b8 importers: @@ -406,6 +406,9 @@ importers: '@hoppscotch/data': specifier: workspace:^ version: link:../hoppscotch-data + '@hoppscotch/httpsnippet': + specifier: 3.0.6 + version: 3.0.6 '@hoppscotch/js-sandbox': specifier: workspace:^ version: link:../hoppscotch-js-sandbox @@ -475,9 +478,6 @@ importers: graphql-tag: specifier: 2.12.6 version: 2.12.6(graphql@16.8.1) - httpsnippet: - specifier: 3.0.1 - version: 3.0.1 insomnia-importers: specifier: 3.6.0 version: 3.6.0(openapi-types@12.1.3) @@ -757,7 +757,7 @@ importers: version: 4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0) vite-plugin-checker: specifier: 0.6.2 - version: 0.6.2(eslint@8.57.0)(optionator@0.9.4)(typescript@5.3.2)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(vue-tsc@1.8.24(typescript@5.3.2)) + version: 0.6.2(eslint@8.57.0)(meow@8.1.2)(optionator@0.9.4)(typescript@5.3.2)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(vue-tsc@1.8.24(typescript@5.3.2)) vite-plugin-fonts: specifier: 0.7.0 version: 0.7.0(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)) @@ -876,7 +876,7 @@ importers: version: 2.8.4 ts-jest: specifier: 27.1.5 - version: 27.1.5(@babel/core@7.24.5)(@types/jest@27.5.2)(jest@29.7.0(@types/node@17.0.45)(ts-node@10.9.1(@swc/core@1.4.2)(@types/node@17.0.45)(typescript@4.9.5)))(typescript@4.9.5) + version: 27.1.5(@babel/core@7.24.5)(@types/jest@27.5.2)(babel-jest@29.7.0(@babel/core@7.24.5))(jest@29.7.0(@types/node@17.0.45)(ts-node@10.9.1(@swc/core@1.4.2)(@types/node@17.0.45)(typescript@4.9.5)))(typescript@4.9.5) typescript: specifier: 4.9.5 version: 4.9.5 @@ -1060,7 +1060,7 @@ importers: version: 0.14.9(@vue/compiler-sfc@3.3.10)(vue-template-compiler@2.7.16) unplugin-vue-components: specifier: 0.21.0 - version: 0.21.0(@babel/parser@7.24.5)(esbuild@0.20.2)(rollup@2.79.1)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(vue@3.3.9(typescript@4.9.5))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)) + version: 0.21.0(@babel/parser@7.24.5)(esbuild@0.20.2)(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(vue@3.3.9(typescript@4.9.5))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)) vite: specifier: 4.5.0 version: 4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0) @@ -1069,7 +1069,7 @@ importers: version: 1.0.11(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)) vite-plugin-inspect: specifier: 0.7.38 - version: 0.7.38(rollup@2.79.1)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)) + version: 0.7.38(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)) vite-plugin-pages: specifier: 0.26.0 version: 0.26.0(@vue/compiler-sfc@3.3.10)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)) @@ -1229,7 +1229,7 @@ importers: version: 0.17.4(@vue/compiler-sfc@3.3.10)(vue-template-compiler@2.7.16) unplugin-vue-components: specifier: 0.25.2 - version: 0.25.2(@babel/parser@7.24.5)(rollup@2.79.1)(vue@3.3.9(typescript@5.3.2)) + version: 0.25.2(@babel/parser@7.24.5)(rollup@3.29.4)(vue@3.3.9(typescript@5.3.2)) vite: specifier: 4.5.0 version: 4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0) @@ -1241,7 +1241,7 @@ importers: version: 1.0.11(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)) vite-plugin-inspect: specifier: 0.7.42 - version: 0.7.42(rollup@2.79.1)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)) + version: 0.7.42(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)) vite-plugin-pages: specifier: 0.31.0 version: 0.31.0(@vue/compiler-sfc@3.3.10)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)) @@ -1283,7 +1283,7 @@ importers: version: 0.1.0(vue@3.3.9(typescript@4.9.3)) '@intlify/unplugin-vue-i18n': specifier: 1.2.0 - version: 1.2.0(rollup@2.79.1)(vue-i18n@9.2.2(vue@3.3.9(typescript@4.9.3))) + version: 1.2.0(rollup@3.29.4)(vue-i18n@9.2.2(vue@3.3.9(typescript@4.9.3))) '@types/cors': specifier: 2.8.13 version: 2.8.13 @@ -1349,7 +1349,7 @@ importers: version: 0.14.9(@vue/compiler-sfc@3.2.45)(vue-template-compiler@2.7.16) unplugin-vue-components: specifier: 0.21.0 - version: 0.21.0(@babel/parser@7.24.5)(esbuild@0.20.2)(rollup@2.79.1)(vite@3.2.4(@types/node@18.18.8)(sass@1.58.0)(terser@5.31.0))(vue@3.3.9(typescript@4.9.3))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)) + version: 0.21.0(@babel/parser@7.24.5)(esbuild@0.20.2)(rollup@3.29.4)(vite@3.2.4(@types/node@18.18.8)(sass@1.58.0)(terser@5.31.0))(vue@3.3.9(typescript@4.9.3))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)) vue: specifier: 3.3.9 version: 3.3.9(typescript@4.9.3) @@ -3364,6 +3364,11 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@hoppscotch/httpsnippet@3.0.6': + resolution: {integrity: sha512-W42cXJWrPvydwImgHZAV6s60fKouQ9TeTX/vzXqjBuszccrPywOJaPUlBjMe26Xe+5xEQccjlGaVaxSVJu9nXw==} + engines: {node: '^14.19.1 || ^16.14.2 || ^18.0.0 '} + hasBin: true + '@hoppscotch/ui@0.1.0': resolution: {integrity: sha512-+4iHdfO7gRn7l3vpnPcQZbgdA+uE/K1KQX0/eUFcCWvja/C3eSM0db31MRX2cz1KYGwiezzhhVe21mIT4a0CZQ==} engines: {node: '>=16'} @@ -3508,8 +3513,8 @@ packages: resolution: {integrity: sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==} engines: {node: '>= 14'} - '@intlify/message-compiler@10.0.0-beta.1': - resolution: {integrity: sha512-rBmXBZzDgq3yPkL/3/r9uK0nrsJOYHSpaW0mtGBxxjt9pY9vaPL0UAKbVAjFPRnfEY41ixgpkpTjai6IKZ+hvg==} + '@intlify/message-compiler@10.0.0-beta.2': + resolution: {integrity: sha512-2yl340oNiCDjdpPIfo49a7o56ZTc+35iN7mxdQvXOLxJ6Pdh9p0GkB0duV44hfHaAxsD1cGQ4naLDRokKUdyvQ==} engines: {node: '>= 16'} '@intlify/message-compiler@9.13.1': @@ -3528,8 +3533,8 @@ packages: resolution: {integrity: sha512-McnYWhcoYmDJvssVu6QGR0shqlkJuL1HHdi5lK7fNqvQqRYaQ4lSLjYmZxwc8tRNMdIe9/KUKfyPxU9M6yCtNQ==} engines: {node: '>= 16'} - '@intlify/shared@10.0.0-beta.1': - resolution: {integrity: sha512-61MnYhgqS/TyAto9CXOltHlhK2WflLBcKpIkRhZCUL2IkiVvh7qKevsqZ3RYZylyC3q19ajLW6mB+iJtnbAOpg==} + '@intlify/shared@10.0.0-beta.2': + resolution: {integrity: sha512-u3ey3jn7VZl8SfuBH1nZC1xvdu59/PYkjR6UjXMWiDoowmr/PuPzmIRmOD8jZvRfCbKnKWYRK33HN4uTWLr/Yw==} engines: {node: '>= 16'} '@intlify/shared@9.13.1': @@ -7918,11 +7923,6 @@ packages: resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} engines: {node: '>= 14'} - httpsnippet@3.0.1: - resolution: {integrity: sha512-RJbzVu9Gq97Ti76MPKAb9AknKbRluRbzOqswM2qgEW48QUShVEIuJjl43dZG5q0Upj2SZlKqzR6B6ah1q5znfg==} - engines: {node: ^14.19.1 || ^16.14.2 || ^18.0.0} - hasBin: true - human-signals@1.1.1: resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} engines: {node: '>=8.12.0'} @@ -15267,6 +15267,16 @@ snapshots: dependencies: graphql: 16.8.1 + '@hoppscotch/httpsnippet@3.0.6': + dependencies: + ajv: 6.12.3 + chalk: 4.1.2 + event-stream: 4.0.1 + form-data: 4.0.0 + har-schema: 2.0.0 + stringify-object: 3.3.0 + yargs: 17.7.2 + '@hoppscotch/ui@0.1.0(eslint@8.55.0)(terser@5.31.0)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(vue@3.3.9(typescript@5.3.2))': dependencies: '@boringer-avatars/vue3': 0.2.1(vue@3.3.9(typescript@5.3.2)) @@ -15469,8 +15479,8 @@ snapshots: '@intlify/bundle-utils@3.4.0(vue-i18n@9.8.0(vue@3.3.9(typescript@5.3.2)))': dependencies: - '@intlify/message-compiler': 10.0.0-beta.1 - '@intlify/shared': 10.0.0-beta.1 + '@intlify/message-compiler': 10.0.0-beta.2 + '@intlify/shared': 10.0.0-beta.2 jsonc-eslint-parser: 1.4.1 source-map: 0.6.1 yaml-eslint-parser: 0.3.2 @@ -15523,9 +15533,9 @@ snapshots: dependencies: '@intlify/shared': 9.2.2 - '@intlify/message-compiler@10.0.0-beta.1': + '@intlify/message-compiler@10.0.0-beta.2': dependencies: - '@intlify/shared': 10.0.0-beta.1 + '@intlify/shared': 10.0.0-beta.2 source-map-js: 1.2.0 '@intlify/message-compiler@9.13.1': @@ -15548,7 +15558,7 @@ snapshots: '@intlify/shared': 9.8.0 source-map-js: 1.2.0 - '@intlify/shared@10.0.0-beta.1': {} + '@intlify/shared@10.0.0-beta.2': {} '@intlify/shared@9.13.1': {} @@ -15558,11 +15568,11 @@ snapshots: '@intlify/shared@9.8.0': {} - '@intlify/unplugin-vue-i18n@1.2.0(rollup@2.79.1)(vue-i18n@9.2.2(vue@3.3.9(typescript@4.9.3)))': + '@intlify/unplugin-vue-i18n@1.2.0(rollup@3.29.4)(vue-i18n@9.2.2(vue@3.3.9(typescript@4.9.3)))': dependencies: '@intlify/bundle-utils': 7.5.1(vue-i18n@9.2.2(vue@3.3.9(typescript@4.9.3))) '@intlify/shared': 9.13.1 - '@rollup/pluginutils': 5.1.0(rollup@2.79.1) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) '@vue/compiler-sfc': 3.3.10 debug: 4.3.4(supports-color@9.4.0) fast-glob: 3.3.2 @@ -15581,7 +15591,7 @@ snapshots: '@intlify/vite-plugin-vue-i18n@6.0.1(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(vue-i18n@9.8.0(vue@3.3.9(typescript@4.9.5)))': dependencies: '@intlify/bundle-utils': 7.0.0(vue-i18n@9.8.0(vue@3.3.9(typescript@4.9.5))) - '@intlify/shared': 10.0.0-beta.1 + '@intlify/shared': 10.0.0-beta.2 '@rollup/pluginutils': 4.2.1 debug: 4.3.4(supports-color@9.4.0) fast-glob: 3.3.2 @@ -15595,7 +15605,7 @@ snapshots: '@intlify/vite-plugin-vue-i18n@7.0.0(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(vue-i18n@9.8.0(vue@3.3.9(typescript@5.3.2)))': dependencies: '@intlify/bundle-utils': 3.4.0(vue-i18n@9.8.0(vue@3.3.9(typescript@5.3.2))) - '@intlify/shared': 10.0.0-beta.1 + '@intlify/shared': 10.0.0-beta.2 '@rollup/pluginutils': 4.2.1 debug: 4.3.4(supports-color@9.4.0) fast-glob: 3.3.2 @@ -21336,16 +21346,6 @@ snapshots: transitivePeerDependencies: - supports-color - httpsnippet@3.0.1: - dependencies: - ajv: 6.12.3 - chalk: 4.1.2 - event-stream: 4.0.1 - form-data: 4.0.0 - har-schema: 2.0.0 - stringify-object: 3.3.0 - yargs: 17.7.2 - human-signals@1.1.1: {} human-signals@2.1.0: {} @@ -25237,7 +25237,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@27.1.5(@babel/core@7.24.5)(@types/jest@27.5.2)(jest@29.7.0(@types/node@17.0.45)(ts-node@10.9.1(@swc/core@1.4.2)(@types/node@17.0.45)(typescript@4.9.5)))(typescript@4.9.5): + ts-jest@27.1.5(@babel/core@7.24.5)(@types/jest@27.5.2)(babel-jest@29.7.0(@babel/core@7.24.5))(jest@29.7.0(@types/node@17.0.45)(ts-node@10.9.1(@swc/core@1.4.2)(@types/node@17.0.45)(typescript@4.9.5)))(typescript@4.9.5): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 @@ -25252,6 +25252,7 @@ snapshots: optionalDependencies: '@babel/core': 7.24.5 '@types/jest': 27.5.2 + babel-jest: 29.7.0(@babel/core@7.24.5) ts-jest@29.0.5(@babel/core@7.24.5)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.5))(jest@29.4.1(@types/node@18.11.10)(ts-node@10.9.1(@swc/core@1.4.2)(@types/node@18.11.10)(typescript@4.9.3)))(typescript@4.9.3): dependencies: @@ -25695,7 +25696,7 @@ snapshots: transitivePeerDependencies: - supports-color - unplugin-vue-components@0.21.0(@babel/parser@7.24.5)(esbuild@0.20.2)(rollup@2.79.1)(vite@3.2.4(@types/node@18.18.8)(sass@1.58.0)(terser@5.31.0))(vue@3.3.9(typescript@4.9.3))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)): + unplugin-vue-components@0.21.0(@babel/parser@7.24.5)(esbuild@0.20.2)(rollup@3.29.4)(vite@3.2.4(@types/node@18.18.8)(sass@1.58.0)(terser@5.31.0))(vue@3.3.9(typescript@4.9.3))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)): dependencies: '@antfu/utils': 0.5.2 '@rollup/pluginutils': 4.2.1 @@ -25706,7 +25707,7 @@ snapshots: magic-string: 0.26.7 minimatch: 5.1.6 resolve: 1.22.8 - unplugin: 0.7.2(esbuild@0.20.2)(rollup@2.79.1)(vite@3.2.4(@types/node@18.18.8)(sass@1.58.0)(terser@5.31.0))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)) + unplugin: 0.7.2(esbuild@0.20.2)(rollup@3.29.4)(vite@3.2.4(@types/node@18.18.8)(sass@1.58.0)(terser@5.31.0))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)) vue: 3.3.9(typescript@4.9.3) optionalDependencies: '@babel/parser': 7.24.5 @@ -25717,7 +25718,7 @@ snapshots: - vite - webpack - unplugin-vue-components@0.21.0(@babel/parser@7.24.5)(esbuild@0.20.2)(rollup@2.79.1)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(vue@3.3.9(typescript@4.9.5))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)): + unplugin-vue-components@0.21.0(@babel/parser@7.24.5)(esbuild@0.20.2)(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(vue@3.3.9(typescript@4.9.5))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)): dependencies: '@antfu/utils': 0.5.2 '@rollup/pluginutils': 4.2.1 @@ -25728,7 +25729,7 @@ snapshots: magic-string: 0.26.7 minimatch: 5.1.6 resolve: 1.22.8 - unplugin: 0.7.2(esbuild@0.20.2)(rollup@2.79.1)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)) + unplugin: 0.7.2(esbuild@0.20.2)(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)) vue: 3.3.9(typescript@4.9.5) optionalDependencies: '@babel/parser': 7.24.5 @@ -25739,10 +25740,10 @@ snapshots: - vite - webpack - unplugin-vue-components@0.25.2(@babel/parser@7.24.5)(rollup@2.79.1)(vue@3.3.9(typescript@5.3.2)): + unplugin-vue-components@0.25.2(@babel/parser@7.24.5)(rollup@3.29.4)(vue@3.3.9(typescript@5.3.2)): dependencies: '@antfu/utils': 0.7.7 - '@rollup/pluginutils': 5.1.0(rollup@2.79.1) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) chokidar: 3.6.0 debug: 4.3.4(supports-color@9.4.0) fast-glob: 3.3.2 @@ -25777,7 +25778,7 @@ snapshots: - rollup - supports-color - unplugin@0.7.2(esbuild@0.20.2)(rollup@2.79.1)(vite@3.2.4(@types/node@18.18.8)(sass@1.58.0)(terser@5.31.0))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)): + unplugin@0.7.2(esbuild@0.20.2)(rollup@3.29.4)(vite@3.2.4(@types/node@18.18.8)(sass@1.58.0)(terser@5.31.0))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)): dependencies: acorn: 8.11.3 chokidar: 3.6.0 @@ -25785,11 +25786,11 @@ snapshots: webpack-virtual-modules: 0.4.6 optionalDependencies: esbuild: 0.20.2 - rollup: 2.79.1 + rollup: 3.29.4 vite: 3.2.4(@types/node@18.18.8)(sass@1.58.0)(terser@5.31.0) webpack: 5.91.0(@swc/core@1.4.2)(esbuild@0.20.2) - unplugin@0.7.2(esbuild@0.20.2)(rollup@2.79.1)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)): + unplugin@0.7.2(esbuild@0.20.2)(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(webpack@5.91.0(@swc/core@1.4.2)(esbuild@0.20.2)): dependencies: acorn: 8.11.3 chokidar: 3.6.0 @@ -25797,7 +25798,7 @@ snapshots: webpack-virtual-modules: 0.4.6 optionalDependencies: esbuild: 0.20.2 - rollup: 2.79.1 + rollup: 3.29.4 vite: 4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0) webpack: 5.91.0(@swc/core@1.4.2)(esbuild@0.20.2) @@ -25938,7 +25939,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.2(eslint@8.57.0)(optionator@0.9.4)(typescript@5.3.2)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(vue-tsc@1.8.24(typescript@5.3.2)): + vite-plugin-checker@0.6.2(eslint@8.57.0)(meow@8.1.2)(optionator@0.9.4)(typescript@5.3.2)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0))(vue-tsc@1.8.24(typescript@5.3.2)): dependencies: '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 @@ -25960,6 +25961,7 @@ snapshots: vscode-uri: 3.0.8 optionalDependencies: eslint: 8.57.0 + meow: 8.1.2 optionator: 0.9.4 typescript: 5.3.2 vue-tsc: 1.8.24(typescript@5.3.2) @@ -26005,10 +26007,10 @@ snapshots: dependencies: vite: 4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0) - vite-plugin-inspect@0.7.38(rollup@2.79.1)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)): + vite-plugin-inspect@0.7.38(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)): dependencies: '@antfu/utils': 0.7.7 - '@rollup/pluginutils': 5.1.0(rollup@2.79.1) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) debug: 4.3.4(supports-color@9.4.0) error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 @@ -26020,10 +26022,10 @@ snapshots: - rollup - supports-color - vite-plugin-inspect@0.7.42(rollup@2.79.1)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)): + vite-plugin-inspect@0.7.42(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.69.5)(terser@5.31.0)): dependencies: '@antfu/utils': 0.7.7 - '@rollup/pluginutils': 5.1.0(rollup@2.79.1) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) debug: 4.3.4(supports-color@9.4.0) error-stack-parser-es: 0.1.1 fs-extra: 11.2.0