Parlons de Gladys V4


#122

Heyy pas de panique on va trouver une solution ^^

C’est normal d’être consistent à travers le projet non? :slight_smile: Tous les projets open-source sérieux font ça, si au bout de 1 jour d’avoir mis un ESlint strict on baisse déjà les bras on va pas aller loin.

(je dis ça parce que clairement cette règle c’est la règle la moins dur à suivre, derrière il y a d’autres règles beaucoup plus stricts sur le coding style)

J’ai cherché sur internet, et c’est possible de créer un fichier .editorconfig dans le repo Git, qui va donner une indication à ton Vscode que ce projet a choisi “LF” comme style de fin de ligne. C’est un format de fichier cross-éditeur donc ça aidera aussi les devs sous Atom ou autre IDE.

Exemple sur un projet open-source:

Est-ce que tu peux tester ça? Si c’est ça je mettrais ce fichier sur le git

Si c’est pas ça j’ai trouvé des dizaines de sujets sur la question, c’est un problème basique on va trouver :slight_smile:


#123

Autre problème, c’est peut-être ton Git qui est configuré pour remplacer tous les LF par des CRLF lors du pull.


#124

Je suis totalement d’accord ^^
Mais après avoir cherché pendant heure hier ça m’a saoulé :stuck_out_tongue:

Je l’ai pas eu celui la ! Et ça fonctionne ! J’étais tombé sur une histoire de fichier .gitattributs aussi mais ça avait pas fonctionné. C’est un peu mystique car VSCode m’affiche bien le type de ligne Windows en bas mais j’ai plus d’erreur :laughing:

Ah j’ai tenté ça aussi mais ça n’a rien donné :confused:

Mais pour le coup le fichier editorconfig fonctionne impec !


#125

Arf j’ai parlé trop vite :confused:

image

Ça ne change rien…


#126

C’est normal!

En gros ce qui s’est passé là, c’est que quand tu as cloné le projet, soit Vscode, soit git a pensé que tu voulais convertir le projet en CRLF, et à converti tous les fichiers de LF a CRLF (c’est pas ce qu’on veut)

Donc ce que je ferais:

1/ il faut qu’on ajoute ce fameux fichier au git
2/ tu reclone le git, et on regarde si c’est bon ou pas

  • si c’est bon, c’était vscode le coupable
  • si c’est pas bon, c’est git le coupable, c’est que tu as un paramètre qui dit de convertir lors du pull le projet en CRLF (mon deuxième lien)

#127

Ok donc aller ! Je vire mon repo et je re-clone dés que c’est bon de ton coté !

Il n’empêche que si chaque personne qui veux dev pour Gladys doit pensé a reconfigurer son git il va forcément y avoir des soucis :stuck_out_tongue:
En espérant qu’on n’ai pas en arriver la…


#128

C’est fait! tu peux reclone :slight_smile:


#129

Oui, mais bon là c’est un truc hyper basique de développement, 100% des projets de développements informatique ont ce problème, et absolument tous les projets sérieux vérifient ça.

ça m’étonnerait qu’il n’y ait pas de solution


#130

Ok alors c’est parti !


#131

Bon problème fixé grâce au fameux fichier .gitattributes ! Merci @MathieuA d’avoir trouvé ça, au moins tout marchera pour les contributeurs windows :slight_smile:

@MathieuA je veux bien ton avis sur la nouvelle architecture/façon de loader Gladys et les controllers.

Sinon, j’ai activé le check des types grâce à JSDoc + Typescript CLI (sans écrire de Typescript, juste en utilisant les commentaires)


#132

Ah oui avec cette histoire j’ai pas pris le temps de regarder !


#133

Pas mal le coup des classes ! Effectivement c’est plus jolie que des require sur chaque fichier ^^

Pour le coup ça me perturbe un peu d’avoir un dossier lib et un autre api. Surtout que j’aurais fais l’inverse perso :stuck_out_tongue:
Dans le dossier api j’aurais mis le core de Gladys car je trouve ça un peu plus logique (si on peut dire ça comme ça) mais bon c’est une préférence perso :slight_smile:


#134

Je suis d’accord.

Sinon on peut renommer lib en core

Ou alors mettre carrément ce dossier core dans api

api
----- controllers
----- core
----- middlewares
----- routes.js
----- index.js

Et alors renommer api en lib :stuck_out_tongue:

lib
----- controllers
----- core
----- middlewares
----- routes.js
----- index.js

#135

En vrai je viens d’aller voir d’autres repos, j’ai vu du api et du lib, ça me choque pas tant que ça en fait.

Pour moi lib c’est vraiment Gladys core le code, et api c’est l’API Rest


#136

Ouais je pense que c’est un peu à la préférence de chacun la dessus, il y a pas vraiment de best pratice !
C’est ton projet donc c’est toi qui décide, si pour toi c’est bon comme ça alors banco ^^


#137

J’aime bien avoir des avis extérieurs, c’est important :slight_smile: On va commencer comme ça on verra les autres retours.

Raah les index + foreign key avec Sequelize c’est le feu


#138

C’est méga lourd :open_mouth:


#139

J’ai mis à jour le README du repo Gladys 4 Playground avec toutes les instructions d’installations pour tester :slight_smile:

N’hésitez pas à tester chez vous!

Si vous cherchez un bon tool pour explorer des DB SQLite, je vous conseille TablePlus:

https://tableplus.io/


#140

Ou sqliteonline.com pour ceux qui n’ont pas envie d’installer un truc :stuck_out_tongue:


#141

Franchement pas mal la structure très clair ! Petite question, je vois que tu utilise “joi”, pourquoi pas directement utiliser juste les contraintes de sequelize ?