Skip to content

Permettre de choisir les fichiers importés #3

@theokbokki

Description

@theokbokki

Actuellement Pluton assume que tout les fichiers JS vont être dans le dossier /resources/js/parts/ (en tout cas pour la version vite).
Sauf que ce serait cool de pouvoir spécifier dans quel dossier on veut chercher les fichiers (Par exemple si un site à plusieurs parties et qu'on veut éviter d'importer les fichiers JS de toutes les parties partout).

Ma première idée ça à été de modifier le code pour passer un array de paths dans le constructeur puis d'utiliser cet array au moment de l'import.

- const modules = import.meta.glob('../../../resources/js/parts/*.js');
+ const modules = import.meta.glob(this.paths);

Malheureusement, import.meta.glob ne peut prendre que des string (ou un array de strings) comme paramètre, donc pas de variables. (Et j'ai bien cherché mais j'ai pas trouvé de workaround pour que ça fonctionne).

Du coup je vois 2 possibilités:

  1. Utiliser une librairie externe pour faire le glob. Mais j'aime vraiment pas cette idée parce que je trouve ça bien que pluton aie pas de dépendances.
  2. Passer les modules comme paramètre au lieu de juste les paths:
const modules = import.meta.glob('../resources/js/parts/my-subdir/*.js')
new Pluton(modules);

Perso je préfère la deuxième approche, surtout qu'on peut garder la valeur par défaut de ../../../resources/js/parts/*.js si jamais on passe pas de paramètre quand on instancie Pluton.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions