Getting Started
TypeScript / Node.js quickstart for Fusion Framework
Install
From the framework monorepo (development):
cd crates/fusion-node
npm install
npm run build:debugPublished package:
npm i fusion-frameworkScaffold with Fusion Tool
fusion init --lang typescript --name my-appCreates main.ts, core/settings.ts, sample module, fusion.<env>.json, and (from recent tool versions) package.json / tsconfig.json.
First API
import "./src/modules/products/products";
import { FusionApp, getSettings, settings } from "fusion-framework";
// Global middleware (optional). Framework ships with none by default.
const MIDDLEWARE: Array<(req: any, next: any) => any> = [];
async function main() {
settings.ensureLoaded([process.cwd()]);
const app = new FusionApp(getSettings());
for (const mw of MIDDLEWARE) app.use(mw);
await app.listen();
}
main();Module example:
import { FusionBaseApi, route, status } from "fusion-framework";
export const ProductModule = route("api/[module]", {
tags: ["swagger"],
desc: "Products",
})(
class ProductModule extends FusionBaseApi {
get() {
return this.response({ products_id: 12 }, status.HTTP_SUCCESS);
}
},
);Next
- Router — paths,
this.params, responses - Config —
fusion.<env>.json - Middleware —
bearerJwt,roles - Concepts overview: Python Getting Started