# Compatibilidade APIs Node.js - Module

A API de `module` no Node.js é um sistema embutido que gerencia a estrutura modular das aplicações, permitindo importar, exportar e organizar código em componentes reutilizáveis. Esta API é fundamental para o carregamento e compartilhamento de funcionalidades entre diferentes partes de uma aplicação Node.js. Este módulo está disponível no Azion Runtime por meio da compatibilidade com Node.js, sendo geralmente utilizado para inspecionar o sistema de módulos, como ao listar os módulos embutidos disponíveis para uma function.

O exemplo abaixo mostra como usar o módulo `module` em uma função:

```javascript
/**
 * An example of using the Node.js Module API in an Azion Functions.
 * Support:
 * - Partially supported
 * @module runtime-apis/nodejs/module/main
 * @example
 * // Execute with Azion Bundler:
 * npx edge-functions build
 * npx edge-functions dev
 */
import module from "node:module";

/**
 * An example of using the Node.js Module API in an Azion Functions.
 * @param {*} event
 * @returns {Promise<Response>}
 */
const main = async (event) => {
  return new Promise((resolve, reject) => {
    module.builtinModules.forEach((moduleName) => {
      console.log(moduleName);
    });
    resolve(new Response("Done"));
  });
};

export default main;
```

:::note
As APIs `SourceMap` `_findPath`, `_initPaths`, `_load`, `_nodeModulePaths`, `_preloadModules`, `_resolveFilename` e `_resolveLookupPaths` não têm suporte.
:::

## Recursos relacionados

- [Documentação `module` do Node.js](https://nodejs.org/api/module.html)