Move default files creation to post-install
This commit is contained in:
parent
179de92231
commit
ece34dc337
|
@ -2,8 +2,32 @@
|
|||
* Scripts to be done before starting the server for the first time.
|
||||
*/
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const crypto = require('crypto');
|
||||
|
||||
/**
|
||||
* Creates the default config files if they don't exist yet.
|
||||
*/
|
||||
function createDefaultFiles() {
|
||||
const files = {
|
||||
settings: './public/settings.json',
|
||||
bg_load: './public/css/bg_load.css',
|
||||
config: './config.conf',
|
||||
};
|
||||
|
||||
for (const file of Object.values(files)) {
|
||||
try {
|
||||
if (!fs.existsSync(file)) {
|
||||
const defaultFilePath = path.join('./default', path.parse(file).base);
|
||||
fs.copyFileSync(defaultFilePath, file);
|
||||
console.log(`Created default file: ${file}`);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`FATAL: Could not write default file: ${file}`, error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the MD5 hash of the given data.
|
||||
* @param {Buffer} data Input data
|
||||
|
@ -48,7 +72,9 @@ function copyWasmFiles() {
|
|||
}
|
||||
|
||||
try {
|
||||
// 1. Copy transformers WASM binaries from node_modules
|
||||
// 1. Create default config files
|
||||
createDefaultFiles();
|
||||
// 2. Copy transformers WASM binaries from node_modules
|
||||
copyWasmFiles();
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
|
|
23
server.js
23
server.js
|
@ -61,9 +61,6 @@ const _ = require('lodash');
|
|||
util.inspect.defaultOptions.maxArrayLength = null;
|
||||
util.inspect.defaultOptions.maxStringLength = null;
|
||||
|
||||
// Create files before running anything else
|
||||
createDefaultFiles();
|
||||
|
||||
// local library imports
|
||||
const basicAuthMiddleware = require('./src/middleware/basicAuthMiddleware');
|
||||
const characterCardParser = require('./src/character-card-parser.js');
|
||||
|
@ -73,26 +70,6 @@ const statsHelpers = require('./statsHelpers.js');
|
|||
const { writeSecret, readSecret, readSecretState, migrateSecrets, SECRET_KEYS, getAllSecrets } = require('./src/secrets');
|
||||
const { delay, getVersion } = require('./src/util');
|
||||
|
||||
function createDefaultFiles() {
|
||||
const files = {
|
||||
settings: 'public/settings.json',
|
||||
bg_load: 'public/css/bg_load.css',
|
||||
config: 'config.conf',
|
||||
};
|
||||
|
||||
for (const file of Object.values(files)) {
|
||||
try {
|
||||
if (!fs.existsSync(file)) {
|
||||
const defaultFilePath = path.join('default', path.parse(file).base);
|
||||
fs.copyFileSync(defaultFilePath, file);
|
||||
console.log(`Created default file: ${file}`);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`FATAL: Could not write default file: ${file}`, error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Work around a node v20.0.0, v20.1.0, and v20.2.0 bug. The issue was fixed in v20.3.0.
|
||||
// https://github.com/nodejs/node/issues/47822#issuecomment-1564708870
|
||||
// Safe to remove once support for Node v20 is dropped.
|
||||
|
|
Loading…
Reference in New Issue