BSB (Better-Service-Base) is an event-driven microservices framework for Node.js and TypeScript with built-in cross-language schema validation (AnyVali / BSBType), type-safe events, and a pluggable architecture for config, logging, metrics, and events.
It is production-ready and secure-by-default for validated APIs and distributed services, and can run as a single node or a geo-scaled cluster.
Simplicity, flexibility, and expandability are core design goals.
Node.js is the primary implementation. Go, Python, .NET, and Rust ports are present in this repo and are being aligned toward the same contracts.
See Getting Started for more details
- Root
package-lock.jsonis single source of truth for workspace installs. - Workspace packages must not keep their own
package-lock.json. - Run installs from repo root only:
npm install npm run ws:check-lockfiles
docs/is workspace package and follows@bsb/baseversion.- When bumping BSB version:
npm run ws:version -- 9.1.11 npm install
- When only syncing docs version and plugin
@bsb/baseranges to current base:npm run ws:sync-versions npm install
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Alternatively, you may obtain a commercial license for this program. The commercial license allows you to use the Program in a closed-source manner, including the right to create derivative works that are not subject to the terms of the AGPL.
To obtain a commercial license, please contact the copyright holders at https://www.bettercorp.dev. The terms and conditions of the commercial license will be provided upon request.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
