Um empacotador de módulos JavaScript que reúne módulos e assets em poucos bundles, com divisão de código e loaders para arquivos que não são JavaScript.
- Estrelas
- 3,329
- Forks
- 215
- Issues abertas
- 85
- Último commit
- há 3 dias
O que é?
nob.h é uma biblioteca C de arquivo único para escrever receitas de build em C, em vez de usar Make, CMake ou scripts de shell. A ideia, chamada NoBuild, é inicializar o sistema de build de um projeto usando apenas um compilador C: você compila um pequeno programa nob.c uma vez, e esse programa passa a compilar o restante do projeto.
A biblioteca foi feita para ser copiada para um projeto como um único arquivo de header. Como a lógica de build é escrita em C comum, o script pode reutilizar diretamente o código do próprio projeto, e o projeto também pode usar helpers criados para o build. O projeto se descreve como experimental e adequado a projetos C e C++ que buscam builds simples e portáveis, em vez de estruturas complexas de gerenciamento de dependências.
O autor observa que a abordagem se parece mais com escrever scripts de shell em C do que usar um gerador de build completo, por isso é preciso ter familiaridade com C e escrever alguns utilitários por conta própria. Há versões da mesma ideia para C++, Java e Fortran.
Recursos principais
- 01Distribuída como um único arquivo de header, copiado diretamente para o projeto.
- 02Exige apenas um compilador C, sem depender de make, CMake ou shell.
- 03A lógica de build é escrita em C e pode compartilhar código com o projeto.
- 04Funciona em Linux, macOS, Windows, FreeBSD e outras plataformas com um compilador C.
Casos de uso
- Compilar projetos C/C++ pequenos ou médios sem instalar make ou CMake.
- Escrever scripts de build portáveis que funcionem da mesma forma em diferentes sistemas operacionais.
- Inicializar o build de um projeto C com um único comando do compilador.
Início rápido
- 1
Baixe o único arquivo de cabeçalho, nob.h, do repositório
- 2
Copie nob.h para o seu projeto e comece a usá-lo; consulte a pasta how_to/ para ver exemplos
Antes de usar
- O autor o descreve como um projeto de pesquisa experimental, sem alegar que seja adequado para algum uso específico.
- Não é adequado para projetos que dependem de módulos no estilo do CMake e de muitas dependências.
- Para escrever scripts de build, é preciso ter familiaridade com a implementação das coisas por conta própria em C.
- Só faz sentido para projetos em C e C++.
Tópicos
Perguntas frequentes
- O que é nob.h?
- Biblioteca C de arquivo único para escrever scripts de build em C, tendo um compilador C como única dependência de build. nob.h é uma biblioteca C de arquivo único para escrever receitas de build em C, em vez de usar Make, CMake ou scripts de shell. A ideia, chamada NoBuild, é inicializar o sistema de build de um projeto usando apenas um compilador C: você compila um pequeno programa nob.c uma vez, e esse programa passa a compilar o restante do projeto.
- nob.h é gratuito? Qual é a licença?
- nob.h é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- nob.h ainda é mantido?
- Manutenção ativa. O último commit de nob.h foi em 18 de out. de 2026.
- Para que posso usar nob.h?
- Compilar projetos C/C++ pequenos ou médios sem instalar make ou CMake. Escrever scripts de build portáveis que funcionem da mesma forma em diferentes sistemas operacionais. Inicializar o build de um projeto C com um único comando do compilador.
- Como instalar nob.h?
- Baixe o único arquivo de cabeçalho, nob.h, do repositório Copie nob.h para o seu projeto e comece a usá-lo; consulte a pasta how_to/ para ver exemplos
- Onde consigo nob.h?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tsoding/nob.h
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma ferramenta de build web sem configuração que empacota HTML, CSS, JavaScript e assets sem precisar de um arquivo de configuração.
Um bundler extremamente rápido para JavaScript, TypeScript, JSX e CSS, com CLI e APIs para JavaScript e Go.
Um executor de tarefas rápido e multiplataforma, escrito em Go, inspirado no Make e configurado por meio de um arquivo Taskfile em YAML.
Um microframework C++ rápido, no estilo do Flask, para criar serviços web HTTP e WebSocket, distribuído como header-only e fácil de usar.
Um harness baseado em plugins que oferece a Claude Code, Codex e outros agentes de programação agentes, skills, hooks, memória e varredura de segurança compartilhados.