Skip to content

@actions/glob v0.7.0 breaks ESM actions: Minimatch is not a named export in minimatch v10 #2408

@Tobbe

Description

@Tobbe

Bug report

Package: @actions/glob
Version: 0.7.0

Description

@actions/glob v0.7.0 bumped minimatch from v3 to v10 (PR #2355), but lib/internal-pattern.js still imports Minimatch as a named export:

import { Minimatch } from 'minimatch';  // internal-pattern.js:5

minimatch v10 does not export Minimatch as a named export, so this crashes at runtime with a SyntaxError in any ESM context.

Error

file:///…/node_modules/@actions/glob/lib/internal-pattern.js:5
import { Minimatch } from 'minimatch';
         ^^^^^^^^^
SyntaxError: The requested module 'minimatch' does not provide an export named 'Minimatch'
    at #asyncInstantiate (node:internal/modules/esm/module_job:326:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:429:5)

Steps to reproduce

Use @actions/glob v0.7.0 in a Node.js action that runs as ESM (e.g. a .mts action with using: node24).

Expected behavior

@actions/glob v0.7.0 should work with the minimatch v10 it ships with.

Possible fix

In internal-pattern.js, update the import to use minimatch v10's API — likely import Minimatch from 'minimatch' (default export) or the equivalent named export from v10.

Environment

  • Node.js: v24.15.0
  • @actions/glob: 0.7.0
  • minimatch: 10.x (pulled in transitively by @actions/glob v0.7.0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions