# Bun agora disponível para Analysis

> Escreva TypeScript ou JavaScript na TagoIO com Bun, importe pacotes pelo nome e reutilize bundles compilados com sucesso nas execuções de Analysis.

![Bun agora disponível para Analysis](https://tago.io/og/pt-br/blog/introducing-bun-analysis-runtime.png)

O Bun já está disponível para Analysis na TagoIO. Ele executa TypeScript e JavaScript diretamente, com importações de pacotes escritas da mesma forma que em um projeto Node.js. A TagoIO cuida do build para a execução hospedada, então você mantém seu script sem uma etapa separada de compilação ou geração de bundle local.

Use o Bun quando processar dados de dispositivos também envolver chamar outro serviço ou usar uma biblioteca. Transforme uma leitura de temperatura alta em uma solicitação de manutenção, formate leituras para um sistema de relatórios ou combine dados de sensores com informações de uma API externa. Sua Analysis cuida do processamento e da integração sem um servidor separado para manter.

## Escreva TypeScript com importações familiares

Importe o SDK JavaScript da TagoIO como `@tago-io/sdk` ou uma biblioteca de datas como `dayjs`. O Bun resolve os pacotes pelo nome. O suporte a TypeScript é nativo, então você pode manter os tipos no script que edita na TagoIO, em vez de compilá-lo para JavaScript antes de enviar.

O Bun não aceita os prefixos de importação `npm:` ou `jsr:` do Deno. Use os nomes dos pacotes sem prefixo e inclua uma versão na importação quando precisar de uma versão específica de um pacote.

## Salve um bundle e reutilize-o nas execuções

![O código TypeScript ou JavaScript importa @tago-io/sdk e dayjs; um build bem-sucedido reúne o script salvo e os pacotes em um bundle, reutilizado por duas execuções sem instalar pacotes](https://tago.io/images/blog/introducing-bun-analysis-runtime/bundle-flow.svg)

Quando você salva uma versão, a TagoIO reúne o script e seus pacotes em um único arquivo. Depois de um build bem-sucedido, as execuções seguintes usam esse bundle salvo sem instalar os pacotes novamente. As dependências são preparadas quando você salva, em vez de a cada execução.

Esse benefício depende de um build bem-sucedido. Algumas falhas, como um bundle maior que 10 MB, fazem com que os pacotes sejam instalados a cada execução. Já erros de sintaxe ou pacotes ausentes impedem a execução. O [guia do runtime Bun](https://docs.tago.io/docs/tagoio/analysis/runtimes#bun-bun-rt2026) explica as falhas de build e como resolvê-las.

## Conecte as leituras a um serviço externo

![Uma Analysis em Bun compara uma leitura de 38 °C de greenhouse-01 com um limite de 35 °C, formata 14:05 como 2:05 PM com dayjs e envia uma ordem de serviço para inspecionar a refrigeração a uma API de manutenção, que retorna 201 Created](https://tago.io/images/blog/introducing-bun-analysis-runtime/integration.svg)

Por exemplo, um sensor de estufa informa 38 °C. Sua Analysis em Bun pode ler os dados do dispositivo, combiná-los com os detalhes do local e formatar a data e a hora com um pacote. Em seguida, chama a API do seu sistema de manutenção para criar uma ordem de serviço: "Inspecionar a refrigeração."

Você fornece as credenciais do serviço e o formato da requisição. A mesma abordagem serve para enviar leituras formatadas a uma API de relatórios ou enriquecer um registro de dispositivo com dados buscados em outro sistema.

## Como o Bun se compara aos outros runtimes

- **Node.js:** Faça o build e teste um script com as dependências reunidas em um bundle localmente, depois envie-o. O Bun leva a compilação e a geração do bundle com as dependências para a TagoIO, então você pode editar TypeScript diretamente no Admin.
- **Deno:** Os dois runtimes permitem manter TypeScript no editor. O Bun usa importações pelo nome do pacote, sem prefixos; o Deno usa especificadores `npm:` ou URLs.
- **Python:** Continue usando Python para tarefas com dados que dependem de bibliotecas como `pandas`, `numpy` ou `scipy`. Escolha o Bun quando a tarefa se encaixar em JavaScript ou TypeScript e seus pacotes.

A execução hospedada em Bun conta para o limite mensal do [Analysis Service](https://docs.tago.io/docs/tagoio/profiles/services/analysis-service) do seu perfil.

## Compare a velocidade dos runtimes na mesma carga de trabalho

Uma comparação do processamento de dados de sensores entre runtimes:

Tempo mediano de execução

| Runtime | 1.000 leituras | 100.000 leituras |
| --- | --- | --- |
| Luau 0.728 | 0,74 ms | 30,60 ms |
| Bun 1.4.2 | 19,21 ms | 27,49 ms |
| Deno 2.4.4 | 30,63 ms | 37,87 ms |
| Node.js 24.21.0 | 29,74 ms | 37,98 ms |
| Python 3.13 | 69,70 ms | 138,52 ms |

Cada runtime usa a versão hospedada pela TagoIO. O Luau roda dentro da TagoIO sem iniciar um processo separado, então seus tempos cobrem apenas o script. Os outros runtimes iniciam um novo processo a cada execução, e essa inicialização responde pela maior parte do tempo com 1.000 leituras.

### Como a velocidade afeta o consumo

Para Bun, Deno, Node.js e Python, uma execução hospedada mais rápida pode reduzir o consumo do [Analysis Service](https://docs.tago.io/docs/tagoio/profiles/services/analysis-service) quando se enquadra em um intervalo de cobrança menor. Cada execução tem um mínimo de um segundo, então diferenças inferiores a um segundo, por si só, não demonstram economia na cobrança.

## Faça o build e teste no Admin

Crie uma nova Analysis, escolha **Bun** (`bun-rt2026`) em **Runtime** e selecione **TagoIO** em **Runs on**. Escreva o script no editor e salve uma versão. Confira os erros de build no Console, depois clique em **Run** para executar o script e inspecionar os logs.

O TagoAI pode ajudar a escrever e depurar seu script.

## Comece a usar

Leia o [guia de runtimes de Analysis](https://docs.tago.io/docs/tagoio/analysis/runtimes) e [crie uma nova Analysis](https://docs.tago.io/docs/tagoio/analysis/creating-analysis) no [Admin](https://admin.tago.io). Veja as [notas da versão de 13 de outubro](https://changelog.tago.io/server/v10-6-0/) para ler o anúncio do Bun.

[llms.txt](https://tago.io/llms.txt)
