Home of the Times's react Composants.
Nous avons besoin de macOS avec Node.js (pour une version spécifique, veuillez vérifier Package.json Restrictions), YARN (dernier)
Vous pouvez essayer sans ces exigences, mais vous seriez seul.
Allez sur http://components.thetimes.co.uk
yarn install
Les composants peuvent être vus courir dans un livre de contes
yarn storybookVoir le package UTILS sur la façon de mettre à jour le schéma.
Les composants de ce projet peuvent être débogués via les outils de développeur de votre navigateur. Ces étapes supposent l'utilisation de chrome devtools.
Pour déboguer notre livre de contes Web:
yarn storybookTous ces fichiers source peuvent être débogués directement.
Suivez ces étapes ici
Vous verrez également l'option de faire une version Canari dans le pipeline, qui publiera une version de test de vos modifications que vous pouvez importer dans Render.
En plus de lier les composants du Times et de rendre ensemble, vous pouvez afficher les modifications apportées aux composantes du Times dans le rendu via les fichiers RNW.js.
yarn bundle dans le package dans lequel vous travailliez. Si vous travailliez dans le package ts-components vous devrez d'abord exécuter yarn build , puis yarn bundle .node_modules de Render. Par exemple, si vous avez regroupé le fichier rnw.js dans le package d' article-skeleton dans les composants du Times, vous colleriez le contenu dans node_modules/@times-components/article-skeleton/rnw.js .Les tests utilisent actuellement la plaisanterie pour s'exécuter, donc si vous souhaitez déboguer un test, suivez ces étapes:
(Recherchez votre commande de test) jest --config="./packages/provider/__tests__/jest.config.js" . Selon le répertoire dont nous commençons les tests, le répertoire --config peut différer. Mon répertoire Currenct est à la racine du repo: times-components .
Consultez votre commande de test dans le package.json pour le package spécifique que vous souhaitez consulter.
Remarque: Si vous n'avez pas l'installation de la plaisanterie à l'échelle mondiale, vous pouvez l'utiliser localement à partir de
node_modules/.bin/jest
node --inspect-brk ./node_modules/.bin/jest --config="./packages/provider/__tests__/jest.config.js" --runInBandRemarque:
--runInBandest un indicateurjestqui exécute tous les tests en série dans le processus actuel. Si nous n'ajoutons pas ce drapeau, seul le processus de nœud qui a commencéjestsera débordonné.
(Ajouter des instructions de débogage) Normalement, nous ajoutions des points d'arrêt, mais lorsque le débogage à distance n'est pas toujours possible, car les fichiers dont nous avons besoin pour mettre les points d'arrêt ne sont pas encore chargés par jest . Donc, pour que le débogueur s'arrête là où nous le voulons, nous devons ajouter debugger; Instructions au lieu de points d'arrêt dans le code et rétractations si nécessaire.
(Attacher à la prise Web) Une fois que nous avons commencé les tests en mode de débogage, nous devons y attacher:
(Recommandé) Utilisez Chrome Remote Debug pour le nœud:
chrome://inspect dans Chrome Address BarOpen dedicated DevTools for NodeConnection de la fenêtre contextuelle et ajoutez la connexion localhost:9229 ou quel que soit votre port--inspect-brk et une fois que vous appuyez sur le bouton de lecture (reprendre l'exécution), il doit s'arrêter sur votre debugger; déclarationRemarque: une fois qu'il s'arrête, vous pouvez voir que tout votre code est regroupé en une seule ligne. Il y a une solution facile pour cela: en bas de la fenêtre de débogage près de la
Line: 1 Column: 1étiquettes, vous devriez voir un bouton{}quittra votre code et vous pourrez toujours déboguer correctement.
(Utilisez vScode) la configuration devrait regarder à proximité:
...
"configurations" : [
{
"localRoot" : " ${workspaceFolder}/packages/provider " , //change this depending on what test you're debugging
"remoteRoot" : " ${workspaceFolder}/packages/provider " , //change this depending on what test you're debugging
"type" : " node " ,
"request" : " attach " ,
"name" : " Attach to Server on 9229 " ,
"address" : " 127.0.0.1 " ,
"port" : 9229
}
]Voir le contribution.md pour une répartition approfondie du projet.
yarn commit commetra des fichiers (identiques à git commit ) et aidera le contributeur à ajouter un message de validation approprié en ligne avec le changelog conventionnel