LoxYourLife / loxberry-express

3 stars 0 forks source link

bug in node module loxberry-express-dev-server.getLanguage #6

Closed christophmoar closed 1 year ago

christophmoar commented 1 year ago

Hi, durch den nodejs-plugin-generator landen im templates/lang Verzeichnis die Dateien

de.js
en.js
language_de.ini
language_en.ini

in der Methode getLanguage() wirft es dann beim Verarbeiten der *.ini Dateien eine Exception und die Translations sind dann alle nicht mehr verfügbar.

ich habe (für mich, in der Zwischenzeit) so gepatcht, dass ich

if(file.endsWith('.js'))

hinzugefügt habe. Hier Code Snippet von funktonierender Funktion.

const getLanguage = async (defaultLanguage, templatePath, logger) => {
  let languages = {};
  try {
    const files = await fs.readdir(templatePath);
    languages = _.reduce(
      files,
      (acc, file) => {
        if(file.endsWith('.js')) {
          const content = require(path.resolve(templatePath, file));
          const language = file.replace('.js', '');
          acc[language] = {
            translation: content
          };
          return acc;
        }
        else
          return acc;
      },
      {}
    );
  } catch (e){
    logger.error(e);
    logger.info('No language files available');
  }

Sorry, hab das issue ursprünglich fälschlicherweise hier (https://github.com/mschlenstedt/Loxberry/issues/1434) geposted und dann auch nochmal auf dem loxforum, weil Christian mich zu dir verwies. Sorry, bin erst wenige Tage dabei und noch nicht den Überblick wo was ist.

Scyks commented 1 year ago

Hey,

Danke für den Report. Betrifft das nur den dev-server oder auch den Server der auf Loxberry selbst läuft?

Weißt du das zufällig?

christophmoar commented 1 year ago

Das Plugin, an dem ich arbeite, braucht noch ein paar Stunden abendlicher Arbeit bis es bereit für ein deploy auf dem loxberry ist, kann dir danach gerne Bescheid geben. Der von mir genannte Bug ist in

npm modul loxberry-express-dev-server/index.js/const getLanguage = async (defaultLanguage, templatePath, logger)

insofern sehe ich das so als "nur auf dem dev system" relevant. ich kenne aber (noch) nicht die sourcen und/oder den execution ablauf der nodejs Umgebung auf dem Loxberry selbst, falls dort also auch eine "ähnliche" getLanguage() methode als Vorbereitung für die Template Engine startet, könnte dort ein ähnlicher Bug auch vorliegen.

Hab grad erst seit ein paar Tagen das Ganze Projektumfeld betreten - dauert noch bis ich jede Komponente einmal angeschaut habe...

Scyks commented 1 year ago

Also der dev Server ist ja nur für die lokale Entwicklung. Ziemlich das gleiche stellt das express-Server Plugin bereit wo es die Methode auch gibt.

Ich werd das bei Gelegenheit mal prüfen und den dev Server entsprechend anpassen.

Vielen Dank.

Scyks commented 1 year ago

Release 2.0.2 is out, issue is fixed.