Fix source maps and simplify getApolloContext to avoid global symbols. #7371
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The problems with source maps reported by @Billy- in #7370 likely snuck in when we switched back from Rollup to
tsc
for compiling TypeScript to ESM in #6694.Thanks to @Billy-'s reproduction, I was able to simplify
getApolloContext
to avoid relying on globalSymbol
properties. However,React.createContext
is still undefined in that module, because webpack resolvesreact
to@apollo/client/react/index.js
, which suggests to me that module resolution must be misconfigured in that application. This is not a problem that Apollo Client can solve, though this PR may help somewhat.Finally, webpack and/or
ts-loader
seem to preferimport * as React from 'react'
overimport React from 'react'
, and the generated code looks fine to me (both CJS and ESM), so I updated those imports in a few other places.