From 349703ef4239eba87d0937b326dd84b3d9c838ca Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Sat, 29 Jan 2022 12:26:37 +0100 Subject: [PATCH] =?UTF-8?q?R=C3=A9pare=20les=20commande=20de=20preview=20n?= =?UTF-8?q?etlify=20en=20developement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTING.md | 36 +++++++++++++++++++++++------------- site/package.json | 5 +++-- site/source/redirects.jsx | 1 + 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 128195596..22d7d483d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -91,31 +91,37 @@ A mettre sans retenue dans les messages de commit : #### Vérification syntaxique : ```sh -$ yarn lint +yarn lint +``` + +Pour corriger les erreurs automatiquement : + +```sh +yarn lint:fix ``` #### Vérification du typage : ```sh -$ yarn test:type +yarn test:type ``` Pour avoir les erreurs de type en direct dans la console, utilisez le paramètre `--watch` : ```sh -$ yarn test:type --watch +yarn test:type --watch ``` #### Tests unitaires ```sh -$ yarn test +yarn test ``` #### Tests de non-regression (snapshots) ```sh -$ yarn test:regressions +yarn test:regressions ``` Si vous souhaitez mettre à jour les snapshots vous pouvez utiliser le paramètre `--updateSnapshot`, son raccourci `-u`, ou encore le [mode interactif](https://jestjs.io/docs/en/snapshot-testing#interactive-snapshot-mode). @@ -129,8 +135,8 @@ Pré-requis: - le serveur doit être lancé via `yarn start` ```sh -$ yarn workspace site test:dev-e2e:mon-entreprise -$ yarn workspace site test:dev-e2e:mycompanyinfrance +yarn workspace site test:dev-e2e:mon-entreprise +yarn workspace site test:dev-e2e:mycompanyinfrance ``` ### Traduction 👽 @@ -150,17 +156,17 @@ Le circle-ci fait une analyse statique du code pour repérer les chaînes non traduites, dans le moteur et l'UI : ```sh -$ yarn run i18n:check +yarn run i18n:check ``` Pour traduire automatiquement les chaînes manquantes via l'api Deepl : ```sh -$ yarn run i18n:rules:translate -$ yarn run i18n:ui:translate +yarn run i18n:rules:translate +yarn run i18n:ui:translate # ou bien pour les deux commandes d'un coup -$ yarn run i18n:translate +yarn run i18n:translate ``` N'oubliez pas de vérifier sur le diff que rien n'est choquant. @@ -173,9 +179,13 @@ N'oubliez pas de vérifier sur le diff que rien n'est choquant. ### Prévisualisation -Il est possible de simuler localement le comportement de l'application après le build complet, y compris le pré-rendu statique et les redirection Netlify, avec les commandes suivantes : +Il est possible de simuler localement le comportement de l'application après le build complet, y compris le pré-rendu statique et les redirection Netlify, avec les commandes suivantes (à éxécuter dans le répertoire `site`): -```yaml +```sh +yarn run build:preview +``` + +```sh yarn preview:mon-entreprise yarn preview:infrance ``` diff --git a/site/package.json b/site/package.json index 27071ed33..53e9ca8ec 100644 --- a/site/package.json +++ b/site/package.json @@ -24,8 +24,9 @@ "build:ssr": "vite build --ssr ./source/entry-server.tsx --outDir ./dist/server --emptyOutDir && echo '{\"module\": \"commonjs\"}' > dist/package.json", "build:prerender": "node prerender.cjs", "build:iframe-script": "vite build --config vite-iframe-script.config.ts", - "preview:mon-entreprise": "sed 's|:SITE_FR||g' netlify.toml > dist/netlify.toml && cd dist && npx netlify dev", - "preview:infrance": "sed 's|:SITE_EN||g' netlify.toml > dist/netlify.toml && cd dist && npx netlify dev", + "build:preview": "export VITE_FR_BASE_URL=http://localhost:8888; export VITE_EN_BASE_URL=http://localhost:8889; yarn build && yarn build:ssr && yarn build:prerender", + "preview:mon-entreprise": "sed \"s|:SITE_FR||g\" netlify.toml >| dist/netlify.toml && cd dist && npx netlify-cli dev -p 8888", + "preview:infrance": "sed \"s|:SITE_EN||g\" netlify.toml >| dist/netlify.toml && cd dist && npx netlify-cli dev -p 8889", "typecheck:watch": "tsc --skipLibCheck --noEmit --watch", "test": "vitest", "test:dev-e2e:mon-entreprise": "cypress open --browser chromium", diff --git a/site/source/redirects.jsx b/site/source/redirects.jsx index 410f97bbd..25e3b9c9b 100644 --- a/site/source/redirects.jsx +++ b/site/source/redirects.jsx @@ -1,6 +1,7 @@ import { Redirect } from 'react-router-dom' import netlifyToml from '../netlify.toml' +// TODO : doesn't work when previewing netlify redirect in developpement mode (yarn run build:preview) export default netlifyToml.redirects .filter(({ from, status }) => status === 301 && !from.startsWith('https')) .map(({ from, to }) => ({