-
Notifications
You must be signed in to change notification settings - Fork 0
Description
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:
- 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. - 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.