From 61719d4d3271e86e241cca089d9b996db3866642 Mon Sep 17 00:00:00 2001 From: Laurent GAY Date: Fri, 5 Dec 2025 12:32:09 +0100 Subject: [PATCH] remove framasoft/absinthe-socket dependancy packages - #1814 --- package-lock.json | 230 +---------------------------- package.json | 2 - src/apollo/absinthe-socket-link.ts | 25 ---- src/apollo/link.ts | 19 +-- src/typings/absinthe.d.ts | 4 - 5 files changed, 10 insertions(+), 270 deletions(-) delete mode 100644 src/apollo/absinthe-socket-link.ts diff --git a/package-lock.json b/package-lock.json index acd050eed..133cb42f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,8 +10,6 @@ "hasInstallScript": true, "dependencies": { "@apollo/client": "^3.13.8", - "@framasoft/socket": "^1.0.0", - "@framasoft/socket-apollo-link": "^1.0.0", "@fullcalendar/core": "^6.1.10", "@fullcalendar/daygrid": "^6.1.10", "@fullcalendar/interaction": "^6.1.10", @@ -1775,6 +1773,7 @@ "version": "7.28.4", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -2631,38 +2630,6 @@ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", "license": "MIT" }, - "node_modules/@framasoft/socket": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@framasoft/socket/-/socket-1.0.3.tgz", - "integrity": "sha512-84vWRlHqEBSAawJWh5du/GxIQX3fuqedh9fAETqm8o1SJ8/2APzDBibpjHBA4q2hrqhwOBHdBxKykU/bEJ++EQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2", - "@jumpn/utils-array": "0.3.4", - "@jumpn/utils-composite": "0.7.0", - "@jumpn/utils-graphql": "0.6.0", - "core-js": "^3.33.2", - "zen-observable": "^0.10.0" - }, - "peerDependencies": { - "phoenix": "^1.7.10" - } - }, - "node_modules/@framasoft/socket-apollo-link": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@framasoft/socket-apollo-link/-/socket-apollo-link-1.0.1.tgz", - "integrity": "sha512-j2RHnVcPQx1iTWqBnRcjFPwY4lfED/X+/irKmsQahJUg3aMZUhiyX1+CwN14jTYc++oF8UVXbsn8knETCKkm8w==", - "license": "MIT", - "dependencies": { - "@apollo/client": "^3.8.7", - "@babel/runtime": "^7.23.2", - "@framasoft/socket": ">=1.0.0", - "core-js": "^3.33.2", - "flow-static-land": "^0.2.8", - "graphql": "^16.8.1", - "zen-observable": "^0.10.0" - } - }, "node_modules/@fullcalendar/core": { "version": "6.1.19", "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.19.tgz", @@ -2964,82 +2931,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jumpn/utils-array": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@jumpn/utils-array/-/utils-array-0.3.4.tgz", - "integrity": "sha512-ExRwf0b0NMyMn6HLStMeqEEtmblV0BKVZ4YT3FhEJ5ErZSPN4Vv6xYUJQGNG0b7QGZJIN2KetxEoOm4MYmXygw==", - "license": "MIT", - "dependencies": { - "babel-polyfill": "6.26.0", - "babel-runtime": "6.26.0", - "flow-static-land": "0.2.7" - } - }, - "node_modules/@jumpn/utils-array/node_modules/flow-static-land": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/flow-static-land/-/flow-static-land-0.2.7.tgz", - "integrity": "sha512-SmGgln4qcqLAysXM5BF8EQS+clj0TUf9+KlZUJgwuzNHvwbput+opz3CMyee9sDuLf4J/3sJbYGjdNsd2jSurA==", - "license": "MIT" - }, - "node_modules/@jumpn/utils-composite": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@jumpn/utils-composite/-/utils-composite-0.7.0.tgz", - "integrity": "sha512-kamRVYJLNvjMrnKKeu2RSFQHLUO/IYFo05gLI7GQcCk063mJzsjCCfRycCievIBI+5Sg8C7A5gwRYxkBA5jY8w==", - "license": "MIT", - "dependencies": { - "@jumpn/utils-array": "0.3.4", - "babel-polyfill": "6.26.0", - "babel-runtime": "6.26.0", - "fast-deep-equal": "1.0.0", - "flow-static-land": "0.2.8" - } - }, - "node_modules/@jumpn/utils-graphql": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@jumpn/utils-graphql/-/utils-graphql-0.6.0.tgz", - "integrity": "sha512-I5OSEh8Ed4FdLIcUTYzWdpO9noQOoWptdgF8yOZ0xhDD7h7E9IgPYxfy36qbC6v9xlpGTwQMu3Wn8ulkinG/MQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "7.2.0", - "core-js": "2.6.0", - "graphql": "14.0.2" - } - }, - "node_modules/@jumpn/utils-graphql/node_modules/@babel/runtime": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", - "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.12.0" - } - }, - "node_modules/@jumpn/utils-graphql/node_modules/core-js": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.0.tgz", - "integrity": "sha512-kLRC6ncVpuEW/1kwrOXYX6KQASCVtrh1gQr/UiaVgFlf9WE5Vp+lNe5+h3LuMr5PAucWnnEXwH0nQHRH/gpGtw==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "license": "MIT" - }, - "node_modules/@jumpn/utils-graphql/node_modules/graphql": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.0.2.tgz", - "integrity": "sha512-gUC4YYsaiSJT1h40krG3J+USGlwhzNTXSb4IOZljn9ag5Tj+RkoXrWp+Kh7WyE3t1NCfab5kzCuxBIvOMERMXw==", - "deprecated": "No longer supported; please update to a newer version. Details: https://github.com/graphql/graphql-js#version-support", - "license": "MIT", - "dependencies": { - "iterall": "^1.2.2" - }, - "engines": { - "node": ">= 6.x" - } - }, - "node_modules/@jumpn/utils-graphql/node_modules/regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", - "license": "MIT" - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -5620,13 +5511,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, "node_modules/ansi-escapes": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz", @@ -6027,49 +5911,6 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" - } - }, - "node_modules/babel-polyfill/node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true, - "license": "MIT" - }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "license": "MIT", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-runtime/node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true, - "license": "MIT" - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "license": "MIT" - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -6550,17 +6391,6 @@ "dev": true, "license": "MIT" }, - "node_modules/core-js": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz", - "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, "node_modules/core-js-compat": { "version": "3.47.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.47.0.tgz", @@ -7663,13 +7493,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -7784,9 +7607,10 @@ } }, "node_modules/fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha512-46+Jxk9Yj/nQY+3a1KTnpbBTemcAbPySTKya8iM9D7EsiONpSWbvzesalcCJ6tmJrCUITT2fmAQfNHFG+OHM6Q==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, "license": "MIT" }, "node_modules/fast-diff": { @@ -7994,12 +7818,6 @@ "@floating-ui/core": "^1.1.0" } }, - "node_modules/flow-static-land": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/flow-static-land/-/flow-static-land-0.2.8.tgz", - "integrity": "sha512-pOZFExu2rbscCgcEo7nL7FNhBubMi18dn1Un4lm8LOmQkYhgsHLsrBGMWmuJXRWcYMrOC7I/bPsiqqVjdD3K1g==", - "license": "MIT" - }, "node_modules/flush-promises": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/flush-promises/-/flush-promises-1.0.2.tgz", @@ -9309,12 +9127,6 @@ "node": ">=8" } }, - "node_modules/iterall": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", - "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==", - "license": "MIT" - }, "node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -11402,13 +11214,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/prettier-eslint/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, "node_modules/prettier-eslint/node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -11937,12 +11742,6 @@ "node": ">=4" } }, - "node_modules/regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==", - "license": "MIT" - }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", @@ -14736,13 +14535,6 @@ "dev": true, "license": "MIT" }, - "node_modules/workbox-build/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, "node_modules/workbox-build/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -15339,9 +15131,9 @@ } }, "node_modules/zen-observable": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.10.0.tgz", - "integrity": "sha512-iI3lT0iojZhKwT5DaFy2Ce42n3yFcLdFyOh01G7H0flMY60P8MJuVFEoJoNwXlmAyQ45GrjL6AcZmmlv8A5rbw==", + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==", "license": "MIT" }, "node_modules/zen-observable-ts": { @@ -15353,12 +15145,6 @@ "zen-observable": "0.8.15" } }, - "node_modules/zen-observable-ts/node_modules/zen-observable": { - "version": "0.8.15", - "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", - "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==", - "license": "MIT" - }, "node_modules/zhyswan-vuedraggable": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/zhyswan-vuedraggable/-/zhyswan-vuedraggable-4.1.3.tgz", diff --git a/package.json b/package.json index 6cf1aacea..17b4e0582 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,6 @@ "type": "module", "dependencies": { "@apollo/client": "^3.13.8", - "@framasoft/socket": "^1.0.0", - "@framasoft/socket-apollo-link": "^1.0.0", "@fullcalendar/core": "^6.1.10", "@fullcalendar/daygrid": "^6.1.10", "@fullcalendar/interaction": "^6.1.10", diff --git a/src/apollo/absinthe-socket-link.ts b/src/apollo/absinthe-socket-link.ts deleted file mode 100644 index 9927cabca..000000000 --- a/src/apollo/absinthe-socket-link.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Socket as PhoenixSocket } from "phoenix"; -import { create } from "@framasoft/socket"; -import { createAbsintheSocketLink } from "@framasoft/socket-apollo-link"; -import { AUTH_ACCESS_TOKEN } from "@/constants"; -import { GRAPHQL_API_ENDPOINT } from "@/api/_entrypoint"; - -const httpServer = GRAPHQL_API_ENDPOINT || "http://localhost:4000"; - -const webSocketPrefix = import.meta.env.PROD ? "wss" : "ws"; -const wsEndpoint = `${webSocketPrefix}${httpServer.substring( - httpServer.indexOf(":") -)}/graphql_socket`; - -const phoenixSocket = new PhoenixSocket(wsEndpoint, { - params: () => { - const token = localStorage.getItem(AUTH_ACCESS_TOKEN); - if (token) { - return { token }; - } - return {}; - }, -}); - -const absintheSocket = create(phoenixSocket); -export default createAbsintheSocketLink(absintheSocket); diff --git a/src/apollo/link.ts b/src/apollo/link.ts index 862fabb80..d50b4332d 100644 --- a/src/apollo/link.ts +++ b/src/apollo/link.ts @@ -1,7 +1,5 @@ -import { from, split } from "@apollo/client/core"; +import { from } from "@apollo/client/core"; import { RetryLink } from "@apollo/client/link/retry"; -import { getMainDefinition } from "@apollo/client/utilities"; -import absintheSocketLink from "./absinthe-socket-link"; import { authMiddleware } from "./auth"; import errorLink from "./error-link"; import { uploadLink } from "./absinthe-upload-socket-link"; @@ -9,23 +7,10 @@ import { removeTypenameFromVariables } from "@apollo/client/link/remove-typename const retryLink = new RetryLink(); -const link = split( - // split based on operation type - ({ query }) => { - const definition = getMainDefinition(query); - return ( - definition.kind === "OperationDefinition" && - definition.operation === "subscription" - ); - }, - absintheSocketLink, - uploadLink -); - export const fullLink = from([ removeTypenameFromVariables(), retryLink, errorLink, authMiddleware, - link ?? uploadLink, + uploadLink, ]); diff --git a/src/typings/absinthe.d.ts b/src/typings/absinthe.d.ts index 026f2428a..08f5fdd47 100644 --- a/src/typings/absinthe.d.ts +++ b/src/typings/absinthe.d.ts @@ -1,5 +1 @@ -declare module "@framasoft/socket"; - -declare module "@framasoft/socket-apollo-link"; - declare module "apollo-absinthe-upload-link";