diff --git a/packages/hoppscotch-common/src/components.d.ts b/packages/hoppscotch-common/src/components.d.ts index b84b1f500..b1ad46569 100644 --- a/packages/hoppscotch-common/src/components.d.ts +++ b/packages/hoppscotch-common/src/components.d.ts @@ -1,11 +1,11 @@ -/* eslint-disable */ -/* prettier-ignore */ -// @ts-nocheck -// Generated by unplugin-vue-components +// generated by unplugin-vue-components +// We suggest you to commit this file into source control // Read more: https://github.com/vuejs/core/pull/3399 +import '@vue/runtime-core' + export {} -declare module 'vue' { +declare module '@vue/runtime-core' { export interface GlobalComponents { AppActionHandler: typeof import('./components/app/ActionHandler.vue')['default'] AppAnnouncement: typeof import('./components/app/Announcement.vue')['default'] @@ -92,6 +92,7 @@ declare module 'vue' { HoppButtonPrimary: typeof import('@hoppscotch/ui')['HoppButtonPrimary'] HoppButtonSecondary: typeof import('@hoppscotch/ui')['HoppButtonSecondary'] HoppSmartAnchor: typeof import('@hoppscotch/ui')['HoppSmartAnchor'] + HoppSmartAutoComplete: typeof import('@hoppscotch/ui')['HoppSmartAutoComplete'] HoppSmartCheckbox: typeof import('@hoppscotch/ui')['HoppSmartCheckbox'] HoppSmartConfirmModal: typeof import('@hoppscotch/ui')['HoppSmartConfirmModal'] HoppSmartExpand: typeof import('@hoppscotch/ui')['HoppSmartExpand'] @@ -218,4 +219,5 @@ declare module 'vue' { WorkspaceCurrent: typeof import('./components/workspace/Current.vue')['default'] WorkspaceSelector: typeof import('./components/workspace/Selector.vue')['default'] } + } diff --git a/packages/hoppscotch-selfhost-desktop/gql-codegen.yml b/packages/hoppscotch-selfhost-desktop/gql-codegen.yml new file mode 100644 index 000000000..0237c3398 --- /dev/null +++ b/packages/hoppscotch-selfhost-desktop/gql-codegen.yml @@ -0,0 +1,18 @@ +overwrite: true +schema: "../../gql-gen/*.gql" +generates: + src/api/generated/graphql.ts: + documents: "src/**/*.graphql" + plugins: + - add: + content: > + /* eslint-disable */ + // Auto-generated file (DO NOT EDIT!!!), refer gql-codegen.yml + - typescript + - typescript-operations + - typed-document-node + - typescript-urql-graphcache + + src/api/generated/backend-schema.json: + plugins: + - urql-introspection diff --git a/packages/hoppscotch-selfhost-desktop/package.json b/packages/hoppscotch-selfhost-desktop/package.json index f8e5223a1..6de8d28ec 100644 --- a/packages/hoppscotch-selfhost-desktop/package.json +++ b/packages/hoppscotch-selfhost-desktop/package.json @@ -4,13 +4,15 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite", + "dev:vite": "vite", + "dev:gql-codegen": "graphql-codegen --require dotenv/config --config gql-codegen.yml dotenv_config_path=\"../../.env\" --watch", + "dev": "pnpm exec npm-run-all -p -l dev:*", "build": "node --max_old_space_size=4096 ./node_modules/vite/bin/vite.js build", "preview": "vite preview", - "tauri": "tauri" + "tauri": "tauri", + "gql-codegen": "graphql-codegen --require dotenv/config --config gql-codegen.yml dotenv_config_path=\"../../.env\"" }, "dependencies": { - "dioc": "workspace:^", "@hoppscotch/common": "workspace:^", "@platform/auth": "^0.1.106", "@tauri-apps/api": "^1.3.0", @@ -18,6 +20,7 @@ "@vueuse/core": "^10.4.1", "axios": "^0.21.4", "buffer": "^6.0.3", + "dioc": "workspace:^", "environments.api": "link:@platform/environments/environments.api", "event": "link:@tauri-apps/api/event", "fp-ts": "^2.16.0", @@ -33,6 +36,14 @@ "workbox-window": "^6.5.4" }, "devDependencies": { + "@graphql-codegen/add": "^5.0.0", + "@graphql-codegen/cli": "^5.0.0", + "@graphql-codegen/typed-document-node": "^5.0.1", + "@graphql-codegen/typescript": "^4.0.1", + "@graphql-codegen/typescript-operations": "^4.0.1", + "@graphql-codegen/typescript-urql-graphcache": "^2.4.5", + "@graphql-codegen/urql-introspection": "^2.2.1", + "@graphql-typed-document-node/core": "^3.2.0", "@intlify/vite-plugin-vue-i18n": "^6.0.1", "@rushstack/eslint-patch": "^1.1.4", "@types/lodash-es": "^4.17.9", @@ -46,6 +57,7 @@ "eslint": "^8.28.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-vue": "^9.5.1", + "npm-run-all": "^4.1.5", "typescript": "^4.9.5", "unplugin-icons": "^0.14.9", "unplugin-vue-components": "^0.21.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0c591e174..078919c59 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -944,6 +944,30 @@ importers: specifier: ^6.5.4 version: 6.6.0 devDependencies: + '@graphql-codegen/add': + specifier: ^5.0.0 + version: 5.0.0(graphql@16.8.1) + '@graphql-codegen/cli': + specifier: ^5.0.0 + version: 5.0.0(@types/node@18.18.8)(graphql@16.8.1) + '@graphql-codegen/typed-document-node': + specifier: ^5.0.1 + version: 5.0.1(graphql@16.8.1) + '@graphql-codegen/typescript': + specifier: ^4.0.1 + version: 4.0.1(graphql@16.8.1) + '@graphql-codegen/typescript-operations': + specifier: ^4.0.1 + version: 4.0.1(graphql@16.8.1) + '@graphql-codegen/typescript-urql-graphcache': + specifier: ^2.4.5 + version: 2.4.5(@urql/exchange-graphcache@5.2.0)(graphql-tag@2.12.6)(graphql@16.8.1) + '@graphql-codegen/urql-introspection': + specifier: ^2.2.1 + version: 2.2.1(graphql@16.8.1) + '@graphql-typed-document-node/core': + specifier: ^3.2.0 + version: 3.2.0(graphql@16.8.1) '@intlify/vite-plugin-vue-i18n': specifier: ^6.0.1 version: 6.0.1(vite@4.5.0) @@ -983,6 +1007,9 @@ importers: eslint-plugin-vue: specifier: ^9.5.1 version: 9.17.0(eslint@8.47.0) + npm-run-all: + specifier: ^4.1.5 + version: 4.1.5 typescript: specifier: ^4.9.5 version: 4.9.5 @@ -5559,9 +5586,9 @@ packages: '@parcel/watcher': optional: true dependencies: - '@babel/generator': 7.22.10 - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/generator': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.0 '@graphql-codegen/core': 4.0.0(graphql@16.8.1) '@graphql-codegen/plugin-helpers': 5.0.1(graphql@16.8.1) '@graphql-tools/apollo-engine-loader': 8.0.0(graphql@16.8.1) @@ -5573,7 +5600,7 @@ packages: '@graphql-tools/load': 8.0.0(graphql@16.8.1) '@graphql-tools/prisma-loader': 8.0.1(@types/node@17.0.27)(graphql@16.8.1) '@graphql-tools/url-loader': 8.0.0(@types/node@17.0.27)(graphql@16.8.1) - '@graphql-tools/utils': 10.0.5(graphql@16.8.1) + '@graphql-tools/utils': 10.0.6(graphql@16.8.1) '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 cosmiconfig: 8.2.0 @@ -5604,6 +5631,61 @@ packages: - utf-8-validate dev: true + /@graphql-codegen/cli@5.0.0(@types/node@18.18.8)(graphql@16.8.1): + resolution: {integrity: sha512-A7J7+be/a6e+/ul2KI5sfJlpoqeqwX8EzktaKCeduyVKgOLA6W5t+NUGf6QumBDXU8PEOqXk3o3F+RAwCWOiqA==} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + 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 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + dependencies: + '@babel/generator': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.0 + '@graphql-codegen/core': 4.0.0(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.1(graphql@16.8.1) + '@graphql-tools/apollo-engine-loader': 8.0.0(graphql@16.8.1) + '@graphql-tools/code-file-loader': 8.0.2(graphql@16.8.1) + '@graphql-tools/git-loader': 8.0.2(graphql@16.8.1) + '@graphql-tools/github-loader': 8.0.0(@types/node@18.18.8)(graphql@16.8.1) + '@graphql-tools/graphql-file-loader': 8.0.0(graphql@16.8.1) + '@graphql-tools/json-file-loader': 8.0.0(graphql@16.8.1) + '@graphql-tools/load': 8.0.0(graphql@16.8.1) + '@graphql-tools/prisma-loader': 8.0.1(@types/node@18.18.8)(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.0(@types/node@18.18.8)(graphql@16.8.1) + '@graphql-tools/utils': 10.0.6(graphql@16.8.1) + '@whatwg-node/fetch': 0.8.8 + chalk: 4.1.2 + cosmiconfig: 8.2.0 + debounce: 1.2.1 + detect-indent: 6.1.0 + graphql: 16.8.1 + graphql-config: 5.0.2(@types/node@18.18.8)(graphql@16.8.1) + inquirer: 8.2.6 + is-glob: 4.0.3 + jiti: 1.19.3 + json-to-pretty-yaml: 1.2.2 + listr2: 4.0.5 + log-symbols: 4.1.0 + micromatch: 4.0.5 + shell-quote: 1.8.1 + string-env-interpolation: 1.0.1 + ts-log: 2.2.5 + tslib: 2.6.2 + yaml: 2.3.1 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - bufferutil + - cosmiconfig-toml-loader + - encoding + - enquirer + - supports-color + - utf-8-validate + dev: true + /@graphql-codegen/client-preset@2.1.0(graphql@16.6.0): resolution: {integrity: sha512-mt5CyPwZmOUP+ifC56xMjeEyfywu0P6HSWbhWPn1Jbv7n3TMILXMDfgOAufnOmrU1Ian8wu72I9A5IMRGqmW1w==} peerDependencies: @@ -6670,6 +6752,24 @@ packages: - '@types/node' dev: true + /@graphql-tools/executor-http@1.0.2(@types/node@18.18.8)(graphql@16.8.1): + resolution: {integrity: sha512-JKTB4E3kdQM2/1NEcyrVPyQ8057ZVthCV5dFJiKktqY9IdmF00M8gupFcW3jlbM/Udn78ickeUBsUzA3EouqpA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-tools/utils': 10.0.5(graphql@16.8.1) + '@repeaterjs/repeater': 3.0.4 + '@whatwg-node/fetch': 0.9.9 + extract-files: 11.0.0 + graphql: 16.8.1 + meros: 1.3.0(@types/node@18.18.8) + tslib: 2.6.2 + value-or-promise: 1.0.12 + transitivePeerDependencies: + - '@types/node' + dev: true + /@graphql-tools/executor-legacy-ws@0.0.9(graphql@16.6.0): resolution: {integrity: sha512-L7oDv7R5yoXzMH+KLKDB2WHVijfVW4dB2H+Ae1RdW3MFvwbYjhnIB6QzHqKEqksjp/FndtxZkbuTIuAOsYGTYw==} peerDependencies: @@ -6870,6 +6970,26 @@ packages: - supports-color dev: true + /@graphql-tools/github-loader@8.0.0(@types/node@18.18.8)(graphql@16.8.1): + resolution: {integrity: sha512-VuroArWKcG4yaOWzV0r19ElVIV6iH6UKDQn1MXemND0xu5TzrFme0kf3U9o0YwNo0kUYEk9CyFM0BYg4he17FA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@ardatan/sync-fetch': 0.0.1 + '@graphql-tools/executor-http': 1.0.2(@types/node@18.18.8)(graphql@16.8.1) + '@graphql-tools/graphql-tag-pluck': 8.0.2(graphql@16.8.1) + '@graphql-tools/utils': 10.0.5(graphql@16.8.1) + '@whatwg-node/fetch': 0.9.9 + graphql: 16.8.1 + tslib: 2.6.2 + value-or-promise: 1.0.12 + transitivePeerDependencies: + - '@types/node' + - encoding + - supports-color + dev: true + /@graphql-tools/graphql-file-loader@7.4.0(graphql@16.8.0): resolution: {integrity: sha512-r1lslE5GlWO/nbDX82enHjvva7qQiZEIPm+LC9JSgKaYuVoYHuIuIAVYkpBHeaRK1Kbh/86pEhL7PuBZ/cIWSA==} peerDependencies: @@ -7303,7 +7423,40 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/url-loader': 8.0.0(@types/node@17.0.27)(graphql@16.8.1) - '@graphql-tools/utils': 10.0.5(graphql@16.8.1) + '@graphql-tools/utils': 10.0.6(graphql@16.8.1) + '@types/js-yaml': 4.0.5 + '@types/json-stable-stringify': 1.0.34 + '@whatwg-node/fetch': 0.9.9 + chalk: 4.1.2 + debug: 4.3.4(supports-color@9.2.2) + dotenv: 16.3.1 + graphql: 16.8.1 + graphql-request: 6.1.0(graphql@16.8.1) + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.1 + jose: 4.14.4 + js-yaml: 4.1.0 + json-stable-stringify: 1.0.2 + lodash: 4.17.21 + scuid: 1.1.0 + tslib: 2.6.2 + yaml-ast-parser: 0.0.43 + transitivePeerDependencies: + - '@types/node' + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: true + + /@graphql-tools/prisma-loader@8.0.1(@types/node@18.18.8)(graphql@16.8.1): + resolution: {integrity: sha512-bl6e5sAYe35Z6fEbgKXNrqRhXlCJYeWKBkarohgYA338/SD9eEhXtg3Cedj7fut3WyRLoQFpHzfiwxKs7XrgXg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-tools/url-loader': 8.0.0(@types/node@18.18.8)(graphql@16.8.1) + '@graphql-tools/utils': 10.0.6(graphql@16.8.1) '@types/js-yaml': 4.0.5 '@types/json-stable-stringify': 1.0.34 '@whatwg-node/fetch': 0.9.9 @@ -7541,7 +7694,7 @@ packages: '@graphql-tools/executor-graphql-ws': 1.1.0(graphql@16.8.0) '@graphql-tools/executor-http': 1.0.2(@types/node@17.0.27)(graphql@16.8.0) '@graphql-tools/executor-legacy-ws': 1.0.1(graphql@16.8.0) - '@graphql-tools/utils': 10.0.5(graphql@16.8.0) + '@graphql-tools/utils': 10.0.6(graphql@16.8.0) '@graphql-tools/wrap': 10.0.0(graphql@16.8.0) '@types/ws': 8.5.5 '@whatwg-node/fetch': 0.9.9 @@ -7568,7 +7721,34 @@ packages: '@graphql-tools/executor-graphql-ws': 1.1.0(graphql@16.8.1) '@graphql-tools/executor-http': 1.0.2(@types/node@17.0.27)(graphql@16.8.1) '@graphql-tools/executor-legacy-ws': 1.0.1(graphql@16.8.1) - '@graphql-tools/utils': 10.0.5(graphql@16.8.1) + '@graphql-tools/utils': 10.0.6(graphql@16.8.1) + '@graphql-tools/wrap': 10.0.0(graphql@16.8.1) + '@types/ws': 8.5.5 + '@whatwg-node/fetch': 0.9.9 + graphql: 16.8.1 + isomorphic-ws: 5.0.0(ws@8.14.2) + tslib: 2.6.2 + value-or-promise: 1.0.12 + ws: 8.14.2 + transitivePeerDependencies: + - '@types/node' + - bufferutil + - encoding + - utf-8-validate + dev: true + + /@graphql-tools/url-loader@8.0.0(@types/node@18.18.8)(graphql@16.8.1): + resolution: {integrity: sha512-rPc9oDzMnycvz+X+wrN3PLrhMBQkG4+sd8EzaFN6dypcssiefgWKToXtRKI8HHK68n2xEq1PyrOpkjHFJB+GwA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@ardatan/sync-fetch': 0.0.1 + '@graphql-tools/delegate': 10.0.2(graphql@16.8.1) + '@graphql-tools/executor-graphql-ws': 1.1.0(graphql@16.8.1) + '@graphql-tools/executor-http': 1.0.2(@types/node@18.18.8)(graphql@16.8.1) + '@graphql-tools/executor-legacy-ws': 1.0.1(graphql@16.8.1) + '@graphql-tools/utils': 10.0.6(graphql@16.8.1) '@graphql-tools/wrap': 10.0.0(graphql@16.8.1) '@types/ws': 8.5.5 '@whatwg-node/fetch': 0.9.9 @@ -7607,6 +7787,18 @@ packages: graphql: 16.8.1 tslib: 2.6.2 + /@graphql-tools/utils@10.0.6(graphql@16.8.0): + resolution: {integrity: sha512-hZMjl/BbX10iagovakgf3IiqArx8TPsotq5pwBld37uIX1JiZoSbgbCIFol7u55bh32o6cfDEiiJgfAD5fbeyQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.0) + dset: 3.1.2 + graphql: 16.8.0 + tslib: 2.6.2 + dev: true + /@graphql-tools/utils@10.0.6(graphql@16.8.1): resolution: {integrity: sha512-hZMjl/BbX10iagovakgf3IiqArx8TPsotq5pwBld37uIX1JiZoSbgbCIFol7u55bh32o6cfDEiiJgfAD5fbeyQ==} engines: {node: '>=16.0.0'} @@ -7617,7 +7809,6 @@ packages: dset: 3.1.2 graphql: 16.8.1 tslib: 2.6.2 - dev: false /@graphql-tools/utils@8.13.1(graphql@16.6.0): resolution: {integrity: sha512-qIh9yYpdUFmctVqovwMdheVNJqFh+DQNWIhX87FJStfXYnmweBUDATok9fWPleKeFwxnW8IapKmY8m8toJEkAw==} @@ -16941,6 +17132,35 @@ packages: - utf-8-validate dev: true + /graphql-config@5.0.2(@types/node@18.18.8)(graphql@16.8.1): + resolution: {integrity: sha512-7TPxOrlbiG0JplSZYCyxn2XQtqVhXomEjXUmWJVSS5ET1nPhOJSsIb/WTwqWhcYX6G0RlHXSj9PLtGTKmxLNGg==} + engines: {node: '>= 16.0.0'} + peerDependencies: + cosmiconfig-toml-loader: ^1.0.0 + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + cosmiconfig-toml-loader: + optional: true + dependencies: + '@graphql-tools/graphql-file-loader': 8.0.0(graphql@16.8.1) + '@graphql-tools/json-file-loader': 8.0.0(graphql@16.8.1) + '@graphql-tools/load': 8.0.0(graphql@16.8.1) + '@graphql-tools/merge': 9.0.0(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.0(@types/node@18.18.8)(graphql@16.8.1) + '@graphql-tools/utils': 10.0.5(graphql@16.8.1) + cosmiconfig: 8.2.0 + graphql: 16.8.1 + jiti: 1.19.1 + minimatch: 4.2.3 + string-env-interpolation: 1.0.1 + tslib: 2.6.2 + transitivePeerDependencies: + - '@types/node' + - bufferutil + - encoding + - utf-8-validate + dev: true + /graphql-language-service-interface@2.10.2(@types/node@17.0.27)(graphql@16.8.0)(typescript@5.1.6): resolution: {integrity: sha512-RKIEBPhRMWdXY3fxRs99XysTDnEgAvNbu8ov/5iOlnkZsWQNzitjtd0O0l1CutQOQt3iXoHde7w8uhCnKL4tcg==} peerDependencies: @@ -21013,7 +21233,7 @@ packages: minimatch: 3.1.2 pidtree: 0.3.1 read-pkg: 3.0.0 - shell-quote: 1.7.3 + shell-quote: 1.8.1 string.prototype.padend: 3.1.3 dev: true