PageSourceSearch

https://stenciljs.com/docs/assets/js/0213e0d7.9b8cd2b5.js

js stenciljs.com collected 2026-09-24 17:51:07 UTC 24,916 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_stencil_stencil_site=self.webpackChunk_stencil_stencil_site||[]).push([[969],{63769:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>o,frontMatter:()=>s,metadata:()=>c,toc:()=>x});var l=n(74848),i=n(28453);const s={title:"Support Policy",sidebar_label:"Support Policy",description:"Support Policy",slug:"/support-policy"},r="Support Policy",c={id:"reference/support-policy",title:"Support Policy",description:"Support Policy",source:"@site/versioned_docs/version-v4.43/reference/support-policy.md",sourceDirName:"reference",slug:"/support-policy",permalink:"/docs/support-policy",draft:!1,unlisted:!1,editUrl:"https://github.com/ionic-team/stencil-site/tree/main/versioned_docs/version-v4.43/reference/support-policy.md",tags:[],version:"v4.43",frontMatter:{title:"Support Policy",sidebar_label:"Support Policy",description:"Support Policy",slug:"/support-policy"},sidebar:"docs",previous:{title:"FAQ",permalink:"/docs/faq"},next:{title:"Versioning",permalink:"/docs/versioning"}},d={},x=[{value:"Community Maintenance",id:"community-maintenance",level:2},{value:"Stencil Maintenance and Support Status",id:"stencil-maintenance-and-support-status",level:2},{value:"Stencil Support Details",id:"stencil-support-details",level:3},{value:"Browser Support",id:"browser-support",level:2},{value:"TypeScript Support",id:"typescript-support",level:2},{value:"Compatibility Recommendations",id:"compatibility-recommendations",level:2},{value:"JavaScript Runtime",id:"javascript-runtime",level:3},{value:"Testing Libraries",id:"testing-libraries",level:3},{value:"Jest with Jest Stencil Runner",id:"jest-with-jest-stencil-runner",level:4},{value:"Jest",id:"jest",level:4},{value:"Puppeteer",id:"puppeteer",level:4}];function h(e){const t={a:"a",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.header,{children:(0,l.jsx)(t.h1,{id:"support-policy",children:"Support Policy"})}),"\n",(0,l.jsx)(t.h2,{id:"community-maintenance",children:"Community Maintenance"}),"\n",(0,l.jsx)(t.p,{children:"Stencil is a 100% open source (MIT) project. Developers can ensure Stencil is the right choice for building web\ncomponents through Ionic\u2019s community maintenance strategy. The Stencil team regularly ships new releases, bug fixes, and\nis welcoming to community pull requests."}),"\n",(0,l.jsx)(t.h2,{id:"stencil-maintenance-and-support-status",children:"Stencil Maintenance and Support Status"}),"\n",(0,l.jsx)(t.p,{children:"Given the reality of time and resource constraints as well as the desire to keep innovating in the frontend development\nspace, over time it becomes necessary for the Stencil team to shift focus to newer versions of the library. However, the\nStencil team will do everything it can to make the transition to newer versions as smooth as possible. The Stencil team\nrecommends updating to the newest version of the Stencil for the latest features, improvements and stability updates."}),"\n",(0,l.jsx)(t.p,{children:"The current status of each Stencil version is:"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Version"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Status"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Released"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Maintenance Ends"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Ext. Support Ends"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V4"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:(0,l.jsx)(t.strong,{children:"Active"})}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jun 26, 2023"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"TBD"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"TBD"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V3"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Extended Support"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jan 25, 2023"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Dec 26, 2023"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jun 26, 2024"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V2"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"End of Support"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Aug 08, 2020"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jul 25, 2023"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jan 25, 2024"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V1"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"End of Support"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jun 03, 2019"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Aug 08, 2020"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Aug 08, 2020"})]})]})]}),"\n",(0,l.jsxs)(t.p,{children:[(0,l.jsx)(t.strong,{children:"Maintenance Period"}),": Only critical bug and security fixes. No major feature improvements."]}),"\n",(0,l.jsxs)(t.p,{children:[(0,l.jsx)(t.strong,{children:"Extended Support Period"}),": Available to Stencil Enterprise customers."]}),"\n",(0,l.jsx)(t.h3,{id:"stencil-support-details",children:"Stencil Support Details"}),"\n",(0,l.jsx)(t.p,{children:"Starting with Stencil v2, the Stencil team is adopting a newly revised maintenance policy. When a new major version of\nStencil is released, the previous major version release will enter maintenance mode. While a ver
1sion of Stencil is in\nmaintenance mode, only critical bug & security fixes will be applied to that version, and no major feature improvements\nwill be added. The maintenance period shall last six months from the release of the new major version."}),"\n",(0,l.jsx)(t.p,{children:"Once the maintenance period has ended for a version of Stencil, that version enters the extended support period. During\nthe extended support period, only critical bug and security fixes will be applied for teams and organizations using\nStencil's Enterprise offerings. The extended support period lasts for twelve months from the release of the new major\nversion."}),"\n",(0,l.jsx)(t.p,{children:"The table below describes a theoretical timeline of releases:"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Version"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Status"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Released"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Maintenance Ends"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Ext. Support Ends"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"D"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Active"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jan 01, 2022"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"TBD"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"TBD"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"C"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Maintenance"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jul 07, 2021"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jul 01, 2022"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jan 01, 2023"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"B"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Extended Support Only"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jan 01, 2021"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jan 07, 2022"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jul 07, 2022"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"A"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"End of Support"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jul 07, 2020"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jul 01, 2021"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"Jan 01, 2021"})]})]})]}),"\n",(0,l.jsx)(t.p,{children:"In the example above, when Version D is released, Version C enters maintenance mode. Version D was released on January\n1st, 2022. Version C shall be in maintenance mode until July 1st, 2022, three months after the release of Version D.\nAfter July 1st 2022, Version C will be in extended support until Jun 1st, 2023, twelve months after the release of\nVersion D."}),"\n",(0,l.jsx)(t.h2,{id:"browser-support",children:"Browser Support"}),"\n",(0,l.jsx)(t.p,{children:"Stencil builds Web Components that run natively in all widely used desktop and mobile browsers.\nCustom Elements are natively supported in Chrome, Edge, Firefox, and Safari (including iOS)!"}),"\n",(0,l.jsx)(t.p,{children:"Stencil supports the following browsers:"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Stencil Version"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Chrome"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Edge"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Firefox"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Safari"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Internet Explorer"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Pre-Chromium Edge"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V4"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v79+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v79+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v70+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v14+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V3"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v79+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v79+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v70+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v14+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V2"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v60+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v79+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v63+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v10.1+"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"typescript-support",children:"TypeScript Support"}),"\n",(0,l.jsx)(t.p,{children:"Stencil acts as a compiler for a project's web components, and works closely with the TypeScript compiler to transform\nTSX to vanilla JavaScript. To ensure compatibility between the two, Stencil takes an opinionated stance on which version\nof the TypeScript compiler must be used."}),"\n",(0,l.jsx)(t.p,{children:"Stencil includes a recent copy of the TypeScript compiler in its distributable* to guarantee this compatibility.\nThe Stencil team is committed to keeping its version of TypeScript up to date and, as of Stencil v2.10.0, attempts to be\nwithin one minor version of the latest Type
1Script release."}),"\n",(0,l.jsx)(t.p,{children:"The table below describes recent versions of Stencil and the version of TypeScript each version shipped with."}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Stencil Version"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"TypeScript Version"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.20.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v5.5.3"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.16.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v5.4.5"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.15.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v5.4.4"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.14.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v5.4.3"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.13.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v5.4.2"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.10.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v5.3.0"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.4.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v5.2.2"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.2.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v5.1.6"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v3.3.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v5.0.4"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v3.0.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.9.4"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v2.21.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.9.3"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v2.20.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.8.4"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v2.18.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.7.4"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v2.14.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.5.4"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v2.10.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.3.5"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v2.5.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.2.3"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v2.4.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.1.3"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v2.2.0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"v4.0.5"})]})]})]}),"\n",(0,l.jsxs)(t.p,{children:["The TypeScript team releases a new minor version of the TypeScript compiler approximately once every three months. To\naccomplish its goal of staying within one minor version of the latest release, Stencil will update its version of\nTypeScript once every three months as well. Updates to the version of TypeScript will often, but not always, occur in a\n",(0,l.jsx)(t.a,{href:"/docs/versioning#minor-release",children:"minor version release"})," of Stencil."]}),"\n",(0,l.jsx)(t.p,{children:"The Stencil team acknowledges that TypeScript minor version releases may contain breaking changes. The Stencil team will\ndo everything in its power to avoid propagating breaking changes to its user base."}),"\n",(0,l.jsx)(t.p,{children:"* The TypeScript compiler is never included in the output of your Stencil project, and is only used for c
1ompilation\nand type checking purposes."}),"\n",(0,l.jsx)(t.h2,{id:"compatibility-recommendations",children:"Compatibility Recommendations"}),"\n",(0,l.jsx)(t.p,{children:"Stencil is in many regards an opinionated library, and includes much of the software necessary to get users building web\ncomponents as quickly as possible. There are a few pieces of software that Stencil allows users to choose to best fit\ntheir team, organizational structure, and existing technical stack. The Stencil team has compiled a series of\ncompatibility tables to describe the interoperability requirements of these pieces of software and Stencil."}),"\n",(0,l.jsx)(t.h3,{id:"javascript-runtime",children:"JavaScript Runtime"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Stencil Version"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Node v10"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Node v12"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Node v14"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Node v16"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Node v18"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Node v20"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Node v22"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V4"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V3"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V2"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u26a0"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V1"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"})]})]})]}),"\n",(0,l.jsx)(t.h3,{id:"testing-libraries",children:"Testing Libraries"}),"\n",(0,l.jsxs)(t.h4,{id:"jest-with-jest-stencil-runner",children:["Jest with ",(0,l.jsx)(t.a,{href:"https://github.com/stenciljs/jest-stencil-runner",children:"Jest Stencil Runner"})]}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Stencil Version"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Jest v30 *"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V4"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]})})]}),"\n",(0,l.jsx)(t.h4,{id:"jest",children:"Jest"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Stencil Version"}),(0,l.jsx)(t.th,{style:{textAlign:"center"}
1,children:"Jest v24-26"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Jest v27"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Jest v28 *"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Jest v29 *"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Jest v30 *"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V4"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V3"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V2"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V1"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"})]})]})]}),"\n",(0,l.jsx)(t.p,{children:"* Support for Jest 28 & 29 has been included since Stencil v4.7.0."}),"\n",(0,l.jsx)(t.h4,{id:"puppeteer",children:"Puppeteer"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Stencil Version"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Puppeteer v5-9"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Puppeteer v10"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Puppeteer v11-21"}),(0,l.jsx)(t.th,{style:{textAlign:"center"},children:"Puppeteer v22-24"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V4"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V3"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V2"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"V1"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"}),(0,l.jsx)(t.td,{style:{textAlign:"center"},children:"\u274c"})]})]})]})]})}function o(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}},28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var l=n(96540);const i={},s=l.createContext(i);function r(e){const t=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),l.createElement(s.Provider,{value:t},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.