@xompass/loopback-datasource-juggler
v10.0.0
Published
Fork of loopback-datasource-juggler for LoopBack 3 style applications
Downloads
65
Readme
@xompass/loopback-datasource-juggler
@xompass/loopback-datasource-juggler is a fork of loopback-datasource-juggler focused on keeping LoopBack 3 style data access working while reducing maintenance overhead.
The goal of this fork is practical compatibility for the common upstream use cases, not byte-for-byte preservation of the original package. The internals were intentionally simplified and modernized:
- TypeScript source with build output in
dist/ - English-only messages
- no i18n catalogs or
strong-globalize - several legacy dependencies removed or replaced
- modern tooling with
tsdown,vitest, andoxlint - callback-compatible public APIs that continue to work with
Promiseandasync/await
Installation
npm install @xompass/loopback-datasource-jugglerIf you are also using the related connector forks, pair it with packages such as @xompass/loopback-connector and @xompass/loopback-connector-mongodb.
Quick start
const juggler = require('@xompass/loopback-datasource-juggler');
const ds = new juggler.DataSource('memory');
const Product = ds.createModel('Product', {
name: String,
price: Number,
});
async function main() {
await Product.create({ name: 'Notebook', price: 20 });
const products = await Product.find();
console.log(products);
}
main().catch(console.error);Scope
This package still provides the same main building blocks that existing juggler users expect:
- datasource and connector abstraction
- model definition and inheritance
- relations and inclusion
- scopes and query normalization
- validations and hooks
- transactions and id generation helpers
If you are migrating an existing codebase, the intent is that the public API should feel familiar even though the implementation is leaner.
Notes for Fork Users
- This is a maintained fork, not the upstream package.
- Messages are English-only by design.
- Legacy internals were removed where they were easy to replace without changing the public API.
- The test entrypoint is
vitest, while the large legacy suite still runs underneath for compatibility.
Development
npm run build
npm run typecheck
npm run lint
npm testLicense
MIT. See LICENSE.
