UNPKG

datoit

Version:

An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MongoDB, MySQL, MariaDB, PostgreSQL, SQLite

37 lines (28 loc) 1.18 kB
'use strict'; const _ = require('lodash'); const findPackagePath = require('../load/package-path'); const loadFiles = require('../load/load-files'); const loadConfig = require('../load/load-config-files'); const mergeRoutes = (a, b, key) => _.isArray(a) && _.isArray(b) && key === 'routes' ? a.concat(b) : undefined; module.exports = async strapi => { const adminPath = findPackagePath('datoit-admin'); const [files, config] = await Promise.all([ loadFiles(adminPath, '!(config|node_modules|tests|ee|scripts)/*.*(js|json)'), loadConfig(adminPath), ]); // set admin config in strapi.config.server.admin const userAdminConfig = strapi.config.get('server.admin'); strapi.config.set('server.admin', _.merge(config.config, userAdminConfig)); // load ee files if they exist let eeFiles = {}; let eeConfig = {}; if (process.env.STRAPI_DISABLE_EE !== 'true' && strapi.EE) { const eeAdminPath = `${adminPath}/ee`; [eeFiles, eeConfig] = await Promise.all([ loadFiles(eeAdminPath, '!(config|tests|test)/*.*(js|json)'), loadConfig(eeAdminPath), ]); } return _.mergeWith({}, files, eeFiles, config, eeConfig, mergeRoutes); };