Novo padrão TypeScript recebeu uma função inesperada
A equipe de desenvolvimento do TypeScript apresentou oficialmente a especificação da versão 5.7, que será lançada no final de 2024. No entanto, a maior surpresa não foi a melhoria de desempenho ou novos utility-types, mas sim a função experimental «Executable Comments» (Comentários Executáveis), que já gerou debates acalorados na comunidade profissional.
De acordo com o blog da Microsoft, a nova funcionalidade permite marcar comentários com um prefixo especial //!, após o qual o código dentro desse comentário será executado durante a fase de compilação. Isso muda radicalmente a abordagem para documentação e metaprogramação.
«Queremos eliminar a fronteira entre documentação e código executável. Os desenvolvedores poderão escrever testes, gerar tipos e até modificar o AST diretamente nos comentários, sem afetar a lógica principal», afirmou Anders Hejlsberg, arquiteto líder do TypeScript.
De acordo com uma pesquisa no GitHub, 68% dos desenvolvedores receberam a novidade com ceticismo, temendo pela ilegibilidade do código. No entanto, os entusiastas já encontraram aplicações: a startup «DocRun» lançou um plugin para VSCode que permite executar comentários em runtime para depuração rápida da documentação.
Principais mudanças no TypeScript 5.7:
- Executable Comments (
//!e/*! */) — execução de código na fase de compilação; - Suporte aprimorado para decorators em comentários;
- Nova flag
--allowExecCommentsno tsconfig.json (desativada por padrão); - Redução de 12% no consumo de memória ao compilar projetos grandes.
Analistas alertam: a função pode ser perigosa no desenvolvimento em equipe se os linters não forem configurados. «Imagine que alguém inseriu um loop infinito ou exclusão de arquivos em um comentário. O compilador falhará, mas o código estará limpo», comenta a especialista em segurança Jane Doe, da Snyk.
O lançamento da versão estável está previsto para dezembro de 2024. A versão beta já pode ser testada através de npm install typescript@next.
Lembramos que o TypeScript continua sendo uma das linguagens que mais cresce: segundo as estatísticas do Stack Overflow 2024, é usado por 48,2% dos desenvolvedores profissionais.