Semaine 13 â Article de blog sur l’Ember Inspector et astuces pour les tests manuels
#web #emberjs #blog_post #ember_inspector #vite #npx #pnpm_dlx
Je lâavais promis la semaine derniĂšre, le voici ! Jâai Ă©crit lâarticle de blog The road to Vite support for the Ember Inspector. Il explique en gros tout ce que mon Ă©quipe fait sur lâEmber Inspector : quel est le problĂšme, quel est le plan, oĂč nous en sommes⊠Tout ce dont jâai parlĂ© ces derniĂšres semaines, mais en prenant du recul maintenant que nous faisons de rĂ©els progrĂšs.
Les « snapshots » de lâInspector #
LâEmber Inspector a un concept intĂ©ressant de « snapshots ». En termes trĂšs simples, vous pouvez figer une version de lâInspector et dire : cette version figĂ©e doit ĂȘtre tĂ©lĂ©chargĂ©e si lâapplication Ember exĂ©cutĂ©e sur la page est dans cette plage de versions donnĂ©e. Ainsi, vous pouvez arrĂȘter de supporter les anciennes versions dâEmber, et si un·e dĂ©veloppeur·se veut inspecter une application Ember trĂšs ancienne, ça se fera avec une version ancienne mais fonctionnelle de lâInspector.
Cela dit, lâEmber Inspector actuel supporte les applications Ember jusquâĂ la version 3.16, ce qui est dĂ©jĂ assez ancien. Pour lâinstant, nous ne pouvons pas faire de changement substantiel dans lâinspecteur qui casserait les tests de la 3.16.
Quand un scĂ©nario spĂ©cifique de CI Ă©choue pour une version, combiner ember-try et lâexĂ©cution de tests dans le navigateur est une bonne façon de dĂ©marrer une session de dĂ©bogage. Mais parfois, les tests ne sont pas le meilleur point dâentrĂ©e quand vous voulez simplement essayer une chose prĂ©cise que vous avez en tĂȘte, et qui nâest pas liĂ©e Ă vos cas de test actuels.
npx et pnpm dlx : exécuter des commandes depuis des packages npm distants #
Saviez-vous que vous nâavez pas besoin dâavoir ember installĂ© globalement sur votre machine pour exĂ©cuter des commandes ember ? npx et pnpm dlx offrent des moyens dâexĂ©cuter des commandes depuis des packages npm distants. Comme la syntaxe du package inclut la version (my-package@x.x.x), vous pouvez exĂ©cuter des commandes CLI depuis nâimporte quelle ancienne version de votre choix.
La commande ember que vous obtenez lorsque vous installez Ember CLI globalement sur votre machine provient du package npm ember-cli. Donc, si vous voulez tester une fonctionnalité spécifique comme « Est-ce que ember-wormhole < 0.5.0 fonctionne dans une application 3.16 ?» (non, il ne fonctionne pas), vous pouvez générer une application Ember 3.16 avec :
pnpm dlx ember-cli@3.16 new my-old-3-16-app
Personnellement, jâai un dossier sur mon ordinateur qui contient diverses versions dâapplications Ember de la 3.16 Ă la 6.4, utilisant la pipeline de build Broccoli, Embroider+Webpack ou Embroider+Vite. Jâajoute ce dossier Ă presque tous mes espaces de travail VS Code. Par exemple, dans mon espace de travail Ember Inspector, jâai quatre dossiers : le fork ember-inspector de Mainmatter, le fork ember.js que Chris Manson a créé pour notre preuve de concept (voir lâarticle de blog), le dĂ©pĂŽt embroider que jâai utilisĂ© pour rĂ©diger le plugin de quick-fix (toujours dans lâarticle de blog), et ce dossier que jâai appelĂ© « Ember app fixtures » qui contient toutes les applications Ember que jâutilise rĂ©guliĂšrement pour divers tests manuels.
Un mot sur ember-wormhole #
ember-wormhole est un ancien addon utilisĂ© pour rendre une partie de votre template dans un Ă©lĂ©ment « distant » du DOM donnĂ© plutĂŽt quâĂ sa place dâorigine. Il a Ă©tĂ© dĂ©veloppĂ© avant quâEmber ne fournisse le in-element intĂ©grĂ© et possĂšde encore quelques fonctionnalitĂ©s supplĂ©mentaires. En raison du type de fonctionnalitĂ© que câest, ember-wormhole bĂ©nĂ©ficie dâun support dĂ©diĂ© dans lâEmber Inspector, et ça fait partie des choses qui nĂ©cessitent un peu de refactorisation pour prĂ©parer le terrain pour Vite. Câest un dĂ©fi supplĂ©mentaire que nous avons soulevĂ© en travaillant sur le code de lâEmber Inspector : concevoir la meilleure stratĂ©gie concernant le support dâember-wormhole.
Je suis satisfaite de nos progrĂšs actuels sur lâEmber Inspector. Ăcrire lâarticle de blog a Ă©tĂ© un bon exercice pour prendre du recul et rĂ©aliser ce que nous avons dĂ©jĂ accompli par rapport au plan. Je suis convaincue quâil communique suffisamment bien la complexitĂ© du projet et explique pourquoi autant de semaines sont nĂ©cessaires pour livrer une solution stable.