From 89d212e20b2c9d23d8ffc4f5834a5694b114f133 Mon Sep 17 00:00:00 2001 From: Fabian-Lars Date: Thu, 7 Dec 2023 14:04:20 +0000 Subject: [PATCH] chore(websocket): Convert websocket example to vanilla ts (#805) * chore(websocket): Convert ws example to vanilla-ts * fix gitignore Committed via a GitHub action: https://github.com/tauri-apps/plugins-workspace/actions/runs/7129274732 Co-authored-by: FabianLars --- examples/svelte-app/.gitignore | 12 ----- examples/svelte-app/package.json | 27 ---------- examples/svelte-app/src/app.d.ts | 9 ---- examples/svelte-app/src/app.html | 13 ----- examples/svelte-app/src/routes/+page.svelte | 35 ------------ examples/svelte-app/static/favicon.png | Bin 1571 -> 0 bytes examples/svelte-app/svelte.config.js | 15 ------ examples/svelte-app/tsconfig.json | 17 ------ examples/svelte-app/vite.config.ts | 8 --- examples/tauri-app/.gitignore | 25 +++++++++ .../{svelte-app => tauri-app}/dist/.gitkeep | 0 examples/tauri-app/index.html | 20 +++++++ examples/tauri-app/package.json | 19 +++++++ examples/tauri-app/public/vite.svg | 1 + .../src-tauri/.gitignore | 0 .../src-tauri/Cargo.toml | 0 .../src-tauri/build.rs | 0 .../src-tauri/icons/128x128.png | Bin .../src-tauri/icons/128x128@2x.png | Bin .../src-tauri/icons/32x32.png | Bin .../src-tauri/icons/Square107x107Logo.png | Bin .../src-tauri/icons/Square142x142Logo.png | Bin .../src-tauri/icons/Square150x150Logo.png | Bin .../src-tauri/icons/Square284x284Logo.png | Bin .../src-tauri/icons/Square30x30Logo.png | Bin .../src-tauri/icons/Square310x310Logo.png | Bin .../src-tauri/icons/Square44x44Logo.png | Bin .../src-tauri/icons/Square71x71Logo.png | Bin .../src-tauri/icons/Square89x89Logo.png | Bin .../src-tauri/icons/StoreLogo.png | Bin .../src-tauri/icons/icon.icns | Bin .../src-tauri/icons/icon.ico | Bin .../src-tauri/icons/icon.png | Bin .../src-tauri/rustfmt.toml | 0 .../src-tauri/src/main.rs | 0 .../src-tauri/tauri.conf.json | 0 examples/tauri-app/src/main.ts | 50 ++++++++++++++++++ .../global.css => tauri-app/src/style.css} | 4 ++ examples/tauri-app/src/typescript.svg | 1 + examples/tauri-app/src/vite-env.d.ts | 1 + examples/tauri-app/tsconfig.json | 23 ++++++++ 41 files changed, 144 insertions(+), 136 deletions(-) delete mode 100644 examples/svelte-app/.gitignore delete mode 100644 examples/svelte-app/package.json delete mode 100644 examples/svelte-app/src/app.d.ts delete mode 100644 examples/svelte-app/src/app.html delete mode 100644 examples/svelte-app/src/routes/+page.svelte delete mode 100644 examples/svelte-app/static/favicon.png delete mode 100644 examples/svelte-app/svelte.config.js delete mode 100644 examples/svelte-app/tsconfig.json delete mode 100644 examples/svelte-app/vite.config.ts create mode 100644 examples/tauri-app/.gitignore rename examples/{svelte-app => tauri-app}/dist/.gitkeep (100%) create mode 100644 examples/tauri-app/index.html create mode 100644 examples/tauri-app/package.json create mode 100644 examples/tauri-app/public/vite.svg rename examples/{svelte-app => tauri-app}/src-tauri/.gitignore (100%) rename examples/{svelte-app => tauri-app}/src-tauri/Cargo.toml (100%) rename examples/{svelte-app => tauri-app}/src-tauri/build.rs (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/128x128.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/128x128@2x.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/32x32.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/Square107x107Logo.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/Square142x142Logo.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/Square150x150Logo.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/Square284x284Logo.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/Square30x30Logo.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/Square310x310Logo.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/Square44x44Logo.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/Square71x71Logo.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/Square89x89Logo.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/StoreLogo.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/icon.icns (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/icon.ico (100%) rename examples/{svelte-app => tauri-app}/src-tauri/icons/icon.png (100%) rename examples/{svelte-app => tauri-app}/src-tauri/rustfmt.toml (100%) rename examples/{svelte-app => tauri-app}/src-tauri/src/main.rs (100%) rename examples/{svelte-app => tauri-app}/src-tauri/tauri.conf.json (100%) create mode 100644 examples/tauri-app/src/main.ts rename examples/{svelte-app/static/global.css => tauri-app/src/style.css} (97%) create mode 100644 examples/tauri-app/src/typescript.svg create mode 100644 examples/tauri-app/src/vite-env.d.ts create mode 100644 examples/tauri-app/tsconfig.json diff --git a/examples/svelte-app/.gitignore b/examples/svelte-app/.gitignore deleted file mode 100644 index 8c91317..0000000 --- a/examples/svelte-app/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example -vite.config.js.timestamp-* -vite.config.ts.timestamp-* -dist/** -!dist/.gitkeep \ No newline at end of file diff --git a/examples/svelte-app/package.json b/examples/svelte-app/package.json deleted file mode 100644 index 15a750c..0000000 --- a/examples/svelte-app/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "svelte-app", - "version": "0.0.1", - "private": true, - "scripts": { - "dev": "vite dev", - "build": "vite build", - "preview": "vite preview", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "tauri": "tauri" - }, - "devDependencies": { - "@sveltejs/adapter-auto": "2.1.1", - "@sveltejs/kit": "1.27.7", - "@tauri-apps/cli": "1.5.7", - "svelte": "4.2.8", - "svelte-check": "3.6.2", - "tslib": "2.6.2", - "typescript": "5.3.3", - "vite": "5.0.6" - }, - "dependencies": { - "tauri-plugin-websocket-api": "link:../../" - }, - "type": "module" -} diff --git a/examples/svelte-app/src/app.d.ts b/examples/svelte-app/src/app.d.ts deleted file mode 100644 index 1cea0dc..0000000 --- a/examples/svelte-app/src/app.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -// See https://kit.svelte.dev/docs/types#app -// for information about these interfaces -// and what to do when importing types -declare namespace App { - // interface Error {} - // interface Locals {} - // interface PageData {} - // interface Platform {} -} diff --git a/examples/svelte-app/src/app.html b/examples/svelte-app/src/app.html deleted file mode 100644 index 73cf3cd..0000000 --- a/examples/svelte-app/src/app.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - %sveltekit.head% - - -
%sveltekit.body%
- - diff --git a/examples/svelte-app/src/routes/+page.svelte b/examples/svelte-app/src/routes/+page.svelte deleted file mode 100644 index 26e53cb..0000000 --- a/examples/svelte-app/src/routes/+page.svelte +++ /dev/null @@ -1,35 +0,0 @@ - - -
- - - -
-
{@html response}
diff --git a/examples/svelte-app/static/favicon.png b/examples/svelte-app/static/favicon.png deleted file mode 100644 index 825b9e65af7c104cfb07089bb28659393b4f2097..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1571 zcmV+;2Hg3HP)Px)-AP12RCwC$UE6KzI1p6{F2N z1VK2vi|pOpn{~#djwYcWXTI_im_u^TJgMZ4JMOsSj!0ma>B?-(Hr@X&W@|R-$}W@Z zgj#$x=!~7LGqHW?IO8+*oE1MyDp!G=L0#^lUx?;!fXv@l^6SvTnf^ac{5OurzC#ZMYc20lI%HhX816AYVs1T3heS1*WaWH z%;x>)-J}YB5#CLzU@GBR6sXYrD>Vw(Fmt#|JP;+}<#6b63Ike{Fuo!?M{yEffez;| zp!PfsuaC)>h>-AdbnwN13g*1LowNjT5?+lFVd#9$!8Z9HA|$*6dQ8EHLu}U|obW6f z2%uGv?vr=KNq7YYa2Roj;|zooo<)lf=&2yxM@e`kM$CmCR#x>gI>I|*Ubr({5Y^rb zghxQU22N}F51}^yfDSt786oMTc!W&V;d?76)9KXX1 z+6Okem(d}YXmmOiZq$!IPk5t8nnS{%?+vDFz3BevmFNgpIod~R{>@#@5x9zJKEHLHv!gHeK~n)Ld!M8DB|Kfe%~123&Hz1Z(86nU7*G5chmyDe ziV7$pB7pJ=96hpxHv9rCR29%bLOXlKU<_13_M8x)6;P8E1Kz6G<&P?$P^%c!M5`2` zfY2zg;VK5~^>TJGQzc+33-n~gKt{{of8GzUkWmU110IgI0DLxRIM>0US|TsM=L|@F z0Bun8U!cRB7-2apz=y-7*UxOxz@Z0)@QM)9wSGki1AZ38ceG7Q72z5`i;i=J`ILzL z@iUO?SBBG-0cQuo+an4TsLy-g-x;8P4UVwk|D8{W@U1Zi z!M)+jqy@nQ$p?5tsHp-6J304Q={v-B>66$P0IDx&YT(`IcZ~bZfmn11#rXd7<5s}y zBi9eim&zQc0Dk|2>$bs0PnLmDfMP5lcXRY&cvJ=zKxI^f0%-d$tD!`LBf9^jMSYUA zI8U?CWdY@}cRq6{5~y+)#h1!*-HcGW@+gZ4B};0OnC~`xQOyH19z*TA!!BJ%9s0V3F?CAJ{hTd#*tf+ur-W9MOURF-@B77_-OshsY}6 zOXRY=5%C^*26z?l)1=$bz30!so5tfABdSYzO+H=CpV~aaUefmjvfZ3Ttu9W&W3Iu6 zROlh0MFA5h;my}8lB0tAV-Rvc2Zs_CCSJnx@d`**$idgy-iMob4dJWWw|21b4NB=LfsYp0Aeh{Ov)yztQi;eL4y5 zMi>8^SzKqk8~k?UiQK^^-5d8c%bV?$F8%X~czyiaKCI2=UH + + + + + + WebSocket Plugin Example + + +
+
+ + + +
+
+
+ + + diff --git a/examples/tauri-app/package.json b/examples/tauri-app/package.json new file mode 100644 index 0000000..88cfbe1 --- /dev/null +++ b/examples/tauri-app/package.json @@ -0,0 +1,19 @@ +{ + "name": "tauri-app", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "devDependencies": { + "@tauri-apps/cli": "1.5.7", + "typescript": "^5.3.3", + "vite": "^5.0.6" + }, + "dependencies": { + "tauri-plugin-websocket-api": "link:..\\.." + } +} diff --git a/examples/tauri-app/public/vite.svg b/examples/tauri-app/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/examples/tauri-app/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/svelte-app/src-tauri/.gitignore b/examples/tauri-app/src-tauri/.gitignore similarity index 100% rename from examples/svelte-app/src-tauri/.gitignore rename to examples/tauri-app/src-tauri/.gitignore diff --git a/examples/svelte-app/src-tauri/Cargo.toml b/examples/tauri-app/src-tauri/Cargo.toml similarity index 100% rename from examples/svelte-app/src-tauri/Cargo.toml rename to examples/tauri-app/src-tauri/Cargo.toml diff --git a/examples/svelte-app/src-tauri/build.rs b/examples/tauri-app/src-tauri/build.rs similarity index 100% rename from examples/svelte-app/src-tauri/build.rs rename to examples/tauri-app/src-tauri/build.rs diff --git a/examples/svelte-app/src-tauri/icons/128x128.png b/examples/tauri-app/src-tauri/icons/128x128.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/128x128.png rename to examples/tauri-app/src-tauri/icons/128x128.png diff --git a/examples/svelte-app/src-tauri/icons/128x128@2x.png b/examples/tauri-app/src-tauri/icons/128x128@2x.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/128x128@2x.png rename to examples/tauri-app/src-tauri/icons/128x128@2x.png diff --git a/examples/svelte-app/src-tauri/icons/32x32.png b/examples/tauri-app/src-tauri/icons/32x32.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/32x32.png rename to examples/tauri-app/src-tauri/icons/32x32.png diff --git a/examples/svelte-app/src-tauri/icons/Square107x107Logo.png b/examples/tauri-app/src-tauri/icons/Square107x107Logo.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/Square107x107Logo.png rename to examples/tauri-app/src-tauri/icons/Square107x107Logo.png diff --git a/examples/svelte-app/src-tauri/icons/Square142x142Logo.png b/examples/tauri-app/src-tauri/icons/Square142x142Logo.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/Square142x142Logo.png rename to examples/tauri-app/src-tauri/icons/Square142x142Logo.png diff --git a/examples/svelte-app/src-tauri/icons/Square150x150Logo.png b/examples/tauri-app/src-tauri/icons/Square150x150Logo.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/Square150x150Logo.png rename to examples/tauri-app/src-tauri/icons/Square150x150Logo.png diff --git a/examples/svelte-app/src-tauri/icons/Square284x284Logo.png b/examples/tauri-app/src-tauri/icons/Square284x284Logo.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/Square284x284Logo.png rename to examples/tauri-app/src-tauri/icons/Square284x284Logo.png diff --git a/examples/svelte-app/src-tauri/icons/Square30x30Logo.png b/examples/tauri-app/src-tauri/icons/Square30x30Logo.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/Square30x30Logo.png rename to examples/tauri-app/src-tauri/icons/Square30x30Logo.png diff --git a/examples/svelte-app/src-tauri/icons/Square310x310Logo.png b/examples/tauri-app/src-tauri/icons/Square310x310Logo.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/Square310x310Logo.png rename to examples/tauri-app/src-tauri/icons/Square310x310Logo.png diff --git a/examples/svelte-app/src-tauri/icons/Square44x44Logo.png b/examples/tauri-app/src-tauri/icons/Square44x44Logo.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/Square44x44Logo.png rename to examples/tauri-app/src-tauri/icons/Square44x44Logo.png diff --git a/examples/svelte-app/src-tauri/icons/Square71x71Logo.png b/examples/tauri-app/src-tauri/icons/Square71x71Logo.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/Square71x71Logo.png rename to examples/tauri-app/src-tauri/icons/Square71x71Logo.png diff --git a/examples/svelte-app/src-tauri/icons/Square89x89Logo.png b/examples/tauri-app/src-tauri/icons/Square89x89Logo.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/Square89x89Logo.png rename to examples/tauri-app/src-tauri/icons/Square89x89Logo.png diff --git a/examples/svelte-app/src-tauri/icons/StoreLogo.png b/examples/tauri-app/src-tauri/icons/StoreLogo.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/StoreLogo.png rename to examples/tauri-app/src-tauri/icons/StoreLogo.png diff --git a/examples/svelte-app/src-tauri/icons/icon.icns b/examples/tauri-app/src-tauri/icons/icon.icns similarity index 100% rename from examples/svelte-app/src-tauri/icons/icon.icns rename to examples/tauri-app/src-tauri/icons/icon.icns diff --git a/examples/svelte-app/src-tauri/icons/icon.ico b/examples/tauri-app/src-tauri/icons/icon.ico similarity index 100% rename from examples/svelte-app/src-tauri/icons/icon.ico rename to examples/tauri-app/src-tauri/icons/icon.ico diff --git a/examples/svelte-app/src-tauri/icons/icon.png b/examples/tauri-app/src-tauri/icons/icon.png similarity index 100% rename from examples/svelte-app/src-tauri/icons/icon.png rename to examples/tauri-app/src-tauri/icons/icon.png diff --git a/examples/svelte-app/src-tauri/rustfmt.toml b/examples/tauri-app/src-tauri/rustfmt.toml similarity index 100% rename from examples/svelte-app/src-tauri/rustfmt.toml rename to examples/tauri-app/src-tauri/rustfmt.toml diff --git a/examples/svelte-app/src-tauri/src/main.rs b/examples/tauri-app/src-tauri/src/main.rs similarity index 100% rename from examples/svelte-app/src-tauri/src/main.rs rename to examples/tauri-app/src-tauri/src/main.rs diff --git a/examples/svelte-app/src-tauri/tauri.conf.json b/examples/tauri-app/src-tauri/tauri.conf.json similarity index 100% rename from examples/svelte-app/src-tauri/tauri.conf.json rename to examples/tauri-app/src-tauri/tauri.conf.json diff --git a/examples/tauri-app/src/main.ts b/examples/tauri-app/src/main.ts new file mode 100644 index 0000000..764477a --- /dev/null +++ b/examples/tauri-app/src/main.ts @@ -0,0 +1,50 @@ +import WebSocket from "tauri-plugin-websocket-api"; +import "./style.css"; + +let ws: WebSocket; + +document.addEventListener("DOMContentLoaded", async () => { + document.querySelector("#send")?.addEventListener("click", send); + document.querySelector("#disconnect")?.addEventListener("click", disconnect); + await connect(); +}); + +function _updateResponse(returnValue: unknown) { + const msg = document.createElement("p"); + msg.textContent = + typeof returnValue === "string" ? returnValue : JSON.stringify(returnValue); + document.querySelector("#response-container")?.appendChild(msg); +} + +async function connect() { + try { + ws = await WebSocket.connect("ws://127.0.0.1:8080").then((r) => { + _updateResponse("Connected"); + return r; + }); + } catch (e) { + _updateResponse(e); + } + ws.addListener(_updateResponse); +} + +function send() { + ws.send(document.querySelector("#msg-input")?.textContent || "") + .then(() => _updateResponse("Message sent")) + .catch(_updateResponse); +} + +function disconnect() { + ws.disconnect() + .then(() => _updateResponse("Disconnected")) + .catch(_updateResponse); +} + +document.querySelector("#app")!.innerHTML = ` +
+ + + +
+
+`; diff --git a/examples/svelte-app/static/global.css b/examples/tauri-app/src/style.css similarity index 97% rename from examples/svelte-app/static/global.css rename to examples/tauri-app/src/style.css index d8d4fb9..21d7637 100644 --- a/examples/svelte-app/static/global.css +++ b/examples/tauri-app/src/style.css @@ -66,3 +66,7 @@ button:not(:disabled):active { button:focus { border-color: #666; } + +p { + margin: 3px 0; +} diff --git a/examples/tauri-app/src/typescript.svg b/examples/tauri-app/src/typescript.svg new file mode 100644 index 0000000..d91c910 --- /dev/null +++ b/examples/tauri-app/src/typescript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/tauri-app/src/vite-env.d.ts b/examples/tauri-app/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/examples/tauri-app/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/examples/tauri-app/tsconfig.json b/examples/tauri-app/tsconfig.json new file mode 100644 index 0000000..75abdef --- /dev/null +++ b/examples/tauri-app/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +}