Nesta página

Deno

A Guara Cloud suporta totalmente aplicacoes Deno, incluindo frameworks como Fresh, Oak, Hono e qualquer outro projeto baseado em Deno. O runtime seguro por padrao do Deno e seu suporte nativo a TypeScript o tornam uma otima escolha para aplicacoes web modernas.

Versoes suportadas

As seguintes versoes do Deno sao detectadas automaticamente pelo Buildpack:

  • Deno 1.46
  • Deno 2.0
  • Deno 2.1

A versao e determinada pelo arquivo de configuracao deno.json ou deno.jsonc. Se nenhuma versao for especificada, a ultima versao estavel sera usada.

{
  "lock": true,
  "tasks": {
    "start": "deno run --allow-net --allow-read --allow-env main.ts"
  }
}

Deploy com Dockerfile

Para controle total sobre o build, inclua um Dockerfile na raiz do seu repositorio.

FROM denoland/deno:2.1

WORKDIR /app

COPY deno.json deno.lock ./
RUN deno install

COPY . .
RUN deno cache main.ts

EXPOSE 3000

CMD ["deno", "run", "--allow-net", "--allow-read", "--allow-env", "main.ts"]

Deploy com Buildpack

Se o seu repositorio nao contiver um Dockerfile, a Guara Cloud detecta automaticamente seu projeto Deno pela presenca de um arquivo deno.json ou deno.jsonc no diretorio raiz.

O Buildpack vai:

  1. Detectar a versao do Deno pela sua configuracao
  2. Fazer cache das dependencias definidas no import map ou deno.json
  3. Compilar sua aplicacao se uma task build estiver definida
  4. Iniciar sua aplicacao usando a task start

Certifique-se de que seu deno.json inclua uma task start:

{
  "tasks": {
    "start": "deno run --allow-net --allow-read --allow-env main.ts"
  }
}

Configuracao de porta

Sua aplicacao deve escutar na porta configurada nas configuracoes do servico. O padrao e 3000, mas voce pode altera-lo a qualquer momento para corresponder a sua aplicacao.

const port = Number(Deno.env.get("PORT")) || 3000;
Deno.serve({ port }, handler);

Estrutura de projeto exemplo

my-deno-app/
  deno.json
  deno.lock
  main.ts
  routes/
    index.ts
  middleware/
    auth.ts
  Dockerfile          # opcional — omita para usar Buildpack

Variaveis de ambiente

Estas variaveis de ambiente sao comumente usadas em deploys Deno:

VariavelValor recomendadoDescricao
PORTDefinido pela plataformaA porta na qual sua aplicacao deve escutar
DENO_ENVproductionIndica o ambiente de execucao
DENO_DIR/app/.cache/denoDiretorio para o cache de modulos do Deno

Erros comuns