Instalação
Você precisa de Node.js 22.12 ou superior, Linux x64 ou Windows x64. Para consumir o pacote pronto, não precisa instalar Delphi, Free Pascal, Lazarus ou SVN.
1. Confira seu Node.js
Abra o terminal e execute:
node --version
npm --version
node -p "process.platform + ' ' + process.arch"A última saída deve ser linux x64 ou win32 x64. No Linux, a versão inicial foi validada no Ubuntu 24.04 com glibc. Alpine/musl não é um alvo suportado.
Se precisar instalar Node.js, use os downloads oficiais.
2. Crie um projeto
mkdir minha-aplicacao-fiscal
cd minha-aplicacao-fiscal
npm init -y
npm install cosmemilton-acbr-node@0.2.2Em um projeto existente, execute apenas a instalação na pasta que contém seu package.json.
O pacote principal instala uma dependência opcional conforme sua plataforma:
| Plataforma | Motor selecionado pelo npm |
|---|---|
| Linux x64 | cosmemilton-acbr-node-linux-x64 |
| Windows x64 | cosmemilton-acbr-node-win32-x64 |
O motor já compilado acompanha bibliotecas, schemas, serviços, fontes correspondentes e licenças. Mantenha as dependências opcionais: não use --omit=optional para esta instalação.
Windows
Prefira uma pasta local, como C:\Projetos\MinhaAplicacaoFiscal. O comando npm.cmd não mantém um caminho de rede UNC como diretório atual. Se seu checkout está no WSL, execute o npm no terminal Linux ou copie a aplicação para uma pasta local do Windows.
3. Confira a importação
node --input-type=module -e "import { criarEmissor } from 'cosmemilton-acbr-node'; console.log(typeof criarEmissor)"O resultado esperado é function. Isso confere a importação; o próximo guia executa o motor real ao gerar XML.
Explore o contrato offline
Na versão publicada 0.2.2, consulte campos e tipos antes de preencher a nota:
npx --no-install acbr-node --help
npx --no-install acbr-node --version
npx --no-install acbr-node describe --help
npx --no-install acbr-node describe Ide.tpNF
npx --no-install acbr-node describe TTipoNFe --jsonIde.tpNF aceita tnEntrada e tnSaida. A ajuda usa os metadados do pacote instalado; não carrega o runtime, usa certificado ou acessa serviços fiscais. Veja ajuda de campos e tipos para caminhos, coleções e erros.
--version informa acbr-node 0.2.2 nesta versão. describe, --version e a ajuda por subcomando foram acrescentados na 0.2.2; o comando anterior help TAG caminho continua compatível. O SDK 0.2.2 mantém os runtimes nativos 0.2.1.
JavaScript e TypeScript
Os exemplos iniciais usam arquivos .mjs, que funcionam diretamente com Node.js sem uma etapa de compilação. Em TypeScript, importe os mesmos símbolos:
import { criarEmissor, TNFe, type TNFeInput } from 'cosmemilton-acbr-node';O pacote também oferece CommonJS:
const { criarEmissor, TNFe } = require('cosmemilton-acbr-node');Os downloads TypeScript usam módulos ES e await no nível superior. Ao compilá-los com module: "NodeNext", configure "type": "module" no package.json da aplicação. O exemplo .mjs funciona sem essa alteração.
Para este primeiro uso você não precisa executar init, generate, build ou doctor. Eles pertencem ao fluxo de revisão própria.
Continue em Seu primeiro XML offline.