Download Latest Version Version 17.0.0 source code.tar.gz (99.5 kB)
Email in envelope

Get an email when there's a new version of graphql-upload

Home / v17.0.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2024-10-08 3.6 kB
Version 17.0.0 source code.tar.gz 2024-10-08 99.5 kB
Version 17.0.0 source code.zip 2024-10-08 109.2 kB
Totals: 3 Items   212.3 kB 0

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:

diff - import type { GraphQLUpload } from "graphql-upload/Upload.mjs"; + import type GraphQLUpload from "graphql-upload/GraphQLUpload.mjs";

diff - import type { processRequest } from "graphql-upload/Upload.mjs"; + import type processRequest from "graphql-upload/processRequest.mjs";

diff - 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, and FormData APIs available in modern Node.js and removed the dev dependencies node-abort-controller and node-fetch.
  • Replaced the test utility function streamToString with the function text from node: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 to 4.0.29 - 5 and the dev dependency express to v5, via #389.

Patch

  • Tweaked the package description.
  • Updated the package.json field repository to conform to new npm requirements.
  • Updated the package scripts:
  • Reordered the scripts.
  • Replaced npm run with node --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 with node --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 script tests as it’s now the default for all supported Node.js versions.
  • Avoid hardcoding a default value in the type FileUploadCreateReadStreamOptions property highWaterMark description and use the function getDefaultHighWaterMark from node:stream in tests.
  • Replaced the test helper class Deferred with polyfilled Promise.withResolvers.
  • Removed an unnecessary await in tests.
  • Omit unused catch bindings in the function processRequest.
  • Corrected the JSDoc type FileUploadCreateReadStreamOptions in the module processRequest.mjs.
  • Avoid using return in the middleware.
  • Added a new dev dependency async-listen to replace the test utility function listen.
  • Enabled the TypeScript compiler options noUnusedLocals and noUnusedParameters 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.
Source: README.md, updated 2024-10-08