From 46e9fcb3cb5143439c22e58f6716cde793a39e9d Mon Sep 17 00:00:00 2001 From: Carlos Valente Date: Tue, 22 Oct 2024 21:15:04 +0200 Subject: [PATCH] refactor: populate readme on start --- apps/server/src/setup/index.ts | 12 ++++++++++++ apps/server/src/setup/loadDemo.ts | 6 ++++-- apps/server/src/setup/loadStyles.ts | 12 +++++++----- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/apps/server/src/setup/index.ts b/apps/server/src/setup/index.ts index 619983187c..caf07d5e42 100644 --- a/apps/server/src/setup/index.ts +++ b/apps/server/src/setup/index.ts @@ -79,6 +79,12 @@ export const srcDir = { export const srcFiles = { /** Path to bundled CSS */ cssOverride: join(srcDir.root, config.user, config.styles.directory, config.styles.filename), + /** Path to bundled external readme */ + externalReadme: join(srcDir.root, config.external, 'README.md'), + /** Path to bundled user readme */ + userReadme: join(srcDir.root, config.user, 'README.md'), + /** Path to bundled CSS readme */ + cssReadme: join(srcDir.root, config.user, config.styles.directory, 'README.md'), }; /** @@ -135,4 +141,10 @@ export const publicFiles = { restoreFile: join(publicDir.root, config.restoreFile), /** path to CSS override file */ cssOverride: join(publicDir.stylesDir, config.styles.filename), + /** path to external readme file */ + externalReadme: join(publicDir.externalDir, 'README.md'), + /** path to user readme file */ + userReadme: join(publicDir.userDir, 'README.md'), + /** path to CSS readme file */ + cssReadme: join(publicDir.stylesDir, 'README.md'), } as const; diff --git a/apps/server/src/setup/loadDemo.ts b/apps/server/src/setup/loadDemo.ts index 44aac18505..9beab42ef1 100644 --- a/apps/server/src/setup/loadDemo.ts +++ b/apps/server/src/setup/loadDemo.ts @@ -1,6 +1,7 @@ +import { copyFileSync } from 'fs'; import { copyDirectory, ensureDirectory } from '../utils/fileManagement.js'; -import { publicDir, srcDir } from './index.js'; +import { publicDir, publicFiles, srcDir, srcFiles } from './index.js'; /** * @description ensures directories exist and populates demo folder @@ -8,8 +9,9 @@ import { publicDir, srcDir } from './index.js'; export const populateDemo = () => { ensureDirectory(publicDir.demoDir); - // even if demo exist we want to use startup demo try { + copyFileSync(srcFiles.externalReadme, publicFiles.externalReadme); + // even if demo exist we want to use startup demo copyDirectory(srcDir.demoDir, publicDir.demoDir); } catch (_) { /* we do not handle this */ diff --git a/apps/server/src/setup/loadStyles.ts b/apps/server/src/setup/loadStyles.ts index 3fceb10647..df04ca55ca 100644 --- a/apps/server/src/setup/loadStyles.ts +++ b/apps/server/src/setup/loadStyles.ts @@ -10,12 +10,14 @@ import { publicDir, publicFiles, srcFiles } from './index.js'; export const populateStyles = () => { ensureDirectory(publicDir.stylesDir); // if styles doesn't exist we want to use startup stylesheet - if (!existsSync(publicFiles.cssOverride)) { - try { - // copy the startup stylesheet to the public directory + try { + copyFileSync(srcFiles.userReadme, publicFiles.userReadme); + copyFileSync(srcFiles.cssReadme, publicFiles.cssReadme); + if (!existsSync(publicFiles.cssOverride)) { + // copy the startup stylesheet only if user doesnt have one copyFileSync(srcFiles.cssOverride, publicFiles.cssOverride); - } catch (_) { - /* we do not handle this */ } + } catch (_) { + /* we do not handle this */ } };