Compatibilidade entre o Azion Runtime e Node.js APIs

Node built-in

A compatibilidade entre o Azion Runtime e Node.js é um trabalho em andamento, mas um conjunto de APIs do Node Runtime já é compatível com o Azion Runtime. A seguinte lista de APIs pode ser importada dentro das edge functions com a sintaxe de importação padrão:

import { API } from "import-origin";
APINível de suporteExemplo de códigoComentários
async_hooks🟡 Parcialmente suportadaAcessar o exemplo de códigoApenas AsyncLocalStorage e AsyncResource estão implementadas.
fs🟡 Parcialmente suportadaApenas métodos assíncronos (confira a lista abaixo), outros através de polyfills
module🟡 Parcialmente suportada
process.env🟢 Suportadaprocess.env.VAR_NAMEOutros recursos suportados através de polyfills (confira a tabela abaixo)
url🟡 Parcialmente suportadaApenas os globais URL e URLSearchParams

Suporte de FS

Async:

  • fs.lstat(path[, options], callback)
  • fs.mkdir(path[, options], callback)
  • fs.stat(path[, options], callback)
  • fs.writeFile(file, data[, options], callback)
  • fs.readFile(path[, options], callback)
  • fs.readdir(path[, options], callback)
  • fs.writeFileSync(file, data[, options])
  • fs.rename(oldPath, newPath, callback)
  • fs.realpath(path[, options], callback)
  • fs.copyFile(src, dest[, mode], callback)
  • fs.cp(src, dest[, options], callback)
  • fs.read(fd, buffer, offset, length, position, callback)
  • fs.read(fd, buffer[, options], callback)
  • fs.read(fd[, options], callback)
  • fs.rmdir(path[, options], callback)
  • fs.utimes(path, atime, mtime, callback)

Node polyfills

Um polyfill é um trecho de código, frequentemente usado em JavaScript, que traz novos recursos para ambientes que não possuem essas capacidades. Os polyfills são usados durante o tempo de build e podem ser configurados através do arquivo azion.config.js.

Aqui está a lista de APIs do Node suportadas através de polyfills:

APINível de suporteExemplo de código
buffer🟡 Parcialmente suportadaAcessar exemplo de código
crypto🟡 Parcialmente suportadaAcessar exemplo de código
events🟡 Parcialmente suportadaAcessar exemplo de código
fs🟡 Parcialmente suportadaAcessar exemplo de código
http🟡 Parcialmente suportadaAcessar exemplo de código
module🟡 Parcialmente suportadaAcessar exemplo de código
os🟡 Parcialmente suportadaAcessar exemplo de código
path🟡 Parcialmente suportadaAcessar exemplo de código
process🟡 Parcialmente suportadaAcessar exemplo de código
stream🟡 Parcialmente suportadaAcessar exemplo de código
string_decoder🟡 Parcialmente suportadaAcessar exemplo de código
timers🟡 Parcialmente suportadaAcessar exemplo de código
url🟡 Parcialmente suportadaAcessar exemplo de código
util🟡 Parcialmente suportadaAcessar exemplo de código
vm🟡 Parcialmente suportadaAcessar exemplo de código
zlib🟡 Parcialmente suportadaAcessar exemplo de código

Para informações adicionais sobre compatibilidade:

Saiba mais sobre as Web APIs suportadas Saiba mais sobre os Web frameworks suportados

Contribuidores