{ "name": "doxa-maps", "version": "0.1.0", "license": "Apache-2.0", "private": true, "description": "A portable bundler that generates embeddable JAMstack maps — one library, many map bundles that embed on any site, compose into a lazy-loaded SPA, or wrap a Capacitor Android/iOS app.", "type": "module", "scripts": { "dev": "bun x vite", "build": "bun run clean && bun run token && for d in app-profiles/*/; do BUNDLE=$(basename \"$d\") bun x vite build || exit 1; done && bun run tree && bun run check:drop && bun run check:drop && bun run check:parse && bun run verify && bun run shell", "build:watch": "bun x vite build --watch", "preview": "bun x vite preview", "clean": "node internal/clean.mjs", "build:bundle": "bun x vite build", "tree": "node internal/generate-tree.mjs", "check:drop": "node internal/drop-portability-check.mjs", "check:parse": "node internal/inline-parse-check.mjs", "verify": "node library/scripts/research/verify-all.mjs", "verify:full": "node library/scripts/research/verify-all.mjs --full", "serve": "python3 -m http.server 4173 --bind 0.0.0.0 --directory public", "serve:shell": "python3 -m http.server 4174 --bind 0.0.0.0 --directory layouts/app-wrapper-material", "cap:sync": "bunx cap sync android", "cap:verify": "test -f capacitor/android/app/src/main/assets/public/index.html && echo \"OK webDir copied\" || (echo \"FAIL: empty assets/public -> blank white screen. Check webDir.\" && exit 1)", "apk:debug": "bun run build && bun run cap:sync && bun run cap:verify && cd capacitor/android && ./gradlew assembleDebug", "apk:install": "adb install -r capacitor/android/app/build/outputs/apk/debug/app-debug.apk", "phone": "bun run apk:debug && bun run apk:install", "shell": "node internal/install-shell.mjs --no-token # re-seed public/ from a layouts/ wrapper; --no-token so the local credential is never copied into the served root", "posters": "cd library/scripts/posters && SPARSE=1 OFFLINE=1 VITE_API_BASE_URL=https://pray.doxa.life FORMAT=3x3 node generate.mjs", "posters:one": "cd library/scripts/posters && SPARSE=1 OFFLINE=1 VITE_API_BASE_URL=https://pray.doxa.life FORMAT=3x3 node generate.mjs # ONLY= to build one", "posters:shoot": "cd library/scripts/posters && DSF=2 node shoot.mjs", "posters:gallery": "cd library/scripts/posters && node build-gallery.mjs && node build-hd-gallery.mjs", "posters:export": "cd library/scripts/posters && node export-public.mjs", "posters:previews": "cd library/scripts/posters && python3 make-previews.py", "token": "node internal/write-token.mjs", "smoke": "node internal/smoke.mjs" }, "devDependencies": { "@capacitor/android": "7", "@capacitor/cli": "7", "@capacitor/core": "7", "@vitejs/plugin-vue": "^5.0.4", "playwright": "1.61.1", "terser": "^5.46.0", "vite": "^5.4.21", "vite-plugin-css-injected-by-js": "^3.5.2" }, "dependencies": { "@maplibre/maplibre-gl-geocoder": "^1.7.0", "jspdf": "^4.2.1", "maplibre-gl": "^5.6.0", "pinia": "^2.3.1", "topojson-client": "^3.1.0", "vue": "^3.5.20", "vue-i18n": "^9.14.5", "world-atlas": "^2.0.2" }, "engines": { "node": ">=18.0.0" } }