Dans cet article, un aperçu du package MRI est fourni avec un exemple d'utilisation tiré du code source de Changesets.
Vous pouvez utiliser le package MRI pour rechercher rapidement des indicateurs et des arguments. C'est une alternative à yargs-parser.
1 |
|
1 2 |
|
Le code suivant est extrait de la documentation du package MRI npm.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
En savoir plus sur les options :
Alias
Booléen
Par défaut
En substance, nous convertissons les arguments CLI en un objet. Maintenant que nous comprenons les bases de l'IRM, il est temps d'examiner son utilisation dans les Changesets.
L'IRM est importée dans le package CLI Changesets
Lorsque vous ajoutez un ensemble de modifications à l'aide de la commande npx changeset add ou npx changeset, ceux-ci sont accessibles dans le package CLI comme indiqué ci-dessous.
1 |
|
Le code ci-dessous montre comment l'IRM est utilisé dans le package CLI Changeset
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
la valeur analysée ressemblera à ci-dessous, je l'ai déduit sur la base de la documentation :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
La variable analysée est utilisée dans une fonction nommée run importée de /run.ts
1 2 |
|
Le premier paramètre est pared._ car dans la documentation, il est prévu que les commandes analysées comme 'add' ressemblent à { _: ['add']>
1 2 3 4 5 6 |
|
parsed contient un objet analysé par mri basé sur les arguments CLI et l'ensemble de configuration pour les booléens, les chaînes, les valeurs par défaut et les alias.
cwd est un répertoire de travail actuel, vous pouvez l'obtenir avec process.cwd()
Chez Thinkthroo, nous étudions les grands projets open source et fournissons des guides architecturaux. Nous avons développé des composants réutilisables, construits avec tailwind, que vous pouvez utiliser dans votre projet. Nous proposons des services de développement Next.js, React et Node.
Prenez rendez-vous avec nous pour discuter de votre projet.
https://www.npmjs.com/package/mri
https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L1C18-L1C21
https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L9
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!