PageSourceSearch

https://currents.dev/_next/static/chunks/7103.eebe545728f58b7e.js

js currents.dev collected 2026-09-25 20:49:00 UTC 16,622 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7103],{7103:(t,e,s)=>{s.r(e),s.d(e,{default:()=>S});var a=s(37876),i=s(82195),r=s(98489),l=s(60927);let n=(0,l.A)("outline","bug","Bug",[["path",{d:"M9 9v-1a3 3 0 0 1 6 0v1",key:"svg-0"}],["path",{d:"M8 9h8a6 6 0 0 1 1 3v3a5 5 0 0 1 -10 0v-3a6 6 0 0 1 1 -3",key:"svg-1"}],["path",{d:"M3 13l4 0",key:"svg-2"}],["path",{d:"M17 13l4 0",key:"svg-3"}],["path",{d:"M12 20l0 -6",key:"svg-4"}],["path",{d:"M4 19l3.35 -2",key:"svg-5"}],["path",{d:"M20 19l-3.35 -2",key:"svg-6"}],["path",{d:"M4 7l3.75 2.4",key:"svg-7"}],["path",{d:"M20 7l-3.75 2.4",key:"svg-8"}]]);var o=s(31999),d=s(52927),c=s(27513),u=s(54340);let h=(0,l.A)("outline","git-pull-request","GitPullRequest",[["path",{d:"M4 18a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-0"}],["path",{d:"M4 6a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-1"}],["path",{d:"M16 18a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-2"}],["path",{d:"M6 8l0 8",key:"svg-3"}],["path",{d:"M11 6h5a2 2 0 0 1 2 2v8",key:"svg-4"}],["path",{d:"M14 9l-3 -3l3 -3",key:"svg-5"}]]);var p=s(58378),m=s(24628),y=s(47026),g=s(40522);s(14232);var x=s(4713);let f=s(20407).vw.filter(t=>"free"!==t.key),v="grid-cols-3 md:grid-cols-[1fr_repeat(3,100px)]",k=["free","scale","business","enterprise"],b=[{label:"Playwright Support",description:"The most extensive support for Playwright native features.",icon:(0,a.jsx)(i.A,{className:"w-6 h-6",stroke:1.5}),list:[{title:"Playwright Traces",text:"Currents automatically captures Playwright Traces and stores them in the cloud for troubleshooting and debugging with one-click access"},{title:"Playwright Tags",text:"Add tags to your tests and see or filter them in the Currents dashboard"},{title:"Playwright Annotations",text:"Add annotations to your tests and see or filter them in the Currents dashboard"},{title:"Playwright Visual Testing",text:"Create tests that visually compare screenshots and see them in the Currents dashboard"},{title:"Playwright Artifacts",text:"Support for all types of attachments - videos, screenshots, traces, etc."},{title:"Playwright Component Testing",text:"Test UI components and see them in the Currents dashboard"},{title:"Playwright Code Coverage",text:"Measure code coverage of your tests and see the coverage trends over time"},{title:"Playwright Sharding",text:"Run your tests in parallel across multiple CI machines to speed up your test suite"}]},{label:"Build Details",description:"Comprehensive build information and insights.",icon:(0,a.jsx)(r.A,{className:"w-6 h-6",stroke:1.5}),list:[{title:"Build Progress",text:"See the progress of your test suite in real time"},{title:"Run/Spec/Test Status",text:"Quickly identify and review your test results"},{title:"Git Information",text:"Easily see all the important git information for every build - author name, commit message, branch name, PR details and more"},{title:"Environment Information",text:"See the browser and device information for each build"},{title:"Run/Spec/Test Duration",text:"See the duration of your builds, spec files, and the time spent on each test"},{title:"Machines Distribution",text:"See the distribution of your tests across the CI machines"}]},{label:"Debug Failures",description:"Understand and fix the root cause of your test failures.",icon:(0,a.jsx)(n,{className:"w-6 h-6",stroke:1.5}),list:[{title:"Live Step-level Reporting",text:"Currents captures and streams test results on-the-fly, as soon as they are available. No need to wait for the whole test suite to finish"},{title:"Screenshots",text:"See the exact moment of a failure or take custom screenshots for efficient troubleshooting"},{title:"Video Recordings",text:"Record videos of your tests, replay them later and see the details"},{title:"Errors Stack Trace",text:"Get to the bottom of error's root cause by using the stack trace generated at the time of the failure"},{title:"Terminal Output",text:"Trace all the output from the terminal during the test run to see the exact steps that led to the failure"},{title:"Source Code Highlighting",text:"Highlight the source code that caused the failure during the build for easier troubleshooting"}
1,{title:"Top Errors Summary",text:"Tackle the failures efficiently - see the top errors for each build to quickly identify the most impactful fixes"},{title:"Tests History",text:"See the full picture - we collect and present the history of your test runs across different branches and builds"}]},{label:"Flaky Tests",description:"Identify and manage flaky tests effectively.",icon:(0,a.jsx)(o.A,{className:"w-6 h-6",stroke:1.5}),rightSection:(0,a.jsx)(m.default,{link:"https://docs.currents.dev/dashboard/tests/flaky-tests",children:"Docs"}),list:[{title:"Flaky Tests Detection",text:"We help you to identify non-reliable flaky tests and mark them automatically"},{title:"Flakiness Insights",text:"Improve your test suite reliability with our Flaky Tests Insights tool that automatically detects flaky tests across builds"}]},{label:"Reports and Analytics",description:"Gain insights into your test suite performance & reliability.",icon:(0,a.jsx)(d.A,{className:"w-6 h-6",stroke:1.5}),rightSection:(0,a.jsx)(m.default,{link:"https://docs.currents.dev/insights-and-analytics",children:"Docs"}),list:[{title:"Runs status and failure rate",text:"Zoom out and evaluate the performance of your tests over time - see the aggregated status of your builds + the failure rate"},{title:"Runs duration and health",text:"Improve your CI efficiency by monitoring and improving the duration of your builds"},{title:"Tests distribution by status",text:"Track the failure rate of your tests and bring it to 0!"},{title:"Tests Flakiness",text:"Eliminate those expensive and unreliable tests by tracking the flakiness rate across different builds and branches"},{title:"Top Failing Tests",text:"See the top failing tests and their failure reasons - identify the most impactful fixes to reduce the cost of your CI"},{title:"Top Flaky Tests",text:"Improve your test suite reliability with our Flaky Tests Insights tool that automatically detects flaky tests across builds"},{title:"Automated Reports",text:"Send automated reports to your team or stakeholders with the latest test results and insights",tier:"scale"}]},{label:"Speed Up CI/CD",description:"Reduce CI build duration and save resources.",icon:(0,a.jsx)(c.A,{className:"w-6 h-6",stroke:1.5}),rightSection:(0,a.jsx)(m.default,{link:"https://docs.currents.dev/guides/ci-optimization",children:"Docs"}),list:[{title:"Parallelization",text:"Speed up your CI builds by running the tests in parallel",tier:"scale"},{title:"Smart Orchestration",text:"We help reduce build duration by smartly distributing the tests across the CI servers",tier:"scale"},{title:"Fail Fast Strategy",text:"Save time and resources by running the tests in parallel and canceling the run on the first failed test",tier:"scale"},{title:"Re-run only failed tests",text:"Speed up retries by re-running only the failed tests",tier:"scale"},{title:"Failed Tests First",text:"Get faster feedback by prioritizing the failed tests and running them first",tier:"scale"}]},{label:"Currents Actions",description:"Automate workflows by triggering actions based on flexible rules and conditions.",icon:(0,a.jsx)(u.A,{className:"w-6 h-6",stroke:1.5}),rightSection:(0,a.jsx)(m.default,{link:"https://docs.currents.dev/guides/currents-actions",children:"Docs"}),list:[{title:"Quarantine",text:"Add flaky tests to the quarantine to prevent runs from failing due to them",tier:"scale"},{title:"Skip",text:"Automatically skip tests based on the rules and conditions you define",tier:"scale"},{title:"Add Tags",text:"Automatically tag tests based on the rules and conditions you define",tier:"scale"}]},{label:"Integrations",description:"Connect with your existing tools and workflows.",icon:(0,a.jsx)(h,{className:"w-6 h-6",stroke:1.5}),rightSection:(0,a.jsx)(m.default,{link:"https://docs.currents.dev/resources/integrations",children:"Docs"}),list:[{title:"HTTP Webhooks",text:"Send your test results to any other service using HTTP Webhooks",tier:"scale"},{title:"REST API",text:"Use the REST API to integrate with your own CI/CD systems or create powerful automation tools",tier:"scale"},{title:"MCP Server",text:"Integrate Currents with your AI Agent",tier:"scale"},{title:"Jira",text:"Link test failure details to new or existing Jira issues",tier:"scale"},{title:"Slack",text:"Automatically post build results on a Slack channel",tier:"scale"},{title:"MS Teams",text:"Automatically post build results on a Teams channel",tier:"scale"},{title:"GitHub",text:"Get all the relevant information as a PR comment. Create branch protection based on test results",tier:"scale"},{title:"GitLab",text:"Posts Merge Request comments and status check updates with the test results",tier:"scale"},{title:"BitBucket",text:"Posts updates with the test results",tier:"scale"},{title:"IDE Extension",text:"VS Code and Cursor extensions to help you manage and fix tests with AI",tier:"scale"}]},{label:"Storage",description:"Data retention and storage options.",icon:(0,a.jsx)(h,{className:"w-6 h-6",stroke:1.5}),rightSection:(0,a.jsx)(m.default,{link:"https://docs.currents.dev/resources/data-privacy/data-retention#retained-data",children:"Docs"}),list:[{title:"Artifacts (Passed Tests)",text:"",values:["7 days","7 days","7 days","Custom"]},{title:"Artifacts (Failed, Flaky or Quarantined Tests)",text:"",values:["7 days","21 days","21 days","Custom"]},{title:"Test Results",text:"",values:["7 days","90 days","90 days","Custom"]},{title:"Test Details",text:"",values:["7 days","30 days","30 days","Custom"]},{title:"Reports & Analytics",text:"",values:["7 days","365 days","365 days","Custom"]},{title:"Bring Your Own Storage",text:"Store test results in your own S3
1-compatible storage",tier:"enterprise"}]},{label:"Security & Compliance",description:"Additional features and enterprise capabilities.",icon:(0,a.jsx)(p.A,{className:"w-6 h-6",stroke:1.5}),list:[{title:"Guest Accounts",text:"Invite read-only users to your dashboard without affecting your user limit.",tier:"scale"},{title:"Team Management and Permissions",text:"Manage the team and control access and roles via the dashboard"},{title:"Social Login",text:"Login with Google or GitHub"},{title:"MFA",text:"Multi-Factor Authentication"},{title:"SOC2 Type 2",text:"Currents is SOC2 Type 2 compliant"},{title:"SSO (SAML 2.0)",text:"Sign in to Currents using your existing credentials from a trusted identity provider (IdP)",tier:"business"},{title:"SCIM",text:"Automate provisioning and deprovisioning of user accounts across different systems",tier:"business"},{title:"Data Redaction",text:"Automatically identify and remove secrets from trace files",tier:"enterprise"},{title:"Self-Host",text:"Self-host Currents on your own infrastructure",tier:"enterprise"},{title:"Custom Terms",text:"Customized contract tailored for your organization",tier:"enterprise"},{title:"Security Questionnaires",text:"Our team will answer all your security & compliance questions",tier:"enterprise"}]},{label:"Support",description:"Additional features and enterprise capabilities.",icon:(0,a.jsx)(p.A,{className:"w-6 h-6",stroke:1.5}),list:[{title:"Email",text:"Contact our support team via email"},{title:"Live Chat",text:"Chat with our support team via live chat"},{title:"Priority Support",text:"Get priority support from our support team",tier:"business"},{title:"SLAs",text:"Service Level Agreement for guaranteed uptime and support",tier:"enterprise"},{title:"Dedicated Support on Slack",text:"Use Slack Connect to get direct help from Currents engineers in a dedicated Slack channel",tier:"enterprise"}]}];function S(){return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("section",{className:"lg:pt-25 md:pt-20 pt-15 bg-dark-300",id:"all-features",children:(0,a.jsxs)("div",{className:"container max-w-5xl",children:[(0,a.jsx)(y.default,{as:"h2",mid:!0,className:"max-w-[820px] mx-auto text-center",children:"All features"}),(0,a.jsx)(g.default,{small:!0,className:"text-center mx-auto max-w-[690px] mt-4 my-2.5 lg:mt-6",children:"Compare our plans and learn about Currents capabilities"}),(0,a.jsxs)("div",{className:"mt-7.5 md:mt-10 lg:mt-12.5 space-y-6",children:[(0,a.jsx)(A,{}),b.map(t=>(0,a.jsx)(w,{icon:t.icon,title:t.label,description:t.description,rightSection:t.rightSection,children:(0,a.jsx)("div",{children:t.list.map(t=>{let e=t.tier??"free";return(0,a.jsxs)("div",{className:`grid ${v} gap-2 border-b border-stone-800 px-4 py-3 items-center`,children:[(0,a.jsxs)("div",{className:"col-span-3 md:col-span-1 flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-stone-300",children:t.title}),t.text&&(0,a.jsx)(x.m,{"data-tooltip-id":"info","data-tooltip-html":t.text,"data-tooltip-clickable":!0})]}),f.map(s=>{var i;return(0,a.jsx)("div",{className:"text-center",children:t.values?(0,a.jsx)("span",{className:"text-stone-300 text-sm",children:t.values[k.indexOf(s.key)]}):(i=s.key,k.indexOf(i)>=k.indexOf(e))?(0,a.jsx)("span",{className:"text-emerald-400",children:"✓"}):(0,a.jsx)("span",{className:"text-stone-600",children:"—"})},s.key)})]},t.title)})})},t.label))]})]})})})}let w=({icon:t,title:e,description:s,children:i,rightSection:r})=>(0,a.jsxs)("div",{className:"bg-[#1f1f24] rounded-lg border border-dark-100",children:[(0,a.jsx)("div",{className:"p-4 bg-black/10",children:(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-x-4",children:[(0,a.jsx)("div",{className:"text-emerald-400",children:t}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-xl font-semibold text-white",children:e}),(0,a.jsx)("p",{className:"text-stone-400 hidden md:block mt-2",children:s})]})]}),r]})}),i&&(0,a.jsx)("div",{className:"border-t border-dark-100",children:i})]}),A=()=>(0,a.jsxs)("div",{className:"bg-[#1f1f24] rounded-lg border border-dark-100",children:[(0,a.jsxs)("div",{className:`hidden md:grid ${v} gap-2 py-6 px-4`,children:[(0,a.jsx)("div",{}),f.map(t=>(0,a.jsx)("div",{className:"text-center",children:(0,a.jsx)("div",{className:"text-lg font-thin",children:t.label})},t.key))]}),(0,a.jsx)("div",{className:`grid ${v} gap-2 py-6 px-4 md:hidden`,children:f.map(t=>(0,a.jsx)("div",{className:"text-center",children:(0,a.jsx)("div",{className:"text-sm font-thin",children:t.label})},t.key))})]})},27513:(t,e,s)=>{s.d(e,{A:()=>a});let a=(0,s(60927).A)("outline","rocket","Rocket",[["path",{d:"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3",key:"svg-0"}],["path",{d:"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3",key:"svg-1"}],["path",{d:"M14 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]])},31999:(t,e,s)=>{s.d(e,{A:()=>a});let a=(0,s(60927).A)("outline","alert-triangle","AlertTriangle",[["path",{d:"M12 9v4",key:"svg-0"}],["path",{d:"M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]])},52927:(t,e,s)=>{s.d(e,{A:()=>a});
1let a=(0,s(60927).A)("outline","chart-pie","ChartPie",[["path",{d:"M10 3.2a9 9 0 1 0 10.8 10.8a1 1 0 0 0 -1 -1h-6.8a2 2 0 0 1 -2 -2v-7a.9 .9 0 0 0 -1 -.8",key:"svg-0"}],["path",{d:"M15 3.5a9 9 0 0 1 5.5 5.5h-4.5a1 1 0 0 1 -1 -1v-4.5",key:"svg-1"}]])},54340:(t,e,s)=>{s.d(e,{A:()=>a});let a=(0,s(60927).A)("outline","bolt","Bolt",[["path",{d:"M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11",key:"svg-0"}]])},58378:(t,e,s)=>{s.d(e,{A:()=>a});let a=(0,s(60927).A)("outline","shield","Shield",[["path",{d:"M12 3a12 12 0 0 0 8.5 3a12 12 0 0 1 -8.5 15a12 12 0 0 1 -8.5 -15a12 12 0 0 0 8.5 -3",key:"svg-0"}]])},82195:(t,e,s)=>{s.d(e,{A:()=>a});let a=(0,s(60927).A)("outline","masks-theater","MasksTheater",[["path",{d:"M13.192 9h6.616a2 2 0 0 1 1.992 2.183l-.567 6.182a4 4 0 0 1 -3.983 3.635h-1.5a4 4 0 0 1 -3.983 -3.635l-.567 -6.182a2 2 0 0 1 1.992 -2.183",key:"svg-0"}],["path",{d:"M15 13h.01",key:"svg-1"}],["path",{d:"M18 13h.01",key:"svg-2"}],["path",{d:"M15 16.5c1 .667 2 .667 3 0",key:"svg-3"}],["path",{d:"M8.632 15.982a4.037 4.037 0 0 1 -.382 .018h-1.5a4 4 0 0 1 -3.983 -3.635l-.567 -6.182a2 2 0 0 1 1.992 -2.183h6.616a2 2 0 0 1 2 2",key:"svg-4"}],["path",{d:"M6 8h.01",key:"svg-5"}],["path",{d:"M9 8h.01",key:"svg-6"}],["path",{d:"M6 12c.764 -.51 1.528 -.63 2.291 -.36",key:"svg-7"}]])},98489:(t,e,s)=>{s.d(e,{A:()=>a});let a=(0,s(60927).A)("outline","info-circle","InfoCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 9h.01",key:"svg-1"}],["path",{d:"M11 12h1v4h1",key:"svg-2"}]])}}]);

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.