fix(nx/server): access to highlight.js styles

This commit is contained in:
Elian Doran 2025-04-24 14:55:11 +03:00
parent 494ee4739a
commit cd14d8eee5
No known key found for this signature in database
2 changed files with 12 additions and 7 deletions

View File

@ -2,7 +2,7 @@ import assetPath from "../services/asset_path.js";
import path from "path"; import path from "path";
import { fileURLToPath } from "url"; import { fileURLToPath } from "url";
import express from "express"; import express from "express";
import { isDev, isElectron } from "../services/utils.js"; import { getResourceDir, isDev } from "../services/utils.js";
import type serveStatic from "serve-static"; import type serveStatic from "serve-static";
import proxy from "express-http-proxy"; import proxy from "express-http-proxy";
@ -18,7 +18,8 @@ const persistentCacheStatic = (root: string, options?: serveStatic.ServeStaticOp
async function register(app: express.Application) { async function register(app: express.Application) {
const srcRoot = path.join(path.dirname(fileURLToPath(import.meta.url)), ".."); const srcRoot = path.join(path.dirname(fileURLToPath(import.meta.url)), "..");
const distDir = path.dirname(process.argv[1]); const resourceDir = getResourceDir();
if (isDev) { if (isDev) {
const publicUrl = process.env.TRILIUM_PUBLIC_SERVER; const publicUrl = process.env.TRILIUM_PUBLIC_SERVER;
if (!publicUrl) { if (!publicUrl) {
@ -37,12 +38,12 @@ async function register(app: express.Application) {
})); }));
app.use(`/${assetPath}/images`, persistentCacheStatic(path.join(srcRoot, "assets", "images"))); app.use(`/${assetPath}/images`, persistentCacheStatic(path.join(srcRoot, "assets", "images")));
} else { } else {
const clientStaticCache = persistentCacheStatic(path.join(distDir, "public")); const clientStaticCache = persistentCacheStatic(path.join(resourceDir, "public"));
app.use(`/${assetPath}/app`, clientStaticCache); app.use(`/${assetPath}/app`, clientStaticCache);
app.use(`/${assetPath}/app-dist`, clientStaticCache); app.use(`/${assetPath}/app-dist`, clientStaticCache);
app.use(`/${assetPath}/stylesheets`, persistentCacheStatic(path.join(distDir, "public", "stylesheets"))); app.use(`/${assetPath}/stylesheets`, persistentCacheStatic(path.join(resourceDir, "public", "stylesheets")));
app.use(`/${assetPath}/libraries`, persistentCacheStatic(path.join(distDir, "public", "libraries"))); app.use(`/${assetPath}/libraries`, persistentCacheStatic(path.join(resourceDir, "public", "libraries")));
app.use(`/${assetPath}/images`, persistentCacheStatic(path.join(distDir, "assets", "images"))); app.use(`/${assetPath}/images`, persistentCacheStatic(path.join(resourceDir, "assets", "images")));
} }
app.use(`/${assetPath}/fonts`, persistentCacheStatic(path.join(srcRoot, "public/fonts"))); app.use(`/${assetPath}/fonts`, persistentCacheStatic(path.join(srcRoot, "public/fonts")));
app.use(`/assets/vX/fonts`, express.static(path.join(srcRoot, "public/fonts"))); app.use(`/assets/vX/fonts`, express.static(path.join(srcRoot, "public/fonts")));
@ -51,7 +52,7 @@ async function register(app: express.Application) {
app.use(`/${assetPath}/libraries`, persistentCacheStatic(path.join(srcRoot, "public/libraries"))); app.use(`/${assetPath}/libraries`, persistentCacheStatic(path.join(srcRoot, "public/libraries")));
app.use(`/assets/vX/libraries`, express.static(path.join(srcRoot, "..", "libraries"))); app.use(`/assets/vX/libraries`, express.static(path.join(srcRoot, "..", "libraries")));
const nodeModulesDir = isDev ? path.join(srcRoot, "..", "node_modules") : path.join(distDir, "node_modules"); const nodeModulesDir = isDev ? path.join(srcRoot, "..", "node_modules") : path.join(resourceDir, "node_modules");
app.use(`/node_modules/@excalidraw/excalidraw/dist/fonts/`, express.static(path.join(nodeModulesDir, "@excalidraw/excalidraw/dist/prod/fonts/"))); app.use(`/node_modules/@excalidraw/excalidraw/dist/fonts/`, express.static(path.join(nodeModulesDir, "@excalidraw/excalidraw/dist/prod/fonts/")));
app.use(`/${assetPath}/node_modules/@excalidraw/excalidraw/dist/fonts/`, persistentCacheStatic(path.join(nodeModulesDir, "@excalidraw/excalidraw/dist/prod/fonts/"))); app.use(`/${assetPath}/node_modules/@excalidraw/excalidraw/dist/fonts/`, persistentCacheStatic(path.join(nodeModulesDir, "@excalidraw/excalidraw/dist/prod/fonts/")));

View File

@ -291,6 +291,10 @@ export function envToBoolean(val: string | undefined) {
*/ */
export function getResourceDir() { export function getResourceDir() {
if (isElectron && !isDev) return process.resourcesPath; if (isElectron && !isDev) return process.resourcesPath;
if (!isDev) {
return path.dirname(process.argv[1]);
}
return join(dirname(fileURLToPath(import.meta.url)), ".."); return join(dirname(fileURLToPath(import.meta.url)), "..");
} }