Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b11fb2e

Browse files
Added polyscript/service-worker as workaround for missing sabayon (#2334)
* Added polyscript/service-worker as workaround for missing sabayon * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * updated polyscript to its latest * Updated polyscript one mor time --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 3223a9c commit b11fb2e

File tree

10 files changed

+1154
-230
lines changed

10 files changed

+1154
-230
lines changed

core/package-lock.json

+1,117-212
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/package.json

+12-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pyscript/core",
3-
"version": "0.6.46",
3+
"version": "0.6.51",
44
"type": "module",
55
"description": "PyScript",
66
"module": "./index.js",
@@ -35,6 +35,9 @@
3535
"./storage": {
3636
"import": "./dist/storage.js"
3737
},
38+
"./service-worker": {
39+
"import": "./dist/service-worker.js"
40+
},
3841
"./package.json": "./package.json"
3942
},
4043
"scripts": {
@@ -64,35 +67,35 @@
6467
"dependencies": {
6568
"@ungap/with-resolvers": "^0.1.0",
6669
"@webreflection/idb-map": "^0.3.2",
70+
"@webreflection/utils": "^0.1.0",
6771
"add-promise-listener": "^0.1.3",
6872
"basic-devtools": "^0.1.6",
69-
"polyscript": "^0.17.8",
70-
"sabayon": "^0.7.2",
73+
"polyscript": "^0.17.15",
7174
"sticky-module": "^0.1.1",
7275
"to-json-callback": "^0.1.1",
7376
"type-checked-collections": "^0.1.7"
7477
},
7578
"devDependencies": {
7679
"@codemirror/commands": "^6.8.1",
77-
"@codemirror/lang-python": "^6.1.7",
80+
"@codemirror/lang-python": "^6.2.0",
7881
"@codemirror/language": "^6.11.0",
7982
"@codemirror/state": "^6.5.2",
80-
"@codemirror/view": "^6.36.5",
83+
"@codemirror/view": "^6.36.7",
8184
"@playwright/test": "^1.52.0",
8285
"@rollup/plugin-commonjs": "^28.0.3",
8386
"@rollup/plugin-node-resolve": "^16.0.1",
8487
"@rollup/plugin-terser": "^0.4.4",
85-
"@webreflection/toml-j0.4": "^1.1.3",
88+
"@webreflection/toml-j0.4": "^1.1.4",
8689
"@xterm/addon-fit": "^0.10.0",
8790
"@xterm/addon-web-links": "^0.11.0",
8891
"@xterm/xterm": "^5.5.0",
89-
"bun": "^1.2.10",
92+
"bun": "^1.2.12",
9093
"chokidar": "^4.0.3",
9194
"codedent": "^0.1.2",
9295
"codemirror": "^6.0.1",
93-
"eslint": "^9.25.1",
96+
"eslint": "^9.26.0",
9497
"flatted": "^3.3.3",
95-
"rollup": "^4.40.0",
98+
"rollup": "^4.40.2",
9699
"rollup-plugin-postcss": "^4.0.2",
97100
"rollup-plugin-string": "^3.0.0",
98101
"static-handler": "^0.5.3",

core/rollup/core.config.js

+11
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,15 @@ export default [
5353
sourcemap: true,
5454
},
5555
},
56+
{
57+
input: "./src/service-worker.js",
58+
plugins: plugins.concat(
59+
process.env.NO_MIN
60+
? [nodeResolve(), commonjs()]
61+
: [nodeResolve(), commonjs(), terser()],
62+
),
63+
output: {
64+
file: "./dist/service-worker.js",
65+
},
66+
},
5667
];

core/src/all-done.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
import withResolvers from "@webreflection/utils/with-resolvers";
12
import TYPES from "./types.js";
23

34
const waitForIt = [];
45

56
for (const [TYPE] of TYPES) {
67
const selectors = [`script[type="${TYPE}"]`, `${TYPE}-script`];
78
for (const element of document.querySelectorAll(selectors.join(","))) {
8-
const { promise, resolve } = Promise.withResolvers();
9+
const { promise, resolve } = withResolvers();
910
waitForIt.push(promise);
1011
element.addEventListener(`${TYPE}:done`, resolve, { once: true });
1112
}

core/src/core.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import "./zero-redirect.js";
44
import stickyModule from "sticky-module";
5-
import "@ungap/with-resolvers";
5+
import withResolvers from "@webreflection/utils/with-resolvers";
66

77
import {
88
INVALID_CONTENT,
@@ -328,7 +328,7 @@ for (const [TYPE, interpreter] of TYPES) {
328328
class extends HTMLElement {
329329
constructor() {
330330
assign(super(), {
331-
_wrap: Promise.withResolvers(),
331+
_wrap: withResolvers(),
332332
srcCode: "",
333333
executed: false,
334334
});

core/src/fs.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import IDBMap from "@webreflection/idb-map";
2+
import withResolvers from "@webreflection/utils/with-resolvers";
23
import { assign } from "polyscript/exports";
34
import { $$ } from "basic-devtools";
45

@@ -26,7 +27,7 @@ export const getFileSystemDirectoryHandle = async (options) => {
2627
);
2728
}
2829

29-
const { promise, resolve, reject } = Promise.withResolvers();
30+
const { promise, resolve, reject } = withResolvers();
3031

3132
const how = { id: "pyscript", mode: "readwrite", ...options };
3233
if (options.hint) how.startIn = options.hint;

core/src/plugins/py-editor.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// PyScript py-editor plugin
2+
import withResolvers from "@webreflection/utils/with-resolvers";
23
import { Hook, XWorker, dedent, defineProperties } from "polyscript/exports";
34
import { TYPES, offline_interpreter, relative_url, stdlib } from "../core.js";
45
import { notify } from "./error.js";
@@ -99,7 +100,7 @@ async function execute({ currentTarget }) {
99100
}
100101

101102
const { sync } = xworker;
102-
const { promise, resolve } = Promise.withResolvers();
103+
const { promise, resolve } = withResolvers();
103104
envs.set(env, promise);
104105
sync.revoke = () => {
105106
URL.revokeObjectURL(srcLink);

core/src/plugins/py-terminal/mpy.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// PyScript pyodide terminal plugin
2+
import withResolvers from "@webreflection/utils/with-resolvers";
23
import { defineProperties } from "polyscript/exports";
34
import { hooks, inputFailure } from "../../core.js";
45

@@ -146,7 +147,7 @@ export default async (element) => {
146147
// frees the worker on \r
147148
sync.pyterminal_read = (buffer) => {
148149
terminal.write(buffer);
149-
promisedChunks = Promise.withResolvers();
150+
promisedChunks = withResolvers();
150151
return promisedChunks.promise;
151152
};
152153

core/src/service-worker.js

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import "polyscript/service-worker";

core/src/storage.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import { ArrayBuffer, TypedArray } from "sabayon/shared";
21
import IDBMapSync from "@webreflection/idb-map/sync";
32
import { parse, stringify } from "flatted";
43

4+
const { isView } = ArrayBuffer;
5+
56
const to_idb = (value) => {
67
if (value == null) return stringify(["null", 0]);
78
/* eslint-disable no-fallthrough */
89
switch (typeof value) {
910
case "object": {
10-
if (value instanceof TypedArray)
11-
return stringify(["memoryview", [...value]]);
11+
if (isView(value)) return stringify(["memoryview", [...value]]);
1212
if (value instanceof ArrayBuffer)
1313
return stringify(["bytearray", [...new Uint8Array(value)]]);
1414
}

0 commit comments

Comments
 (0)