Update dependency apollo-upload-client to v18 #534
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.
This PR contains the following updates:
17.0.0
->18.0.1
Release Notes
jaydenseric/apollo-upload-client (apollo-upload-client)
v18.0.1
Compare Source
Patch
createUploadLink
optionuri
type, fixing #316._
, fixing #317.v18.0.0
Compare Source
Major
Updated Node.js support to
^18.15.0 || >=20.4.0
.Updated the
@apollo/client
peer dependency to^3.8.0
.Updated the
extract-files
dependency to v13.React Native is no longer supported out of the box.
The class
ReactNativeFile
is no longer exported, or matched by the functionisExtractableFile
.This class was bloating non React Native environments with an extra module, increasing bundle sizes when building and adding an extra step to ESM loading waterfalls in browsers.
It’s the responsibility of Facebook to adhere to web standards and implement spec-complaint
File
,Glob
, andFormData
globals in the React Native environment.To migrate, React Native projects that are unable to use the standard globals can manually implement a class
ReactNativeFile
and match it with a custom functionisReactNativeFile
for use with the functioncreateUploadLink
optionisExtractableFile
.“Plain” objects in the GraphQL operation that aren’t
Object
instances (e.g.Object.create(null)
) are now also deep cloned when searching for extractable files.Updated dev dependencies, some of which require newer Node.js versions than previously supported.
Use the Node.js test runner API and remove the dev dependency
test-director
.Refactored tests to use the standard
AbortController
,AbortSignal
,File
,FormData
, andResponse
APIs available in modern Node.js and removed the dev dependenciesabort-controller
,formdata-node
, andnode-fetch
.Public modules are now individually listed in the package
files
andexports
fields.Removed the package main index module; deep imports must be used. To migrate:
Shortened public module deep import paths, removing the
/public/
. To migrate:The API is now ESM in
.mjs
files instead of CJS in.js
files, accessible viaimport
but notrequire
.Implemented TypeScript types via JSDoc comments.
Types published in
@types/apollo-upload-client
should no longer be used.Projects must configure TypeScript to use types from the ECMAScript modules that have a
// @​ts-check
comment:compilerOptions.allowJs
should betrue
.compilerOptions.maxNodeModuleJsDepth
should be reasonably large, e.g.10
.compilerOptions.module
should be"node16"
or"nodenext"
.Internally, use the function
selectHttpOptionsAndBodyInternal
that was added in@apollo/client
v3.5.5.Minor
print
for the functioncreateUploadLink
, to customize how the GraphQL query or mutation AST prints to a string for transport. It that works like the same option forHttpLink
.Patch
eslint-plugin-optimal-modules
.types
script.jsdoc-md
dev dependency and the related package scripts, replacing the readme “API” section with a manually written “Exports” section.package.json
fieldrepository
to conform to new npm requirements.actions/checkout
to v4.actions/setup-node
to v3.node:
URL scheme for Node.js builtin module imports.headers
that as of@apollo/client
v3.7.0 is a null-prototype object, use the assertiondeepEqual
instead ofdeepStrictEqual
.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.