From 0c6d978442b244ca3f29c1ffdd44b5007ae7ad93 Mon Sep 17 00:00:00 2001 From: Ilion Beyst Date: Wed, 29 Dec 2021 21:24:57 +0100 Subject: [PATCH] separate out visualizer library --- .../planetwars-rs/.gitignore | 0 .../planetwars-rs/Cargo.toml | 0 .../planetwars-rs/src/lib.rs | 0 .../planetwars-rs/src/types.rs | 0 .../planetwars-rs/src/utils.rs | 0 web/pw-frontend/package.json | 10 ++----- web/pw-frontend/src/lib/Visualizer.svelte | 5 ++-- web/pw-frontend/vite.config.js | 2 +- web/pw-visualizer/.gitignore | 2 ++ web/pw-visualizer/index.html | 19 ++++++++++++ web/pw-visualizer/package.json | 29 +++++++++++++++++++ .../src}/LICENSE-MIT | 0 .../src}/README.md | 0 .../src}/index.html | 0 .../visualizer => pw-visualizer/src}/index.ts | 0 .../src}/src/games.ts | 0 .../src}/style.css | 0 .../src}/voronoi/voronoi-core.d.ts | 0 .../src}/voronoi/voronoi-core.js | 0 .../src}/voronoi/voronoi.ts | 0 .../src}/webgl/buffer.ts | 0 .../src}/webgl/index.ts | 0 .../src}/webgl/renderer.ts | 0 .../src}/webgl/shader.ts | 0 .../src}/webgl/text.ts | 0 .../src}/webgl/texture.ts | 0 .../src}/webgl/util.ts | 0 .../src}/webgl/vertexBufferLayout.ts | 0 web/pw-visualizer/tsconfig.json | 14 +++++++++ web/pw-visualizer/vite.config.js | 24 +++++++++++++++ 30 files changed, 95 insertions(+), 10 deletions(-) rename web/{pw-frontend => }/planetwars-rs/.gitignore (100%) rename web/{pw-frontend => }/planetwars-rs/Cargo.toml (100%) rename web/{pw-frontend => }/planetwars-rs/src/lib.rs (100%) rename web/{pw-frontend => }/planetwars-rs/src/types.rs (100%) rename web/{pw-frontend => }/planetwars-rs/src/utils.rs (100%) create mode 100644 web/pw-visualizer/.gitignore create mode 100644 web/pw-visualizer/index.html create mode 100644 web/pw-visualizer/package.json rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/LICENSE-MIT (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/README.md (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/index.html (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/index.ts (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/src/games.ts (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/style.css (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/voronoi/voronoi-core.d.ts (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/voronoi/voronoi-core.js (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/voronoi/voronoi.ts (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/webgl/buffer.ts (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/webgl/index.ts (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/webgl/renderer.ts (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/webgl/shader.ts (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/webgl/text.ts (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/webgl/texture.ts (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/webgl/util.ts (100%) rename web/{pw-frontend/src/lib/visualizer => pw-visualizer/src}/webgl/vertexBufferLayout.ts (100%) create mode 100644 web/pw-visualizer/tsconfig.json create mode 100644 web/pw-visualizer/vite.config.js diff --git a/web/pw-frontend/planetwars-rs/.gitignore b/web/planetwars-rs/.gitignore similarity index 100% rename from web/pw-frontend/planetwars-rs/.gitignore rename to web/planetwars-rs/.gitignore diff --git a/web/pw-frontend/planetwars-rs/Cargo.toml b/web/planetwars-rs/Cargo.toml similarity index 100% rename from web/pw-frontend/planetwars-rs/Cargo.toml rename to web/planetwars-rs/Cargo.toml diff --git a/web/pw-frontend/planetwars-rs/src/lib.rs b/web/planetwars-rs/src/lib.rs similarity index 100% rename from web/pw-frontend/planetwars-rs/src/lib.rs rename to web/planetwars-rs/src/lib.rs diff --git a/web/pw-frontend/planetwars-rs/src/types.rs b/web/planetwars-rs/src/types.rs similarity index 100% rename from web/pw-frontend/planetwars-rs/src/types.rs rename to web/planetwars-rs/src/types.rs diff --git a/web/pw-frontend/planetwars-rs/src/utils.rs b/web/planetwars-rs/src/utils.rs similarity index 100% rename from web/pw-frontend/planetwars-rs/src/utils.rs rename to web/planetwars-rs/src/utils.rs diff --git a/web/pw-frontend/package.json b/web/pw-frontend/package.json index f011162..94d95a0 100644 --- a/web/pw-frontend/package.json +++ b/web/pw-frontend/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "build-wasm": "wasm-pack build ./planetwars-rs --target web", + "build-wasm": "wasm-pack build ../planetwars-rs --target web", "preview": "vite preview", "check": "svelte-check --tsconfig ./tsconfig.json" }, @@ -13,7 +13,6 @@ "@originjs/vite-plugin-commonjs": "^1.0.1", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", "@tsconfig/svelte": "^2.0.1", - "rollup-plugin-polyfill-node": "^0.8.0", "svelte": "^3.44.0", "svelte-check": "^2.2.7", "svelte-preprocess": "^4.9.8", @@ -23,11 +22,8 @@ "vite-plugin-wasm-pack": "^0.1.9" }, "dependencies": { - "buffer": "^6.0.3", - "extract-svg-path": "^2.1.0", - "load-svg": "^1.0.0", "moment": "^2.29.1", - "svg-mesh-3d": "^1.1.0", - "ts-heap": "^1.1.3" + "pw-visualizer": "file:../pw-visualizer", + "planetwars-rs": "file:../planetwars-rs/pkg" } } diff --git a/web/pw-frontend/src/lib/Visualizer.svelte b/web/pw-frontend/src/lib/Visualizer.svelte index 297659c..bcd6c7a 100644 --- a/web/pw-frontend/src/lib/Visualizer.svelte +++ b/web/pw-frontend/src/lib/Visualizer.svelte @@ -1,6 +1,6 @@
@@ -57,5 +58,5 @@
diff --git a/web/pw-frontend/vite.config.js b/web/pw-frontend/vite.config.js index a7fcc74..84889ec 100644 --- a/web/pw-frontend/vite.config.js +++ b/web/pw-frontend/vite.config.js @@ -7,7 +7,7 @@ import wasmPack from 'vite-plugin-wasm-pack'; export default defineConfig({ plugins: [ svelte(), - wasmPack(["./planetwars-rs"]), + wasmPack([], ["planetwars-rs"]), viteCommonjs({ transformMixedEsModules: true, }), diff --git a/web/pw-visualizer/.gitignore b/web/pw-visualizer/.gitignore new file mode 100644 index 0000000..25c8fdb --- /dev/null +++ b/web/pw-visualizer/.gitignore @@ -0,0 +1,2 @@ +node_modules +package-lock.json \ No newline at end of file diff --git a/web/pw-visualizer/index.html b/web/pw-visualizer/index.html new file mode 100644 index 0000000..dc46fa0 --- /dev/null +++ b/web/pw-visualizer/index.html @@ -0,0 +1,19 @@ + + + + + + + + + + + Planetwars + + +
+ + + diff --git a/web/pw-visualizer/package.json b/web/pw-visualizer/package.json new file mode 100644 index 0000000..bbeb6d2 --- /dev/null +++ b/web/pw-visualizer/package.json @@ -0,0 +1,29 @@ +{ + "name": "pw-visualizer", + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "build-wasm": "wasm-pack build ../planetwars-rs --target web" + }, + "files": ["src"], + "main": "src/index.ts", + "devDependencies": { + "@originjs/vite-plugin-commonjs": "^1.0.1", + "tslib": "^2.3.1", + "typescript": "^4.4.4", + "vite": "^2.7.2", + "vite-plugin-wasm-pack": "^0.1.9" + }, + "dependencies": { + "buffer": "^6.0.3", + "extract-svg-path": "^2.1.0", + "load-svg": "^1.0.0", + "svg-mesh-3d": "^1.1.0", + "ts-heap": "^1.1.3" + }, + "peerDependencies": { + "planetwars-rs": "file:../planetwars-rs/pkg" + } +} diff --git a/web/pw-frontend/src/lib/visualizer/LICENSE-MIT b/web/pw-visualizer/src/LICENSE-MIT similarity index 100% rename from web/pw-frontend/src/lib/visualizer/LICENSE-MIT rename to web/pw-visualizer/src/LICENSE-MIT diff --git a/web/pw-frontend/src/lib/visualizer/README.md b/web/pw-visualizer/src/README.md similarity index 100% rename from web/pw-frontend/src/lib/visualizer/README.md rename to web/pw-visualizer/src/README.md diff --git a/web/pw-frontend/src/lib/visualizer/index.html b/web/pw-visualizer/src/index.html similarity index 100% rename from web/pw-frontend/src/lib/visualizer/index.html rename to web/pw-visualizer/src/index.html diff --git a/web/pw-frontend/src/lib/visualizer/index.ts b/web/pw-visualizer/src/index.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/index.ts rename to web/pw-visualizer/src/index.ts diff --git a/web/pw-frontend/src/lib/visualizer/src/games.ts b/web/pw-visualizer/src/src/games.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/src/games.ts rename to web/pw-visualizer/src/src/games.ts diff --git a/web/pw-frontend/src/lib/visualizer/style.css b/web/pw-visualizer/src/style.css similarity index 100% rename from web/pw-frontend/src/lib/visualizer/style.css rename to web/pw-visualizer/src/style.css diff --git a/web/pw-frontend/src/lib/visualizer/voronoi/voronoi-core.d.ts b/web/pw-visualizer/src/voronoi/voronoi-core.d.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/voronoi/voronoi-core.d.ts rename to web/pw-visualizer/src/voronoi/voronoi-core.d.ts diff --git a/web/pw-frontend/src/lib/visualizer/voronoi/voronoi-core.js b/web/pw-visualizer/src/voronoi/voronoi-core.js similarity index 100% rename from web/pw-frontend/src/lib/visualizer/voronoi/voronoi-core.js rename to web/pw-visualizer/src/voronoi/voronoi-core.js diff --git a/web/pw-frontend/src/lib/visualizer/voronoi/voronoi.ts b/web/pw-visualizer/src/voronoi/voronoi.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/voronoi/voronoi.ts rename to web/pw-visualizer/src/voronoi/voronoi.ts diff --git a/web/pw-frontend/src/lib/visualizer/webgl/buffer.ts b/web/pw-visualizer/src/webgl/buffer.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/webgl/buffer.ts rename to web/pw-visualizer/src/webgl/buffer.ts diff --git a/web/pw-frontend/src/lib/visualizer/webgl/index.ts b/web/pw-visualizer/src/webgl/index.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/webgl/index.ts rename to web/pw-visualizer/src/webgl/index.ts diff --git a/web/pw-frontend/src/lib/visualizer/webgl/renderer.ts b/web/pw-visualizer/src/webgl/renderer.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/webgl/renderer.ts rename to web/pw-visualizer/src/webgl/renderer.ts diff --git a/web/pw-frontend/src/lib/visualizer/webgl/shader.ts b/web/pw-visualizer/src/webgl/shader.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/webgl/shader.ts rename to web/pw-visualizer/src/webgl/shader.ts diff --git a/web/pw-frontend/src/lib/visualizer/webgl/text.ts b/web/pw-visualizer/src/webgl/text.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/webgl/text.ts rename to web/pw-visualizer/src/webgl/text.ts diff --git a/web/pw-frontend/src/lib/visualizer/webgl/texture.ts b/web/pw-visualizer/src/webgl/texture.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/webgl/texture.ts rename to web/pw-visualizer/src/webgl/texture.ts diff --git a/web/pw-frontend/src/lib/visualizer/webgl/util.ts b/web/pw-visualizer/src/webgl/util.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/webgl/util.ts rename to web/pw-visualizer/src/webgl/util.ts diff --git a/web/pw-frontend/src/lib/visualizer/webgl/vertexBufferLayout.ts b/web/pw-visualizer/src/webgl/vertexBufferLayout.ts similarity index 100% rename from web/pw-frontend/src/lib/visualizer/webgl/vertexBufferLayout.ts rename to web/pw-visualizer/src/webgl/vertexBufferLayout.ts diff --git a/web/pw-visualizer/tsconfig.json b/web/pw-visualizer/tsconfig.json new file mode 100644 index 0000000..05358cd --- /dev/null +++ b/web/pw-visualizer/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "esModuleInterop": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "baseUrl": ".", + "allowJs": false, + "checkJs": false + }, + "include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"] +} diff --git a/web/pw-visualizer/vite.config.js b/web/pw-visualizer/vite.config.js new file mode 100644 index 0000000..61eed3e --- /dev/null +++ b/web/pw-visualizer/vite.config.js @@ -0,0 +1,24 @@ +import { defineConfig } from 'vite' +import { viteCommonjs } from '@originjs/vite-plugin-commonjs' +import wasmPack from 'vite-plugin-wasm-pack'; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + wasmPack([], ["planetwars-rs"]), + viteCommonjs({ + transformMixedEsModules: true, + }), + ], + build: { + commonjsOptions: { + transformMixedEsModules: true, + }, + }, + server: { + proxy: { + "/api/": "http://localhost:5000", + "/ws": "ws://localhost:5000/ws", + }, + }, +})