Skip to content

Undici 8 and glob migrations after dropping Node 20 #232

Open

Description

@GrahamCampbell

Undici 8 requires Node >=22.19.0, so it has to wait until Node 20 support is dropped. We only use Undici for dispatchers (proxy and custom CA handling in build-fetch-dispatcher.js, plus the agents in serverless-utils/download.js and yaml-parser/http-ref-reader.js), while the requests themselves go through Node's global fetch. Undici 8 changes the dispatcher internals, so the upgrade should import fetch from undici at each call site, keeping the client and dispatcher on the same version, and update the tests that stub globalThis.fetch.

Since #489, fast-glob is the only thing keeping micromatch and braces in our dependency tree. The braces advisory that prompted this has been withdrawn, so there is no urgency. fast-glob 4 drops micromatch but still depends on braces, and it is unreleased, ESM-only and needs Node ^22.13.0 || >=24. tinyglobby drops both and produces identical packages for ordinary npm and pnpm services, but changes behaviour at the edges: absolute include globs that are ignored today start matching, include globs with the wrong case stop matching on case-insensitive filesystems, nested zips in .serverless drop out of the deploy change check, and symlink cycles are followed once rather than until the OS gives up.

The blocker is thecodrr/fdir#169, which makes tinyglobby skip a symlinked package inside another symlinked package when their paths share a prefix. A service in a pnpm workspace that depends on packages/db, which in turn depends on packages/db-schema, ships without db-schema. The fix is in thecodrr/fdir#170, which hasn't been merged. oss-serverless/compose has the same glob.js and needs the same change.

Activity

  1. changed the title [-]Plan Undici 8 migration after dropping Node 20 support[/-] [+]Plan Undici 8 and glob library migrations after dropping Node 20 support[/+] on Oct 25, 2026
  2. changed the title [-]Plan Undici 8 and glob library migrations after dropping Node 20 support[/-] [+]Undici 8 and glob migrations after dropping Node 20[/+] on Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions