diff --git a/src/__tests__/alias-virtual-modules.ts b/src/__tests__/alias-virtual-modules.ts index c1da0bc..f94d218 100644 --- a/src/__tests__/alias-virtual-modules.ts +++ b/src/__tests__/alias-virtual-modules.ts @@ -4,6 +4,9 @@ import { Module } from "module"; // For our browser remapped modules we skip resolution during testing and resolve the original source files. const modules: Record = { "@internal/client": path.resolve("src/node_modules/@internal/client/node.ts"), + "@internal/client/devtools": path.resolve( + "src/node_modules/@internal/client/devtools.ts", + ), "@internal/gql-query": path.resolve( "src/node_modules/@internal/gql-query/node.marko", ), diff --git a/src/__tests__/build/index.ts b/src/__tests__/build/index.ts index b025342..3b708a8 100644 --- a/src/__tests__/build/index.ts +++ b/src/__tests__/build/index.ts @@ -21,6 +21,10 @@ export default async function (file: string) { cwd, "src/node_modules/@internal/client/browser.ts", ), + "@internal/client/devtools": path.join( + cwd, + "src/node_modules/@internal/client/devtools.ts", + ), "@internal/gql-query": path.join( cwd, "src/node_modules/@internal/gql-query/browser.marko", diff --git a/src/node_modules/@internal/client/browser.ts b/src/node_modules/@internal/client/browser.ts index 91460e7..d44e513 100644 --- a/src/node_modules/@internal/client/browser.ts +++ b/src/node_modules/@internal/client/browser.ts @@ -8,6 +8,8 @@ import { type Client, } from "@urql/core"; +import { devtoolsExchange } from "@internal/client/devtools"; + let client: Client; let ssr: ReturnType; @@ -22,8 +24,7 @@ export function configureClient(config: ClientOptions) { ssr = ssrExchange({ isClient: true }); let exchanges = [dedupExchange, cacheExchange, ssr, fetchExchange]; if (process.env.NODE_ENV !== "production") { - // eslint-disable-next-line @typescript-eslint/no-var-requires - exchanges.push(require("@urql/devtools").devtoolsExchange); + exchanges.push(devtoolsExchange); } if (config.exchanges) { diff --git a/src/node_modules/@internal/client/devtools-prod.ts b/src/node_modules/@internal/client/devtools-prod.ts new file mode 100644 index 0000000..409b4f8 --- /dev/null +++ b/src/node_modules/@internal/client/devtools-prod.ts @@ -0,0 +1 @@ +export const devtoolsExchange = undefined; diff --git a/src/node_modules/@internal/client/devtools.ts b/src/node_modules/@internal/client/devtools.ts new file mode 100644 index 0000000..0a7c067 --- /dev/null +++ b/src/node_modules/@internal/client/devtools.ts @@ -0,0 +1 @@ +export { devtoolsExchange } from "@urql/devtools"; diff --git a/src/node_modules/@internal/client/node.ts b/src/node_modules/@internal/client/node.ts index ef4c5f3..6591547 100644 --- a/src/node_modules/@internal/client/node.ts +++ b/src/node_modules/@internal/client/node.ts @@ -12,6 +12,8 @@ import { const kClient = Symbol("client"); const strictSSL = process.env.NODE_TLS_REJECT_UNAUTHORIZED !== "0"; +export const readyLookup = {}; + export function getClient(out: any): Client { const client = out.global[kClient]; if (!client) throw new Error(" not configured."); diff --git a/src/node_modules/@internal/client/package.json b/src/node_modules/@internal/client/package.json index 8898c2d..bb7e0a5 100644 --- a/src/node_modules/@internal/client/package.json +++ b/src/node_modules/@internal/client/package.json @@ -12,6 +12,16 @@ "import": "./node.mjs", "default": "./node.js" } + }, + "./devtools": { + "development": { + "import": "./devtools.mjs", + "default": "./devtools.js" + }, + "default": { + "import": "./devtools-prod.mjs", + "default": "./devtools-prod.js" + } } } }