Preset unenv da Azion
Use polyfills unenv para compatibilidade Node.js com o Edge Runtime da Azion.
Este preset fornece polyfills para APIs comuns do Node.js, garantindo compatibilidade ao executar código no ambiente do Azion Runtime. Os seguintes módulos são preenchidos:
Saiba mais sobre as Azion LibrariesUso
O preset pode ser usado com o unenv para fornecer compatibilidade entre Node.js e o Azion Runtime:
Features
Polyfills de Node.js
Este preset fornece polyfills para APIs comuns do Node.js, garantindo compatibilidade ao executar código no ambiente do Edge Runtime da Azion. Os seguintes módulos são suportados:
| Módulo | Descrição |
|---|---|
crypto | Funcionalidade criptográfica completa, incluindo hashing, criptografia e geração de UUID. |
events | Manipulação de eventos através de events/events.js. |
http | Funcionalidade de cliente HTTP via stream-http. |
module | Compatibilidade básica com o sistema de módulos (funcionalidade limitada). |
stream | Implementações de fluxo via stream-browserify. |
string_decoder | Utilitários para decodificação de strings. |
url | Análise e formatação de URLs. |
util | Funções utilitárias. |
timers | Funções de temporização via timers-browserify. |
vm | Funcionalidade de máquina virtual via vm-browserify. |
zlib | Funcionalidade de compressão via browserify-zlib. |
Exemplo:
Este exemplo utiliza o polyfill do módulo crypto:
Polyfills para o sistema de arquivos
O preset inclui polyfills abrangentes para o sistema de arquivos, espelhando a funcionalidade do módulo fs do Node.js. Estes polyfills funcionam com um sistema de arquivos em memória ao rodar no Azion Runtime.
Operações básicas com arquivos
Operações com diretórios
Informações sobre arquivos
Manipulação de descritores de arquivos
Polyfills globais
O preset também fornece polyfills para variáveis e objetos globais do Node.js:
| Objeto Global | Descrição |
|---|---|
__dirname | Nome do diretório atual. |
__filename | Nome do arquivo atual. |
process | Informações e variáveis de ambiente do processo. |
performance | Funcionalidade de medição de desempenho. |
navigator | Objeto compatível com navegador. |
O preset também injeta automaticamente esses globais através da configuração do unenv:
Referência da API
getFileContent
Decodifica o conteúdo de um arquivo e retorna um Buffer ou string.
Parâmetros:
| Parâmetro | Descrição | Valores |
|---|---|---|
file | Objeto contendo o conteúdo do arquivo em base64. | — |
returnBuffer | Define o tipo de retorno (padrão: true). | true → Retorna um Buffer, false → Retorna uma string. |
Retorno:
| Tipo de Retorno | Descrição |
|---|---|
Buffer | string | O conteúdo decodificado do arquivo. |
Exemplo:
closeSync
Fecha um descritor de arquivo de forma síncrona.
Parâmetros:
| Parâmetro | Descrição |
|---|---|
fd | O descritor do arquivo a ser fechado. |
Exemplo:
openSync
Abre um arquivo de forma síncrona.
Parâmetros:
| Parâmetro | Descrição |
|---|---|
path | Caminho do arquivo. |
flags | Modo de abertura (ex: ‘r’, ‘w’). |
mode | (Opcional) Permissões do arquivo. |
Retorno:
| Tipo de Retorno | Descrição |
|---|---|
number | O descritor do arquivo. |
Exemplo:
statSync
Recupera sincronamente as estatísticas (fs.Stats) do caminho especificado.
Parâmetros:
| Parâmetro | Descrição |
|---|---|
path | O caminho do arquivo ou diretório. |
options | (Opcional) Opções para a chamada de estatísticas. |
Retorno:
| Retorno | Descrição |
|---|---|
fs.Stats | O objeto de estatísticas do arquivo ou diretório. |
Exemplo:
readFileSync
Lê de forma síncrona o conteúdo completo de um arquivo.
Parâmetros:
| Parâmetro | Descrição |
|---|---|
path | O caminho do arquivo. |
options | (Opcional) Opções para a leitura do arquivo. |
Retorno:
| Retorno | Descrição |
|---|---|
string | Buffer | O conteúdo do arquivo. |
Exemplo:
readdirSync
Lê de forma síncrona o conteúdo de um diretório.
Parâmetros:
| Parâmetro | Descrição |
|---|---|
path | O caminho do diretório. |
options | (Opcional) Opções para leitura do diretório. |
Retorno:
| Retorno | Descrição |
|---|---|
string[] | Um array com os nomes dos arquivos no diretório. |
Exemplo: