diff --git a/.gitignore b/.gitignore index 3923901..c4c863b 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ static/bare-mux.js static/bare-client.js static/curl-client.js static/epoxy-client.js +static/bare-mux-worker.js meta.json diff --git a/esbuild.dev.js b/esbuild.dev.js index 7d8211c..0a338d5 100644 --- a/esbuild.dev.js +++ b/esbuild.dev.js @@ -64,21 +64,25 @@ const devServer = await context({ resolveFrom: "cwd", assets: [ { - from: ["./node_modules/@mercuryworkshop/bare-mux/dist/bare.cjs"], + from: ["./node_modules/@mercuryworkshop/bare-mux/dist/index.js"], to: ["./static/bare-mux.js"], }, { - from: ["./node_modules/@mercuryworkshop/bare-as-module3/dist/bare.cjs"], + from: ["./node_modules/@mercuryworkshop/bare-as-module3/dist/index.mjs"], to: ["./static/bare-client.js"], }, { - from: ["./node_modules/@mercuryworkshop/libcurl-transport/dist/index.cjs"], + from: ["./node_modules/@mercuryworkshop/libcurl-transport/dist/index.mjs"], to: ["./static/curl-client.js"], }, { - from: ["./node_modules/@mercuryworkshop/epoxy-transport/dist/index.js"], + from: ["./node_modules/@mercuryworkshop/epoxy-transport/dist/index.mjs"], to: ["./static/epoxy-client.js"], }, + { + from: ["./node_modules/@mercuryworkshop/bare-mux/dist/worker.js"], + to: ["./static/bare-mux-worker.js"], + }, { from: ["./dist/*"], to: ["./static"] diff --git a/package.json b/package.json index 71f55c1..6b4279d 100644 --- a/package.json +++ b/package.json @@ -23,9 +23,9 @@ "license": "ISC", "devDependencies": { "@fastify/static": "^7.0.3", - "@mercuryworkshop/bare-as-module3": "^2.2.0-alpha", - "@mercuryworkshop/epoxy-transport": "^1.1.0", - "@mercuryworkshop/libcurl-transport": "^1.3.1", + "@mercuryworkshop/bare-as-module3": "^2.2.2", + "@mercuryworkshop/epoxy-transport": "^2.1.2", + "@mercuryworkshop/libcurl-transport": "^1.3.6", "@tomphttp/bare-server-node": "^2.0.3", "@types/eslint": "^8.56.10", "@types/serviceworker": "^0.0.85", @@ -42,7 +42,7 @@ }, "type": "module", "dependencies": { - "@mercuryworkshop/bare-mux": "^1.1.2", + "@mercuryworkshop/bare-mux": "^2.0.1", "@webreflection/idb-map": "^0.1.3", "astravel": "^0.6.1", "astring": "^1.8.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 24f08e9..a4f5370 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@mercuryworkshop/bare-mux': - specifier: ^1.1.2 - version: 1.1.2 + specifier: ^2.0.1 + version: 2.0.1 '@webreflection/idb-map': specifier: ^0.1.3 version: 0.1.3 @@ -43,14 +43,14 @@ importers: specifier: ^7.0.3 version: 7.0.3 '@mercuryworkshop/bare-as-module3': - specifier: ^2.2.0-alpha - version: 2.2.0-alpha + specifier: ^2.2.2 + version: 2.2.2 '@mercuryworkshop/epoxy-transport': - specifier: ^1.1.0 - version: 1.1.0(typescript@5.4.5) + specifier: ^2.1.2 + version: 2.1.2(typescript@5.4.5) '@mercuryworkshop/libcurl-transport': - specifier: ^1.3.1 - version: 1.3.1(typescript@5.4.5) + specifier: ^1.3.6 + version: 1.3.6(typescript@5.4.5) '@tomphttp/bare-server-node': specifier: ^2.0.3 version: 2.0.3 @@ -290,20 +290,20 @@ packages: resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} engines: {node: '>=8'} - '@mercuryworkshop/bare-as-module3@2.2.0-alpha': - resolution: {integrity: sha512-Vbk07NDfwENaiadfZFdG+FkjZb6dQODhykYhMpY7k2TZJanuDjs+MDIucpiqufymCTemx+9uAnv91v/GTxqJsg==} + '@mercuryworkshop/bare-as-module3@2.2.2': + resolution: {integrity: sha512-Ds8981SmI1DQp1mDCVax1x0I5mH2dR1tYKytW7xTjlnpsfwn3RzQDiVJHUCrpc7cWGCe+7mHCF3EoMjM3hFfvQ==} - '@mercuryworkshop/bare-mux@1.1.2': - resolution: {integrity: sha512-a9tfRAbpDUnJENmIPJpQT/QHVuiS6cohaQxxQ+NKZQGCeZX8v2phDUX3oya7rdwmKpASeS7Zf3o3UOX8IcHTgw==} + '@mercuryworkshop/bare-mux@2.0.1': + resolution: {integrity: sha512-94YThllV9sWSb5hzIDg+U0JSNfFdkvOq6j5wwV1OON3izZhrKSsdDOkaywS5WP6HE/jm0/0ZYaYixbf8u3kjYg==} - '@mercuryworkshop/epoxy-tls@1.5.0': - resolution: {integrity: sha512-U2TxqKksH8O8ml+7bm3yR4oZ3cnUSSSCO8sRqDWOoVM9B6iYQ0vBF62gfT3djJLiNLnrCQ0rJWI6H1+wzCJo7w==} + '@mercuryworkshop/epoxy-tls@2.0.6-1': + resolution: {integrity: sha512-sirpgUiIO6gxjvoI+QDRebsWEgutHiMbV5ghx2Q39IkfGqYNFinaMIDZRno8yY4IZCxydf9KAo/V+1xEMwvJ+w==} - '@mercuryworkshop/epoxy-transport@1.1.0': - resolution: {integrity: sha512-JVdKr+u53qu3GQyehZDWRfWV1UWct2fAtU2/50plFl9TLzy2rPLUHqyHTmyAuErNS6SP2uZ9BlgMz6FN4PlpVg==} + '@mercuryworkshop/epoxy-transport@2.1.2': + resolution: {integrity: sha512-W5OnmUdYsRZt1koyUbYPJh8CLKAWLL7c6JR68CjgREVfOGXjcG2px3Jo/CXk7tErVyuiYDECnbcbhtIppvkZdQ==} - '@mercuryworkshop/libcurl-transport@1.3.1': - resolution: {integrity: sha512-yGt8K7D1j8WLn7LgH6YPnxmHc+JUCB0x/QPIStuRftl0tq3D8uHskRFeOJ8ksTrru7mTAjk5Cpmvix8jNJ+Lug==} + '@mercuryworkshop/libcurl-transport@1.3.6': + resolution: {integrity: sha512-K4/TSfHlkjuzY6j0XXFmIbG8m3tpMoTxLga46fhmeuX8k3EJR/FVbW8JTXOD34Iofu0vCZuuY8n/ywNCcB6XjA==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -431,9 +431,6 @@ packages: '@types/serviceworker@0.0.85': resolution: {integrity: sha512-jBhFui72jyO0Tpsq/8AvL7GRJKiuUxdHPD9rrSRhf2SSElCn61yTyU2G133IlBVvBumCH4T5FDjmjbAG7MU9tg==} - '@types/uuid@9.0.8': - resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} - '@typescript-eslint/eslint-plugin@6.21.0': resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1021,8 +1018,8 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - libcurl.js@0.6.8: - resolution: {integrity: sha512-KYkWFxnSdnIeN00AZRWv1tywDawVqb7VKxw213GjqxehGQDBv0rWAKZ/R/rwEKumVYlPvRNrzZPRa9wlYgEjCg==} + libcurl.js@0.6.10: + resolution: {integrity: sha512-GDyxCRi7+R7XFhcCRFAsNYxg3x91LiwiBISo+pWfUXfgO45J/9ZWcHqjKQg8/FbWHRkV1wwSCyPOZ8pLlbdivg==} light-my-request@5.13.0: resolution: {integrity: sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==} @@ -1384,6 +1381,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} + engines: {node: '>=14.17'} + hasBin: true + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -1394,10 +1396,6 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1418,18 +1416,6 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - ws@8.17.0: resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} engines: {node: '>=10.0.0'} @@ -1601,40 +1587,33 @@ snapshots: '@lukeed/ms@2.0.2': {} - '@mercuryworkshop/bare-as-module3@2.2.0-alpha': {} - - '@mercuryworkshop/bare-mux@1.1.2': + '@mercuryworkshop/bare-as-module3@2.2.2': dependencies: - '@types/uuid': 9.0.8 - uuid: 9.0.1 + typescript: 5.5.3 - '@mercuryworkshop/epoxy-tls@1.5.0': {} + '@mercuryworkshop/bare-mux@2.0.1': {} - '@mercuryworkshop/epoxy-transport@1.1.0(typescript@5.4.5)': + '@mercuryworkshop/epoxy-tls@2.0.6-1': {} + + '@mercuryworkshop/epoxy-transport@2.1.2(typescript@5.4.5)': dependencies: - '@mercuryworkshop/epoxy-tls': 1.5.0 + '@mercuryworkshop/epoxy-tls': 2.0.6-1 esbuild-plugin-umd-wrapper: 2.0.0 rollup: 4.17.2 rollup-plugin-node-resolve: 5.2.0(rollup@4.17.2) rollup-plugin-typescript2: 0.36.0(rollup@4.17.2)(typescript@5.4.5) - ws: 8.16.0 transitivePeerDependencies: - - bufferutil - typescript - - utf-8-validate - '@mercuryworkshop/libcurl-transport@1.3.1(typescript@5.4.5)': + '@mercuryworkshop/libcurl-transport@1.3.6(typescript@5.4.5)': dependencies: esbuild-plugin-umd-wrapper: 2.0.0 - libcurl.js: 0.6.8 + libcurl.js: 0.6.10 rollup: 4.17.2 rollup-plugin-node-resolve: 5.2.0(rollup@4.17.2) rollup-plugin-typescript2: 0.36.0(rollup@4.17.2)(typescript@5.4.5) - ws: 8.16.0 transitivePeerDependencies: - - bufferutil - typescript - - utf-8-validate '@nodelib/fs.scandir@2.1.5': dependencies: @@ -1738,8 +1717,6 @@ snapshots: '@types/serviceworker@0.0.85': {} - '@types/uuid@9.0.8': {} - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 @@ -2408,7 +2385,7 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - libcurl.js@0.6.8: {} + libcurl.js@0.6.10: {} light-my-request@5.13.0: dependencies: @@ -2747,6 +2724,8 @@ snapshots: typescript@5.4.5: {} + typescript@5.5.3: {} + undici-types@5.26.5: {} universalify@2.0.1: {} @@ -2755,8 +2734,6 @@ snapshots: dependencies: punycode: 2.3.1 - uuid@9.0.1: {} - which@2.0.2: dependencies: isexe: 2.0.0 @@ -2777,8 +2754,6 @@ snapshots: wrappy@1.0.2: {} - ws@8.16.0: {} - ws@8.17.0: {} yallist@4.0.0: {} diff --git a/static/index.html b/static/index.html index 41e3e27..bc6c5e2 100644 --- a/static/index.html +++ b/static/index.html @@ -22,9 +22,6 @@ - - - diff --git a/static/sw.js b/static/sw.js index 46bd1e5..655b310 100644 --- a/static/sw.js +++ b/static/sw.js @@ -2,9 +2,6 @@ importScripts("scramjet.codecs.js"); importScripts("scramjet.config.js"); importScripts( __scramjet$config.bundle || "scramjet.bundle.js") importScripts( __scramjet$config.worker || "scramjet.worker.js"); -importScripts("bare-client.js") -importScripts("curl-client.js") -importScripts("epoxy-client.js") const scramjet = new ScramjetServiceWorker(); diff --git a/static/ui.js b/static/ui.js index 7dd0c6e..1e533c4 100644 --- a/static/ui.js +++ b/static/ui.js @@ -1,7 +1,7 @@ navigator.serviceWorker.register("./sw.js", { scope: __scramjet$config.prefix }) -BareMux.SetTransport("BareMod.BareClient", (location.protocol === "https:" ? "https" : "http") + "://" + location.host + "/bare/") +const connection = new BareMux.BareMuxConnection("/bare-mux-worker.js") const flex = css`display: flex;`; const col = css`flex-direction: column;`; const store = $store({ @@ -9,6 +9,7 @@ const store = $store({ wispurl: "wss://wisp.mercurywork.shop/", bareurl: (location.protocol === "https:" ? "https" : "http") + "://" + location.host + "/bare/", }, { ident: "settings", backing: "localstorage", autosave: "auto" }); +connection.setTransport("/bare-client.js", [store.bareurl]) function App() { this.urlencoded = ""; this.css = ` @@ -81,10 +82,9 @@ function App() {
- - - - + + +