Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Passer en TypeScript #57

Closed
nicolasdaudin opened this issue Feb 9, 2023 · 4 comments
Closed

Passer en TypeScript #57

nicolasdaudin opened this issue Feb 9, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@nicolasdaudin
Copy link
Owner

nicolasdaudin commented Feb 9, 2023

On suit ça https://www.typescriptlang.org/docs/handbook/migrating-from-javascript.html

@nicolasdaudin nicolasdaudin converted this from a draft issue Feb 9, 2023
@nicolasdaudin nicolasdaudin added the enhancement New feature or request label Feb 9, 2023
@nicolasdaudin nicolasdaudin moved this from 🆕 V2 Backlog to 📋 Sprint Backlog in Pulpito Feb 9, 2023
@nicolasdaudin nicolasdaudin moved this from 📋 Sprint Backlog to 🏗 In progress in Pulpito Feb 9, 2023
@nicolasdaudin
Copy link
Owner Author

Pour l'instant, j'ai rajouté tsconfig.json et les fodlers src et build mais ça bloque car les fichiers .json ne sont pas copiés lors de la compilation typescript.
Je suis bloqué sur l'usage de copyfiles, qui ne marche pas depuis les scripts invoqués dans mon package.json mais qui marche depuis bash : copyfiles -u 2 ./src/datasets/* ./build/datasets/

@nicolasdaudin
Copy link
Owner Author

Ce qui ne marchait pas, c'est que mon script c'était un script de watch :

"start-dev:build": "tsc -w && npm run copy-files",
"start-dev:run": "nodemon --ext js,pug,json,css build/server.js",
"copy-files": "copyfiles -u 2 src/datasets/* build/datasets/"

Donc, la seconde partie de start-dev:build ne s'exécutait jamais puisque le script de watch ne s'arrête pas.

Mais comme le but c'est d'exécuter la copie des json files à chaque recompilation, et que je veux miantenir le watch pour recompiler en cas de changement de fichiers, je suis dans une impasse.

Ce n'est pas suffisant d'avoir ce script ci-dessus, car le run faile car il manque un des fichiers json pour s'exécuter correctement:

[run] Uncaught Exception! 💥 Shutting down ... Error: Cannot find module '../datasets/countries.json'
[run] Require stack:
[run] - /Users/nicolasdaudin/dev/pulpito/build/airports/countryService.js
[run] - /Users/nicolasdaudin/dev/pulpito/build/airports/airportService.js

datasets/countries.json n'est pas trouvé car lors de la compilation TS -> JS il n'est pas transféré dans le répertoire build...

@nicolasdaudin
Copy link
Owner Author

nicolasdaudin commented Feb 10, 2023

Semble avoir trouvé un workaround.
Je compile d'abord sans le watch, je copie les fichiers, puis je compile à nouveau avec l'option watch.
"start-dev:build": "tsc && npm run copy-files && tsc -w",

Au cas où y a des nouveaux bugs, on peut aller voir du côté de https://github.com/body-builder/typescript-cp tel que décrit ici : microsoft/TypeScript#30835 (comment)

@nicolasdaudin
Copy link
Owner Author

Fonctionne en prod.

nicolasdaudin added a commit that referenced this issue Feb 10, 2023
Basic Switch to TypeScript.
Closes #57.
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in Pulpito Feb 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

No branches or pull requests

1 participant