Bobril Build Core
raw JSON → 2.4.0 verified Sat Apr 25 auth: no javascript
bobril-build is the build tool for Bobril applications, providing npm-driven download, compilation, bundling, and testing. Current stable version is 5.4.0, released with locale quote metadata generation. It is actively maintained with a release cadence of minor versions every few months. Key differentiators include deep TypeScript 5.x/6.x support, headless browser integration for tests, and a caching system optimized for large Bobril projects. It is the only build system designed specifically for the Bobril framework.
Common errors
error ERR_REQUIRE_ESM: require() of ES Module not supported ↓
cause Using require() on an ESM-only version of bobril-build (v5+).
fix
Switch to import syntax or use dynamic import().
error TypeScript compiler error: 'Namespace' is not assignable to type 'typeof import' ↓
cause Using old TypeScript interop with bobril-build v5.3.0 or older, after TS 6.0.2 changes.
fix
Update to bobril-build v5.3.1 or later, or adjust TypeScript module settings.
error Error: DiskCache child lookup race condition ↓
cause Concurrent refresh operations in versions before v5.2.1.
fix
Upgrade to bobril-build v5.2.1 or later.
Warnings
breaking ESM-only since v5.0.0: require() will throw. ↓
fix Use import statements or update to ESM-compatible Node.js.
deprecated TypeScript 6 compatibility is fixed in v5.2.0, older versions may fail. ↓
fix Upgrade to v5.2.0 or later.
breaking Cache table version bump in v5.3.2 invalidates old transpilation caches. ↓
fix Incremental builds may re-transpile; no user action needed but expect one-time slower build.
gotcha Headless browser logs only print in verbose mode (v5.1.2+); without --verbose, failures may be silent. ↓
fix Pass --verbose flag or set log level to debug.
Install
npm install bobril-build yarn add bobril-build pnpm add bobril-build Imports
- build wrong
const build = require('bobril-build')correctimport { build } from 'bobril-build' - test wrong
const { test } = require('bobril-build')correctimport { test } from 'bobril-build' - run wrong
const run = require('bobril-build').runcorrectimport { run } from 'bobril-build'
Quickstart
import { build } from 'bobril-build';
await build({
root: './src',
outputDir: './dist',
entry: 'index.tsx',
minify: true
});