docusaurus/lib/load/config.js
2018-08-10 15:03:44 +08:00

26 lines
716 B
JavaScript

const fs = require('fs-extra');
const path = require('path');
module.exports = function loadConfig(siteDir, deleteCache = true) {
const configPath = path.resolve(siteDir, 'siteConfig.js');
if (deleteCache) {
delete require.cache[configPath];
}
let config = {};
if (fs.existsSync(configPath)) {
config = require(configPath); // eslint-disable-line
}
const requiredFields = [
'title',
'tagline',
'organizationName',
'projectName',
'baseUrl'
];
const missingFields = requiredFields.filter(field => !config[field]);
if (missingFields && missingFields.length > 0) {
throw new Error(missingFields.join(', ') + ' are missing in siteConfig.js');
}
return config;
};