diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a547bf3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/index.html b/index.html
index 72ba3a8..ea42267 100644
--- a/index.html
+++ b/index.html
@@ -7,6 +7,7 @@
Vite App
+ View console for WebSocket messages.
diff --git a/server.js b/server.js
new file mode 100644
index 0000000..856a133
--- /dev/null
+++ b/server.js
@@ -0,0 +1,14 @@
+const http = require('http')
+const WebSocket = require('ws')
+
+const server = http.createServer()
+const wss = new WebSocket.Server({ server })
+
+wss.on('connection', ws => {
+ ws.on('message', msg => {
+ ws.send(`echo ${msg}`)
+ console.log(`Received: ${msg}`)
+ })
+})
+
+server.listen(8078)
diff --git a/src/counter.js b/src/counter.js
deleted file mode 100644
index 881e2d7..0000000
--- a/src/counter.js
+++ /dev/null
@@ -1,9 +0,0 @@
-export function setupCounter(element) {
- let counter = 0
- const setCounter = (count) => {
- counter = count
- element.innerHTML = `count is ${counter}`
- }
- element.addEventListener('click', () => setCounter(counter + 1))
- setCounter(0)
-}
diff --git a/src/javascript.svg b/src/javascript.svg
deleted file mode 100644
index f9abb2b..0000000
--- a/src/javascript.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index 5fc3358..cedd755 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,24 +1,8 @@
-import './style.css'
-import javascriptLogo from './javascript.svg'
-import viteLogo from '/vite.svg'
-import { setupCounter } from './counter.js'
-
-document.querySelector('#app').innerHTML = `
-
-
-
-
-
-
-
-
Hello Vite!
-
-
-
-
- Click on the Vite logo to learn more
-
-
-`
-
-setupCounter(document.querySelector('#counter'))
+const url = location.origin.replace(/^http/, 'ws') + '/api'
+console.log("Connecting WebSocket...", url)
+const ws = new WebSocket(url)
+ws.onmessage = console.log
+ws.onopen = () => {
+ ws.send('Hello from the client!')
+}
+ws.onerror = console.error
diff --git a/src/style.css b/src/style.css
deleted file mode 100644
index 8df73e3..0000000
--- a/src/style.css
+++ /dev/null
@@ -1,96 +0,0 @@
-:root {
- font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
- line-height: 1.5;
- font-weight: 400;
-
- color-scheme: light dark;
- color: rgba(255, 255, 255, 0.87);
- background-color: #242424;
-
- font-synthesis: none;
- text-rendering: optimizeLegibility;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-a {
- font-weight: 500;
- color: #646cff;
- text-decoration: inherit;
-}
-a:hover {
- color: #535bf2;
-}
-
-body {
- margin: 0;
- display: flex;
- place-items: center;
- min-width: 320px;
- min-height: 100vh;
-}
-
-h1 {
- font-size: 3.2em;
- line-height: 1.1;
-}
-
-#app {
- max-width: 1280px;
- margin: 0 auto;
- padding: 2rem;
- text-align: center;
-}
-
-.logo {
- height: 6em;
- padding: 1.5em;
- will-change: filter;
- transition: filter 300ms;
-}
-.logo:hover {
- filter: drop-shadow(0 0 2em #646cffaa);
-}
-.logo.vanilla:hover {
- filter: drop-shadow(0 0 2em #f7df1eaa);
-}
-
-.card {
- padding: 2em;
-}
-
-.read-the-docs {
- color: #888;
-}
-
-button {
- border-radius: 8px;
- border: 1px solid transparent;
- padding: 0.6em 1.2em;
- font-size: 1em;
- font-weight: 500;
- font-family: inherit;
- background-color: #1a1a1a;
- cursor: pointer;
- transition: border-color 0.25s;
-}
-button:hover {
- border-color: #646cff;
-}
-button:focus,
-button:focus-visible {
- outline: 4px auto -webkit-focus-ring-color;
-}
-
-@media (prefers-color-scheme: light) {
- :root {
- color: #213547;
- background-color: #ffffff;
- }
- a:hover {
- color: #747bff;
- }
- button {
- background-color: #f9f9f9;
- }
-}
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..86dd4c0
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,10 @@
+export default {
+ server: {
+ proxy: {
+ "/api": {
+ target: `ws://localhost:8078`,
+ ws: true,
+ }
+ }
+ },
+}