Fermer

février 10, 2021

Apprivoiser les environnements avec Volta, le gestionnaire d'outils JavaScript


Dans cet épisode de React Wednesday nous avons interviewé Chuck Pierce pour tout savoir sur Volta, un nouvel outil open source pour simplifier la gestion des environnements JavaScript.

Les développeurs JavaScript vivent dans un monde où les versions d'outils évoluent rapidement. Maintenir le bon ensemble de bibliothèques et de plugins pour un développeur solo peut être une corvée. C'est beaucoup plus difficile de le faire dans une équipe. C'est encore plus difficile pour les équipes réparties géographiquement. De nombreuses heures sont perdues lors du dépannage des différences dans les versions de bibliothèque entre les environnements.

Volta, le "Gestionnaire d'outils JavaScript sans tracas", est un projet open source visant à simplifier la gestion des environnements JavaScript . L'équipe a publié Volta 1.0 en décembre 2020. Puisque nous aimons la simplicité et que nous aimons le code, nous devions examiner l'outil de plus près.

 Les hôtes de React Wednesday ont interviewé Chuck Pierce de Volta.

a présenté la version 1.0 dans notre Newsletter Enterprise React . Nous avons ensuite demandé à Chuck Pierce le principal mainteneur de Volta, de venir notre spectacle React Wednesday et de démontrer comment Volta simplifie la configuration et l'administration de la chaîne d'outils JavaScript . Au cours de la diffusion, nous avons discuté du fonctionnement de Volta, appris son histoire d'origine et même découvert pourquoi l'équipe a choisi Rust comme langage de plate-forme. Je vous encourage à regarder l'émission. Voici quelques faits saillants de l'émission qui méritent d'être mentionnés.

Qu'est-ce que Volta?

Volta est un moyen sans tracas de gérer vos outils de ligne de commande JavaScript. Les créateurs ont conçu la bibliothèque pour ne pas vous gêner. Nous avons plaisanté lors de l'émission en disant qu'un nouveau slogan pour Volta pourrait être "Fonctionne si bien que vous oublierez qu'il est installé." Vous spécifiez la configuration de l'outil pour votre projet à l'aide de la syntaxe déclarative, et Volta gère les détails tactiques pour mettre correctement en place l'environnement à votre convenance. Pour accélérer l'exécution, Volta servira les éléments d'un cache local si possible.

 Réagissez les mercredis avec Volta, en répondant à une question sur quel outil ils utilisent pour gérer la version Volta

Qui a besoin de Volta?

Oui, si vous êtes le genre de personne qui veut éviter travaux de diagnostic et de dépannage causés par des incohérences de version. Il semble que nous ayons tous de nombreux projets sur notre système de fichiers. Vous pouvez dire la dernière fois qu'un projet a été exécuté par la version des bibliothèques, un peu comme les anneaux d'un arbre. Les environnements peuvent devenir désordonnés lorsque les versions sont en concurrence ou sont même légèrement différentes. Volta vous permet de configurer exactement l'environnement nécessaire, puis orchestre automatiquement l'installation et la configuration.

Un exemple pratique de Volta pour vous aider

Imaginez que vous avez un projet qui utilise TypeScript. TypeScript v3.9 est installé globalement, mais votre dépendance de projet est TypeScript 3.8. Si TypeScript 3.8 n'est pas installé dans le projet, votre environnement sera probablement "utile" en recherchant et en utilisant le binaire TypeScript installé globalement. Cette incompatibilité de version peut potentiellement causer des problèmes avec votre projet. Au lieu d'appeler le binaire TypeScript enregistré globalement, Volta lancera une erreur, empêchant votre application d'utiliser la mauvaise version binaire.

 Réagissez les mercredis avec Volta répondant à une question sur ce qui se passera si le typeScript est déclaré dans le package local mais pas installé

Comment configurer des environnements avec Volta

La ​​configuration est disponible au niveau global ou projet. Vous spécifiez la recette nécessaire pour votre projet à l'aide du fichier package.json familier. Vous devrez insérer une clé Volta dans le fichier package.json pour node et dans tous les gestionnaires de packages que vous utilisez. Volta fournit également des commandes CLI pour plus de commodité pour définir la version et écrire les configurations appropriées.

Le reste de la configuration de la chaîne d'outils de votre projet se trouve dans la clé 'dependencies' habituelle de votre package.json. Tout package pouvant être installé via un gestionnaire de packages pris en charge est administrable par Volta.

Gestionnaires de packages pris en charge:

Coming Soon Gestionnaires de packages:

 React Les mercredis avec Volta, mettant en évidence la configuration PackageJSON nécessaire

Comment fonctionne Volta?

Volta crée des cales pour les commandes. Un processus d'appel ressemble à ceci:

  1. Une commande est exécutée pour un binaire de chaîne d'outils.
  2. Habituellement, le système appelle le binaire de chaîne d'outils et exécute la commande, mais Volta intercepte la commande
  3. Volta valide la version correcte de le binaire est installé et disponible dans le répertoire du projet.
  4. Si le binaire n'est pas en place, Volta cherche à voir s'il a une copie du binaire / version. Si c'est le cas, Volta rend ce binaire disponible pour le projet. Sinon, il télécharge et installe la version binaire / et rend le binaire disponible dans le répertoire du projet.
  5. Volta exécute la commande d'origine vers le binaire.

En raison de cette nature de shim, l'équipe de Volta voulait s'assurer qu'il n'y aurait pas Il ne s’agit pas de problèmes de performance indus découlant du fait que Volta sert d’intermédiaire. Pour atteindre des performances maximales, l'équipe Volta a choisi l'environnement de programmation Rust. Rust est un langage de niveau système doté de capacités linguistiques fonctionnelles. Rust est également multiplateforme, permettant à Volta de fonctionner sous Windows, Mac et Linux. Chuck a déclaré que l'impact de Volta était d'environ 20 ms, ce qui est exceptionnellement léger, comme je suis sûr que vous serez d'accord.

Qui parraine le développement de Volta?

Chuck est un employé de LinkedIn qui travaille principalement sur le projet Volta. LinkedIn utilise Volta en interne et a choisi de rendre Volta disponible en tant que projet open source. Il est rassurant de savoir qu'une ressource dédiée est en charge du projet.

Comment Volta est-il autorisé?

Volta est licencié sous la licence BSD à 2 clauses. La licence BSD à 2 clauses est hautement permissive et exempte d'exigences étranges, vous pourrez donc utiliser Volta dans vos projets, même si votre organisation a besoin d'un examen juridique de la licence.

Où trouver plus d'informations [19659033] Dernières pensées

La ​​beauté de notre écosystème JavaScript en évolution rapide crée également de la douleur. Construire des applications sur une base de bibliothèques constamment mises à jour injecte de la complexité dans le processus de développement logiciel. Il est trop facile d’utiliser la mauvaise version et de provoquer des problèmes à la fois urgents et imprévus.

En tant que développeurs de logiciels, notre travail consiste à fournir régulièrement et de manière prévisible des fonctionnalités significatives à nos clients, clients et partenaires commerciaux. Les travaux urgents et imprévus endommagent les calendriers de projet, car le développeur du logiciel doit cesser de travailler sur de nouvelles fonctionnalités et commencer à dépanner quelque chose qui «fonctionnait auparavant» ou «fonctionne sur ma machine». Volta défend votre environnement contre de tels problèmes, vous offrant le contrôle et l'automatisation dont vous avez besoin pour vous assurer que les environnements sont configurés exactement comme vous le souhaitez, à chaque fois. N’est-il pas temps que vous mettiez à jour la façon dont vous gérez vos environnements JavaScript?

 The Volta Logo




Source link