initConfig.js 785 B

12345678910111213141516171819202122232425
  1. const { copyFile, readFile, writeFile } = require('fs/promises');
  2. const checkFileExists = require('../checkFileExists');
  3. const initialConfig = require('./initialConfig.json');
  4. const initConfig = async () => {
  5. const configExists = await checkFileExists('data/config.json');
  6. if (!configExists) {
  7. await copyFile('utils/init/initialConfig.json', 'data/config.json');
  8. }
  9. const existingConfig = await readFile('data/config.json', 'utf-8');
  10. const parsedConfig = JSON.parse(existingConfig);
  11. // Add new config pairs if necessary
  12. for (let key in initialConfig) {
  13. if (!Object.keys(parsedConfig).includes(key)) {
  14. parsedConfig[key] = initialConfig[key];
  15. }
  16. }
  17. await writeFile('data/config.json', JSON.stringify(parsedConfig));
  18. };
  19. module.exports = initConfig;