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.
process.env🟢 Suportadaprocess.env.NOME_VAR
fs🟡 Parcialmente suportadoVerifique a lista abaixo

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
fs🟡 Parcialmente suportadaAcessar exemplo de código
crypto🟡 Parcialmente suportada-
dns🟡 Parcialmente suportada-
http2🟡 Parcialmente suportada-
module🟡 Parcialmente suportada-
navigator🟡 Parcialmente suportada-
path_dirname🟡 Parcialmente suportada-
performance🟡 Parcialmente suportada-
process🟡 Parcialmente suportada-
accepts🟡 Parcialmente suportada-
child_process🟡 Parcialmente suportada-
cluster🟡 Parcialmente suportada-
console🟡 Parcialmente suportada-
dgram🟡 Parcialmente suportada-
events🟡 Parcialmente suportada-
http🟡 Parcialmente suportada-
https🟡 Parcialmente suportada-
inspector🟡 Parcialmente suportada-
net🟡 Parcialmente suportada-
os🟡 Parcialmente suportada-
path🟡 Parcialmente suportada-
perf_hooks🟡 Parcialmente suportada-
querystring🟡 Parcialmente suportada-
readline🟡 Parcialmente suportada-
repl🟡 Parcialmente suportada-
stream🟡 Parcialmente suportada-
_stream_passthrough🟡 Parcialmente suportada-
_stream_readable🟡 Parcialmente suportada-
_stream_transform🟡 Parcialmente suportada-
_stream_writable🟡 Parcialmente suportada-
string_decoder🟡 Parcialmente suportada-
sys🟡 Parcialmente suportada-
timers🟡 Parcialmente suportada-
tls🟡 Parcialmente suportada-
tty🟡 Parcialmente suportada-
url🟡 Parcialmente suportada-
util🟡 Parcialmente suportada-
vm🟡 Parcialmente suportada-
zlib🟡 Parcialmente suportada-

Para informações adicionais sobre compatibilidade:

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

Contribuidores