bug: Sharp 0.35 fails in dev after external symlink targets dist directory

Aperta
#4,511 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@7430souvik ci sta già lavorando.

Dal 6/8/2026.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
68/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
node.js, typescript
Ambito
build-system, cli

Direzione di ricerca

Start with packages/cli-v3/src/build/externals.ts, especially the external-linking logic at lines 30–78. Use the linked reproduction repo and run pnpm dev with a valid project ref to observe the generated Sharp symlink and indexing failure. Done when Sharp's package root is linked, task indexing succeeds, and the local worker becomes ready.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Provide environment information

System:
OS: macOS 26.5.2
CPU: (12) arm64 Apple M2 Pro
Memory: 102.86 MB / 16.00 GB
Shell: 5.9 - /bin/zsh

Binaries:
Node: 24.15.0
npm: 11.12.1
pnpm: 11.10.0
bun: 1.3.14

Describe the bug

When trigger dev processes a task importing [email protected], automatic external detection creates the generated worker's node_modules/sharp symlink pointing to Sharp's dist directory instead of its package root.

This bypasses Sharp's root package.json, which defines its dist/index.mjs and dist/index.cjs entry points. Node consequently looks for sharp/index.js, which does not exist, and task indexing fails with ERR_MODULE_NOT_FOUND.

Importing the same Sharp installation directly outside Trigger.dev works correctly.

Expected behavior: the task is indexed and the local worker becomes ready.

Reproduction repo

https://github.com/benpixel/trigger-sharp-035-repro

To reproduce
  1. Clone and install the reproduction:

    git clone https://github.com/benpixel/trigger-sharp-035-repro.git
    cd trigger-sharp-035-repro
    pnpm install
    
  2. Authenticate the Trigger.dev CLI and provide a valid project ref:

    TRIGGER_PROJECT_REF=proj_your_project_ref pnpm dev
    
  3. Task indexing fails with:

    Error: Could not import trigger/sharp-task.ts
    
    Error: Cannot find package '.../node_modules/sharp/index.js'
    imported from '.../trigger/sharp-task.mjs'
    
    Did you mean to import "sharp/dist/index.cjs"?
    
Additional information

Confirmed with:

The generated symlink was inspected while trigger dev was running:

.trigger/tmp/build-*/node_modules/sharp
  -> node_modules/.pnpm/[email protected]_*/node_modules/sharp/dist

Importing Sharp directly succeeds:

node --input-type=module -e 'const { default: sharp } = await import("sharp"); console.log(sharp.versions.sharp)'
0.35.3

Controls:

  • Pinning Sharp to 0.34.5 allows the local worker to become ready.
  • Setting build.autoDetectExternal to false also avoids the failure, but disables automatic externalization globally.
  • The minimal reproduction contains no Next.js dependency.

The relevant external-linking implementation appears to be here:

https://github.com/triggerdotdev/trigger.dev/blob/v4.5.9/packages/cli-v3/src/build/externals.ts#L30-L78

Lingua principale
TypeScript
Stelle
16.5k
Fork
1.5k
Merge medio
1g 15h
PR unite (30g)
17

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di triggerdotdev/trigger.dev

Tutte le issue di triggerdotdev/trigger.dev

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.