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

Aberta
#4,511 2 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@7430souvik já está trabalhando nisso.

Desde 6/8/2026.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
68/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Pouca atividade
Stack de tecnologia
node.js, typescript
Domínio
build-system, cli

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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

Linguagem predominante
TypeScript
Estrelas
16.5k
Forks
1.5k
Merge médio
1d 15h
PRs com merge (30d)
17

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de triggerdotdev/trigger.dev

Todas as issues de triggerdotdev/trigger.dev

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.