mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Move default files creation to post-install
This commit is contained in:
@ -2,8 +2,32 @@
|
|||||||
* Scripts to be done before starting the server for the first time.
|
* Scripts to be done before starting the server for the first time.
|
||||||
*/
|
*/
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
const crypto = require('crypto');
|
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.
|
* Returns the MD5 hash of the given data.
|
||||||
* @param {Buffer} data Input data
|
* @param {Buffer} data Input data
|
||||||
@ -48,7 +72,9 @@ function copyWasmFiles() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 1. Copy transformers WASM binaries from node_modules
|
// 1. Create default config files
|
||||||
|
createDefaultFiles();
|
||||||
|
// 2. Copy transformers WASM binaries from node_modules
|
||||||
copyWasmFiles();
|
copyWasmFiles();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(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.maxArrayLength = null;
|
||||||
util.inspect.defaultOptions.maxStringLength = null;
|
util.inspect.defaultOptions.maxStringLength = null;
|
||||||
|
|
||||||
// Create files before running anything else
|
|
||||||
createDefaultFiles();
|
|
||||||
|
|
||||||
// local library imports
|
// local library imports
|
||||||
const basicAuthMiddleware = require('./src/middleware/basicAuthMiddleware');
|
const basicAuthMiddleware = require('./src/middleware/basicAuthMiddleware');
|
||||||
const characterCardParser = require('./src/character-card-parser.js');
|
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 { writeSecret, readSecret, readSecretState, migrateSecrets, SECRET_KEYS, getAllSecrets } = require('./src/secrets');
|
||||||
const { delay, getVersion } = require('./src/util');
|
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.
|
// 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
|
// https://github.com/nodejs/node/issues/47822#issuecomment-1564708870
|
||||||
// Safe to remove once support for Node v20 is dropped.
|
// Safe to remove once support for Node v20 is dropped.
|
||||||
|
Reference in New Issue
Block a user