Skip to content
This repository has been archived by the owner on Dec 26, 2022. It is now read-only.

Avoir un package.json avec des scripts et dépendances pour aider le dev #49

Open
julienw opened this issue May 24, 2021 · 5 comments
Open

Comments

@julienw
Copy link
Collaborator

julienw commented May 24, 2021

@dunglas @pirquessa que penseriez-vous d'avoir un package.json avec:

  • une dépendance web-ext
  • quelques scripts (notamment build, ou liés au lint ou à la CI)

J'ai ça localement plutôt qu'un web-ext installé globalement. J'ai mes habitudes avec yarn mais pas de souci pour avoir un npm à la place.

Avantage:

  • on maitrise les versions utilisées (avec npx comme utilisé dans la CI on a toujours la dernière version)
  • on a la même version localement et sur la CI
  • peut-être (?) plus simple pour les nouveaux contributeurs

Inconvénient: il faut ensuite gérer les updates de dépendances, donc mettre en place un outil type depfu.com que j'aime bien.

Qu'en pensez-vous ?

@dunglas
Copy link
Owner

dunglas commented May 24, 2021

J'avais essayé de limiter au maximum le nombre de dépendances pour que ce soit le plus accessible possible aux débutants, simple à auditer (vu que c'est des données un peu sensibles) et à sécuriser.
Je suis un peu mitigé, d'un côté ça peut être pratique, mais d'un autre ça alourdit un peu la maintenance et complexifie un peu le projet pour quelque chose qui est censé rester petit et temporaire.

J'avais aussi hésité à utiliser TypeScript, finalement je ne l'avais pas fait pour les mêmes raisons, mais #48 va fortement dans le sens de TypeScript (et serait à mon avis mieux écrit en TS) donc je ne sais pas !

Sinon j'ai mis en place une petite CI pour lancer Prettier et web-ext (installation en global pour le moment).

Et concernant NPM vs Yarn, j'utilise plutôt Yarn sur mes projets mais je n'ai pas de préférence particulière (les dernières versions de NPM sont bien aussi).

@pirquessa
Copy link
Collaborator

Je suis plutot pour ton initiative @julienw. J'ai perdu pas mal de temps à installer les outils aujourd'hui, avec un package.json ca aurait été bien plus rapide.

Pour ce qui est des MAJ, l'outil va durer un mois à priori... Donc pas beaucoup d'updates à faire... Et on dépend de pas grand chose j'ai l'impression.

@dunglas Pas vraiment d'accord avec "ça alourdit un peu la maintenance et complexifie un peu le projet". J'ai fait #41 avec notepad++ sans les outils... J'ai galéré... Pour #48 du coup j'ai installé les outils, c'est dessuite plus facile... Et j'y ai été forcé à cause de la CI que tu as ajouté.

@dunglas
Copy link
Owner

dunglas commented May 24, 2021

Il suffit de lancer les deux commandes avec npx comme dans la CI. C'est fait pour ça et ça ne demande rien d'autre que NPM en local. A mon avis un simple CONTRIBUTING.md suffirait.

Ajouter un package.json complexifiera la maintenance. Il faudra s'assurer de faire les mises à jour (ou installer un bot type dependabot ou renovate effectivement, mais ça aussi ça ajoute un peu de complexité).

On ne sait malheureusement pas combien de temps il faudra pour que les doses soient disponibles en quantité suffisante (peut-être que dans 1 an ça ne sera toujours pas le cas si il faut se faire vacciner tous les ans malheureusement).

Bref, si vous y tenez vraiment ok pour moi pour le package.json (même si je ne suis pas sûr que ce soit nécessaire). Par contre je suis pour n'installer rien d'autre que des dépendances de dev (devDependencies). Vu la sensibilité des données que l'on traite, je ne préfère de pas exécuter de code venant de tierces-parties en prod.

Il faudra aussi faire en sorte que le node_modules soit pas embarqué dans le zip quand on tape web-ext build.

@pirquessa
Copy link
Collaborator

On ne sait malheureusement pas combien de temps il faudra pour que les doses soient disponibles en quantité suffisante (peut-être que dans 1 an ça ne sera toujours pas le cas si il faut se faire vacciner tous les ans malheureusement).

On est presque à 1M de dose par jour quand meme là... J'espère pas que ca va durer un an... Mais en même temps je met au propre au cas où #schizophrénie

Bref, si vous y tenez vraiment ok pour moi pour le package.json (même si je ne suis pas sûr que ce soit nécessaire). Par contre je suis pour n'installer rien d'autre que des dépendances de dev (devDependencies). Vu la sensibilité des données que l'on traite, je ne préfère de pas exécuter de code venant de tierces-parties en prod.

De ce que j'ai vécu, ca me semble plus simple avec. Tout à fait d'accord pour rester sans dépendances.

Il faudra aussi faire en sorte que le node_modules soit pas embarqué dans le zip quand on tape web-ext build.

Je maitrise pas du tout, j'y touche pas, je peux pas dire :p

@julienw
Copy link
Collaborator Author

julienw commented May 24, 2021

Bon, merci pour les feedbacks, je tente ça et on pourra juger sur pièce :-)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants