Fixed some Bugs in configHandler
This commit is contained in:
parent
f249a4552c
commit
24a9deae62
@ -1,7 +1,7 @@
|
|||||||
import fs from 'node:fs';
|
import fs from 'node:fs';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
|
|
||||||
export type configObject = Record<any, any>
|
export type configObject = Record<any, any>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class is responsible to save/edit config files.
|
* This class is responsible to save/edit config files.
|
||||||
@ -13,7 +13,7 @@ export type configObject = Record<any, any>
|
|||||||
export default class config {
|
export default class config {
|
||||||
#configPath: string;
|
#configPath: string;
|
||||||
//global = {[key: string] : string}
|
//global = {[key: string] : string}
|
||||||
global: configObject
|
global: configObject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an instance of config.
|
* Creates an instance of config.
|
||||||
@ -35,7 +35,15 @@ export default class config {
|
|||||||
// Save config.
|
// Save config.
|
||||||
this.save_config();
|
this.save_config();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('Could not read config file at ' + this.#configPath + ' due to: ' + err);
|
// If file does not exist, create it.
|
||||||
|
if (err.code === 'ENOENT') {
|
||||||
|
console.log(`Config file does not exist. Creating it at ${this.#configPath} now.`);
|
||||||
|
this.save_config();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.error(`Could not read config file at ${this.#configPath} due to: ${err}`);
|
||||||
|
// Exit process.
|
||||||
|
process.exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,30 +54,28 @@ export default class config {
|
|||||||
try {
|
try {
|
||||||
fs.writeFileSync(this.#configPath, JSON.stringify(this.global, null, 8));
|
fs.writeFileSync(this.#configPath, JSON.stringify(this.global, null, 8));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('Could not write config file at ' + this.#configPath + ' due to: ' + err);
|
console.error(`Could not write config file at ${this.#configPath} due to: ${err}`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log('Successfully written config file to ' + this.#configPath);
|
console.log(`Successfully written config file to ${this.#configPath}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// BUG: If file does'nt exist -> fail.
|
|
||||||
// TODO: Check for SyntaxError on fileread and ask if the user wants to continue -> overwrite everything. This behavior is currently standard.
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
**** Example ****
|
**** Example ****
|
||||||
|
|
||||||
const default_config = {
|
import configHandler from './assets/configHandler.js';
|
||||||
token: 'your-token-goes-here',
|
|
||||||
clientId: '',
|
|
||||||
devserverID: '',
|
|
||||||
devmode: true
|
|
||||||
};
|
|
||||||
|
|
||||||
|
// Create a new config instance.
|
||||||
|
export const config = new ConfigHandler(__path + '/config.json', {
|
||||||
|
db_connection_string: 'mysql://USER:PASSWORD@HOST:3306/DATABASE',
|
||||||
|
http_listen_address: '127.0.0.1',
|
||||||
|
http_port: 3000,
|
||||||
|
sentry_dsn: 'https://ID@sentry.example.com/PROJECTID',
|
||||||
|
debug: false
|
||||||
|
});
|
||||||
|
|
||||||
import configHandler from './assets/config.js';
|
|
||||||
const config = new configHandler(__path + '/config.json', default_config);
|
|
||||||
|
|
||||||
console.log('Base Config:');
|
console.log('Base Config:');
|
||||||
console.log(config.global);
|
console.log(config.global);
|
||||||
|
Loading…
Reference in New Issue
Block a user