@r-universe/webr 2023.6.21 → 2023.8.26
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.
- package/dist/R.bin.data +3920 -2189
- package/dist/R.bin.js +1 -6
- package/dist/repl/App.d.ts +15 -0
- package/dist/repl/components/Editor.d.ts +26 -0
- package/dist/repl/components/Files.d.ts +19 -0
- package/dist/repl/components/Plot.d.ts +7 -0
- package/dist/repl/components/Terminal.d.ts +9 -0
- package/dist/repl/components/utils.d.ts +11 -0
- package/dist/tests/webR/error.test.d.ts +1 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ArialMT-Bold.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ArialMT-BoldItalic.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ArialMT-Italic.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ArialMT.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/CM_boldx_10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/CM_boldx_italic_10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/CM_italic_10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/CM_regular_10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/CM_symbol_10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Courier-Bold.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Courier-BoldOblique.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Courier-Oblique.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Courier.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Helvetica-Bold.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Helvetica-BoldOblique.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Helvetica-Oblique.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Helvetica.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Symbol.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Times-Bold.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Times-BoldItalic.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Times-Italic.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/Times-Roman.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ZapfDingbats.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/a010013l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/a010015l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/a010033l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/a010035l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/agd_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/agdo____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/agw_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/agwo____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/b018012l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/b018015l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/b018032l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/b018035l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/bkd_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/bkdi____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/bkl_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/bkli____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/c059013l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/c059016l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/c059033l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/c059036l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/cmbxti10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/cmti10.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/cob_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/cobo____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/com_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/coo_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hv______.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvb_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvbo____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvn_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvnb____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvnbo___.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvno____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/hvo_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019003l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019004l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019023l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019024l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019043l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019044l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019063l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n019064l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n021003l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n021004l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n021023l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n021024l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n022003l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n022004l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n022023l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/n022024l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ncb_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ncbi____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/nci_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/ncr_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/p052003l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/p052004l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/p052023l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/p052024l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/pob_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/pobi____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/poi_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/por_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/s050000l.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/sy______.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/tib_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/tibi____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/tii_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/grDevices/afm/tir_____.afm.gz +0 -0
- package/dist/vfs/usr/lib/R/library/parallel/DESCRIPTION +1 -1
- package/dist/vfs/usr/lib/R/library/parallel/Meta/package.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tcltk/DESCRIPTION +1 -1
- package/dist/vfs/usr/lib/R/library/tcltk/Meta/package.rds +0 -0
- package/dist/vfs/usr/lib/R/library/tools/help/tools.rdb +0 -0
- package/dist/vfs/usr/lib/R/library/translations/Meta/package.rds +0 -0
- package/dist/webR/console.d.ts +2 -2
- package/dist/webR/error.d.ts +26 -0
- package/dist/webR/payload.d.ts +1 -1
- package/dist/webR/webr-chan.d.ts +18 -0
- package/dist/webR/webr-main.d.ts +6 -0
- package/dist/webr-serviceworker.js +14 -3
- package/dist/webr-serviceworker.js.map +3 -3
- package/dist/webr-serviceworker.mjs +14 -3
- package/dist/webr-serviceworker.mjs.map +3 -3
- package/dist/webr-worker.js +43 -24
- package/dist/webr-worker.js.map +3 -3
- package/dist/webr.cjs +3 -3
- package/dist/webr.cjs.map +4 -4
- package/dist/webr.mjs +3 -3
- package/dist/webr.mjs.map +4 -4
- package/package.json +19 -9
- package/templates/repl.html +9 -127
- package/dist/repl/fstree.d.ts +0 -57
- package/dist/repl/repl.d.ts +0 -1
- package/dist/vfs/usr/lib/R/library/grDevices/libs/grDevices.so +0 -0
- package/dist/vfs/usr/lib/R/modules/internet.so +0 -0
- package/dist/vfs/usr/lib/R/modules/lapack.so +0 -0
package/dist/webr-worker.js
CHANGED
|
@@ -1936,6 +1936,19 @@ var require_XMLHttpRequest = __commonJS({
|
|
|
1936
1936
|
}
|
|
1937
1937
|
});
|
|
1938
1938
|
|
|
1939
|
+
// webR/error.ts
|
|
1940
|
+
var WebRError = class extends Error {
|
|
1941
|
+
constructor(msg) {
|
|
1942
|
+
super(msg);
|
|
1943
|
+
this.name = this.constructor.name;
|
|
1944
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
1945
|
+
}
|
|
1946
|
+
};
|
|
1947
|
+
var WebRWorkerError = class extends WebRError {
|
|
1948
|
+
};
|
|
1949
|
+
var WebRChannelError = class extends WebRError {
|
|
1950
|
+
};
|
|
1951
|
+
|
|
1939
1952
|
// webR/compat.ts
|
|
1940
1953
|
var IN_NODE = typeof process !== "undefined" && process.release && process.release.name === "node";
|
|
1941
1954
|
var loadScript;
|
|
@@ -1965,7 +1978,7 @@ if (globalThis.document) {
|
|
|
1965
1978
|
await Promise.resolve().then(() => __toESM(require(nodePathMod.resolve(url))));
|
|
1966
1979
|
};
|
|
1967
1980
|
} else {
|
|
1968
|
-
throw new
|
|
1981
|
+
throw new WebRError("Cannot determine runtime environment");
|
|
1969
1982
|
}
|
|
1970
1983
|
|
|
1971
1984
|
// webR/utils.ts
|
|
@@ -2025,7 +2038,7 @@ function isCrossOrigin(urlString) {
|
|
|
2025
2038
|
function throwUnreachable(context) {
|
|
2026
2039
|
let msg = "Reached the unreachable";
|
|
2027
2040
|
msg = msg + (context ? ": " + context : ".");
|
|
2028
|
-
throw new
|
|
2041
|
+
throw new WebRError(msg);
|
|
2029
2042
|
}
|
|
2030
2043
|
|
|
2031
2044
|
// webR/chan/task-common.ts
|
|
@@ -2208,9 +2221,11 @@ function newSyncRequest(msg, data) {
|
|
|
2208
2221
|
}
|
|
2209
2222
|
|
|
2210
2223
|
// webR/payload.ts
|
|
2211
|
-
function
|
|
2212
|
-
const e = new
|
|
2213
|
-
|
|
2224
|
+
function webRPayloadAsError(payload) {
|
|
2225
|
+
const e = new WebRWorkerError(payload.obj.message);
|
|
2226
|
+
if (payload.obj.name !== "Error") {
|
|
2227
|
+
e.name = payload.obj.name;
|
|
2228
|
+
}
|
|
2214
2229
|
e.stack = payload.obj.stack;
|
|
2215
2230
|
return e;
|
|
2216
2231
|
}
|
|
@@ -2263,7 +2278,7 @@ var ChannelMain = class {
|
|
|
2263
2278
|
const payload = msg.data.resp;
|
|
2264
2279
|
__privateGet(this, _parked).delete(uuid);
|
|
2265
2280
|
if (payload.payloadType === "err") {
|
|
2266
|
-
handles.reject(
|
|
2281
|
+
handles.reject(webRPayloadAsError(payload));
|
|
2267
2282
|
} else {
|
|
2268
2283
|
handles.resolve(payload);
|
|
2269
2284
|
}
|
|
@@ -2500,12 +2515,12 @@ var SharedBufferChannelMain = class extends ChannelMain {
|
|
|
2500
2515
|
break;
|
|
2501
2516
|
}
|
|
2502
2517
|
default:
|
|
2503
|
-
throw new
|
|
2518
|
+
throw new WebRChannelError(`Unsupported request type '${payload.type}'.`);
|
|
2504
2519
|
}
|
|
2505
2520
|
return;
|
|
2506
2521
|
}
|
|
2507
2522
|
case "request":
|
|
2508
|
-
throw new
|
|
2523
|
+
throw new WebRChannelError(
|
|
2509
2524
|
"Can't send messages of type 'request' from a worker. Please Use 'sync-request' instead."
|
|
2510
2525
|
);
|
|
2511
2526
|
}
|
|
@@ -2535,7 +2550,7 @@ var SharedBufferChannelMain = class extends ChannelMain {
|
|
|
2535
2550
|
}
|
|
2536
2551
|
interrupt() {
|
|
2537
2552
|
if (!__privateGet(this, _interruptBuffer)) {
|
|
2538
|
-
throw new
|
|
2553
|
+
throw new WebRChannelError("Failed attempt to interrupt before initialising interruptBuffer");
|
|
2539
2554
|
}
|
|
2540
2555
|
this.inputQueue.reset();
|
|
2541
2556
|
__privateGet(this, _interruptBuffer)[0] = 1;
|
|
@@ -2649,7 +2664,7 @@ var ServiceWorkerChannelMain = class extends ChannelMain {
|
|
|
2649
2664
|
return;
|
|
2650
2665
|
}
|
|
2651
2666
|
case "request":
|
|
2652
|
-
throw new
|
|
2667
|
+
throw new WebRChannelError(
|
|
2653
2668
|
"Can't send messages of type 'request' from a worker.Use service worker fetch request instead."
|
|
2654
2669
|
);
|
|
2655
2670
|
}
|
|
@@ -2689,7 +2704,7 @@ var ServiceWorkerChannelMain = class extends ChannelMain {
|
|
|
2689
2704
|
activeRegistration() {
|
|
2690
2705
|
var _a;
|
|
2691
2706
|
if (!((_a = __privateGet(this, _registration)) == null ? void 0 : _a.active)) {
|
|
2692
|
-
throw new
|
|
2707
|
+
throw new WebRChannelError("Attempted to obtain a non-existent active registration.");
|
|
2693
2708
|
}
|
|
2694
2709
|
return __privateGet(this, _registration).active;
|
|
2695
2710
|
}
|
|
@@ -2731,7 +2746,7 @@ onMessageFromServiceWorker_fn = async function(event) {
|
|
|
2731
2746
|
const uuid = event.data.data;
|
|
2732
2747
|
const message = __privateGet(this, _syncMessageCache).get(uuid);
|
|
2733
2748
|
if (!message) {
|
|
2734
|
-
throw new
|
|
2749
|
+
throw new WebRChannelError("Request not found during service worker XHR request");
|
|
2735
2750
|
}
|
|
2736
2751
|
__privateGet(this, _syncMessageCache).delete(uuid);
|
|
2737
2752
|
switch (message.type) {
|
|
@@ -2756,7 +2771,7 @@ onMessageFromServiceWorker_fn = async function(event) {
|
|
|
2756
2771
|
break;
|
|
2757
2772
|
}
|
|
2758
2773
|
default:
|
|
2759
|
-
throw new
|
|
2774
|
+
throw new WebRChannelError(`Unsupported request type '${message.type}'.`);
|
|
2760
2775
|
}
|
|
2761
2776
|
return;
|
|
2762
2777
|
}
|
|
@@ -2772,19 +2787,20 @@ handleEventsFromWorker_fn2 = function(worker) {
|
|
|
2772
2787
|
}
|
|
2773
2788
|
};
|
|
2774
2789
|
_onMessageFromWorker2 = new WeakMap();
|
|
2775
|
-
var _ep2, _mainThreadId, _location, _dispatch2, _interrupt2;
|
|
2790
|
+
var _ep2, _mainThreadId, _location, _lastInterruptReq, _dispatch2, _interrupt2;
|
|
2776
2791
|
var ServiceWorkerChannelWorker = class {
|
|
2777
2792
|
constructor(data) {
|
|
2778
2793
|
__privateAdd(this, _ep2, void 0);
|
|
2779
2794
|
__privateAdd(this, _mainThreadId, void 0);
|
|
2780
2795
|
__privateAdd(this, _location, void 0);
|
|
2796
|
+
__privateAdd(this, _lastInterruptReq, Date.now());
|
|
2781
2797
|
__privateAdd(this, _dispatch2, () => 0);
|
|
2782
2798
|
__privateAdd(this, _interrupt2, () => {
|
|
2783
2799
|
});
|
|
2784
2800
|
this.onMessageFromMainThread = () => {
|
|
2785
2801
|
};
|
|
2786
2802
|
if (!data.clientId || !data.location) {
|
|
2787
|
-
throw
|
|
2803
|
+
throw new WebRChannelError("Can't start service worker channel");
|
|
2788
2804
|
}
|
|
2789
2805
|
__privateSet(this, _mainThreadId, data.clientId);
|
|
2790
2806
|
__privateSet(this, _location, data.location);
|
|
@@ -2845,10 +2861,13 @@ var ServiceWorkerChannelWorker = class {
|
|
|
2845
2861
|
__privateSet(this, _interrupt2, interrupt);
|
|
2846
2862
|
}
|
|
2847
2863
|
handleInterrupt() {
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2864
|
+
if (Date.now() > __privateGet(this, _lastInterruptReq) + 1e3) {
|
|
2865
|
+
__privateSet(this, _lastInterruptReq, Date.now());
|
|
2866
|
+
const response = this.syncRequest({ type: "interrupt" });
|
|
2867
|
+
const interrupted = response.data.resp;
|
|
2868
|
+
if (interrupted) {
|
|
2869
|
+
__privateGet(this, _interrupt2).call(this);
|
|
2870
|
+
}
|
|
2852
2871
|
}
|
|
2853
2872
|
}
|
|
2854
2873
|
setDispatchHandler(dispatch2) {
|
|
@@ -2858,6 +2877,7 @@ var ServiceWorkerChannelWorker = class {
|
|
|
2858
2877
|
_ep2 = new WeakMap();
|
|
2859
2878
|
_mainThreadId = new WeakMap();
|
|
2860
2879
|
_location = new WeakMap();
|
|
2880
|
+
_lastInterruptReq = new WeakMap();
|
|
2861
2881
|
_dispatch2 = new WeakMap();
|
|
2862
2882
|
_interrupt2 = new WeakMap();
|
|
2863
2883
|
|
|
@@ -2874,7 +2894,7 @@ function newChannelWorker(msg) {
|
|
|
2874
2894
|
case ChannelType.ServiceWorker:
|
|
2875
2895
|
return new ServiceWorkerChannelWorker(msg.data);
|
|
2876
2896
|
default:
|
|
2877
|
-
throw new
|
|
2897
|
+
throw new WebRChannelError("Unknown worker channel type recieved");
|
|
2878
2898
|
}
|
|
2879
2899
|
}
|
|
2880
2900
|
|
|
@@ -4456,7 +4476,9 @@ function init(config) {
|
|
|
4456
4476
|
if (IN_NODE) {
|
|
4457
4477
|
globalThis.FS = Module.FS;
|
|
4458
4478
|
}
|
|
4459
|
-
|
|
4479
|
+
if (_config.createLazyFilesystem) {
|
|
4480
|
+
Module.createLazyFilesystem();
|
|
4481
|
+
}
|
|
4460
4482
|
Module.FS.mkdirTree(_config.homedir);
|
|
4461
4483
|
Module.ENV.HOME = _config.homedir;
|
|
4462
4484
|
Module.FS.chdir(_config.homedir);
|
|
@@ -4518,9 +4540,6 @@ function init(config) {
|
|
|
4518
4540
|
Module.setPrompt = (prompt) => {
|
|
4519
4541
|
chan == null ? void 0 : chan.write({ type: "prompt", data: prompt });
|
|
4520
4542
|
};
|
|
4521
|
-
Module.canvasExec = (op) => {
|
|
4522
|
-
chan == null ? void 0 : chan.write({ type: "canvasExec", data: op });
|
|
4523
|
-
};
|
|
4524
4543
|
globalThis.Module = Module;
|
|
4525
4544
|
setTimeout(() => {
|
|
4526
4545
|
const scriptSrc = `${_config.baseUrl}R.bin.js`;
|