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:
API | Nível de suporte | Exemplo de código | Comentários |
---|---|---|---|
async_hooks | 🟡 Parcialmente suportada | Acessar o exemplo de código | Apenas AsyncLocalStorage e AsyncResource estão implementadas. |
fs | 🟡 Parcialmente suportada | Apenas métodos assíncronos (confira a lista abaixo), outros através de polyfills | |
module | 🟡 Parcialmente suportada | ||
process.env | 🟢 Suportada | process.env.VAR_NAME | Outros recursos suportados através de polyfills (confira a tabela abaixo) |
url | 🟡 Parcialmente suportada | Apenas 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:
API | Nível de suporte | Exemplo de código |
---|---|---|
buffer | 🟡 Parcialmente suportada | Acessar exemplo de código |
crypto | 🟡 Parcialmente suportada | Acessar exemplo de código |
events | 🟡 Parcialmente suportada | Acessar exemplo de código |
fs | 🟡 Parcialmente suportada | Acessar exemplo de código |
http | 🟡 Parcialmente suportada | Acessar exemplo de código |
module | 🟡 Parcialmente suportada | Acessar exemplo de código |
os | 🟡 Parcialmente suportada | Acessar exemplo de código |
path | 🟡 Parcialmente suportada | Acessar exemplo de código |
process | 🟡 Parcialmente suportada | Acessar exemplo de código |
stream | 🟡 Parcialmente suportada | Acessar exemplo de código |
string_decoder | 🟡 Parcialmente suportada | Acessar exemplo de código |
timers | 🟡 Parcialmente suportada | Acessar exemplo de código |
url | 🟡 Parcialmente suportada | Acessar exemplo de código |
util | 🟡 Parcialmente suportada | Acessar exemplo de código |
vm | 🟡 Parcialmente suportada | Acessar exemplo de código |
zlib | 🟡 Parcialmente suportada | Acessar exemplo de código |
Para informações adicionais sobre compatibilidade:
Saiba mais sobre as Web APIs suportadas Saiba mais sobre os Web frameworks suportados