{"id":4042,"date":"2022-01-24T20:11:13","date_gmt":"2022-01-24T20:11:13","guid":{"rendered":"https:\/\/ionicframework.com\/blog\/?p=4042"},"modified":"2023-01-21T00:31:00","modified_gmt":"2023-01-21T05:31:00","slug":"announcing-stencil-v2-13","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13","title":{"rendered":"Announcing Stencil v2.13"},"content":{"rendered":"<p>The first Stencil minor release of 2022 is here, and it\u2019s a big one. With the release of Stencil v2.13, Stencil now includes support for <a href=\"https:\/\/jestjs.io\/\">Jest 27<\/a>! Jest sits at the core of Stencil testing, so we\u2019ve been working hard to ensure that Stencil continues to support the latest version of Jest. This has been a highly anticipated feature, and we are so excited that it is now available for the Stencil community.<\/p>\n<p><!--more--><\/p>\n<p>We can\u2019t wait for you to start using Jest 27 in your Stencil projects, but it must be noted that Jest 27 does include some breaking changes. <a href=\"https:\/\/jestjs.io\/blog\/2021\/05\/25\/jest-27\">For all the changes included in Jest 27, check out this blog post<\/a>. With these changes in mind, we want to help make the upgrade process as smooth as possible. To facilitate that, our very own Ryan Waskiewicz has written an <a href=\"https:\/\/ionicframework.com\/blog\/stencil-jest-27-upgrade-instructions\/\">upgrade guide<\/a>.<\/p>\n<p>Please note that Jest 27 itself contains breaking changes. However, if your workflow does not require Jest 27, you can upgrade Stencil seamlessly with no breaking changes. You can upgrade your Stencil version and still use whatever version of Jest you are currently using in your project. We\u2019ve also updated the Stencil starter projects so, from now on, when you run <code>npm init Stencil<\/code>, your project will automatically use Jest 27 by default.<\/p>\n<p>While we\u2019re really excited about support for Jest 27, it is not the only new feature included in Stencil v2.13. In the spirit of testing, we\u2019ve also improved our <code>MockEvent<\/code> to support <code>composedPath()<\/code>. <code>composedPath()<\/code> is an event method that returns an array of the elements included in the chain of objects on which an event listener will be invoked. For more information on <code>composedPath()<\/code>, you can check out the <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Event\/composedPath\">MDN docs<\/a>.<\/p>\n<p>As always, the <a href=\"https:\/\/github.com\/ionic-team\/stencil\/releases\/tag\/v2.13.0\">release notes can be found here<\/a>. Happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The first Stencil minor release of 2022 is here, and it\u2019s a big one. With the release of Stencil v2.13, Stencil now includes support for Jest 27! Jest sits at the core of Stencil testing, so we\u2019ve been working hard to ensure that Stencil continues to support the latest version of Jest. This has been [&hellip;]<\/p>\n","protected":false},"author":87,"featured_media":4044,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"1","publish_post_category":"21","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"541013","discourse_permalink":"https:\/\/forum.ionicframework.com\/t\/announcing-stencil-v2-13\/219705","wpdc_publishing_response":"","wpdc_publishing_error":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[120,223],"tags":[76],"class_list":["post-4042","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcements","category-stencil","tag-stencil"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.0 (Yoast SEO v23.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Announcing Stencil v2.13 - Ionic Blog<\/title>\n<meta name=\"description\" content=\"The first Stencil minor release of 2022 is here, and it\u2019s a big one. Stencil v2.13 now includes support for Jest 27!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Announcing Stencil v2.13\" \/>\n<meta property=\"og:description\" content=\"The first Stencil minor release of 2022 is here, and it\u2019s a big one. Stencil v2.13 now includes support for Jest 27!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-24T20:11:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-21T05:31:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/01\/stencil213-feature-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"880\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Anthony Giuliano\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@a__giuliano\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anthony Giuliano\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13\"},\"author\":{\"name\":\"Anthony Giuliano\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/a3190e4d49187220d0c720f2ceab9b58\"},\"headline\":\"Announcing Stencil v2.13\",\"datePublished\":\"2022-01-24T20:11:13+00:00\",\"dateModified\":\"2023-01-21T05:31:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13\"},\"wordCount\":291,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/01\/stencil213-feature-image.png\",\"keywords\":[\"stencil\"],\"articleSection\":[\"Announcements\",\"Stencil\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13\",\"url\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13\",\"name\":\"Announcing Stencil v2.13 - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/01\/stencil213-feature-image.png\",\"datePublished\":\"2022-01-24T20:11:13+00:00\",\"dateModified\":\"2023-01-21T05:31:00+00:00\",\"description\":\"The first Stencil minor release of 2022 is here, and it\u2019s a big one. Stencil v2.13 now includes support for Jest 27!\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/01\/stencil213-feature-image.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/01\/stencil213-feature-image.png\",\"width\":1600,\"height\":880,\"caption\":\"Stencil v2.13\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing Stencil v2.13\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ionic.io\/blog\/#website\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"name\":\"ionic.io\/blog\",\"description\":\"Build amazing native and progressive web apps with the web\",\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ionic.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ionic.io\/blog\/#organization\",\"name\":\"Ionic\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"width\":1920,\"height\":854,\"caption\":\"Ionic\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ionicframework\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/a3190e4d49187220d0c720f2ceab9b58\",\"name\":\"Anthony Giuliano\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/10\/anthony-giuliano-profile-cropped-150x150.jpeg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/10\/anthony-giuliano-profile-cropped-150x150.jpeg\",\"caption\":\"Anthony Giuliano\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/anthonygiuliano1\/\",\"https:\/\/x.com\/a__giuliano\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/anthonyionic-io\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Announcing Stencil v2.13 - Ionic Blog","description":"The first Stencil minor release of 2022 is here, and it\u2019s a big one. Stencil v2.13 now includes support for Jest 27!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13","og_locale":"en_US","og_type":"article","og_title":"Announcing Stencil v2.13","og_description":"The first Stencil minor release of 2022 is here, and it\u2019s a big one. Stencil v2.13 now includes support for Jest 27!","og_url":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13","og_site_name":"Ionic Blog","article_published_time":"2022-01-24T20:11:13+00:00","article_modified_time":"2023-01-21T05:31:00+00:00","og_image":[{"width":1600,"height":880,"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/01\/stencil213-feature-image.png","type":"image\/png"}],"author":"Anthony Giuliano","twitter_card":"summary_large_image","twitter_creator":"@a__giuliano","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Anthony Giuliano","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13"},"author":{"name":"Anthony Giuliano","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/a3190e4d49187220d0c720f2ceab9b58"},"headline":"Announcing Stencil v2.13","datePublished":"2022-01-24T20:11:13+00:00","dateModified":"2023-01-21T05:31:00+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13"},"wordCount":291,"commentCount":0,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/01\/stencil213-feature-image.png","keywords":["stencil"],"articleSection":["Announcements","Stencil"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13","url":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13","name":"Announcing Stencil v2.13 - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/01\/stencil213-feature-image.png","datePublished":"2022-01-24T20:11:13+00:00","dateModified":"2023-01-21T05:31:00+00:00","description":"The first Stencil minor release of 2022 is here, and it\u2019s a big one. Stencil v2.13 now includes support for Jest 27!","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/announcing-stencil-v2-13"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/01\/stencil213-feature-image.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/01\/stencil213-feature-image.png","width":1600,"height":880,"caption":"Stencil v2.13"},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-13#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Announcing Stencil v2.13"}]},{"@type":"WebSite","@id":"https:\/\/ionic.io\/blog\/#website","url":"https:\/\/ionic.io\/blog\/","name":"ionic.io\/blog","description":"Build amazing native and progressive web apps with the web","publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ionic.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ionic.io\/blog\/#organization","name":"Ionic","url":"https:\/\/ionic.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","width":1920,"height":854,"caption":"Ionic"},"image":{"@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ionicframework"]},{"@type":"Person","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/a3190e4d49187220d0c720f2ceab9b58","name":"Anthony Giuliano","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/10\/anthony-giuliano-profile-cropped-150x150.jpeg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/10\/anthony-giuliano-profile-cropped-150x150.jpeg","caption":"Anthony Giuliano"},"sameAs":["https:\/\/www.linkedin.com\/in\/anthonygiuliano1\/","https:\/\/x.com\/a__giuliano"],"url":"https:\/\/ionic.io\/blog\/author\/anthonyionic-io"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/01\/stencil213-feature-image.png","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/4042","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/users\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=4042"}],"version-history":[{"count":1,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/4042\/revisions"}],"predecessor-version":[{"id":4707,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/4042\/revisions\/4707"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media\/4044"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=4042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=4042"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=4042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}