typescript - Pacote npm do Sanity gera erro de tipo na compilação
Como o título diz, eu uso next-sanity para meu blog Next.js. Recentemente, quis atualizar todos os pacotes npm. Agora não consigo rodar npm run build pois uma das dependências em si lança um erro de tipo da seguinte forma:
./node_modules/@sanity/types/lib/dts/src/index.d.ts:756:3
Type error: Type parameter declaration expected.
754 | */
755 | export declare function defineArrayMember<
> 756 | const TType extends string | IntrinsicTypeName, // IntrinsicTypeName here improves autocompletion in _some_ IDEs (not VS Code atm)
| ^
757 | const TName extends string,
758 | TSelect extends Record<string, string> | undefined,
759 | TPrepareValue extends Record<keyof TSelect, any> | undefined,
Tentei adicionar manualmente versões mais antigas do pacote em questão, mas até agora não consegui encontrar uma solução adequada. Deletar o node_modules ou o package.json e depois rodar npm i novamente também não fez nada para mudar o resultado.
Alguém também teve o mesmo problema?
Eu tive esse problema depois que executei npm update, então corrigi os problemas devido a algumas mudanças mencionadas na documentação. Mas o problema principal é que recursos que antes funcionavam normalmente não estão funcionando, apesar de não haver nenhuma mudança na documentação sugerindo que eu tenha feito algo errado.
Eu uso next 14.1.0, next-sanity 8.5.0 e sanity 3.36.2
Resposta #1
Eu tive o mesmo erro depois que atualizei meu projeto existente da versão 12 do Next.js e o converti para TypeScript. O Next criou automaticamente um arquivo tsconfig.json para mim, no entanto, ele não instalou o TypeScript nas devDependencies. Depois, eu instalei o TypeScript usando o seguinte comando:
npm install -D typescript
O problema foi resolvido. Espero que isso ajude!
Resposta #2
Eu enfrentei o mesmo problema recentemente!
O que eu mudei foi atualizar os tipos do Sanity para os mais recentes. Eu usei o comando sanity versions para verificá-lo. Aqui está o resultado do comando
Então eu estou atualizando a versão com base na versão dela nas dependências do package.json:
"@sanity/types": "^3.37.2",
Então eu já consigo construir, espero que ajude!
