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
@importto import types in modules. -
Removed JSDoc tag
@typedefthat 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, andFormDataAPIs available in modern Node.js and removed the dev dependenciesnode-abort-controllerandnode-fetch. -
Replaced the test utility function
streamToStringwith the functiontextfromnode:stream/consumersthat’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/expressto4.0.29 - 5and the dev dependencyexpressto v5, via #389.
Patch
- Tweaked the package description.
- Updated the
package.jsonfieldrepositoryto conform to new npm requirements. - Updated the package scripts:
- Reordered the scripts.
- Replaced
npm runwithnode --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 runwithnode --run. - Updated the tested Node.js versions to v18, v20, v22.
- Updated
actions/checkoutto v4. - Updated
actions/setup-nodeto v4.
- Migrated to the ESLint v9 CLI and “flat” config.
- Integrated a new dev dependency
eslint-plugin-jsdocand revised types. - Removed the Node.js CLI option
--unhandled-rejections=throwin the package scripttestsas it’s now the default for all supported Node.js versions. - Avoid hardcoding a default value in the type
FileUploadCreateReadStreamOptionspropertyhighWaterMarkdescription and use the functiongetDefaultHighWaterMarkfromnode:streamin tests. - Replaced the test helper class
Deferredwith polyfilledPromise.withResolvers. - Removed an unnecessary
awaitin tests. - Omit unused catch bindings in the function
processRequest. - Corrected the JSDoc type
FileUploadCreateReadStreamOptionsin the moduleprocessRequest.mjs. - Avoid using
returnin the middleware. - Added a new dev dependency
async-listento replace the test utility functionlisten. - Enabled the TypeScript compiler options
noUnusedLocalsandnoUnusedParametersand 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.