Socket
Book a DemoInstallSign in
Socket

@slimio/core

Package Overview
Dependencies
Maintainers
5
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@slimio/core

Slim.IO Core

0.11.0
latest
Source
npmnpm
Version published
Weekly downloads
27
200%
Maintainers
5
Weekly downloads
 
Created
Source

Core

The Core was created to load and manage SlimIO addons, it will create/handle communication between each addons.

Each addon are isolated from each others (designed like container above).

Requirements

  • Node.js v10 or higher

Features / Roles

  • (Re)loading addons.
  • Manage communication between addons.
  • Retention of communications in case of anomalies.
  • Monitoring isolation.

Getting Started

This package is available in the Node Package Repository and can be easily installed with npm or yarn.

$ npm i @slimio/core
# or
$ yarn add @slimio/core

Usage example

A script that demonstrate how to load a default core (Configuration will be created dynamically).

const Core = require("@slimio/core");

async function main() {
    console.time("start_core");
    const core = await (new Core(__dirname)).initialize();
    console.timeEnd("start_core");

    // Handle exit signal!
    process.on("SIGINT", () => {
        console.error("Exiting SlimIO Agent (please wait)");
        core.exit().then(() => {
            setImmediate(process.exit);
        }).catch(function mainErrorHandler(error) {
            console.error(error);
            process.exit(1);
        });
    });
}
main().catch(console.error);

API

constructor(dirname: string, options?: Core.ConstructorOptions)

Create a new instance of Core Object. The argument dirname is the root directory where the core have to load his configuration and all addons.

The constructor take an optional options object which contain all options to configure the core Agent.

interface ConstructorOptions {
    silent?: boolean;
    autoReload?: number;
}
initialize(): Promise< this >

Initialize the Core (it will load configuration and addons). The loading of addons is lazy, so the response will be returned before the addons have had time to fully load.

exit(): Promise< void >

Stop the core and all affiliated ressources (addons, config etc..).

Note: Think to exit the process with an iteration + 1 (with setImmediate).

Dependencies

NameRefactoringSecurity RiskUsage
@slimio/addon⚠️MajorHighAddon default class
@slimio/configMinorHighConfiguration interaction
@slimio/ipc⚠️MajorHighInter-process communication
@slimio/isMinorLowType checker
@slimio/safe-emitterMinorHighSafe emittter
@slimio/schedulerMinorLowScheduler
@slimio/utilsMinorHighBunch of useful functions
make-promises-safe⚠️MajorHighPromise not exit process when fail

License

MIT

Keywords

SlimIO

FAQs

Package last updated on 01 Nov 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.