Contribuer
13 min
vous souhaitez contribuer à slate ? ce serait formidable ! contribuer docid\ mur2c lmk4kwthfx6xgjpsignaler des bugs docid\ mur2c lmk4kwthfx6xgjpposer des questions docid\ mur2c lmk4kwthfx6xgjpsoumettre des pull requests docid\ mur2c lmk4kwthfx6xgjpconfiguration du repository docid\ mur2c lmk4kwthfx6xgjpexécuter des exemples docid\ mur2c lmk4kwthfx6xgjpexécuter des tests docid\ mur2c lmk4kwthfx6xgjptester des méthodes de saisie docid\ mur2c lmk4kwthfx6xgjppublier des releases docid\ mur2c lmk4kwthfx6xgjppublier une release @latest normale docid\ mur2c lmk4kwthfx6xgjppublier une release @next docid\ mur2c lmk4kwthfx6xgjppublier une release @experimental docid\ mur2c lmk4kwthfx6xgjpexécuter le script de prerelease docid\ mur2c lmk4kwthfx6xgjp signaler des bugs si vous rencontrez un comportement étrange en utilisant slate, n’hésitez pas à ouvrir une nouvelle issue dans ce repository ! veuillez effectuer une recherche avant d’ouvrir une nouvelle issue, afin de vous assurer que personne n’a déjà signalé ou résolu le bug que vous avez trouvé toute issue que vous ouvrez doit inclure un jsfiddle https //jsfiddle net/01plxfzu/ qui reproduit le bug avec une configuration minimale un gif montrant le problème en action (en utilisant quelque chose comme recordit http //recordit co/ ) une explication claire de ce qu’est le problème voici un modèle jsfiddle pour slate https //jsfiddle net/01plxfzu/ pour vous aider à démarrer https //jsfiddle net/01plxfzu/ poser des questions nous avons également une équipe slack slate https //slate slack herokuapp com où vous pouvez poser des questions et obtenir des réponses d’autres personnes utilisant slate https //slate slack herokuapp com veuillez utiliser le slack plutôt que de poser des questions dans des issues, car nous souhaitons réserver les issues pour le suivi des bugs et des fonctionnalités nous fermons les questions posées dans des issues afin que la maintenance du projet ne devienne pas trop lourde soumission de pull requests toutes les pull requests sont les bienvenues et grandement appréciées ! les issues nécessitant une solution sont marquées avec un label ♥ aide https //github com/ianstormtaylor/slate/issues?q=is%3aissue+is%3aopen+label%3a%22%e2%99%a5+help%22 si vous cherchez un endroit où commencer veuillez inclure des tests et de la documentation avec chaque pull request ! configuration du dépôt le dépôt slate est un monorepo géré avec lerna https //github com/lerna/lerna contrairement aux dépôts plus traditionnels, cela signifie que le dépôt doit être construit pour que les tests, le linting ou d’autres activités de développement courantes fonctionnent comme prévu pour exécuter la build, vous devez avoir cloné le dépôt slate sur votre ordinateur ensuite, vous devez exécuter cd dans le répertoire où vous l’avez cloné, et installer les dépendances avec laine et construire le monorepo yarn install yarn build exécution des exemples pour exécuter les exemples, commencez par construire le monorepo comme décrit dans la section configuration du dépôt docid\ mur2c lmk4kwthfx6xgjp ensuite, vous pouvez démarrer le serveur d’exemples avec yarn start exécution des tests pour exécuter les tests, commencez par construire le monorepo comme décrit dans la section configuration du dépôt docid\ mur2c lmk4kwthfx6xgjp ensuite, vous pouvez relancer les tests avec yarn test si vous avez besoin de déboguer quelque chose, vous pouvez ajouter une ligne débogueur dans la source, puis exécuter yarn test\ inspect si vous souhaitez uniquement exécuter un test spécifique ou un ensemble de tests, vous pouvez lancer yarn test fgrep="slate react rendering" qui filtrera les tests exécutés en recherchant la chaîne dans chaque test (ceci est un flag mocha transmis tel quel ) en plus des tests, vous devez également exécuter le linter yarn lint cela détectera les erreurs typescript, prettier et eslint yarn fix cela corrigera les erreurs prettier et eslint exécution des tests d’intégration pour exécuter les intégrations avec cypress https //github com/cypress io/cypress , commencez par lancer yarn start pour exécuter le site d’exemples, puis lancez yarn cypress\ open dans une session séparée pour ouvrir l’interface graphique de cypress test des méthodes de saisie voici une page utile https //github com/microsoft/vscode/wiki/ime test détaillant comment tester divers scénarios de saisie sur windows, mac et linux publication de versions important lors de la création de versions avec lerna en suivant les instructions ci dessous, vous aurez des choix concernant l’augmentation des numéros de version vous devez toujours utiliser une version majeur , mineur ou correctif et ne devez jamais utiliser une version préversion si une prerelease est utilisée, le package racine ne liera pas les packages dans le répertoire paquets créant des problèmes difficiles à diagnostiquer publication d’une version normale @latest comme nous utilisons lerna https //lerna js org pour gérer les packages slate, cela est assez simple, exécutez simplement yarn release\ latest et suivez les instructions fournies par lerna notez que cela exécutera automatiquement le script de préversion qui construira, testera et analysera le code avant de tenter de publier publication de la version @next si nous ne sommes pas certains de la stabilité d’une version parce qu’il y a des changements importants et/ou particulièrement complexes, publiez la version avec le @next tag yarn release\ next et suivez les invites que lerna vous donne publication d’une version @experimental si vous devez créer une version expérimentale pour voir comment un package publié se comportera lors d’une publication réelle, publiez la avec le @experimental tag les utilisateurs finaux ne doivent avoir aucune attente quant au fait qu’une version @experimental sera utilisable yarn release\ experimental exécution du script de préversion si nous voulons nous assurer que le code slate suit les préparatifs d’une version mais sans réellement publier, exécutez yarn prerelease ce qui construira, testera et analysera le code slate