23 lines
659 B
TypeScript
23 lines
659 B
TypeScript
import { Kernel } from "./kernel";
|
|
import { getProduct, sharedExtensions } from "./products";
|
|
|
|
const productIds = process.argv.slice(2);
|
|
const products = (productIds.length > 0 ? productIds : ["cli"]).map(getProduct);
|
|
const factories = [
|
|
...sharedExtensions,
|
|
...products.flatMap((product) => product.extensions),
|
|
];
|
|
const kernel = new Kernel().use(...factories.map((factory) => factory()));
|
|
|
|
await kernel.start();
|
|
|
|
console.log(
|
|
`Kernel foundation is ready for ${products.map((product) => product.id).join(", ")}; ${kernel.installedExtensionIds.length} extensions installed.`,
|
|
);
|
|
|
|
await kernel.stop();
|
|
|
|
console.log(
|
|
`Kernel foundation is stopped.`,
|
|
);
|