@vitest/browser 2.0.0-beta.1 → 2.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- .task-error[data-v-ffc45ddf]{--cm-ttc-c-thumb: #CCC}html.dark .task-error[data-v-ffc45ddf]{--cm-ttc-c-thumb: #444}.task-error[data-v-5e7bb715]{--cm-ttc-c-thumb: #CCC}html.dark .task-error[data-v-5e7bb715]{--cm-ttc-c-thumb: #444}.CodeMirror-simplescroll-horizontal div,.CodeMirror-simplescroll-vertical div{position:absolute;background:#ccc;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #bbb;border-radius:2px}.CodeMirror-simplescroll-horizontal,.CodeMirror-simplescroll-vertical{position:absolute;z-index:6;background:#eee}.CodeMirror-simplescroll-horizontal{bottom:0;left:0;height:8px}.CodeMirror-simplescroll-horizontal div{bottom:0;height:100%}.CodeMirror-simplescroll-vertical{right:0;top:0;width:8px}.CodeMirror-simplescroll-vertical div{right:0;width:100%}.CodeMirror-overlayscroll .CodeMirror-scrollbar-filler,.CodeMirror-overlayscroll .CodeMirror-gutter-filler{display:none}.CodeMirror-overlayscroll-horizontal div,.CodeMirror-overlayscroll-vertical div{position:absolute;background:#bcd;border-radius:3px}.CodeMirror-overlayscroll-horizontal,.CodeMirror-overlayscroll-vertical{position:absolute;z-index:6}.CodeMirror-overlayscroll-horizontal{bottom:0;left:0;height:6px}.CodeMirror-overlayscroll-horizontal div{bottom:0;height:100%}.CodeMirror-overlayscroll-vertical{right:0;top:0;width:6px}.CodeMirror-overlayscroll-vertical div{right:0;width:100%}:root{--color-link-label: var(--color-text);--color-link: #ddd;--color-node-external: #c0ad79;--color-node-inline: #8bc4a0;--color-node-root: #6e9aa5;--color-node-label: var(--color-text);--color-node-stroke: var(--color-text)}html.dark{--color-text: #fff;--color-link: #333;--color-node-external: #857a40;--color-node-inline: #468b60;--color-node-root: #467d8b}.graph{height:calc(100% - 39px)!important}.graph .node{stroke-width:2px;stroke-opacity:.5}.graph .link{stroke-width:2px}.graph .node:hover:not(.focused){filter:none!important}.graph .node__label{transform:translateY(20px);font-weight:100;filter:brightness(.5)}html.dark .graph .node__label{filter:brightness(1.2)}.details-panel{-webkit-user-select:none;user-select:none;width:100%}#vitest-ui-coverage{width:100%;height:calc(100vh - 42px);border:none}.number[data-v-09d153f7]{font-weight:400;text-align:right}.unhandled-errors[data-v-09d153f7]{--cm-ttc-c-thumb: #CCC}html.dark .unhandled-errors[data-v-09d153f7]{--cm-ttc-c-thumb: #444}.in-progress[data-v-f967c1fe]{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px;animation:in-progress-stripes-f967c1fe 2s linear infinite}@keyframes in-progress-stripes-f967c1fe{0%{background-position:40px 0}to{background-position:0 0}}.graph,.graph>svg{display:block}.graph{height:100%;touch-action:none;width:100%}.graph *{-webkit-touch-callout:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.link{fill:none;stroke-width:4px}.node{--color-stroke: var(--color-node-stroke, rgba(0, 0, 0, .5));cursor:pointer;stroke:none;stroke-width:2px;transition:filter .25s ease,stroke .25s ease,stroke-dasharray .25s ease}.node:hover:not(.focused){filter:brightness(80%);stroke:var(--color-stroke);stroke-dasharray:4px}.node.focused{stroke:var(--color-stroke)}.link__label,.node__label{pointer-events:none;text-anchor:middle}.grabbed{cursor:grabbing!important}.splitpanes{display:flex;width:100%;height:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;box-sizing:border-box;position:relative;flex-shrink:0}.splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:before,.splitpanes.default-theme .splitpanes__splitter:hover:after{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color, #e5e7eb)}:before,:after{--un-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}:root{--cm-scheme: light;--cm-foreground: #6e6e6e;--cm-background: #f4f4f4;--cm-comment: #a8a8a8;--cm-string: #555555;--cm-literal: #333333;--cm-keyword: #000000;--cm-function: #4f4f4f;--cm-deleted: #333333;--cm-class: #333333;--cm-builtin: #757575;--cm-property: #333333;--cm-namespace: #4f4f4f;--cm-punctuation: #ababab;--cm-decorator: var(--cm-class);--cm-operator: var(--cm-punctuation);--cm-number: var(--cm-literal);--cm-boolean: var(--cm-literal);--cm-variable: var(--cm-literal);--cm-constant: var(--cm-literal);--cm-symbol: var(--cm-literal);--cm-interpolation: var(--cm-literal);--cm-selector: var(--cm-keyword);--cm-keyword-control: var(--cm-keyword);--cm-regex: var(--cm-string);--cm-json-property: var(--cm-property);--cm-inline-background: var(--cm-background);--cm-comment-style: italic;--cm-url-decoration: underline;--cm-line-number: #a5a5a5;--cm-line-number-gutter: #333333;--cm-line-highlight-background: #eeeeee;--cm-selection-background: #aaaaaa;--cm-marker-color: var(--cm-foreground);--cm-marker-opacity: .4;--cm-marker-font-size: .8em;--cm-font-size: 1em;--cm-line-height: 1.5em;--cm-font-family: monospace;--cm-inline-font-size: var(--cm-font-size);--cm-block-font-size: var(--cm-font-size);--cm-tab-size: 2;--cm-block-padding-x: 1em;--cm-block-padding-y: 1em;--cm-block-margin-x: 0;--cm-block-margin-y: .5em;--cm-block-radius: .3em;--cm-inline-padding-x: .3em;--cm-inline-padding-y: .1em;--cm-inline-radius: .3em}.cm-s-vars.CodeMirror{background-color:var(--cm-background);color:var(--cm-foreground)}.cm-s-vars .CodeMirror-gutters{background:var(--cm-line-number-gutter);color:var(--cm-line-number);border:none}.cm-s-vars .CodeMirror-guttermarker,.cm-s-vars .CodeMirror-guttermarker-subtle,.cm-s-vars .CodeMirror-linenumber{color:var(--cm-line-number)}.cm-s-vars div.CodeMirror-selected,.cm-s-vars.CodeMirror-focused div.CodeMirror-selected{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-line::selection,.cm-s-vars .CodeMirror-line>span::selection,.cm-s-vars .CodeMirror-line>span>span::selection{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-line::-moz-selection,.cm-s-vars .CodeMirror-line>span::-moz-selection,.cm-s-vars .CodeMirror-line>span>span::-moz-selection{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-activeline-background{background:var(--cm-line-highlight-background)}.cm-s-vars .cm-keyword{color:var(--cm-keyword)}.cm-s-vars .cm-variable,.cm-s-vars .cm-variable-2,.cm-s-vars .cm-variable-3,.cm-s-vars .cm-type{color:var(--cm-variable)}.cm-s-vars .cm-builtin{color:var(--cm-builtin)}.cm-s-vars .cm-atom{color:var(--cm-literal)}.cm-s-vars .cm-number{color:var(--cm-number)}.cm-s-vars .cm-def{color:var(--cm-decorator)}.cm-s-vars .cm-string,.cm-s-vars .cm-string-2{color:var(--cm-string)}.cm-s-vars .cm-comment{color:var(--cm-comment)}.cm-s-vars .cm-tag{color:var(--cm-builtin)}.cm-s-vars .cm-meta{color:var(--cm-namespace)}.cm-s-vars .cm-attribute,.cm-s-vars .cm-property{color:var(--cm-property)}.cm-s-vars .cm-qualifier{color:var(--cm-keyword)}.cm-s-vars .cm-error{color:var(--prism-deleted)}.cm-s-vars .cm-operator,.cm-s-vars .cm-bracket{color:var(--cm-punctuation)}.cm-s-vars .CodeMirror-matchingbracket{text-decoration:underline}.cm-s-vars .CodeMirror-cursor{border-left:1px solid currentColor}html,body{height:100%;font-family:Readex Pro,sans-serif;scroll-behavior:smooth}:root{--color-text-light: #000;--color-text-dark: #ddd;--color-text: var(--color-text-light);--background-color: #e4e4e4}html.dark{--color-text: var(--color-text-dark);--background-color: #141414;color:var(--color-text);background-color:var(--background-color);color-scheme:dark}.CodeMirror{height:100%!important;width:100%!important;font-family:inherit}.cm-s-vars .cm-tag{color:var(--cm-keyword)}:root{--cm-foreground: #393a3480;--cm-background: transparent;--cm-comment: #a0ada0;--cm-string: #b56959;--cm-literal: #2f8a89;--cm-number: #296aa3;--cm-keyword: #1c6b48;--cm-function: #6c7834;--cm-boolean: #1c6b48;--cm-constant: #a65e2b;--cm-deleted: #a14f55;--cm-class: #2993a3;--cm-builtin: #ab5959;--cm-property: #b58451;--cm-namespace: #b05a78;--cm-punctuation: #8e8f8b;--cm-decorator: #bd8f8f;--cm-regex: #ab5e3f;--cm-json-property: #698c96;--cm-line-number-gutter: #f8f8f8;--cm-ttc-c-thumb: #eee;--cm-ttc-c-track: white}html.dark{--cm-scheme: dark;--cm-foreground: #d4cfbf80;--cm-background: transparent;--cm-comment: #758575;--cm-string: #d48372;--cm-literal: #429988;--cm-keyword: #4d9375;--cm-boolean: #1c6b48;--cm-number: #6394bf;--cm-variable: #c2b36e;--cm-function: #a1b567;--cm-deleted: #a14f55;--cm-class: #54b1bf;--cm-builtin: #e0a569;--cm-property: #dd8e6e;--cm-namespace: #db889a;--cm-punctuation: #858585;--cm-decorator: #bd8f8f;--cm-regex: #ab5e3f;--cm-json-property: #6b8b9e;--cm-line-number: #888888;--cm-line-number-gutter: #161616;--cm-line-highlight-background: #444444;--cm-selection-background: #44444450;--cm-ttc-c-thumb: #222;--cm-ttc-c-track: #111}.splitpanes__pane{background-color:unset!important}.splitpanes__splitter{position:relative;background-color:#7d7d7d1a;z-index:10}.splitpanes__splitter:before{content:"";position:absolute;left:0;top:0;transition:opacity .4s;background-color:#7d7d7d1a;opacity:0;z-index:1}.splitpanes__splitter:hover:before{opacity:1}.splitpanes--vertical>.splitpanes__splitter:before{left:0;right:-10px;height:100%}.splitpanes--horizontal>.splitpanes__splitter:before{top:0;bottom:-10px;width:100%}.splitpanes.loading .splitpanes__pane{transition:none!important;height:100%}.CodeMirror-scroll{scrollbar-width:none}.CodeMirror-scroll::-webkit-scrollbar,.codemirror-scrolls::-webkit-scrollbar{display:none}.codemirror-scrolls{overflow:auto!important;scrollbar-width:thin;scrollbar-color:var(--cm-ttc-c-thumb) var(--cm-ttc-c-track)}.CodeMirror-simplescroll-horizontal,.CodeMirror-simplescroll-vertical{background-color:var(--cm-ttc-c-track)!important;border:none!important}.CodeMirror-simplescroll-horizontal div,.CodeMirror-simplescroll-vertical div{background-color:var(--cm-ttc-c-thumb)!important;border:none!important}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:var(--cm-ttc-c-track)!important}.CodeMirror{overflow:unset!important}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar{display:none!important}.CodeMirror-scroll{margin-bottom:unset!important;margin-right:unset!important;padding-bottom:unset!important}.scrolls::-webkit-scrollbar{width:8px;height:8px}.scrolls{overflow:auto!important;scrollbar-width:thin;scrollbar-color:var(--cm-ttc-c-thumb) var(--cm-ttc-c-track)}.scrolls::-webkit-scrollbar-track{background:var(--cm-ttc-c-track)}.scrolls::-webkit-scrollbar-thumb{background-color:var(--cm-ttc-c-thumb);border:2px solid var(--cm-ttc-c-thumb)}.scrolls::-webkit-scrollbar-thumb,.scrolls-rounded::-webkit-scrollbar-track{border-radius:3px}.scrolls::-webkit-scrollbar-corner{background-color:var(--cm-ttc-c-track)}.v-popper__popper .v-popper__inner{font-size:12px;padding:4px 6px;border-radius:4px;background-color:var(--background-color);color:var(--color-text)}.v-popper__popper .v-popper__arrow-outer{border-color:var(--background-color)}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.i-logos\:typescript-icon,[i-logos\:typescript-icon=""]{background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='%233178C6' d='M20 0h216c11.046 0 20 8.954 20 20v216c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20V20C0 8.954 8.954 0 20 0'/%3E%3Cpath fill='%23FFF' d='M150.518 200.475v27.62c4.492 2.302 9.805 4.028 15.938 5.179c6.133 1.151 12.597 1.726 19.393 1.726c6.622 0 12.914-.633 18.874-1.899c5.96-1.266 11.187-3.352 15.678-6.257c4.492-2.906 8.048-6.704 10.669-11.394c2.62-4.689 3.93-10.486 3.93-17.391c0-5.006-.749-9.394-2.246-13.163a30.748 30.748 0 0 0-6.479-10.055c-2.821-2.935-6.205-5.567-10.149-7.898c-3.945-2.33-8.394-4.531-13.347-6.602c-3.628-1.497-6.881-2.949-9.761-4.359c-2.879-1.41-5.327-2.848-7.342-4.316c-2.016-1.467-3.571-3.021-4.665-4.661c-1.094-1.64-1.641-3.495-1.641-5.567c0-1.899.489-3.61 1.468-5.135s2.362-2.834 4.147-3.927c1.785-1.094 3.973-1.942 6.565-2.547c2.591-.604 5.471-.906 8.638-.906c2.304 0 4.737.173 7.299.518c2.563.345 5.14.877 7.732 1.597a53.669 53.669 0 0 1 7.558 2.719a41.7 41.7 0 0 1 6.781 3.797v-25.807c-4.204-1.611-8.797-2.805-13.778-3.582c-4.981-.777-10.697-1.165-17.147-1.165c-6.565 0-12.784.705-18.658 2.115c-5.874 1.409-11.043 3.61-15.506 6.602c-4.463 2.993-7.99 6.805-10.582 11.437c-2.591 4.632-3.887 10.17-3.887 16.615c0 8.228 2.375 15.248 7.127 21.06c4.751 5.811 11.963 10.731 21.638 14.759a291.458 291.458 0 0 1 10.625 4.575c3.283 1.496 6.119 3.049 8.509 4.66c2.39 1.611 4.276 3.366 5.658 5.265c1.382 1.899 2.073 4.057 2.073 6.474a9.901 9.901 0 0 1-1.296 4.963c-.863 1.524-2.174 2.848-3.93 3.97c-1.756 1.122-3.945 1.999-6.565 2.632c-2.62.633-5.687.95-9.2.95c-5.989 0-11.92-1.05-17.794-3.151c-5.875-2.1-11.317-5.25-16.327-9.451m-46.036-68.733H140V109H41v22.742h35.345V233h28.137z'/%3E%3C/svg%3E") no-repeat;background-size:100% 100%;background-color:transparent;width:1em;height:1em}.container{width:100%}.tab-button,[tab-button=""]{height:100%;padding-left:1rem;padding-right:1rem;font-weight:300;opacity:.5}.border-base,[border~=base]{border-color:#6b72801a}.bg-active{background-color:#6b728014}.bg-base,[bg-base=""]{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.dark .bg-base,.dark [bg-base=""]{--un-bg-opacity:1;background-color:rgb(17 17 17 / var(--un-bg-opacity))}.bg-header,[bg-header=""]{background-color:#6b72800d}.bg-overlay,[bg-overlay=""],[bg~=overlay]{background-color:#eeeeee80}.dark .bg-overlay,.dark [bg-overlay=""],.dark [bg~=overlay]{background-color:#22222280}.tab-button-active{background-color:#6b72801a;opacity:1}[hover~=bg-active]:hover{background-color:#6b728014}.tab-button:hover,[tab-button=""]:hover{opacity:.8}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none,[pointer-events-none=""]{pointer-events:none}.absolute,[absolute=""]{position:absolute}.fixed,[fixed=""]{position:fixed}.relative,[relative=""]{position:relative}.sticky,[sticky=""]{position:sticky}.inset-0,[inset-0=""]{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.left-0{left:0}.right-0,[right~="0"]{right:0}.right-5px,[right-5px=""]{right:5px}.top-0{top:0}.top-5px,[top-5px=""]{top:5px}[top~="-1"]{top:-.25rem}.z-10,[z-10=""]{z-index:10}.z-40{z-index:40}.z-5,[z-5=""]{z-index:5}.grid,[grid~="~"]{display:grid}.auto-cols-max,[grid~=auto-cols-max]{grid-auto-columns:max-content}.cols-\[1\.5em_1fr\],[grid~="cols-[1.5em_1fr]"]{grid-template-columns:1.5em 1fr}.cols-\[min-content_1fr_min-content\],[grid~="cols-[min-content_1fr_min-content]"]{grid-template-columns:min-content 1fr min-content}.rows-\[min-content_auto\],[grid~="rows-[min-content_auto]"]{grid-template-rows:min-content auto}.cols-2,[grid~=cols-2]{grid-template-columns:repeat(2,minmax(0,1fr))}.m-2,[m-2=""]{margin:.5rem}.ma,[ma=""]{margin:auto}.mx-1,[mx-1=""]{margin-left:.25rem;margin-right:.25rem}.my-0,[my-0=""]{margin-top:0;margin-bottom:0}.my-2,[my-2=""]{margin-top:.5rem;margin-bottom:.5rem}[m~=x-2]{margin-left:.5rem;margin-right:.5rem}[m~=y-4]{margin-top:1rem;margin-bottom:1rem}.mb-1,[mb-1=""]{margin-bottom:.25rem}.mb-2,[mb-2=""]{margin-bottom:.5rem}.mr-1,[mr-1=""]{margin-right:.25rem}.mr-2,[mr-2=""]{margin-right:.5rem}.ms,[ms=""]{margin-inline-start:1rem}.mt-2,[m~=t2],[mt-2=""]{margin-top:.5rem}.inline,[inline=""]{display:inline}.hidden{display:none}.h-1\.4em{height:1.4em}.h-1\.5em{height:1.5em}.h-10,[h-10=""]{height:2.5rem}.h-1px,[h-1px=""]{height:1px}.h-3px,[h-3px=""]{height:3px}.h-41px,[h-41px=""]{height:41px}.h-6,[h-6=""]{height:1.5rem}.h-full,[h-full=""],[h~=full]{height:100%}.h-screen,[h-screen=""]{height:100vh}.h3{height:.75rem}.h4{height:1rem}.max-h-full,[max-h-full=""]{max-height:100%}.max-w-screen,[max-w-screen=""]{max-width:100vw}.max-w-xl,[max-w-xl=""]{max-width:36rem}.min-h-1em{min-height:1em}.min-h-75,[min-h-75=""]{min-height:18.75rem}.min-w-1em{min-width:1em}.min-w-2em,[min-w-2em=""]{min-width:2em}.w-1\.4em{width:1.4em}.w-1\.5em{width:1.5em}.w-2px,[w-2px=""]{width:2px}.w-350,[w-350=""]{width:87.5rem}.w-6,[w-6=""]{width:1.5rem}.w-80,[w-80=""]{width:20rem}.w-full,[w-full=""]{width:100%}.w-screen,[w-screen=""]{width:100vw}.open\:max-h-52[open],[open\:max-h-52=""][open]{max-height:13rem}.flex,[flex=""],[flex~="~"]{display:flex}.flex-1,[flex-1=""]{flex:1 1 0%}.flex-auto,[flex-auto=""]{flex:1 1 auto}.flex-shrink-0,[flex-shrink-0=""]{flex-shrink:0}[flex~=row]{flex-direction:row}.flex-col,[flex-col=""],[flex~=col]{flex-direction:column}[flex~=wrap]{flex-wrap:wrap}.origin-center,[origin-center=""]{transform-origin:center}.translate-x-3,[translate-x-3=""]{--un-translate-x:.75rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.rotate-0,[rotate-0=""]{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:0;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.rotate-90,[rotate-90=""]{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:90deg;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin,[animate-spin=""]{animation:spin 1s linear infinite}.animate-reverse{animation-direction:reverse}.animate-count-1,[animate-count-1=""]{animation-iteration-count:1}.cursor-help{cursor:help}.cursor-pointer,[cursor-pointer=""],.hover\:cursor-pointer:hover{cursor:pointer}.select-none,[select-none=""]{-webkit-user-select:none;user-select:none}.resize{resize:both}.items-end,[items-end=""]{align-items:flex-end}.items-center,[grid~=items-center],[items-center=""]{align-items:center}.justify-center,[justify-center=""]{justify-content:center}.justify-evenly,[justify-evenly=""]{justify-content:space-evenly}.justify-items-center,[justify-items-center=""]{justify-items:center}.gap-0,[gap-0=""]{gap:0}.gap-1,[flex~=gap-1]{gap:.25rem}.gap-2,[flex~=gap-2],[gap-2=""]{gap:.5rem}.gap-4,[flex~=gap-4],[gap-4=""]{gap:1rem}.gap-x-2,[gap~=x-2]{column-gap:.5rem}[gap~=y-3]{row-gap:.75rem}.overflow-auto,[overflow-auto=""]{overflow:auto}.overflow-hidden,[overflow-hidden=""],[overflow~=hidden]{overflow:hidden}.truncate,[truncate=""]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre,[whitespace-pre=""]{white-space:pre}.ws-nowrap,[ws-nowrap=""]{white-space:nowrap}.b,.border,[border~="~"]{border-width:1px}.b-2{border-width:2px}.border-b,[border~=b]{border-bottom-width:1px}.border-b-2,[border-b-2=""],[border~=b-2]{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r,[border~=r]{border-right-width:1px}.border-t,[border~=t]{border-top-width:1px}[border~="gray-400/50"]{border-color:#9ca3af80}.border-rounded,.rounded,[border-rounded=""],[border~=rounded],[rounded=""]{border-radius:.25rem}.rounded-lg,[rounded-lg=""]{border-radius:.5rem}.\!bg-gray-4{--un-bg-opacity:1 !important;background-color:rgb(156 163 175 / var(--un-bg-opacity))!important}.bg-current,[bg-current=""]{background-color:currentColor}.bg-green5,[bg-green5=""]{--un-bg-opacity:1;background-color:rgb(34 197 94 / var(--un-bg-opacity))}.bg-red-500\/10,[bg~="red-500/10"],[bg~="red500/10"]{background-color:#ef44441a}.bg-red5,[bg-red5=""]{--un-bg-opacity:1;background-color:rgb(239 68 68 / var(--un-bg-opacity))}.bg-white,[bg-white=""]{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.bg-yellow5,[bg-yellow5=""]{--un-bg-opacity:1;background-color:rgb(234 179 8 / var(--un-bg-opacity))}.dark .\!dark\:bg-gray-7{--un-bg-opacity:1 !important;background-color:rgb(55 65 81 / var(--un-bg-opacity))!important}[bg~="green-500/10"]{background-color:#22c55e1a}[bg~=transparent]{background-color:transparent}.p-0,[p-0=""]{padding:0}.p-1,[p-1=""]{padding:.25rem}.p-2,.p2,[p-2=""],[p~="2"],[p2=""]{padding:.5rem}.p-4,[p-4=""]{padding:1rem}.p-5,[p-5=""]{padding:1.25rem}.p6,[p6=""]{padding:1.5rem}[p~="3"]{padding:.75rem}.p-y-1,.py-1,[p~=y-1],[p~=y1],[py-1=""]{padding-top:.25rem;padding-bottom:.25rem}.px,[p~=x-4],[p~=x4]{padding-left:1rem;padding-right:1rem}.px-0{padding-left:0;padding-right:0}.px-3,[p~=x3],[px-3=""]{padding-left:.75rem;padding-right:.75rem}.py,[p~=y4]{padding-top:1rem;padding-bottom:1rem}.py-2,[p~=y2],[py-2=""]{padding-top:.5rem;padding-bottom:.5rem}[p~=x-2],[p~=x2]{padding-left:.5rem;padding-right:.5rem}[p~="y0.5"]{padding-top:.125rem;padding-bottom:.125rem}.pb-2,[pb-2=""]{padding-bottom:.5rem}.pe-2\.5,[pe-2\.5=""]{padding-inline-end:.625rem}.pl-1,[pl-1=""]{padding-left:.25rem}.pt{padding-top:1rem}.pt-4px{padding-top:4px}[p~=l3]{padding-left:.75rem}[p~=r2]{padding-right:.5rem}.text-center,[text-center=""],[text~=center]{text-align:center}.indent,[indent=""]{text-indent:1.5rem}[indent~="1"]{text-indent:.25rem}.text-2xl,[text-2xl=""]{font-size:1.5rem;line-height:2rem}.text-4xl,[text-4xl=""]{font-size:2.25rem;line-height:2.5rem}.text-lg,[text-lg=""]{font-size:1.125rem;line-height:1.75rem}.text-sm,[text-sm=""],[text~=sm]{font-size:.875rem;line-height:1.25rem}.text-xs,[text-xs=""],[text~=xs]{font-size:.75rem;line-height:1rem}[text~="5xl"]{font-size:3rem;line-height:1}.dark .dark\:text-red-300{--un-text-opacity:1;color:rgb(252 165 165 / var(--un-text-opacity))}.text-gray-500,[text-gray-500=""]{--un-text-opacity:1;color:rgb(107 114 128 / var(--un-text-opacity))}.text-green-500,.text-green5,[text-green-500=""],[text-green5=""],[text~=green-500]{--un-text-opacity:1;color:rgb(34 197 94 / var(--un-text-opacity))}.text-purple5\:50{color:#a855f780}.color-red5,.text-red-500,.text-red5,[text-red-500=""],[text-red5=""],[text~=red-500],[text~=red500]{--un-text-opacity:1;color:rgb(239 68 68 / var(--un-text-opacity))}.c-red-600,.text-red-600{--un-text-opacity:1;color:rgb(220 38 38 / var(--un-text-opacity))}.text-yellow-500,.text-yellow5,[text-yellow-500=""],[text-yellow5=""]{--un-text-opacity:1;color:rgb(234 179 8 / var(--un-text-opacity))}[text~="red500/70"]{color:#ef4444b3}.dark .dark\:c-red-400{--un-text-opacity:1;color:rgb(248 113 113 / var(--un-text-opacity))}.dark .dark\:color-\#f43f5e{--un-text-opacity:1;color:rgb(244 63 94 / var(--un-text-opacity))}.font-bold,[font-bold=""]{font-weight:700}.font-light,[font-light=""],[font~=light]{font-weight:300}.font-thin,[font-thin=""]{font-weight:100}.font-mono,[font-mono=""]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.capitalize,[capitalize=""]{text-transform:capitalize}.op-50,.op50,.opacity-50,[op-50=""],[op~="50"],[op50=""]{opacity:.5}.op100,[op~="100"]{opacity:1}.op20,[op20=""]{opacity:.2}.op30,[op30=""]{opacity:.3}.op80,[op80=""]{opacity:.8}.opacity-0{opacity:0}[opacity~="10"]{opacity:.1}[opacity~="70"]{opacity:.7}[hover~=op100]:hover,[op~="hover:100"]:hover{opacity:1}.outline{outline-style:solid}[outline~=none]{outline:2px solid transparent;outline-offset:2px}.backdrop-blur-sm,[backdrop-blur-sm=""]{--un-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.backdrop-saturate-0,[backdrop-saturate-0=""]{--un-backdrop-saturate:saturate(0);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.filter,[filter=""]{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}
@@ -1,102 +0,0 @@
1
- import { c as client, g as getConfig, a as getBrowserState, b as channel, r as rpcDone } from "./rpc-By4jD8av.js";
2
- const url = new URL(location.href);
3
- const ID_ALL = "__vitest_all__";
4
- const iframes = /* @__PURE__ */ new Map();
5
- function debug(...args) {
6
- const debug2 = getConfig().env.VITEST_BROWSER_DEBUG;
7
- if (debug2 && debug2 !== "false")
8
- client.rpc.debug(...args.map(String));
9
- }
10
- function createIframe(container, file) {
11
- if (iframes.has(file)) {
12
- container.removeChild(iframes.get(file));
13
- iframes.delete(file);
14
- }
15
- const iframe = document.createElement("iframe");
16
- iframe.setAttribute("loading", "eager");
17
- iframe.setAttribute("src", `${url.pathname}__vitest_test__/__test__/${encodeURIComponent(file)}`);
18
- iframes.set(file, iframe);
19
- container.appendChild(iframe);
20
- return iframe;
21
- }
22
- async function done() {
23
- await rpcDone();
24
- await client.rpc.finishBrowserTests();
25
- }
26
- client.ws.addEventListener("open", async () => {
27
- const config = getConfig();
28
- const container = document.querySelector("#vitest-tester");
29
- const testFiles = getBrowserState().files;
30
- debug("test files", testFiles.join(", "));
31
- if (!testFiles.length) {
32
- await done();
33
- return;
34
- }
35
- const runningFiles = new Set(testFiles);
36
- channel.addEventListener("message", async (e) => {
37
- var _a;
38
- debug("channel event", JSON.stringify(e.data));
39
- switch (e.data.type) {
40
- case "done": {
41
- const filenames = e.data.filenames;
42
- filenames.forEach((filename) => runningFiles.delete(filename));
43
- const iframeId = filenames.length > 1 ? ID_ALL : filenames[0];
44
- (_a = iframes.get(iframeId)) == null ? void 0 : _a.remove();
45
- iframes.delete(iframeId);
46
- if (!runningFiles.size)
47
- await done();
48
- break;
49
- }
50
- case "error": {
51
- const iframeId = e.data.files.length > 1 ? ID_ALL : e.data.files[0];
52
- iframes.delete(iframeId);
53
- await client.rpc.onUnhandledError(e.data.error, e.data.errorType);
54
- if (iframeId === ID_ALL)
55
- runningFiles.clear();
56
- else
57
- runningFiles.delete(iframeId);
58
- if (!runningFiles.size)
59
- await done();
60
- break;
61
- }
62
- default: {
63
- await client.rpc.onUnhandledError({
64
- name: "Unexpected Event",
65
- message: `Unexpected event: ${e.data.type}`
66
- }, "Unexpected Event");
67
- await done();
68
- }
69
- }
70
- });
71
- const fileParallelism = config.browser.fileParallelism ?? config.fileParallelism;
72
- if (config.isolate === false) {
73
- createIframe(
74
- container,
75
- ID_ALL
76
- );
77
- } else {
78
- if (fileParallelism) {
79
- for (const file of testFiles) {
80
- createIframe(
81
- container,
82
- file
83
- );
84
- }
85
- } else {
86
- for (const file of testFiles) {
87
- createIframe(
88
- container,
89
- file
90
- );
91
- await new Promise((resolve) => {
92
- channel.addEventListener("message", function handler(e) {
93
- if (e.data.type === "done" || e.data.type === "error") {
94
- channel.removeEventListener("message", handler);
95
- resolve();
96
- }
97
- });
98
- });
99
- }
100
- }
101
- }
102
- });
@@ -1,473 +0,0 @@
1
- function __vite__mapDeps(indexes) {
2
- if (!__vite__mapDeps.viteFileDeps) {
3
- __vite__mapDeps.viteFileDeps = []
4
- }
5
- return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
6
- }
7
- var __defProp = Object.defineProperty;
8
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
- var __publicField = (obj, key, value) => {
10
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
11
- return value;
12
- };
13
- import { i as importId, d as rpc$1, g as getConfig, _ as __vitePreload, b as channel, a as getBrowserState, c as client, l as loadSafeRpc, o as onCancel } from "./rpc-By4jD8av.js";
14
- function showPopupWarning(name, value, defaultValue) {
15
- return (...params) => {
16
- const formatedParams = params.map((p) => JSON.stringify(p)).join(", ");
17
- console.warn(`Vitest encountered a \`${name}(${formatedParams})\` call that it cannot handle by default, so it returned \`${value}\`. Read more in https://vitest.dev/guide/browser#thread-blocking-dialogs.
18
- If needed, mock the \`${name}\` call manually like:
19
-
20
- \`\`\`
21
- import { expect, vi } from "vitest"
22
-
23
- vi.spyOn(window, "${name}")${defaultValue ? `.mockReturnValue(${JSON.stringify(defaultValue)})` : ""}
24
- ${name}(${formatedParams})
25
- expect(${name}).toHaveBeenCalledWith(${formatedParams})
26
- \`\`\``);
27
- return value;
28
- };
29
- }
30
- function setupDialogsSpy() {
31
- globalThis.alert = showPopupWarning("alert", void 0);
32
- globalThis.confirm = showPopupWarning("confirm", false, true);
33
- globalThis.prompt = showPopupWarning("prompt", null, "your value");
34
- }
35
- const { Date: Date$1, console: console$1 } = globalThis;
36
- async function setupConsoleLogSpy() {
37
- const { stringify, format, inspect } = await importId("vitest/utils");
38
- const { log, info, error, dir, dirxml, trace, time, timeEnd, timeLog, warn, debug: debug2, count, countReset } = console$1;
39
- const formatInput = (input) => {
40
- if (input instanceof Node)
41
- return stringify(input);
42
- return format(input);
43
- };
44
- const processLog = (args) => args.map(formatInput).join(" ");
45
- const sendLog = (type, content) => {
46
- var _a, _b;
47
- if (content.startsWith("[vite]"))
48
- return;
49
- const unknownTestId = "__vitest__unknown_test__";
50
- const taskId = ((_b = (_a = globalThis.__vitest_worker__) == null ? void 0 : _a.current) == null ? void 0 : _b.id) ?? unknownTestId;
51
- rpc$1().sendLog({
52
- content,
53
- time: Date$1.now(),
54
- taskId,
55
- type,
56
- size: content.length
57
- });
58
- };
59
- const stdout = (base) => (...args) => {
60
- sendLog("stdout", processLog(args));
61
- return base(...args);
62
- };
63
- const stderr = (base) => (...args) => {
64
- sendLog("stderr", processLog(args));
65
- return base(...args);
66
- };
67
- console$1.log = stdout(log);
68
- console$1.debug = stdout(debug2);
69
- console$1.info = stdout(info);
70
- console$1.error = stderr(error);
71
- console$1.warn = stderr(warn);
72
- console$1.dir = (item, options) => {
73
- sendLog("stdout", inspect(item, options));
74
- return dir(item, options);
75
- };
76
- console$1.dirxml = (...args) => {
77
- sendLog("stdout", processLog(args));
78
- return dirxml(...args);
79
- };
80
- console$1.trace = (...args) => {
81
- const content = processLog(args);
82
- const error2 = new Error("Trace");
83
- const stack = (error2.stack || "").split("\n").slice(2).join("\n");
84
- sendLog("stdout", `${content}
85
- ${stack}`);
86
- return trace(...args);
87
- };
88
- const timeLabels = {};
89
- console$1.time = (label = "default") => {
90
- const now = performance.now();
91
- time(label);
92
- timeLabels[label] = now;
93
- };
94
- console$1.timeLog = (label = "default") => {
95
- timeLog(label);
96
- if (!(label in timeLabels))
97
- sendLog("stderr", `Timer "${label}" does not exist`);
98
- else
99
- sendLog("stdout", `${label}: ${timeLabels[label]} ms`);
100
- };
101
- console$1.timeEnd = (label = "default") => {
102
- const end = performance.now();
103
- timeEnd(label);
104
- const start = timeLabels[label];
105
- if (!(label in timeLabels)) {
106
- sendLog("stderr", `Timer "${label}" does not exist`);
107
- } else if (start) {
108
- const duration = end - start;
109
- sendLog("stdout", `${label}: ${duration} ms`);
110
- }
111
- };
112
- const countLabels = {};
113
- console$1.count = (label = "default") => {
114
- const counter = (countLabels[label] ?? 0) + 1;
115
- countLabels[label] = counter;
116
- sendLog("stdout", `${label}: ${counter}`);
117
- return count(label);
118
- };
119
- console$1.countReset = (label = "default") => {
120
- countLabels[label] = 0;
121
- return countReset(label);
122
- };
123
- }
124
- class VitestBrowserSnapshotEnvironment {
125
- getVersion() {
126
- return "1";
127
- }
128
- getHeader() {
129
- return `// Vitest Snapshot v${this.getVersion()}, https://vitest.dev/guide/snapshot.html`;
130
- }
131
- readSnapshotFile(filepath) {
132
- return rpc().readSnapshotFile(filepath);
133
- }
134
- saveSnapshotFile(filepath, snapshot) {
135
- return rpc().saveSnapshotFile(filepath, snapshot);
136
- }
137
- resolvePath(filepath) {
138
- return rpc().resolveSnapshotPath(filepath);
139
- }
140
- resolveRawPath(testPath, rawPath) {
141
- return rpc().resolveSnapshotRawPath(testPath, rawPath);
142
- }
143
- removeSnapshotFile(filepath) {
144
- return rpc().removeSnapshotFile(filepath);
145
- }
146
- }
147
- function rpc() {
148
- return globalThis.__vitest_worker__.rpc;
149
- }
150
- const browserHashMap = /* @__PURE__ */ new Map();
151
- function createBrowserRunner(runnerClass, coverageModule) {
152
- return class BrowserTestRunner extends runnerClass {
153
- constructor(options) {
154
- super(options.config);
155
- __publicField(this, "config");
156
- __publicField(this, "hashMap", browserHashMap);
157
- __publicField(this, "onAfterRunTask", async (task) => {
158
- var _a, _b, _c;
159
- await ((_a = super.onAfterRunTask) == null ? void 0 : _a.call(this, task));
160
- if (this.config.bail && ((_b = task.result) == null ? void 0 : _b.state) === "fail") {
161
- const previousFailures = await rpc$1().getCountOfFailedTests();
162
- const currentFailures = 1 + previousFailures;
163
- if (currentFailures >= this.config.bail) {
164
- rpc$1().onCancel("test-failure");
165
- (_c = this.onCancel) == null ? void 0 : _c.call(this, "test-failure");
166
- }
167
- }
168
- });
169
- __publicField(this, "onAfterRunFiles", async (files) => {
170
- var _a, _b;
171
- await ((_a = super.onAfterRunFiles) == null ? void 0 : _a.call(this, files));
172
- const coverage = await ((_b = coverageModule == null ? void 0 : coverageModule.takeCoverage) == null ? void 0 : _b.call(coverageModule));
173
- if (coverage) {
174
- await rpc$1().onAfterSuiteRun({
175
- coverage,
176
- transformMode: "web",
177
- projectName: this.config.name
178
- });
179
- }
180
- });
181
- __publicField(this, "onCollected", async (files) => {
182
- if (this.config.includeTaskLocation) {
183
- try {
184
- await updateFilesLocations(files);
185
- } catch (_) {
186
- }
187
- }
188
- return rpc$1().onCollected(files);
189
- });
190
- __publicField(this, "onTaskUpdate", (task) => {
191
- return rpc$1().onTaskUpdate(task);
192
- });
193
- __publicField(this, "importFile", async (filepath) => {
194
- let [test, hash] = this.hashMap.get(filepath) ?? [false, ""];
195
- if (hash === "") {
196
- hash = Date.now().toString();
197
- this.hashMap.set(filepath, [false, hash]);
198
- }
199
- const base = this.config.base || "/";
200
- const prefix = `${base}${/^\w:/.test(filepath) ? "@fs/" : ""}`;
201
- const query = `${test ? "browserv" : "v"}=${hash}`;
202
- const importpath = `${prefix}${filepath}?${query}`.replace(/\/+/g, "/");
203
- await __vitePreload(() => import(importpath), true ? __vite__mapDeps([]) : void 0);
204
- });
205
- this.config = options.config;
206
- }
207
- };
208
- }
209
- let cachedRunner = null;
210
- async function initiateRunner() {
211
- if (cachedRunner)
212
- return cachedRunner;
213
- const config = getConfig();
214
- const [
215
- { VitestTestRunner, NodeBenchmarkRunner },
216
- { takeCoverageInsideWorker, loadDiffConfig, loadSnapshotSerializers }
217
- ] = await Promise.all([
218
- importId("vitest/runners"),
219
- importId("vitest/browser")
220
- ]);
221
- const runnerClass = config.mode === "test" ? VitestTestRunner : NodeBenchmarkRunner;
222
- const BrowserRunner = createBrowserRunner(runnerClass, {
223
- takeCoverage: () => takeCoverageInsideWorker(config.coverage, { executeId: importId })
224
- });
225
- if (!config.snapshotOptions.snapshotEnvironment)
226
- config.snapshotOptions.snapshotEnvironment = new VitestBrowserSnapshotEnvironment();
227
- const runner = new BrowserRunner({
228
- config
229
- });
230
- const executor = { executeId: importId };
231
- const [diffOptions] = await Promise.all([
232
- loadDiffConfig(config, executor),
233
- loadSnapshotSerializers(config, executor)
234
- ]);
235
- runner.config.diffOptions = diffOptions;
236
- cachedRunner = runner;
237
- return runner;
238
- }
239
- async function updateFilesLocations(files) {
240
- const { loadSourceMapUtils } = await importId("vitest/utils");
241
- const { TraceMap, originalPositionFor } = await loadSourceMapUtils();
242
- const promises = files.map(async (file) => {
243
- const result = await rpc$1().getBrowserFileSourceMap(file.filepath);
244
- if (!result)
245
- return null;
246
- const traceMap = new TraceMap(result);
247
- function updateLocation(task) {
248
- if (task.location) {
249
- const { line, column } = originalPositionFor(traceMap, task.location);
250
- if (line != null && column != null)
251
- task.location = { line, column: task.each ? column : column + 1 };
252
- }
253
- if ("tasks" in task)
254
- task.tasks.forEach(updateLocation);
255
- }
256
- file.tasks.forEach(updateLocation);
257
- return null;
258
- });
259
- await Promise.all(promises);
260
- }
261
- function throwNotImplemented(name) {
262
- throw new Error(`[vitest] ${name} is not implemented in browser environment yet.`);
263
- }
264
- class VitestBrowserClientMocker {
265
- importActual() {
266
- throwNotImplemented("importActual");
267
- }
268
- importMock() {
269
- throwNotImplemented("importMock");
270
- }
271
- queueMock() {
272
- throwNotImplemented("queueMock");
273
- }
274
- queueUnmock() {
275
- throwNotImplemented("queueUnmock");
276
- }
277
- prepare() {
278
- }
279
- }
280
- function on(event, listener) {
281
- window.addEventListener(event, listener);
282
- return () => window.removeEventListener(event, listener);
283
- }
284
- function serializeError(unhandledError) {
285
- return {
286
- ...unhandledError,
287
- name: unhandledError.name,
288
- message: unhandledError.message,
289
- stack: String(unhandledError.stack)
290
- };
291
- }
292
- async function defaultErrorReport(type, unhandledError) {
293
- const error = serializeError(unhandledError);
294
- channel.postMessage({ type: "error", files: getBrowserState().runningFiles, error, errorType: type });
295
- }
296
- function catchWindowErrors(cb) {
297
- let userErrorListenerCount = 0;
298
- function throwUnhandlerError(e) {
299
- if (userErrorListenerCount === 0 && e.error != null)
300
- cb(e);
301
- else
302
- console.error(e.error);
303
- }
304
- const addEventListener = window.addEventListener.bind(window);
305
- const removeEventListener = window.removeEventListener.bind(window);
306
- window.addEventListener("error", throwUnhandlerError);
307
- window.addEventListener = function(...args) {
308
- if (args[0] === "error")
309
- userErrorListenerCount++;
310
- return addEventListener.apply(this, args);
311
- };
312
- window.removeEventListener = function(...args) {
313
- if (args[0] === "error" && userErrorListenerCount)
314
- userErrorListenerCount--;
315
- return removeEventListener.apply(this, args);
316
- };
317
- return function clearErrorHandlers() {
318
- window.removeEventListener("error", throwUnhandlerError);
319
- };
320
- }
321
- function registerUnhandledErrors() {
322
- const stopErrorHandler2 = catchWindowErrors((e) => defaultErrorReport("Error", e.error));
323
- const stopRejectionHandler = on("unhandledrejection", (e) => defaultErrorReport("Unhandled Rejection", e.reason));
324
- return () => {
325
- stopErrorHandler2();
326
- stopRejectionHandler();
327
- };
328
- }
329
- function registerUnexpectedErrors(rpc2) {
330
- catchWindowErrors((event) => reportUnexpectedError(rpc2, "Error", event.error));
331
- on("unhandledrejection", (event) => reportUnexpectedError(rpc2, "Unhandled Rejection", event.reason));
332
- }
333
- async function reportUnexpectedError(rpc2, type, error) {
334
- const { processError } = await importId("vitest/browser");
335
- const processedError = processError(error);
336
- await rpc2.onUnhandledError(processedError, type);
337
- }
338
- const stopErrorHandler = registerUnhandledErrors();
339
- const url = new URL(location.href);
340
- const reloadStart = url.searchParams.get("__reloadStart");
341
- function debug(...args) {
342
- const debug2 = getConfig().env.VITEST_BROWSER_DEBUG;
343
- if (debug2 && debug2 !== "false")
344
- client.rpc.debug(...args.map(String));
345
- }
346
- async function tryCall(fn) {
347
- try {
348
- return await fn();
349
- } catch (err) {
350
- const now = Date.now();
351
- const canTry = !reloadStart || now - Number(reloadStart) < 3e4;
352
- debug("failed to resolve runner", err == null ? void 0 : err.message, "trying again:", canTry, "time is", now, "reloadStart is", reloadStart);
353
- if (!canTry) {
354
- const error = serializeError(new Error("Vitest failed to load its runner after 30 seconds."));
355
- error.cause = serializeError(err);
356
- await client.rpc.onUnhandledError(error, "Preload Error");
357
- return false;
358
- }
359
- if (!reloadStart) {
360
- const newUrl = new URL(location.href);
361
- newUrl.searchParams.set("__reloadStart", now.toString());
362
- debug("set the new url because reload start is not set to", newUrl);
363
- location.href = newUrl.toString();
364
- } else {
365
- debug("reload the iframe because reload start is set", location.href);
366
- location.reload();
367
- }
368
- }
369
- }
370
- async function prepareTestEnvironment(files) {
371
- debug("trying to resolve runner", `${reloadStart}`);
372
- const config = getConfig();
373
- const viteClientPath = `${config.base || "/"}@vite/client`;
374
- await __vitePreload(() => import(viteClientPath), true ? __vite__mapDeps([]) : void 0);
375
- const rpc2 = await loadSafeRpc(client);
376
- stopErrorHandler();
377
- registerUnexpectedErrors(rpc2);
378
- const providedContext = await client.rpc.getProvidedContext();
379
- const state = {
380
- ctx: {
381
- pool: "browser",
382
- worker: "./browser.js",
383
- workerId: 1,
384
- config,
385
- projectName: config.name,
386
- files,
387
- environment: {
388
- name: "browser",
389
- options: null
390
- },
391
- providedContext,
392
- invalidates: []
393
- },
394
- onCancel,
395
- mockMap: /* @__PURE__ */ new Map(),
396
- config,
397
- environment: {
398
- name: "browser",
399
- transformMode: "web",
400
- setup() {
401
- throw new Error("Not called in the browser");
402
- }
403
- },
404
- moduleCache: getBrowserState().moduleCache,
405
- rpc: rpc2,
406
- durations: {
407
- environment: 0,
408
- prepare: 0
409
- },
410
- providedContext
411
- };
412
- globalThis.__vitest_browser__ = true;
413
- globalThis.__vitest_worker__ = state;
414
- globalThis.__vitest_mocker__ = new VitestBrowserClientMocker();
415
- await setupConsoleLogSpy();
416
- setupDialogsSpy();
417
- const { startTests, setupCommonEnv } = await importId("vitest/browser");
418
- const version = url.searchParams.get("browserv") || "0";
419
- files.forEach((filename) => {
420
- const currentVersion = browserHashMap.get(filename);
421
- if (!currentVersion || currentVersion[1] !== version)
422
- browserHashMap.set(filename, [true, version]);
423
- });
424
- const runner = await initiateRunner();
425
- onCancel.then((reason) => {
426
- var _a;
427
- (_a = runner.onCancel) == null ? void 0 : _a.call(runner, reason);
428
- });
429
- return {
430
- runner,
431
- config,
432
- state,
433
- setupCommonEnv,
434
- startTests
435
- };
436
- }
437
- function done(files) {
438
- channel.postMessage({ type: "done", filenames: files });
439
- }
440
- async function runTests(files) {
441
- await client.waitForConnection();
442
- debug("client is connected to ws server");
443
- let preparedData;
444
- try {
445
- preparedData = await tryCall(() => prepareTestEnvironment(files));
446
- } catch (error) {
447
- debug("data cannot be loaded because it threw an error");
448
- await client.rpc.onUnhandledError(serializeError(error), "Preload Error");
449
- done(files);
450
- return;
451
- }
452
- if (preparedData === false) {
453
- debug("data cannot be loaded, finishing the test");
454
- done(files);
455
- return;
456
- }
457
- if (!preparedData) {
458
- debug("page is reloading, waiting for the next run");
459
- return;
460
- }
461
- debug("runner resolved successfully");
462
- const { config, runner, state, setupCommonEnv, startTests } = preparedData;
463
- try {
464
- await setupCommonEnv(config);
465
- for (const file of files)
466
- await startTests([file], runner);
467
- } finally {
468
- state.environmentTeardownRun = true;
469
- debug("finished running tests");
470
- done(files);
471
- }
472
- }
473
- window.__vitest_browser_runner__.runTests = runTests;