Compilador online

Compilador TypeScript online

Escreva seu código em TypeScript (Deno) abaixo e rode de graça, com entrada, num sandbox nos nossos servidores. Sem cadastro e sem anúncios.

Pela equipe do OnlineCompiler.io. Atualizado em .

Also in EnglishTambién en español

// Lê o nome e um número da aba Entrada
const entrada = await new Response(Deno.stdin.readable).text();
const linhas = entrada.trim().split("\n");
const nome: string = linhas[0];
const n: number = Number(linhas[1]);

console.log("Olá, " + nome + "!");
for (let i = 1; i <= n; i++) {
  console.log(i + " ao quadrado é " + i * i);
}
Compartilhar gera um link, sem precisar de conta. Salvar guarda o código na sua conta.

Quer conferir uma solução contra várias entradas? O compilador TypeScript com casos de teste roda todas de uma vez e marca cada uma como aprovada ou reprovada.

Como dar entrada (stdin)

Antes de apertar Executar, digite na aba Entrada tudo o que o programa vai ler. Ele recebe esse texto pela entrada padrão (stdin). Em TypeScript, fica assim:

const entrada = await new Response(Deno.stdin.readable).text();  // a aba Entrada inteira
const linhas = entrada.trim().split("\n");                       // uma linha por item
const n = Number(linhas[0]);                                     // a primeira, como número
const [a, b] = linhas[1].split(" ").map(Number);                 // dois números na segunda linha

A entrada inteira é enviada quando você aperta Executar, então o programa não pode pedir mais nada enquanto roda. Coloque cada valor numa linha, ou separe por espaços, conforme o programa lê.

Versão e limites

VersãoTypeScript Deno
Compilado comSem etapa separada: o comando de execução compila ou interpreta o código
Executado comdeno run --quiet --cached-only --no-prompt --allow-read=/sandbox,/tmp --allow-write=/tmp/outputs --allow-env=OUTPUT_DIR code.ts
Limites30 segundos, 512 MB de memória, 2 CPUs, 64 KB de saída por fluxo, sem rede
Execução típica0,58 s, e 0,72 s para a mais lenta em cada 20 (como medimos, em inglês)

Bom saber

  • Roda no Deno 2 com TypeScript 6. Os tipos não são verificados, porque o deno run pula a checagem, então um erro de tipo não impede a execução.
  • JavaScript puro também roda, desde que não use APIs exclusivas do Node, como require(). Para essas, use o JavaScript no Node.js.
  • Imports remotos e npm: não carregam, porque não há rede. Leia a entrada de Deno.stdin.

Rodar TypeScript a partir do seu app

Para rodar TypeScript no seu próprio app, envie o código e a entrada para o endpoint síncrono com uma chave de API, e a saída volta na resposta. É grátis até 100.000 execuções por mês. Documentação da API (em inglês).

O editor acima é um widget que você pode colocar no seu site, blog ou curso. Com o atributo data-locale="pt", os botões aparecem em português. Como incorporar o editor (em inglês).

Outras páginas

Perguntas frequentes

O compilador TypeScript online é grátis?

Sim. Rodar TypeScript nesta página não exige conta e não tem anúncios. Para rodar TypeScript no seu próprio app ou site, a API e o widget são grátis até 100.000 execuções por mês, uso comercial incluído.

Meu programa em TypeScript pode ler entrada?

Sim. Digite a entrada na aba Entrada antes de executar, e o programa a lê pela entrada padrão (stdin). A entrada inteira é enviada quando você aperta Executar, então o programa não pode pedir mais nada enquanto roda.

Posso usar bibliotecas em TypeScript?

As APIs nativas do Deno e as APIs da plataforma web que ele oferece. Imports remotos, do JSR e do npm não carregam, porque os programas não têm acesso à rede.

Quanto tempo um programa pode rodar?

Até 30 segundos, com 512 MB de memória e 2 CPUs. Um programa que ainda estiver rodando aos 30 segundos é interrompido com o código de saída 124, e a saída acima de 64 KB por fluxo é cortada.

Onde meu código roda?

Nos nossos servidores, num sandbox gVisor novo e sem acesso à rede, que é apagado quando a execução termina. Cada execução fica guardada no histórico com a saída; a página de segurança (em inglês) explica o que é armazenado.

Existe uma API para TypeScript?

Sim. Envie o código, o id do compilador typescript-deno e a entrada para https://api.onlinecompiler.io/api/run-code-sync/ com uma chave de API, e a resposta traz a saída, os erros, o código de saída, o tempo e a memória. É grátis até 100.000 execuções por mês, e a mesma chave serve para as outras 45 linguagens. A documentação está em inglês.