fuzzyworld

shadow-zone / commit

Deploy to apps.fuzzyworld.net with fuzzyworld-tools

0ffa72b11b0ceac36b9f58d7b1916d780fd9035e · Pavel Safronov · 2026-10-26 18:24:35 -0700 · parents 2ef16b5de0da

Deploy to apps.fuzzyworld.net with fuzzyworld-tools

Adds the fuzzyworld package.json section, a deploy script (fw deploy) and the fuzzyworld-tools dependency, and points gitlab.io / gitlab.com links at apps.fuzzyworld.net and code.fuzzyworld.net.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
 README.md         |  2 +-
 index.html        |  2 +-
 package-lock.json | 13 +++++++++++++
 package.json      |  8 +++++++-
 vite.config.ts    |  3 ++-
 5 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 4e23c0a..fff7a83 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ An interactive browser simulation of seismic wave propagation through
 Earth's interior, showing how the liquid outer core creates regions —
 *shadow zones* — where earthquake waves cannot be directly detected.
 
-**Live demo: https://pavelsafronov.gitlab.io/shadow-zone**
+**Live demo: https://apps.fuzzyworld.net/shadow-zone/**
 
 ---
 
diff --git a/index.html b/index.html
index f82daa0..f090fa2 100644
--- a/index.html
+++ b/index.html
@@ -315,7 +315,7 @@
           <p style="margin-top:6px">
             <a href="https://en.wikipedia.org/wiki/Shadow_zone" target="_blank" rel="noopener">Wikipedia: Shadow zone ↗</a>
             &nbsp;·&nbsp;
-            <a href="https://gitlab.com/PavelSafronov/shadow-zone" target="_blank" rel="noopener">GitLab repo ↗</a>
+            <a href="https://code.fuzzyworld.net/shadow-zone/" target="_blank" rel="noopener">Source code ↗</a>
           </p>
           <p style="margin-top:4px">Icon by <a href="https://www.flaticon.com/authors/icongeek26" target="_blank" rel="noopener">Icongeek26</a> on Flaticon.</p>
         </div>
diff --git a/package-lock.json b/package-lock.json
index b271170..2efe3a2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,7 @@
       "name": "shadow-zone",
       "version": "0.0.1",
       "devDependencies": {
+        "fuzzyworld-tools": "git+https://code.fuzzyworld.net/fuzzyworld-tools.git#semver:^1.0.0",
         "typescript": "^5.4.0",
         "vite": "^5.2.0"
       }
@@ -814,6 +815,18 @@
         "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
       }
     },
+    "node_modules/fuzzyworld-tools": {
+      "version": "1.0.1",
+      "resolved": "git+https://code.fuzzyworld.net/fuzzyworld-tools.git#45b1fe3805ad7ec86b864e4604b7ad89a0e25a78",
+      "dev": true,
+      "license": "MIT",
+      "bin": {
+        "fw": "bin/fw"
+      },
+      "engines": {
+        "node": ">=18"
+      }
+    },
     "node_modules/nanoid": {
       "version": "3.3.12",
       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz",
diff --git a/package.json b/package.json
index d82570e..608e16b 100644
--- a/package.json
+++ b/package.json
@@ -7,10 +7,16 @@
     "dev": "vite",
     "build": "tsc --noEmit && vite build",
     "preview": "vite preview",
-    "fetch-data": "node scripts/fetch-earthquake-data.mjs"
+    "fetch-data": "node scripts/fetch-earthquake-data.mjs",
+    "deploy": "fw deploy"
   },
   "devDependencies": {
+    "fuzzyworld-tools": "git+https://code.fuzzyworld.net/fuzzyworld-tools.git#semver:^1.0.0",
     "typescript": "^5.4.0",
     "vite": "^5.2.0"
+  },
+  "fuzzyworld": {
+    "app": "shadow-zone",
+    "title": "Seismic Shadow Zone"
   }
 }
diff --git a/vite.config.ts b/vite.config.ts
index 14857fc..4e52b74 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,7 +1,8 @@
 import { defineConfig } from 'vite';
+import fuzzyworld from 'fuzzyworld-tools/vite';
 
 export default defineConfig({
-  base: '/shadow-zone/',
+  plugins: [fuzzyworld()],
   build: {
     outDir: 'dist',
   },