builder library
Build-time transformations for Locorda applications.
Provides builders for:
- WorkerGeneratorBuilder: Auto-generates
lib/worker_generated.g.dartfrom manifest files - WebWorkerBuilder: Compiles workers to JS with distinct outputs:
lib/worker.dart→web/worker.dart.js(manual)lib/worker_generated.g.dart→web/worker_generated.dart.js(generated)
Usage
Add to your pubspec.yaml:
dev_dependencies:
locorda_builder: ^0.1.0
build_runner: ^2.4.0
The builders are automatically applied to projects that depend on locorda_builder.
Run dart run build_runner build or use watch mode during development:
dart run build_runner watch
Convention over Configuration
- Worker generator discovers manifests automatically and generates
lib/worker_generated.g.dart - Worker source:
lib/worker.dart(manual) orlib/worker_generated.g.dart(generated) - Output:
web/worker.dart.js - No additional configuration needed for basic usage
Note: The generated file is named worker_generated.g.dart (not worker.g.dart)
to avoid build conflicts with source_gen:combining_builder when using manual worker.dart.
Web Assets
For web platform, you need to manually provide:
web/sqlite3.wasm- SQLite WebAssembly moduleweb/drift_worker.js- Drift's web worker
Download from:
Classes
- ManifestInfo
- Information about a discovered manifest file.
- WebWorkerBuilder
- Compiles Dart worker entry points to JavaScript for web platform.
- WorkerGeneratorBuilder
- Generates worker_generated.g.dart by discovering and aggregating manifest files.
Functions
-
webWorkerBuilder(
BuilderOptions options) → Builder - Builder factory for build_runner integration.
-
workerGeneratorBuilder(
BuilderOptions options) → Builder - Builder factory for build_runner integration.