npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@brunoluizdesiqueira/bbuilder-cli

v1.0.24

Published

CLI de build local para projetos Delphi do Bimer

Downloads

3,234

Readme

bbuilder-cli

CLI para build local de projetos Delphi.

  • seleção interativa de projeto, modo e versão
  • suporte a FAST, DEBUG e RELEASE
  • configuração por arquivo bbuilder.config.json
  • diagnóstico de ambiente com doctor
  • validação de comandos com validate-commands

Requisitos

  • Node.js 18+
  • Windows
  • Delphi instalado
  • bibliotecas do projeto disponíveis na máquina

Instalação

npm install -g @brunoluizdesiqueira/bbuilder-cli

Depois confirme:

bbuilder --version

Configuração

Crie a configuração inicial:

bbuilder config init

Ou use um arquivo manual como este:

{
  "repoBase": "C:\\git\\bimer",
  "delphiDir": "C:\\Program Files (x86)\\Embarcadero\\Studio\\22.0",
  "envVersion": "11.03.00",
  "libRoot": "C:\\LibraryDelphiAlexandria",
  "libExternos": "${libRoot}\\Externos\\3.00",
  "libErp": "${libRoot}\\ERP\\${envVersion}",
  "libAlterdata": "${libRoot}\\LibAlterdata\\1.0.0",
  "exeOutputDir": "C:\\Temp\\${envVersion}\\EXE",
  "dcuOutputDir": "C:\\Temp\\${envVersion}\\DCU",
  "dependencyPaths": [
    "C:\\git\\bimer\\dependencies",
    "C:\\Program Files (x86)\\Embarcadero\\Studio\\22.0\\lib\\Win64\\release",
    "C:\\LibraryDelphiAlexandria\\Externos\\3.00\\sgcWebSockets\\Win64",
    "C:\\LibraryDelphiAlexandria\\ERP\\11.03.00\\Win64"
  ],
  "projects": {
    "BimerFaturamento": "faturamento\\BimerFaturamento",
    "Bimer": "Bimer"
  }
}

Templates de Paths

Os campos de path suportam variáveis que são resolvidas automaticamente:

  • ${libRoot} - caminho base da biblioteca (padrão: C:\LibraryDelphiAlexandria)
  • ${envVersion} - versão do ambiente (padrão: 11.03.00)

Exemplos:

  • "${libRoot}\\Externos\\3.00""C:\\LibraryDelphiAlexandria\\Externos\\3.00"
  • "C:\\Temp\\${envVersion}\\EXE""C:\\Temp\\11.03.00\\EXE"

Campos que suportam templates:

  • libRoot - caminho base da biblioteca
  • libExternos - pasta Externos (derivado de libRoot)
  • libErp - pasta do ERP (derivado de libRoot e envVersion)
  • libAlterdata - pasta LibAlterdata (derivado de libRoot)
  • exeOutputDir - diretório de saída do executável
  • dcuOutputDir - diretório de saída das units compiladas

dependencyPaths varia por máquina e deve ser ajustado por usuário.

Resolução da Configuração

Ordem de prioridade:

  1. --config <caminho>
  2. variável de ambiente BBUILDER_CONFIG
  3. bbuilder.config.json no diretório atual
  4. bimer.config.json no diretório atual, por compatibilidade
  5. arquivo global do usuário

No Windows, o arquivo global padrão fica em:

%APPDATA%\bbuilder-cli\bbuilder.config.json

Exemplos:

bbuilder --config C:\configs\bbuilder.config.json build
set BBUILDER_CONFIG=C:\configs\bbuilder.config.json
bbuilder build
$env:BBUILDER_CONFIG="C:\configs\bbuilder.config.json"
bbuilder build

Uso

Modo interativo:

bbuilder

Build direto:

bbuilder build --type DEBUG --project BimerFaturamento --version 11.3.1
bbuilder build --type FAST --project Bimer
bbuilder build --type RELEASE --project Bimer

Atalhos:

bbuilder fast
bbuilder debug --project Bimer
bbuilder release --project Bimer --version 11.3.1

Projetos:

bbuilder project list
bbuilder project add
bbuilder project remove
bbuilder project remove --name Bimer

Configuração:

bbuilder config init
bbuilder config show
bbuilder config validate
bbuilder doctor

Validação de Comandos

Para verificar quais comandos serão executados sem rodar o build:

bbuilder validate-commands --type FAST
bbuilder validate-commands --type DEBUG
bbuilder validate-commands --type RELEASE

Opções:

  • -t, --type - modo de build (FAST, DEBUG, RELEASE)
  • -p, --project - caminho do projeto
  • -v, --version - versão do exe

Esta ferramenta é útil para:

  • depuração de problemas de build
  • geração de testes unitários
  • verificação de paths e argumentos

Observações de Uso

  • o build mostra etapas com tempo decorrido
  • cgrc e dcc64 escrevem diretamente no terminal durante a compilação
  • no PowerShell, a saída do compilador pode ser menos verbosa que no cmd, mesmo com o build funcionando corretamente

Se o PowerShell bloquear npm ou bbuilder, ajuste a policy do usuário:

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

Troubleshooting

Validar ambiente:

bbuilder doctor

Validar configuração:

bbuilder config validate

Verificar comandos que serão executados:

bbuilder validate-commands --type DEBUG

Erro Unit not found: 'System' normalmente indica problema em:

  • delphiDir
  • dependencyPaths
  • path ...\lib\Win64\release ausente na configuração

Publicação

Para usuários, nada além de instalar o pacote é necessário.

Para mantenedores, o fluxo é:

  • criar changeset
  • abrir PR
  • mergear na main
  • mergear a PR automática de release
  • publicação no npm ocorre via GitHub Actions

Licença

ISC