Como rodar TypeScript com Experimental Strip
Como configurar scripts no package.json para rodar seu servidor TypeScript usando Node.js com suporte à flag --experimental-strip-types e evitar problemas com tipos, como o uso de type-only imports
Carregando
Como configurar scripts no package.json para rodar seu servidor TypeScript usando Node.js com suporte à flag --experimental-strip-types e evitar problemas com tipos, como o uso de type-only imports
Como rodar TypeScript com Experimental Strip. Como configurar scripts no package.json para rodar seu servidor TypeScript usando Node.js com suporte à flag --experimental-strip-types e evitar problemas com tipos, como o uso de type-only imports
Como montar o back-end Node.js mais moderno, rápido e validado: Fastify, Express ou NestJS? Veja...
Documentação de API não precisa ser difícil. Automatize tudo com Fastify, Scalar e Zodiac e tenha tudo em tempo real...
O primeiro passo é criar um script para iniciar o servidor. No seu package.json, adicione um script chamado dev com a flag --experimental-strip-types para que o Node.js saiba lidar com arquivos TypeScript diretamente.
package.json , crie um script dev: "dev": "node --watch --loader tsx --experimental-specifier-resolution=node
--experimental-strip-types src/server.ts" .npm run dev e observe a
saída no terminal.Ao executar o servidor, é comum se deparar com um erro relacionado a módulos não encontrados. Isso acontece porque certos tipos como o <code>ZodTypeProvider</code> não são tratados como tipos puros após o strip de tipos do Node.
O erro ocorre porque, mesmo após "remover os tipos", o Node ainda tenta interpretar um type como módulo padrão. Sendo assim, devemos destacar explicitamente que se trata de um import apenas de tipo.
A correção consiste em ajustar a importação para o formato <code>import type { ZodTypeProvider } from 'fastify-type-provider-zod'</code> . Assim, o Node ignora esse trecho no runtime por ser apenas tipo, resolvendo o problema.
Ao usar recursos experimentais como strip types, o Node emite avisos constantes. Para evitar que eles poluam seu terminal durante o desenvolvimento, podemos desativá-los diretamente no script.
Adicione <code>--no-warnings=ExperimentalWarning</code> logo após o comando para ocultar essas mensagens.
A flag <code>--watch</code> reinicia automaticamente o servidor sempre que um arquivo é salvo. Isso acelera bastante o feedback durante o desenvolvimento.
Certifique-se de estar utilizando Node.js 20+ com suporte à flag <code>--experimental-watch</code> nativamente.
Para rodar sua aplicação em produção, remova a flag <code>--watch</code> e os warning flags. Crie um script <code>start</code> no <code>package.json</code> que rode o mesmo comando, porém sem <code>--watch</code> .
Ter scripts separados para desenvolvimento e produção evita conflitos e mantém o ambiente de runtime mais limpo.
Framework web e validador de tipos para rotas
Versão mínima recomendada para usar flag --experimental-strip-types