Azion unenv Preset
Use unenv polyfills for Node.js compatibility with Azion Runtime.
A preset configuration for unenv that provides polyfills and environment compatibility for Azion Runtime.
Go to Azion Libraries OverviewUsage
The preset can be used with unenv to provide compatibility between Node.js and Azion Runtime environments:
Features
Node.js Polyfills
This preset provides polyfills for common Node.js APIs to ensure compatibility when running code in the Azion Runtime environment. The following modules are polyfilled:
| Module | Description |
|---|---|
crypto | Complete cryptographic functionality including hashing, encryption, and UUID generation. |
events | Event handling through events/events.js. |
http | HTTP client functionality via stream-http. |
module | Basic module system compatibility (limited functionality). |
stream | Stream implementations via stream-browserify. |
string_decoder | String decoding utilities. |
url | URL parsing and formatting. |
util | Utility functions. |
timers | Timer functions via timers-browserify. |
vm | Virtual Machine functionality via vm-browserify. |
zlib | Compression functionality via browserify-zlib. |
Example:
This exemple is using the crypto polyfill.
File System Polyfills
The preset includes comprehensive file system polyfills that mirror Node.js’s fs module functionality. These polyfills work with an in-memory file system when running in the Edge Runtime.
Basic File Operations
Directory Operations
File Stats and Information
File Descriptors
Global Polyfills
The preset also provides polyfills for Node.js global variables and objects:
| Global Object | Description |
|---|---|
__dirname | Current directory name. |
__filename | Current file name. |
process | Process information and environment (including env variables). |
performance | Performance timing functionality. |
navigator | Browser-compatible navigator object. |
The preset also handles injection of these globals through the unenv configuration:
API Reference
getFileContent
Decodes file content and returns it as either a Buffer or string.
Parameters:
| Parameter | Description | Values |
|---|---|---|
file | The file object containing content in base64 format. | — |
returnBuffer | Determines return type (default: true). | true → Returns a Buffer,false → Returns a string. |
Returns:
| Return Type | Description |
|---|---|
Buffer | string | The decoded file content. |
Example:
closeSync
Synchronously closes the file descriptor.
Parameters:
| Parameter | Description |
|---|---|
fd | The file descriptor to close. |
Example:
openSync
Synchronously opens a file.
Parameters:
| Parameter | Description |
|---|---|
path | The path to the file. |
flags | The opening mode (for example, ‘r’, ‘w’). |
mode | (Optional) The file mode. |
Returns:
| Return Type | Description |
|---|---|
number | The file descriptor. |
Example:
statSync
Synchronously retrieves the fs.Stats for the specified path.
Parameters:
| Parameter | Description |
|---|---|
path | The path to the file or directory. |
options | (Optional) Options for the stat call. |
Returns:
| Return Type | Description |
|---|---|
fs.Stats | The stats object for the file or directory. |
Example:
readFileSync
Synchronously reads the entire contents of a file.
Parameters:
| Parameter | Description |
|---|---|
path | The file path. |
options | (Optional) Options for reading the file. |
Returns:
| Return Type | Description |
|---|---|
string | Buffer | The file contents. |
Example:
readdirSync
Synchronously reads the contents of a directory.
Parameters:
| Parameter | Description |
|---|---|
path | The directory path. |
options | (Optional) Options for reading the directory. |
Returns:
| Return Type | Description |
|---|---|
string[] | An array of file names in the directory. |
Example: