@node-in-layers/core
Version:
The core library for the Node In Layers rapid web development framework.
35 lines • 1.21 kB
JavaScript
import omit from 'lodash/omit.js';
import * as globalsApp from './globals/index.js';
import * as layersApp from './layers.js';
import { CoreNamespace } from './types.js';
/**
* Loads a node in layers system.
* 1. Reads the configuration (if not provided).
* 2. Loads globals
* 3. Loads all layers
* @param args - The required arguments.
*/
const loadSystem = async (args) => {
const globalServices = globalsApp.services.create({
environment: args.environment,
workingDirectory: typeof process !== 'undefined' ? process.cwd() : '',
});
const globalFeatures = globalsApp.features.create({
services: {
[globalsApp.name]: globalServices,
},
});
const globals = await globalFeatures.loadGlobals(args.config || args.environment);
const layersServices = layersApp.services.create();
// @ts-ignore
const layersFeatures = layersApp.features.create({
...globals,
services: {
[layersApp.name]: layersServices,
},
});
const layers = await layersFeatures.loadLayers();
return omit(layers, [`services.${CoreNamespace.layers}`]);
};
export { loadSystem };
//# sourceMappingURL=entries.js.map