Major
-
Updated Node.js support to
^18.18.0 || ^20.9.0 || >=22.0.0
. -
Updated dev dependencies, some of which require newer Node.js versions than previously supported.
-
Use the TypeScript v5.5+ JSDoc tag
@import
to import types in modules. -
Removed JSDoc tag
@typedef
that were unintentionally re-exporting types; to migrate import TypeScript types from the correct module:- import type { GraphQLUpload } from "graphql-upload/Upload.mjs"; + import type GraphQLUpload from "graphql-upload/GraphQLUpload.mjs";
- import type { processRequest } from "graphql-upload/Upload.mjs"; + import type processRequest from "graphql-upload/processRequest.mjs";
- import type { GraphQLUpload } from "graphql-upload/processRequest.mjs"; + import type GraphQLUpload from "graphql-upload/GraphQLUpload.mjs";
-
Refactored tests to use the standard
AbortController
,fetch
,File
, andFormData
APIs available in modern Node.js and removed the dev dependenciesnode-abort-controller
andnode-fetch
. -
Replaced the test utility function
streamToString
with the functiontext
fromnode:stream/consumers
that’s available in modern Node.js. -
Use the Node.js test runner API and remove the dev dependency
test-director
.
Minor
- Support Express v5 by updating the optional peer dependency
@types/express
to4.0.29 - 5
and the dev dependencyexpress
to v5, via #389.
Patch
- Tweaked the package description.
- Updated the
package.json
fieldrepository
to conform to new npm requirements. - Updated the package scripts:
- Reordered the scripts.
- Replaced
npm run
withnode --run
.
- Updated GitHub Actions CI config:
- No longer run the workflow on pull request.
- Enable manual workflow dispatching.
- Run checks in seperate jobs.
- Removed custom step names.
- Replaced
npm run
withnode --run
. - Updated the tested Node.js versions to v18, v20, v22.
- Updated
actions/checkout
to v4. - Updated
actions/setup-node
to v4.
- Migrated to the ESLint v9 CLI and “flat” config.
- Integrated a new dev dependency
eslint-plugin-jsdoc
and revised types. - Removed the Node.js CLI option
--unhandled-rejections=throw
in the package scripttests
as it’s now the default for all supported Node.js versions. - Avoid hardcoding a default value in the type
FileUploadCreateReadStreamOptions
propertyhighWaterMark
description and use the functiongetDefaultHighWaterMark
fromnode:stream
in tests. - Replaced the test helper class
Deferred
with polyfilledPromise.withResolvers
. - Removed an unnecessary
await
in tests. - Omit unused catch bindings in the function
processRequest
. - Corrected the JSDoc type
FileUploadCreateReadStreamOptions
in the moduleprocessRequest.mjs
. - Avoid using
return
in the middleware. - Added a new dev dependency
async-listen
to replace the test utility functionlisten
. - Enabled the TypeScript compiler options
noUnusedLocals
andnoUnusedParameters
and used the prefix_
for purposefully unused function parameters in tests. - Updated the GitHub Markdown syntax for alerts in the readme.
- Tweaked wording in the readme and JSDoc descriptions.