@dodona/papyros 4.2.2 → 4.3.1

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 +1 @@
1
- var e=((e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports))(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r():typeof define==`function`&&define.amd?define([],r):typeof e==`object`?e.syncMessage=r():n.syncMessage=r()})(self,(function(){return(()=>{var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{typeof Symbol<`u`&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),Object.defineProperty(e,`__esModule`,{value:!0})}},t={};e.r(t),e.d(t,{isServiceWorkerRequest:()=>a,serviceWorkerFetchListener:()=>o,asyncSleep:()=>s,ServiceWorkerError:()=>c,writeMessageAtomics:()=>l,writeMessageServiceWorker:()=>u,writeMessage:()=>d,makeChannel:()=>f,makeAtomicsChannel:()=>p,makeServiceWorkerChannel:()=>m,readMessage:()=>g,syncSleep:()=>_,uuidv4:()=>v});var n=function(e,t,n,r){return new(n||=Promise)((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((r=r.apply(e,t||[])).next())}))};let r=`__SyncMessageServiceWorkerInput__`,i=`__sync-message-v2__`;function a(e){return typeof e!=`string`&&(e=e.request.url),e.includes(r)}function o(){let e={},t={};return r=>{let{url:o}=r.request;return!!a(o)&&(r.respondWith(function(){return n(this,void 0,void 0,(function*(){function n(e){return new Response(JSON.stringify({message:e,version:i}),{status:200})}if(o.endsWith(`/read`)){let{messageId:i,timeout:a}=yield r.request.json();if(i in e){let t=e[i];return delete e[i],n(t)}return yield new Promise((e=>{t[i]=e,setTimeout((function(){delete t[i],e(new Response(``,{status:408}))}),a)}))}if(o.endsWith(`/write`)){let{message:i,messageId:a}=yield r.request.json(),o=t[a];return o?(o(n(i)),delete t[a]):e[a]=i,n({early:!o})}if(o.endsWith(`/version`))return new Response(i,{status:200})}))}()),!0)}}function s(e){return new Promise((t=>setTimeout(t,e)))}class c extends Error{constructor(e,t){super(`Received status ${t} from ${e}. Ensure the service worker is registered and active.`),this.url=e,this.status=t,this.type=`ServiceWorkerError`,Object.setPrototypeOf(this,c.prototype)}}function l(e,t){let n=new TextEncoder().encode(JSON.stringify(t)),{data:r,meta:i}=e;if(n.length>r.length)throw Error(`Message is too big, increase bufferSize when making channel.`);r.set(n,0),Atomics.store(i,0,n.length),Atomics.store(i,1,1),Atomics.notify(i,1)}function u(e,t,r){return n(this,void 0,void 0,(function*(){yield navigator.serviceWorker.ready;let n=e.baseUrl+`/write`,a=Date.now();for(;;){let o=yield fetch(n,{method:`POST`,body:JSON.stringify({message:t,messageId:r})});if(o.status===200&&(yield o.json()).version===i)return;if(!(Date.now()-a<e.timeout))throw new c(n,o.status);yield s(100)}}))}function d(e,t,r){return n(this,void 0,void 0,(function*(){e.type===`atomics`?l(e,t):yield u(e,t,r)}))}function f(e={}){return typeof SharedArrayBuffer<`u`?p(e.atomics):`serviceWorker`in navigator?m(e.serviceWorker):null}function p({bufferSize:e}={}){return{type:`atomics`,data:new Uint8Array(new SharedArrayBuffer(e||131072)),meta:new Int32Array(new SharedArrayBuffer(2*Int32Array.BYTES_PER_ELEMENT))}}function m(e={}){return{type:`serviceWorker`,baseUrl:(e.scope||`/`)+r,timeout:e.timeout||5e3}}function h(e,t){return e>0?+e:t}function g(e,t,{checkInterrupt:n,checkTimeout:r,timeout:a}={}){let o=performance.now();r=h(r,n?100:5e3);let s=h(a,1/0),l;if(e.type===`atomics`){let{data:t,meta:n}=e;l=()=>{if(Atomics.wait(n,1,0,r)===`timed-out`)return null;{let e=Atomics.exchange(n,0,0),r=t.slice(0,e);Atomics.store(n,1,0);let i=new TextDecoder().decode(r);return JSON.parse(i)}}}else l=()=>{let n=new XMLHttpRequest,a=e.baseUrl+`/read`;n.open(`POST`,a,!1);let s={messageId:t,timeout:r};n.send(JSON.stringify(s));let{status:l}=n;if(l===408)return null;if(l===200){let e=JSON.parse(n.responseText);return e.version===i?e.message:null}if(performance.now()-o<e.timeout)return null;throw new c(a,l)};for(;;){let e=s-(performance.now()-o);if(e<=0)return null;r=Math.min(r,e);let t=l();if(t!==null)return t;if(n?.())return null}}function _(e,t){if(e=h(e,0))if(typeof SharedArrayBuffer<`u`){let t=new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));t[0]=0,Atomics.wait(t,0,0,e)}else g(t,`sleep ${e} ${v()}`,{timeout:e})}let v;return v=`randomUUID`in crypto?function(){return crypto.randomUUID()}:function(){return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,(e=>{let t=Number(e);return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))},t})()}))}))(),t=new class{constructor(t=``){this.hostName=t,this.syncMessageListener=(0,e.serviceWorkerFetchListener)()}async handleInputRequest(e){if(this.syncMessageListener(e))return!0;let t=e.request.url;return this.hostName&&t.includes(this.hostName)?(e.respondWith(fetch(e.request).then(e=>{let t=new Headers(e.headers);return t.set(`Cross-Origin-Embedder-Policy`,`require-corp`),t.set(`Cross-Origin-Opener-Policy`,`same-origin`),t.set(`Cross-Origin-Resource-Policy`,`cross-origin`),new Response(e.body,{status:e.status||200,statusText:e.statusText,headers:t})})),!0):!1}}(``);addEventListener(`fetch`,async function(e){await t.handleInputRequest(e)}),addEventListener(`install`,function(e){e.waitUntil(skipWaiting())}),addEventListener(`activate`,function(e){e.waitUntil(clients.claim())});
1
+ var e=((e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports))(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r():typeof define==`function`&&define.amd?define([],r):typeof e==`object`?e.syncMessage=r():n.syncMessage=r()})(self,(function(){return(()=>{var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{typeof Symbol<`u`&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),Object.defineProperty(e,`__esModule`,{value:!0})}},t={};e.r(t),e.d(t,{isServiceWorkerRequest:()=>a,serviceWorkerFetchListener:()=>o,asyncSleep:()=>s,ServiceWorkerError:()=>c,writeMessageAtomics:()=>l,writeMessageServiceWorker:()=>u,writeMessage:()=>d,makeChannel:()=>f,makeAtomicsChannel:()=>p,makeServiceWorkerChannel:()=>m,readMessage:()=>g,syncSleep:()=>_,uuidv4:()=>v});var n=function(e,t,n,r){return new(n||=Promise)((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((r=r.apply(e,t||[])).next())}))};let r=`__SyncMessageServiceWorkerInput__`,i=`__sync-message-v2__`;function a(e){return typeof e!=`string`&&(e=e.request.url),e.includes(r)}function o(){let e={},t={};return r=>{let{url:o}=r.request;return!!a(o)&&(r.respondWith(function(){return n(this,void 0,void 0,(function*(){function n(e){return new Response(JSON.stringify({message:e,version:i}),{status:200})}if(o.endsWith(`/read`)){let{messageId:i,timeout:a}=yield r.request.json();if(i in e){let t=e[i];return delete e[i],n(t)}return yield new Promise((e=>{t[i]=e,setTimeout((function(){delete t[i],e(new Response(``,{status:408}))}),a)}))}if(o.endsWith(`/write`)){let{message:i,messageId:a}=yield r.request.json(),o=t[a];return o?(o(n(i)),delete t[a]):e[a]=i,n({early:!o})}if(o.endsWith(`/version`))return new Response(i,{status:200})}))}()),!0)}}function s(e){return new Promise((t=>setTimeout(t,e)))}class c extends Error{constructor(e,t){super(`Received status ${t} from ${e}. Ensure the service worker is registered and active.`),this.url=e,this.status=t,this.type=`ServiceWorkerError`,Object.setPrototypeOf(this,c.prototype)}}function l(e,t){let n=new TextEncoder().encode(JSON.stringify(t)),{data:r,meta:i}=e;if(n.length>r.length)throw Error(`Message is too big, increase bufferSize when making channel.`);r.set(n,0),Atomics.store(i,0,n.length),Atomics.store(i,1,1),Atomics.notify(i,1)}function u(e,t,r){return n(this,void 0,void 0,(function*(){yield navigator.serviceWorker.ready;let n=e.baseUrl+`/write`,a=Date.now();for(;;){let o=yield fetch(n,{method:`POST`,body:JSON.stringify({message:t,messageId:r})});if(o.status===200&&(yield o.json()).version===i)return;if(!(Date.now()-a<e.timeout))throw new c(n,o.status);yield s(100)}}))}function d(e,t,r){return n(this,void 0,void 0,(function*(){e.type===`atomics`?l(e,t):yield u(e,t,r)}))}function f(e={}){return typeof SharedArrayBuffer<`u`?p(e.atomics):`serviceWorker`in navigator?m(e.serviceWorker):null}function p({bufferSize:e}={}){return{type:`atomics`,data:new Uint8Array(new SharedArrayBuffer(e||131072)),meta:new Int32Array(new SharedArrayBuffer(2*Int32Array.BYTES_PER_ELEMENT))}}function m(e={}){return{type:`serviceWorker`,baseUrl:(e.scope||`/`)+r,timeout:e.timeout||5e3}}function h(e,t){return e>0?+e:t}function g(e,t,{checkInterrupt:n,checkTimeout:r,timeout:a}={}){let o=performance.now();r=h(r,n?100:5e3);let s=h(a,1/0),l;if(e.type===`atomics`){let{data:t,meta:n}=e;l=()=>{if(Atomics.wait(n,1,0,r)===`timed-out`)return null;{let e=Atomics.exchange(n,0,0),r=t.slice(0,e);Atomics.store(n,1,0);let i=new TextDecoder().decode(r);return JSON.parse(i)}}}else l=()=>{let n=new XMLHttpRequest,a=e.baseUrl+`/read`;n.open(`POST`,a,!1);let s={messageId:t,timeout:r};n.send(JSON.stringify(s));let{status:l}=n;if(l===408)return null;if(l===200){let e=JSON.parse(n.responseText);return e.version===i?e.message:null}if(performance.now()-o<e.timeout)return null;throw new c(a,l)};for(;;){let e=s-(performance.now()-o);if(e<=0)return null;r=Math.min(r,e);let t=l();if(t!==null)return t;if(n?.())return null}}function _(e,t){if(e=h(e,0))if(typeof SharedArrayBuffer<`u`){let t=new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));t[0]=0,Atomics.wait(t,0,0,e)}else g(t,`sleep ${e} ${v()}`,{timeout:e})}let v;return v=`randomUUID`in crypto?function(){return crypto.randomUUID()}:function(){return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,(e=>{let t=Number(e);return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))},t})()}))}))(),t=new class{constructor(t=``){this.hostName=t,this.syncMessageListener=(0,e.serviceWorkerFetchListener)()}async handleInputRequest(e){if(this.syncMessageListener(e))return!0;let t=e.request.url;return this.hostName&&t.includes(this.hostName)?(e.respondWith(fetch(e.request).then(e=>{let t=new Headers(e.headers);return t.set(`Cross-Origin-Embedder-Policy`,`require-corp`),t.set(`Cross-Origin-Opener-Policy`,`same-origin`),t.set(`Cross-Origin-Resource-Policy`,`cross-origin`),new Response(e.body,{status:e.status||200,statusText:e.statusText,headers:t})})),!0):!1}}(``);addEventListener(`fetch`,async function(e){await t.handleInputRequest(e)}),addEventListener(`install`,function(e){e.waitUntil(skipWaiting())}),addEventListener(`activate`,function(e){e.waitUntil(clients.claim())});
@@ -13,7 +13,8 @@ export declare enum BackendEventType {
13
13
  Frame = "frame",
14
14
  FrameChange = "frame-change",
15
15
  Stop = "stop",
16
- Files = "files"
16
+ Files = "files",
17
+ Turtle = "turtle"
17
18
  }
18
19
  /**
19
20
  * Interface for events used for communication between threads
@@ -15,5 +15,6 @@ export var BackendEventType;
15
15
  BackendEventType["FrameChange"] = "frame-change";
16
16
  BackendEventType["Stop"] = "stop";
17
17
  BackendEventType["Files"] = "files";
18
+ BackendEventType["Turtle"] = "turtle";
18
19
  })(BackendEventType || (BackendEventType = {}));
19
20
  //# sourceMappingURL=BackendEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackendEvent.js","sourceRoot":"","sources":["../../src/communication/BackendEvent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,gBAaX;AAbD,WAAY,gBAAgB;IACxB,mCAAe,CAAA;IACf,+BAAW,CAAA;IACX,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,mCAAe,CAAA;IACf,mCAAe,CAAA;IACf,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,gDAA4B,CAAA;IAC5B,iCAAa,CAAA;IACb,mCAAe,CAAA;AACnB,CAAC,EAbW,gBAAgB,KAAhB,gBAAgB,QAa3B"}
1
+ {"version":3,"file":"BackendEvent.js","sourceRoot":"","sources":["../../src/communication/BackendEvent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,gBAcX;AAdD,WAAY,gBAAgB;IACxB,mCAAe,CAAA;IACf,+BAAW,CAAA;IACX,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,mCAAe,CAAA;IACf,mCAAe,CAAA;IACf,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,gDAA4B,CAAA;IAC5B,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,qCAAiB,CAAA;AACrB,CAAC,EAdW,gBAAgB,KAAhB,gBAAgB,QAc3B"}
@@ -10,5 +10,7 @@ export declare class Output extends PapyrosElement {
10
10
  get showOverflowWarning(): boolean;
11
11
  get downloadOverflowUrl(): string;
12
12
  get renderedOutputs(): TemplateResult[];
13
+ private get showTurtleTab();
14
+ private renderTabs;
13
15
  protected render(): TemplateResult;
14
16
  }
@@ -6,8 +6,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { customElement } from "lit/decorators.js";
8
8
  import { css, html } from "lit";
9
- import { OutputType } from "../state/InputOutput";
9
+ import { OutputType, OUTPUT_TAB, TURTLE_TAB } from "../state/InputOutput";
10
10
  import { PapyrosElement } from "./PapyrosElement";
11
+ import { tabButtonStyles } from "./shared-styles";
11
12
  import "@material/web/icon/icon";
12
13
  let Output = class Output extends PapyrosElement {
13
14
  static get styles() {
@@ -15,8 +16,32 @@ let Output = class Output extends PapyrosElement {
15
16
  :host {
16
17
  width: 100%;
17
18
  height: 100%;
19
+ display: flex;
20
+ flex-direction: column;
21
+ }
22
+
23
+ .tabs {
24
+ display: flex;
25
+ flex-direction: row;
26
+ gap: 0.25rem;
27
+ padding-top: 0.25rem;
28
+ flex-shrink: 0;
29
+ position: relative;
30
+ z-index: 1;
31
+ }
32
+
33
+ .content {
34
+ flex: 1;
18
35
  overflow: auto;
19
- display: block;
36
+ container-type: size;
37
+ padding: 0.75rem;
38
+ background-color: var(--md-sys-color-surface-container-highest);
39
+ }
40
+
41
+ .content.turtle {
42
+ margin-top: -1px;
43
+ padding: 0;
44
+ background-color: transparent;
20
45
  }
21
46
 
22
47
  img {
@@ -26,6 +51,18 @@ let Output = class Output extends PapyrosElement {
26
51
  margin: 0.5rem 0;
27
52
  }
28
53
 
54
+ img.turtle,
55
+ .turtle-placeholder {
56
+ width: min(100cqw, 100cqh);
57
+ height: min(100cqw, 100cqh);
58
+ max-width: 100%;
59
+ max-height: 100%;
60
+ margin: 0;
61
+ box-sizing: border-box;
62
+ background-color: var(--md-sys-color-surface-container-highest);
63
+ border: 1px solid var(--md-sys-color-outline-variant);
64
+ }
65
+
29
66
  pre {
30
67
  font-family: monospace;
31
68
  margin: 0;
@@ -43,6 +80,8 @@ let Output = class Output extends PapyrosElement {
43
80
  md-icon {
44
81
  vertical-align: bottom;
45
82
  }
83
+
84
+ ${tabButtonStyles}
46
85
  `;
47
86
  }
48
87
  get maxOutputLength() {
@@ -62,7 +101,7 @@ let Output = class Output extends PapyrosElement {
62
101
  }
63
102
  get downloadOverflowUrl() {
64
103
  const blob = new Blob(this.overflow.map((o) => {
65
- if (o.type === OutputType.img) {
104
+ if (o.type === OutputType.img || o.type === OutputType.turtle) {
66
105
  return `[Image output of type ${o.contentType} omitted]\n`;
67
106
  }
68
107
  else if (o.type === OutputType.stdout) {
@@ -94,13 +133,28 @@ let Output = class Output extends PapyrosElement {
94
133
  return URL.createObjectURL(blob);
95
134
  }
96
135
  get renderedOutputs() {
97
- return this.outputs.map((o) => {
98
- var _a;
136
+ let outputsToRender;
137
+ if (this.papyros.io.activeOutputTab === TURTLE_TAB) {
138
+ // Latest snapshot within this.outputs (which is sliced by the debugger's current
139
+ // step via maxOutputLength) — so stepping the debugger shows the drawing build up.
140
+ const lastIdx = this.outputs.findLastIndex((o) => o.type === OutputType.turtle);
141
+ outputsToRender = lastIdx >= 0 ? [this.outputs[lastIdx]] : [];
142
+ }
143
+ else {
144
+ outputsToRender = this.outputs.filter((o) => o.type !== OutputType.turtle);
145
+ }
146
+ return outputsToRender.map((o) => {
147
+ var _a, _b, _c;
99
148
  if (o.type === OutputType.stdout) {
100
149
  return html `${o.content}`;
101
150
  }
102
151
  else if (o.type === OutputType.img) {
103
- return html `<img src="data:${o.contentType}, ${o.content}"></img>`;
152
+ const mimeType = (_a = o.contentType) !== null && _a !== void 0 ? _a : "image/png";
153
+ return html `<img src="data:${mimeType},${o.content}"></img>`;
154
+ }
155
+ else if (o.type === OutputType.turtle) {
156
+ const mimeType = (_b = o.contentType) !== null && _b !== void 0 ? _b : "image/svg+xml;base64";
157
+ return html `<img class="turtle" src="data:${mimeType},${o.content}"></img>`;
104
158
  }
105
159
  else if (o.type === OutputType.stderr) {
106
160
  if (typeof o.content === "string") {
@@ -115,7 +169,7 @@ let Output = class Output extends PapyrosElement {
115
169
  <md-icon title="${errorObject.traceback}">
116
170
  ${this.papyros.constants.icons.info}
117
171
  </md-icon> `,
118
- html `<span class="where">${(_a = errorObject.where) === null || _a === void 0 ? void 0 : _a.trim()}</span> `,
172
+ html `<span class="where">${(_c = errorObject.where) === null || _c === void 0 ? void 0 : _c.trim()}</span> `,
119
173
  ];
120
174
  if (errorObject.what) {
121
175
  errorHTML.push(html `<span class="what">${errorObject.what.trim()}</span> `);
@@ -131,22 +185,57 @@ let Output = class Output extends PapyrosElement {
131
185
  }
132
186
  });
133
187
  }
188
+ get showTurtleTab() {
189
+ return this.papyros.io.hasTurtleOutput || this.papyros.io.activeOutputTab === TURTLE_TAB;
190
+ }
191
+ renderTabs() {
192
+ const activeTab = this.papyros.io.activeOutputTab;
193
+ return html `
194
+ <div class="tabs">
195
+ <button
196
+ class=${activeTab === OUTPUT_TAB ? "active" : ""}
197
+ @click=${() => this.papyros.io.selectOutputTab(OUTPUT_TAB)}
198
+ >
199
+ ${this.t("Papyros.output_tab_output")}
200
+ </button>
201
+ ${this.showTurtleTab
202
+ ? html `
203
+ <button
204
+ class=${activeTab === TURTLE_TAB ? "active" : ""}
205
+ @click=${() => this.papyros.io.selectOutputTab(TURTLE_TAB)}
206
+ >
207
+ ${this.t("Papyros.output_tab_turtle")}
208
+ </button>
209
+ `
210
+ : html ``}
211
+ </div>
212
+ `;
213
+ }
134
214
  render() {
135
- if (this.outputs.length === 0) {
136
- return html `<pre class="place-holder">${this.t("Papyros.output_placeholder")}</pre>`;
137
- }
215
+ const activeTab = this.papyros.io.activeOutputTab;
216
+ const rendered = this.renderedOutputs;
217
+ const showPlaceholder = activeTab === OUTPUT_TAB && rendered.length === 0;
218
+ const showTurtlePlaceholder = activeTab === TURTLE_TAB && rendered.length === 0;
219
+ const showOverflow = activeTab === OUTPUT_TAB && this.showOverflowWarning;
138
220
  return html `
139
- <pre>${this.renderedOutputs}</pre>
140
- ${this.showOverflowWarning
221
+ ${this.renderTabs()}
222
+ <div class="content ${activeTab === TURTLE_TAB ? "turtle" : ""}">
223
+ ${showPlaceholder
224
+ ? html `<pre class="place-holder">${this.t("Papyros.output_placeholder")}</pre>`
225
+ : showTurtlePlaceholder
226
+ ? html `<div class="turtle-placeholder"></div>`
227
+ : html `<pre>${rendered}</pre>`}
228
+ ${showOverflow
141
229
  ? html `
142
- <p>
143
- ${this.t("Papyros.output_overflow")}
144
- <a href="${this.downloadOverflowUrl}" download="papyros_output.txt">
145
- ${this.t("Papyros.output_overflow_download")}
146
- </a>
147
- </p>
148
- `
230
+ <p>
231
+ ${this.t("Papyros.output_overflow")}
232
+ <a href="${this.downloadOverflowUrl}" download="papyros_output.txt">
233
+ ${this.t("Papyros.output_overflow_download")}
234
+ </a>
235
+ </p>
236
+ `
149
237
  : html ``}
238
+ </div>
150
239
  `;
151
240
  }
152
241
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Output.js","sourceRoot":"","sources":["../../../src/frontend/components/Output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Output.js","sourceRoot":"","sources":["../../../src/frontend/components/Output.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare const PYTHON_EXAMPLES: {
7
7
  Erroneous: string;
8
8
  Unicode: string;
9
9
  Files: string;
10
+ Turtle: string;
10
11
  Matplotlib: string;
11
12
  Sleep: string;
12
13
  Overflow: string;
@@ -116,6 +116,14 @@ for _ in range(10):
116
116
  with open("names.txt", "r") as in_file:
117
117
  for line in in_file:
118
118
  print(line.rstrip())
119
+ `,
120
+ Turtle: `import turtle
121
+
122
+ colors = ['red', 'orange', 'yellow', 'green', 'blue', 'purple']
123
+ for i in range(360):
124
+ turtle.pencolor(colors[i % 6])
125
+ turtle.forward(i * 0.5)
126
+ turtle.left(59)
119
127
  `,
120
128
  Matplotlib: `import matplotlib.pyplot as plt
121
129
  import networkx as nx
@@ -1 +1 @@
1
- {"version":3,"file":"PythonExamples.js","sourceRoot":"","sources":["../../../../../src/frontend/components/app/examples/PythonExamples.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,eAAe,EAAE,wBAAwB;IACzC,KAAK,EAAE;yBACc;IACrB,SAAS,EAAE;;;yCAG0B;IACrC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDb;IACG,KAAK,EAAE;;;;;;;;;;;;;;;CAeV;IACG,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bd;IACG,OAAO,EAAE;;;;CAIZ;IACG,KAAK,EAAE;;;;;;;CAOV;IACG,UAAU,EAAE;;;;;;;;;;;;;;;;;;CAkBf;IACG,KAAK,EAAE;;;;;;;;CAQV;IACG,QAAQ,EAAE;;;;;;;;CAQb;IACG,SAAS,EAAE;;;;CAId;CACA,CAAC"}
1
+ {"version":3,"file":"PythonExamples.js","sourceRoot":"","sources":["../../../../../src/frontend/components/app/examples/PythonExamples.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,eAAe,EAAE,wBAAwB;IACzC,KAAK,EAAE;yBACc;IACrB,SAAS,EAAE;;;yCAG0B;IACrC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDb;IACG,KAAK,EAAE;;;;;;;;;;;;;;;CAeV;IACG,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bd;IACG,OAAO,EAAE;;;;CAIZ;IACG,KAAK,EAAE;;;;;;;CAOV;IACG,MAAM,EAAE;;;;;;;CAOX;IACG,UAAU,EAAE;;;;;;;;;;;;;;;;;;CAkBf;IACG,KAAK,EAAE;;;;;;;;CAQV;IACG,QAAQ,EAAE;;;;;;;;CAQb;IACG,SAAS,EAAE;;;;CAId;CACA,CAAC"}
@@ -32,7 +32,8 @@ export interface FriendlyError {
32
32
  export declare enum OutputType {
33
33
  stdout = "stdout",
34
34
  stderr = "stderr",
35
- img = "img"
35
+ img = "img",
36
+ turtle = "turtle"
36
37
  }
37
38
  export type OutputEntry = {
38
39
  type: OutputType;
@@ -49,13 +50,19 @@ export interface FileEntry {
49
50
  binary: boolean;
50
51
  }
51
52
  export declare const CODE_TAB = "code";
53
+ export declare const OUTPUT_TAB = "output";
54
+ export declare const TURTLE_TAB = "turtle";
55
+ export type OutputTab = typeof OUTPUT_TAB | typeof TURTLE_TAB;
52
56
  export declare function parseFileEntries(data: string, contentType?: string): FileEntry[];
53
57
  export declare class InputOutput extends State {
54
58
  private papyros;
55
59
  inputs: string[];
56
60
  output: OutputEntry[];
61
+ hasTurtleOutput: boolean;
57
62
  files: FileEntry[];
58
63
  activeEditorTab: string;
64
+ activeOutputTab: OutputTab;
65
+ outputTabManuallySet: boolean;
59
66
  prompt: string;
60
67
  awaitingInput: boolean;
61
68
  inputMode: InputMode;
@@ -66,6 +73,8 @@ export declare class InputOutput extends State {
66
73
  constructor(papyros: Papyros);
67
74
  logError(error: FriendlyError | string): void;
68
75
  logImage(imageData: string, contentType?: string): void;
76
+ logTurtle(imageData: string, contentType?: string): void;
77
+ selectOutputTab(tab: OutputTab): void;
69
78
  logOutput(output: string): void;
70
79
  provideInput(input: string): void;
71
80
  removeFile(name: string): void;
@@ -15,6 +15,7 @@ export var OutputType;
15
15
  OutputType["stdout"] = "stdout";
16
16
  OutputType["stderr"] = "stderr";
17
17
  OutputType["img"] = "img";
18
+ OutputType["turtle"] = "turtle";
18
19
  })(OutputType || (OutputType = {}));
19
20
  export var InputMode;
20
21
  (function (InputMode) {
@@ -22,6 +23,8 @@ export var InputMode;
22
23
  InputMode["interactive"] = "interactive";
23
24
  })(InputMode || (InputMode = {}));
24
25
  export const CODE_TAB = "code";
26
+ export const OUTPUT_TAB = "output";
27
+ export const TURTLE_TAB = "turtle";
25
28
  export function parseFileEntries(data, contentType) {
26
29
  const parsed = parseData(data, contentType);
27
30
  return Object.entries(parsed).map(([name, { content, binary }]) => ({ name, content, binary }));
@@ -50,8 +53,11 @@ export class InputOutput extends State {
50
53
  super();
51
54
  this.inputs = [];
52
55
  this.output = [];
56
+ this.hasTurtleOutput = false;
53
57
  this.files = [];
54
58
  this.activeEditorTab = CODE_TAB;
59
+ this.activeOutputTab = OUTPUT_TAB;
60
+ this.outputTabManuallySet = false;
55
61
  this.prompt = "";
56
62
  this.awaitingInput = false;
57
63
  this.inputMode = InputMode.interactive;
@@ -61,13 +67,17 @@ export class InputOutput extends State {
61
67
  BackendManager.subscribe(BackendEventType.Start, () => this.reset());
62
68
  BackendManager.subscribe(BackendEventType.Output, (e) => {
63
69
  const data = parseData(e.data, e.contentType);
64
- if (e.contentType && e.contentType.startsWith("img")) {
70
+ if (e.contentType && e.contentType.startsWith("image/")) {
65
71
  this.logImage(data, e.contentType);
66
72
  }
67
73
  else {
68
74
  this.logOutput(data);
69
75
  }
70
76
  });
77
+ BackendManager.subscribe(BackendEventType.Turtle, (e) => {
78
+ const data = parseData(e.data, e.contentType);
79
+ this.logTurtle(data, e.contentType);
80
+ });
71
81
  BackendManager.subscribe(BackendEventType.Error, (e) => {
72
82
  const data = parseData(e.data, e.contentType);
73
83
  this.logError(data);
@@ -82,6 +92,11 @@ export class InputOutput extends State {
82
92
  });
83
93
  BackendManager.subscribe(BackendEventType.End, () => {
84
94
  this.awaitingInput = false;
95
+ // If the finished run produced no turtle output, drop the (stale) Turtle tab
96
+ // selection so the tab bar hides. A manual selection is preserved.
97
+ if (this.activeOutputTab === TURTLE_TAB && !this.hasTurtleOutput && !this.outputTabManuallySet) {
98
+ this.activeOutputTab = OUTPUT_TAB;
99
+ }
85
100
  });
86
101
  BackendManager.subscribe(BackendEventType.Files, (e) => {
87
102
  this.files = parseFileEntries(e.data, e.contentType);
@@ -99,9 +114,21 @@ export class InputOutput extends State {
99
114
  }
100
115
  this.output = [...this.output, { type: OutputType.stderr, content: error }];
101
116
  }
102
- logImage(imageData, contentType = "img/png") {
117
+ logImage(imageData, contentType = "image/png") {
103
118
  this.output = [...this.output, { type: OutputType.img, content: imageData, contentType }];
104
119
  }
120
+ logTurtle(imageData, contentType = "image/svg+xml;base64") {
121
+ const isFirstSnapshot = !this.hasTurtleOutput;
122
+ this.output = [...this.output, { type: OutputType.turtle, content: imageData, contentType }];
123
+ this.hasTurtleOutput = true;
124
+ if (isFirstSnapshot && this.activeOutputTab === OUTPUT_TAB && !this.outputTabManuallySet) {
125
+ this.activeOutputTab = TURTLE_TAB;
126
+ }
127
+ }
128
+ selectOutputTab(tab) {
129
+ this.activeOutputTab = tab;
130
+ this.outputTabManuallySet = true;
131
+ }
105
132
  logOutput(output) {
106
133
  // lines have been merged to limit the number of events
107
134
  // we split them again here, to simplify overflow detection
@@ -164,9 +191,13 @@ export class InputOutput extends State {
164
191
  reset() {
165
192
  this.inputs = [];
166
193
  this.output = [];
194
+ this.hasTurtleOutput = false;
167
195
  this.prompt = "";
168
196
  this.awaitingInput = false;
169
197
  this.activeEditorTab = CODE_TAB;
198
+ // activeOutputTab is intentionally preserved across reruns: resetting it would make
199
+ // the tab bar flicker (Turtle → Output → Turtle) as a turtle rerun progresses. It is
200
+ // pruned back to OUTPUT_TAB on End when no turtle output was produced.
170
201
  }
171
202
  }
172
203
  __decorate([
@@ -175,12 +206,21 @@ __decorate([
175
206
  __decorate([
176
207
  stateProperty
177
208
  ], InputOutput.prototype, "output", void 0);
209
+ __decorate([
210
+ stateProperty
211
+ ], InputOutput.prototype, "hasTurtleOutput", void 0);
178
212
  __decorate([
179
213
  stateProperty
180
214
  ], InputOutput.prototype, "files", void 0);
181
215
  __decorate([
182
216
  stateProperty
183
217
  ], InputOutput.prototype, "activeEditorTab", void 0);
218
+ __decorate([
219
+ stateProperty
220
+ ], InputOutput.prototype, "activeOutputTab", void 0);
221
+ __decorate([
222
+ stateProperty
223
+ ], InputOutput.prototype, "outputTabManuallySet", void 0);
184
224
  __decorate([
185
225
  stateProperty
186
226
  ], InputOutput.prototype, "prompt", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"InputOutput.js","sourceRoot":"","sources":["../../../src/frontend/state/InputOutput.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputOutput.js","sourceRoot":"","sources":["../../../src/frontend/state/InputOutput.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,8 @@ export declare const ENGLISH_TRANSLATION: {
75
75
  files_download: string;
76
76
  files_binary: string;
77
77
  files_empty: string;
78
+ output_tab_output: string;
79
+ output_tab_turtle: string;
78
80
  };
79
81
  CodeMirror: {
80
82
  "Go to line": string;
@@ -167,6 +169,8 @@ export declare const DUTCH_TRANSLATION: {
167
169
  files_download: string;
168
170
  files_binary: string;
169
171
  files_empty: string;
172
+ output_tab_output: string;
173
+ output_tab_turtle: string;
170
174
  };
171
175
  CodeMirror: {
172
176
  "Control character": string;
@@ -77,6 +77,8 @@ export const ENGLISH_TRANSLATION = {
77
77
  files_download: "Download",
78
78
  files_binary: "Binary file",
79
79
  files_empty: "Empty file",
80
+ output_tab_output: "Output",
81
+ output_tab_turtle: "Turtle",
80
82
  },
81
83
  CodeMirror: {
82
84
  // @codemirror/search
@@ -171,6 +173,8 @@ export const DUTCH_TRANSLATION = {
171
173
  files_download: "Downloaden",
172
174
  files_binary: "Binair bestand",
173
175
  files_empty: "Leeg bestand",
176
+ output_tab_output: "Uitvoer",
177
+ output_tab_turtle: "Turtle",
174
178
  },
175
179
  CodeMirror: {
176
180
  // @codemirror/view
@@ -1 +1 @@
1
- {"version":3,"file":"Translations.js","sourceRoot":"","sources":["../../../src/frontend/state/Translations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Translations.js","sourceRoot":"","sources":["../../../src/frontend/state/Translations.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export declare function isValidFileName(name: string): boolean;
2
2
  export declare function debounce<T extends (...args: any[]) => void>(fn: T, delay: number): T;
3
3
  /**
4
4
  * Parse the data contained within a PapyrosEvent using its contentType
5
- * Supported content types are: text/plain, text/json, img/png;base64
5
+ * Supported content types are: text/plain, text/json, image/png;base64
6
6
  * @param {string} data The data to parse
7
7
  * @param {string} contentType The content type of the data
8
8
  * @return {any} The parsed data
package/dist/util/Util.js CHANGED
@@ -16,7 +16,7 @@ export function debounce(fn, delay) {
16
16
  }
17
17
  /**
18
18
  * Parse the data contained within a PapyrosEvent using its contentType
19
- * Supported content types are: text/plain, text/json, img/png;base64
19
+ * Supported content types are: text/plain, text/json, image/png;base64
20
20
  * @param {string} data The data to parse
21
21
  * @param {string} contentType The content type of the data
22
22
  * @return {any} The parsed data
@@ -44,9 +44,10 @@ export function parseData(data, contentType) {
44
44
  }
45
45
  break;
46
46
  }
47
- case "img": {
47
+ case "image": {
48
48
  switch (specificType) {
49
- case "png;base64": {
49
+ case "png;base64":
50
+ case "svg+xml;base64": {
50
51
  return data;
51
52
  }
52
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../src/util/Util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,UAAU,eAAe,CAAC,IAAY;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,QAAQ,CAAqC,EAAK,EAAE,KAAa;IAC7E,IAAI,KAAgD,CAAC;IACrD,OAAO,CAAC,CAAC,GAAG,IAAmB,EAAE,EAAE;QAC/B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,CAAM,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,WAAoB;IACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,QAAQ,YAAY,EAAE,CAAC;gBACnB,KAAK,OAAO,CAAC,CAAC,CAAC;oBACX,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACb,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACX,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACT,QAAQ,YAAY,EAAE,CAAC;gBACnB,KAAK,YAAY,CAAC,CAAC,CAAC;oBAChB,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,uFAAuF;YACvF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,2BAA2B,WAAW,EAAE,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../src/util/Util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,UAAU,eAAe,CAAC,IAAY;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,QAAQ,CAAqC,EAAK,EAAE,KAAa;IAC7E,IAAI,KAAgD,CAAC;IACrD,OAAO,CAAC,CAAC,GAAG,IAAmB,EAAE,EAAE;QAC/B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,CAAM,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,WAAoB;IACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,QAAQ,YAAY,EAAE,CAAC;gBACnB,KAAK,OAAO,CAAC,CAAC,CAAC;oBACX,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACb,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACX,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACX,QAAQ,YAAY,EAAE,CAAC;gBACnB,KAAK,YAAY,CAAC;gBAClB,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACpB,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,uFAAuF;YACvF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,2BAA2B,WAAW,EAAE,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dodona/papyros",
3
- "version": "4.2.2",
3
+ "version": "4.3.1",
4
4
  "private": false,
5
5
  "homepage": ".",
6
6
  "dependencies": {
@@ -31,7 +31,7 @@
31
31
  "@types/i18n-js": "^4.0.1",
32
32
  "@types/node": "^25.0.3",
33
33
  "@types/node-polyglot": "^2.5.0",
34
- "@types/serviceworker": "^0.0.194",
34
+ "@types/serviceworker": "^0.0.196",
35
35
  "@vitest/browser": "^4.0.6",
36
36
  "@vitest/browser-playwright": "^4.0.6",
37
37
  "eslint": "^10.0.2",
@@ -42,7 +42,7 @@
42
42
  "globals": "^17.3.0",
43
43
  "playwright": "^1.55.1",
44
44
  "prettier": "^3.6.2",
45
- "typescript": "^5.2.2",
45
+ "typescript": "^6.0.3",
46
46
  "typescript-eslint": "^8.21.0",
47
47
  "vite": "^8.0.3",
48
48
  "vitest": "^4.0.6"