Formatador de TypeScript
Uma predefinição de Formatador de JavaScript
Formate TypeScript com suporte completo para anotações de tipo, genéricos, decoradores e interfaces. Usa o analisador de TypeScript em vez do de JavaScript, então a sintaxe de tipos é entendida em vez de tratada como um erro.
- Os arquivos nunca saem do seu dispositivo
- Grátis, sem cadastro
- Sem marcas d'água
- Funciona offline depois de carregado
Como formatador de javascript
- 1
Cole seu código
JavaScript, TypeScript ou JSX.
- 2
Defina seu estilo
Indentação, ponto e vírgula e preferência de aspas.
- 3
Copie o resultado
Formatado exatamente como o Prettier faria no seu editor.
Por que TypeScript precisa de seu próprio analisador em vez de reutilizar o do JavaScript
TypeScript é um superconjunto de JavaScript, mas a sintaxe de nível de tipo que adiciona — interfaces, genéricos restritos com `extends`, decoradores, asserções de tipo `as`, e declarações independentes somente de tipo — não tem nenhum significado na gramática do JavaScript puro e faz com que um analisador apenas de JavaScript falhe diretamente em TypeScript perfeitamente válido. Usar o analisador dedicado do TypeScript em vez de tentar forçar o de JavaScript a aceitar um superconjunto de sua própria gramática é o que permite que um arquivo cheio de genéricos e interfaces seja formatado corretamente em vez de ser rejeitado como um erro de sintaxe no momento em que usa um recurso que o JavaScript em si não tem.
JSX dentro do TypeScript, especificamente
Um arquivo `.tsx` que combina sintaxe JSX com anotações de tipo do TypeScript é genuinamente ambíguo de analisar em um ponto específico: uma asserção de tipo entre colchetes angulares como `<Foo>value` parece idêntica ao início de uma tag de elemento JSX para um analisador que não foi informado qual dialeto está lendo. Selecionar o modo de análise TypeScript-com-JSX resolve essa ambiguidade corretamente, por isso escolher o dialeto correto de antemano — em vez de assumir que um analisador JavaScript genérico vai resolver isso — importa especificamente para arquivos de componente que misturam os dois.
Decoradores continuam sendo uma parte em evolução da sintaxe
Decoradores — as anotações estilo `@Component` comuns no Angular e em alguns frameworks de backend construídos sobre TypeScript — passaram por vários estágios distintos de proposta no processo de padronização da linguagem, e bases de código diferentes podem visar versões ligeiramente diferentes dessa sintaxe dependendo de quando foram escritas e quais opções de compilador usam. Analisar corretamente a sintaxe de decoradores exige especificamente o analisador ciente de TypeScript; um analisador de JavaScript puro que encontra um `@` antes de uma classe ou método não tem nenhum significado definido para recorrer e vai rejeitar o arquivo diretamente.
Perguntas frequentes
É o mesmo que rodar o Prettier localmente?
Sim — é o próprio Prettier, rodando no seu navegador em vez de no Node. Com as mesmas opções você obtém uma saída idêntica byte a byte ao `npx prettier` no mesmo arquivo.
Por que não usar um formatador mais simples?
Porque formatadores ingênuos quebram código real. Chaves dentro de literais de template e expressões regulares, JSX, e inserção automática de ponto e vírgula todos exigem realmente analisar a linguagem. Um formatador que corrompe silenciosamente um arquivo em cada cinquenta é pior que nenhum.
Funciona com TypeScript e JSX?
Sim. Anotações de tipo, genéricos, decoradores e JSX são todos analisados. Note que ele apenas formata — não verifica tipos nem compila.
Por que a formatação falhou?
O código tem um erro de sintaxe — o Prettier precisa analisá-lo antes de poder imprimi-lo. A mensagem inclui a linha e coluna do primeiro problema, o que geralmente é suficiente para encontrá-lo.
Meu código é enviado para um servidor?
Não. O Prettier é baixado para o seu navegador e roda ali. Código proprietário nunca sai da sua máquina, o que não é verdade para a maioria dos formatadores online.
Você também pode precisar
Formatador de JSON
Formate, valide e minifique JSON instantaneamente
Formatador de HTML
Embeleze e indente HTML corretamente
Formatador de CSS
Embeleze ou minifique folhas de estilo
Codificador e decodificador Base64
Codifique e decodifique Base64 e Base64URL
Minificador de CSS
Reduza folhas de estilo com um minificador de verdade, consciente de CSS
Gerador de hash
MD5, SHA-1, SHA-256, SHA-384 e SHA-512
Minificador de JS
Reduza JavaScript com minificação de verdade, não regex
Decodificador de JWT
Decodifique e inspecione JSON Web Tokens