create-panal-agent 0.15.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/template/src/server.ts +26 -7
package/package.json
CHANGED
package/template/src/server.ts
CHANGED
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
import 'dotenv/config';
|
|
24
24
|
import { createServer, type IncomingMessage, type ServerResponse } from 'node:http';
|
|
25
25
|
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
26
|
-
import { join } from 'node:path';
|
|
26
|
+
import { dirname, join } from 'node:path';
|
|
27
|
+
import { fileURLToPath } from 'node:url';
|
|
27
28
|
import {
|
|
28
29
|
MAX_FILE_BYTES,
|
|
29
30
|
appendFilesManifest,
|
|
@@ -847,7 +848,23 @@ const LOGOS: [string, string][] = [
|
|
|
847
848
|
];
|
|
848
849
|
|
|
849
850
|
/**
|
|
850
|
-
*
|
|
851
|
+
* La carpeta de tu proyecto: este archivo vive en `src/`, así que se sube uno.
|
|
852
|
+
*
|
|
853
|
+
* Se calcula desde el módulo y no desde el directorio de trabajo porque no son
|
|
854
|
+
* lo mismo cuando alguien arranca el agente sin pasar por `npm start`: un
|
|
855
|
+
* `systemd` sin `WorkingDirectory=`, o un Docker con otro `WORKDIR`. Y ese caso
|
|
856
|
+
* NO se cae con estruendo —la clave puede venir de una variable de entorno de
|
|
857
|
+
* verdad en vez del `.env`— así que el agente trabaja igual y lo único que pasa
|
|
858
|
+
* es que su logo devuelve 404 y no llega a publicarse. En silencio.
|
|
859
|
+
*/
|
|
860
|
+
const RAIZ = join(dirname(fileURLToPath(import.meta.url)), '..');
|
|
861
|
+
|
|
862
|
+
/**
|
|
863
|
+
* El primer logo que exista, o null si no publicas ninguno.
|
|
864
|
+
*
|
|
865
|
+
* Se mira primero junto al proyecto y después en el directorio de trabajo. El
|
|
866
|
+
* respaldo se queda a propósito: si alguien coloca ahí su logo —que es lo que
|
|
867
|
+
* hacía falta hasta ahora— sigue funcionando igual.
|
|
851
868
|
*
|
|
852
869
|
* Se lee en cada petición y no se cachea en memoria a propósito: cambiar de
|
|
853
870
|
* logo es dejar caer un archivo, y tener que reiniciar el agente —cortando los
|
|
@@ -855,11 +872,13 @@ const LOGOS: [string, string][] = [
|
|
|
855
872
|
* clientes ya lo cachean una hora por la cabecera.
|
|
856
873
|
*/
|
|
857
874
|
function buscaLogo(): { bytes: Buffer; tipo: string } | null {
|
|
858
|
-
for (const [
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
875
|
+
for (const carpeta of [RAIZ, '.']) {
|
|
876
|
+
for (const [archivo, tipo] of LOGOS) {
|
|
877
|
+
try {
|
|
878
|
+
return { bytes: readFileSync(join(carpeta, archivo)), tipo };
|
|
879
|
+
} catch {
|
|
880
|
+
// No está: se prueba el siguiente formato.
|
|
881
|
+
}
|
|
863
882
|
}
|
|
864
883
|
}
|
|
865
884
|
return null;
|