Skip to content
 
 

Repository files navigation

bpmn-auto-layout CLI

Fork do projeto original: bpmn-io/bpmn-auto-layout

Este fork adiciona suporte para execução via linha de comando, permitindo aplicar auto layout em arquivos BPMN diretamente do terminal com o comando bpmnautolayout.

🚀 Instalação Rápida

Pré-requisitos

  • Node.js versão 14 ou superior
  • npm (incluído com Node.js)

Passos para Instalação

  1. Clone este repositório:
git clone https://github.com/dan4ndrade/bpmn-auto-layout.git
cd bpmn-auto-layout
  1. Instale as dependências:
npm install
  1. Execute o build:
npm run build
  1. Instale globalmente:
npm link

💻 Como Usar

Via Linha de Comando

Após a instalação, use o comando bpmnautolayout em qualquer terminal:

# Aplica auto layout e salva como arquivo.layout.bpmn
bpmnautolayout arquivo.bpmn

# Especifica arquivo de saída personalizado
bpmnautolayout arquivo.bpmn saida.bpmn

Exemplos práticos:

# Processa um diagrama simples
bpmnautolayout meu-processo.bpmn

# Salva com nome específico
bpmnautolayout processo-complexo.bpmn processo-formatado.bpmn

🔧 Troubleshooting

Comando não encontrado

Se o comando bpmnautolayout não for reconhecido:

  1. Verifique se o npm link foi executado com sucesso
  2. Verifique se o diretório global do npm está no PATH:
    npm config get prefix
  3. No macOS/Linux, adicione ao seu .zshrc ou .bashrc:
    export PATH="$(npm config get prefix)/bin:$PATH"

Erro de permissões

Se houver erro de permissões no npm link:

sudo npm link

Problemas com arquivos BPMN

  • Certifique-se de que o arquivo BPMN está bem formado (XML válido)
  • O arquivo deve ter extensão .bpmn
  • Verifique se você tem permissão de leitura no arquivo de entrada e escrita no diretório de saída

🗑️ Desinstalação

Para remover o comando global, execute dentro do diretório do projeto:

npm unlink -g bpmn-auto-layout

Ou alternativamente:

npm uninstall -g bpmn-auto-layout

📚 Documentação Original

CI

Create and layout the graphical representation of a BPMN diagram.

Try it out in the example project.

Usage as Library

This library works with Node.js and in the browser.

import { layoutProcess } from 'bpmn-auto-layout';

import diagramXML from './diagram.bpmn';

const diagramWithLayoutXML = await layoutProcess(diagramXML);

console.log(diagramWithLayoutXML);

Limitations

  • Given a collaboration only the first participant's process will be laid out
  • Sub-processes will be laid out as collapsed sub-processes
  • The following elements are not laid out:
    • Groups
    • Text annotations
    • Associations
    • Message flows

Resources

Build and Run

# install dependencies
npm install

# build and run tests
npm run all

# run example
npm start

Test

We use snapshot testing to verify old and new layout attempts. A mismatch is indicated as a test failure.

# run tests
npm test

# inspect the results
npm run test:inspect

# run update snapshots
npm run test:update-snapshots

Add new test cases to test/fixtures and they will be picked up automatically.

License

MIT

About

Layout BPMN diagrams, generating missing DI information.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages