{ "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": { "apk:debug": "bun run build && bun run cap:sync && bun run app:start-page && bun run cap:verify && cd deployment/capacitor/android && ./gradlew assembleDebug", "apk:install": "adb install -r deployment/capacitor/android/app/build/outputs/apk/debug/app-debug.apk", "app:start-page": "node internal/set-app-start-page.mjs", "build": "bash internal/build-lock.sh", "build:bundle": "bun x vite build", "build:bundles": "node internal/run-parallel.mjs --bundles", "build:unlocked": "bun run gates:pre && bun run library-index && bun run check:library-index && bun run clean && bun run token && bun run build:bundles && bun run tree && bun run gates:post", "build:watch": "bun x vite build --watch", "cap:sync": "./node_modules/.bin/cap sync android", "cap:verify": "test -f deployment/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)", "capability-exemplars": "node internal/generate-capability-exemplars.mjs", "check:a11y-button-names": "node internal/check-a11y-button-names.mjs", "check:app-start-page": "node internal/set-app-start-page.mjs --check", "check:approx-pin-note": "node internal/check-approx-pin-note.mjs", "check:auto-engine": "node internal/check-auto-engine.mjs", "check:backlog-refs": "node internal/check-backlog-refs.mjs", "check:backlog-status": "node internal/check-backlog-status-enum.mjs", "check:basemap-labels": "node internal/check-basemap-labels-localized.mjs", "check:capability-citations": "node internal/check-capability-citations.mjs", "check:capability-exemplars": "node internal/check-capability-exemplars.mjs", "check:card-deck": "node internal/check-card-deck.mjs", "check:catalog-currency": "node internal/check-catalog-currency.mjs", "check:catalog-identity": "node internal/check-catalog-identity.mjs", "check:cdn-pins": "node internal/check-cdn-pins.mjs", "check:click-sheet": "node plugin-designs/gospel-resources/scripts/verify-gospel-click-sheet.mjs", "check:composed-filters": "node internal/check-gospel-composed-filters.mjs", "check:composite": "node internal/check-composite-freshness.mjs", "check:clustering-modes": "node plugin-designs/doxa-research-map/scripts/check-clustering-modes.mjs", "check:composite-embed-knobs": "node internal/check-composite-embed-knobs.mjs", "check:composite-interop": "node internal/check-composite-interop.mjs", "check:composite-locale-leaks": "node plugin-designs/research-map-plus-grid/scripts/check-composite-locale-leaks.mjs", "check:composite-reg": "node internal/check-composite-registration.mjs", "check:composite-srcs": "node internal/check-composite-srcs.mjs", "check:composites-mount": "node internal/check-composites-mount.mjs", "check:coverage-consistent": "node internal/check-gospel-coverage-consistent.mjs", "check:coverage-consistent:poison": "node internal/check-gospel-coverage-consistent.mjs --poison", "check:csv-shape": "node internal/check-csv-export-shape.mjs", "check:csv-shape:self-test": "node internal/check-csv-export-shape.mjs --self-test", "check:dashboard-filter-a11y": "node plugin-designs/research-dashboard/scripts/check-dashboard-filter-a11y.mjs", "check:dashboard-geocoder-provider": "node plugin-designs/research-dashboard/scripts/check-dashboard-geocoder-provider.mjs", "check:deck-click": "node internal/check-deck-click.mjs", "check:dep-names": "node internal/check-dependency-names.mjs", "check:descriptions": "node internal/check-profile-descriptions.mjs", "check:dev-assets": "node internal/check-dev-assets.mjs", "check:doc-scripts": "node internal/check-doc-quotes-scripts.mjs", "check:doc-scripts:self-test": "node internal/check-doc-quotes-scripts.mjs --self-test", "check:done-evidence": "node internal/check-done-evidence.mjs", "check:drop": "node internal/drop-portability-check.mjs", "check:dxlife": "node internal/check-dxlife-untouched.mjs", "check:element-census-vs-live": "node internal/check-element-census-vs-live.mjs", "check:embed-base": "node internal/check-embed-base-resolution.mjs", "check:embed-basemap": "node internal/check-embed-basemap-paints.mjs", "check:embed-targets": "node internal/check-embed-targets-exist.mjs", "check:embed-targets:self-test": "node internal/check-embed-targets-exist.mjs --self-test", "check:embedded-rtl": "node internal/check-embedded-rtl.mjs", "check:embedder-keys": "node plugin-designs/regions-dashboard/scripts/check-embedder-keys.mjs", "check:english-leaks": "node internal/check-gospel-english-leaks.mjs", "check:experimental-shelf": "node internal/check-experimental-shelf.mjs", "check:export-one-click": "node plugin-designs/doxa-research-map/scripts/check-export-one-click.mjs", "check:export-one-click:maplibre": "node plugin-designs/doxa-research-map/scripts/check-export-one-click.mjs --provider maplibre", "check:facet-cascade": "node internal/check-facet-cascade.mjs", "check:facet-cascade:offline": "node internal/check-facet-cascade.mjs --offline", "check:facet-cascade:self-test": "node internal/check-facet-cascade.mjs --self-test", "check:facet-changes-map": "node internal/check-facet-changes-map.mjs", "check:facet-changes-map:built": "sh -c 'BASE_URL=${BASE_URL:-http://127.0.0.1:4173} PROBE_PATH=${PROBE_PATH:-/doxa-maps/research-dashboard/research-dashboard/index.html} exec node internal/check-facet-changes-map.mjs'", "check:facet-changes-map:self-test": "node internal/check-facet-changes-map.mjs --self-test", "check:facet-one-field": "node internal/check-facet-one-field.mjs", "check:facet-one-field:self-test": "node internal/check-facet-one-field.mjs --self-test", "check:filter-width": "node internal/check-filter-width-stable.mjs", "check:filter-multivalue": "node plugin-designs/research-map-plus-grid/scripts/check-filter-multivalue.mjs", "check:fits-screen": "node internal/check-fits-the-screen.mjs", "check:fits-screen:self-test": "node internal/check-fits-the-screen.mjs --self-test", "check:fits-screen:self-test:b": "node internal/check-fits-the-screen.mjs --self-test --self-test-clause=b", "check:fits-screen:self-test:c": "node internal/check-fits-the-screen.mjs --self-test --self-test-clause=c", "check:fits-screen:self-test:d": "node internal/check-fits-the-screen.mjs --self-test --self-test-clause=d", "check:fits-screen:self-test:e": "node internal/check-fits-the-screen.mjs --self-test --self-test-clause=e", "check:fixed-anchoring": "node internal/check-fixed-anchoring.mjs", "check:gallery-embed": "node internal/check-research-gallery-embed.mjs", "check:gallery-embed:iframe": "node internal/check-research-gallery-embed.mjs --mode iframe", "check:gallery-embed:js": "node internal/check-research-gallery-embed.mjs --mode js", "check:gallery-embed:live-cors": "node internal/check-research-gallery-embed.mjs --live-cors", "check:gallery-embed:maplibre": "node internal/check-research-gallery-embed.mjs --provider maplibre", "check:gospel-all": "node internal/check-gospel-all.mjs", "check:gospel-internet": "node plugin-designs/gospel-internet/scripts/check-gospel-internet-model.mjs && node plugin-designs/gospel-internet/scripts/check-gospel-internet-i18n.mjs && node plugin-designs/gospel-internet/scripts/check-language-tree.mjs && node plugin-designs/gospel-internet/scripts/check-gospel-internet-render.mjs", "check:gospel-tables-staged": "node internal/check-gospel-tables-staged.mjs", "check:embed-contract": "node internal/check-gospel-embed-contract.mjs", "check:engine-contract": "node internal/check-gospel-engine-contract.mjs", "check:link-coverage": "node internal/check-link-verification-coverage.mjs", "gospel:bridge-reach": "node plugin-designs/gospel-resources/scripts/build-bridge-reach-table.mjs", "check:link-coverage:poison": "node internal/check-link-verification-coverage.mjs --poison", "check:engine-contract:poison": "node internal/check-gospel-engine-contract.mjs --poison", "check:embed-contract:poison": "node internal/check-gospel-embed-contract.mjs --poison", "check:map-attribution": "node internal/check-map-attribution.mjs", "check:studio-rail": "node internal/check-studio-rail.mjs", "check:translator-contacts": "node internal/check-translator-contacts.mjs", "check:translator-contacts:poison": "node internal/check-translator-contacts.mjs --poison", "check:heartbeat": "node internal/check-heartbeat-threshold.mjs", "check:heartbeat:self-test": "node internal/check-heartbeat-threshold.mjs --self-test", "check:hover-channel": "node plugin-designs/research-map-plus-grid/scripts/check-hover-channel.mjs", "check:host-locale-contract": "node internal/check-host-locale-contract.mjs", "check:i18n-keys-exist": "node plugin-designs/research-map-plus-grid/scripts/check-i18n-keys-exist.mjs", "check:i18n-never-translated": "node internal/check-i18n-never-translated.mjs", "check:i18n-parity": "node internal/check-i18n-parity.mjs", "check:i18n-stopped-scope": "node internal/check-i18n-stopped-scope.mjs", "check:i18n-treeshake": "node internal/check-i18n-treeshake.mjs", "check:kit-options-reachable": "node plugin-designs/research-dashboard/scripts/check-kit-options-reachable.mjs", "check:kpi-unit": "node internal/check-kpi-unit-once.mjs", "check:label-joins": "node internal/check-label-joins.mjs", "check:language-code-link": "node plugin-designs/doxa-research-map/scripts/check-language-code-link.mjs", "check:layout-key-namespaced": "node plugin-designs/research-dashboard/scripts/check-layout-key-namespaced.mjs", "check:leaf-engine-per-provider": "node internal/check-leaf-engine-per-provider.mjs", "check:leaf-english-leaks": "node internal/check-leaf-english-leaks.mjs", "check:leaf-english-leaks:self-test": "node internal/check-leaf-english-leaks.mjs --self-test", "check:leaves-mount": "node internal/check-gospel-leaves-mount.mjs", "check:leaves-mount:poison": "node internal/check-gospel-leaves-mount.mjs --poison", "check:legend-export-reachable": "node internal/check-legend-export-reachable.mjs", "check:legend-logical-insets": "node internal/check-legend-logical-insets.mjs", "check:legend-logical-insets:self-test": "node internal/check-legend-logical-insets.mjs --self-test", "check:legend-mirrors": "node plugin-designs/research-dashboard/scripts/check-legend-mirrors.mjs", "check:legend-source": "node internal/check-legend-matches-source.mjs", "check:library-index": "node internal/check-library-index.mjs", "check:link-rot": "node internal/check-link-rot-sample.mjs", "check:linked-vocabulary": "node plugin-designs/research-map-plus-grid/scripts/check-linked-vocabulary.mjs", "check:list-prop-unit": "node internal/check-list-prop-unit.mjs", "check:locale-reachable": "node internal/check-locale-reachable.mjs", "check:manifest-covers": "node internal/check-manifest-covers-discovery.mjs", "check:map-data-painted": "node internal/check-map-data-painted.mjs", "check:map-data-painted:poison": "node internal/check-map-data-painted.mjs --poison", "check:map-embed-cells": "node internal/check-map-embed-cells.mjs", "check:map-fly-reduced-motion": "node internal/check-map-fly-reduced-motion.mjs", "check:map-paints": "node internal/check-gospel-map-paints.mjs", "check:map-paints:poison": "node internal/check-gospel-map-paints.mjs --poison", "check:map-props-unit": "node internal/check-map-props-unit.mjs", "check:map-unmount-mid-init": "node internal/check-map-unmount-mid-init.mjs", "check:map-unmount-race": "node internal/check-map-unmount-guard.mjs", "check:maplibre-drops": "node internal/check-maplibre-layer-drops.mjs", "check:mfe-two-tab": "node internal/check-mfe-two-tab.mjs", "check:mjs-parse": "node internal/check-mjs-parses.mjs", "check:mobile": "bun run cap:sync && bun run cap:verify", "check:mst-clustering": "node internal/check-mst-clustering.mjs", "check:nav-reachable": "node internal/check-nav-reachable-mobile.mjs", "check:nested-token": "node internal/check-nested-token-delivery.mjs", "check:no-abs-paths": "node internal/check-no-absolute-paths.mjs", "check:no-codename": "node internal/check-no-internal-codename.mjs", "check:no-conflict-markers": "node internal/check-no-conflict-markers.mjs", "check:no-conflict-markers:poison": "node internal/check-no-conflict-markers.mjs --poison", "check:no-credentials-omit": "node internal/check-no-credentials-omit.mjs", "check:no-credentials-omit:self-test": "node internal/check-no-credentials-omit.mjs --self-test", "check:no-cross-plugin-imports": "node internal/check-no-cross-plugin-imports.mjs", "check:no-cross-plugin-imports:self-test": "node internal/check-no-cross-plugin-imports.mjs --self-test", "check:no-eval": "node internal/check-no-eval.mjs", "check:no-free-identifiers": "node plugin-designs/research-map-plus-grid/scripts/check-no-free-identifiers.mjs", "check:no-orphan-gates": "node internal/check-no-orphan-gates.mjs", "check:no-public-binds": "node internal/check-no-public-binds.mjs", "check:no-silent-engine": "node internal/check-no-silent-engine-substitution.mjs", "check:no-silent-engine:self-test": "node internal/check-no-silent-engine-substitution.mjs --self-test", "check:one-palette": "node internal/check-one-palette.mjs", "check:one-palette:self-test": "node internal/check-one-palette.mjs --self-test", "check:optional-t-equivalence": "node internal/check-optional-t-equivalence.mjs", "check:package-json-unique-keys": "node internal/check-package-json-unique-keys.mjs", "check:packet-browser": "node internal/check-packet-browser.mjs", "check:packet-fixture": "node internal/generate-packet-fixture.mjs --check", "check:packet-render": "node internal/check-packet-render.mjs", "check:packet-render:expect-funnel": "node internal/check-packet-render.mjs --expect-funnel", "check:packet-strings-parity": "node internal/check-packet-strings-parity.mjs", "check:packets-all": "node internal/check-packets-all.mjs", "check:parse": "node internal/inline-parse-check.mjs", "check:pinned-umd": "node internal/check-pinned-umd.mjs", "check:popup-escaping": "node internal/check-popup-escaping.mjs", "check:poster-card-fits": "node internal/check-poster-card-fits.mjs", "check:poster-degrades": "node internal/check-poster-degrades-honestly.mjs", "check:poster-print-fallback": "node internal/check-poster-print-fallback.mjs", "check:poster-prints": "node internal/check-poster-prints.mjs", "check:poster-raster": "node internal/check-poster-raster.mjs", "check:poster-wall-localised": "node internal/check-poster-wall-localised.mjs", "check:prayer-walk-planner": "node internal/check-prayer-walk-planner.mjs", "check:print-geometry": "node internal/check-print-geometry.mjs", "check:pin-dim-slider": "node plugin-designs/doxa-research-map/scripts/check-pin-dim-slider.mjs", "check:profiles-mount": "node internal/check-composites-mount.mjs --all-profiles", "check:provider-for": "node internal/check-provider-for.mjs", "check:provider-switch": "node internal/check-provider-switch.mjs", "check:public-hygiene": "node internal/public-hygiene-check.mjs", "check:published": "node internal/check-published-matches-build.mjs", "check:quoted-scripts": "node internal/check-quoted-scripts.mjs", "check:rtl-shaping": "node internal/check-gospel-rtl-shaping.mjs", "check:rtl-shaping:poison": "node internal/check-gospel-rtl-shaping.mjs --poison", "check:rtl-raw": "node internal/check-raw-map-rtl-shaping.mjs", "check:universal-props": "node internal/check-universal-props.mjs --report", "check:rtl-raw:poison": "node internal/check-raw-map-rtl-shaping.mjs --poison", "check:scrim-viewport": "node internal/check-scrim-covers-viewport.mjs", "check:scrim-viewport:self-test": "node internal/check-scrim-covers-viewport.mjs --self-test", "check:script-flags": "node internal/check-script-flags-reachable.mjs", "check:settled": "node internal/settled-tree-gate.mjs", "check:setup-order": "node internal/check-setup-order.mjs", "check:sfc-parse": "node internal/check-sfc-script-parses.mjs", "check:shadow-css-parses": "node internal/check-shadow-css-parses.mjs", "check:shadow-reduced-motion": "node internal/check-shadow-reduced-motion.mjs", "check:regions-uses-library": "node plugin-designs/regions-dashboard/scripts/check-regions-uses-library.mjs", "check:religion-label-not-value": "node plugin-designs/regions-dashboard/scripts/check-religion-label-not-value.mjs", "check:share-policy": "node internal/check-share-policy.mjs", "check:shared-reached": "node internal/check-shared-component-reached-bundles.mjs", "check:shell-scroll": "node internal/verify-shell-scroll.mjs", "check:shot-distinctness": "node internal/check-shot-distinctness.mjs", "check:shot-fidelity": "node internal/check-shot-fidelity.mjs", "check:shot-fidelity:strict": "node internal/check-shot-fidelity.mjs --strict", "check:shot-fonts": "node internal/check-shot-fonts.mjs", "check:shots": "node internal/check-shot-freshness.mjs", "check:snapshot-guard": "node internal/check-snapshot-guard.mjs", "check:snapshot-guard:poison": "node internal/check-snapshot-guard.mjs --poison", "check:spa-tab-order": "node internal/check-spa-tab-order.mjs", "check:square-map-controls": "node internal/check-square-map-controls.mjs", "check:sri": "node internal/sri-consistency-check.mjs", "check:stale-sweep-claim": "node internal/check-no-stale-sweep-claim.mjs", "check:studio-all": "node internal/check-studio-every-plugin.mjs", "check:surfaces-read-the-tier": "node internal/check-surfaces-read-the-tier.mjs", "check:surfaces-read-the-tier:poison": "node internal/check-surfaces-read-the-tier.mjs --poison", "check:synced-css": "node internal/check-synced-css-copies.mjs", "check:synced-css:self-test": "node internal/check-synced-css-copies.mjs --self-test", "check:tab-radius": "node internal/check-tab-radius-token.mjs", "check:tab-radius:self-test": "node internal/check-tab-radius-token.mjs --self-test", "check:text-highlight": "node plugin-designs/regions-dashboard/scripts/check-text-highlight.mjs", "check:tabs-localized": "node internal/check-tabs-localized.mjs", "check:tauri": "node internal/check-tauri-config.mjs", "check:template-literal": "node internal/template-literal-check.mjs", "check:tree-weight": "node internal/check-published-tree-weight.mjs", "check:upg-map-data": "node internal/check-upg-map-data-painted.mjs", "check:url-resolver": "node internal/check-url-resolver.mjs", "check:verification-tags": "node internal/check-verification-tags.mjs", "check:vision-card-numbers": "node internal/check-vision-card-numbers.mjs", "check:wp-embed": "php deployment/wordpress/tests/wp-embed-contract-test.php", "check:zone-census": "node internal/check-zone-census.mjs", "check:zoning-declared": "node internal/check-zoning-declared.mjs", "check:zoning-declared:self-test": "node internal/check-zoning-declared.mjs --self-test", "clean": "node internal/clean.mjs", "deploy:dev": "bun run build && node internal/sync-dropin.mjs --from-config --prune", "dev": "bun x vite", "fix:sri": "node internal/fix-sri.mjs", "gallery": "node internal/generate-gallery.mjs", "gates:post": "node internal/run-parallel.mjs --label=post -- check:drop check:parse verify check:sri check:public-hygiene check:label-joins check:facet-cascade check:facet-one-field check:heartbeat check:kpi-unit check:composite-reg check:descriptions check:no-abs-paths check:no-codename check:dep-names check:composite-srcs check:embed-targets check:nested-token check:i18n-parity check:tabs-localized check:packets-all check:packet-strings-parity check:zone-census check:zoning-declared check:share-policy check:library-index check:csv-shape check:capability-citations check:catalog-identity check:no-orphan-gates check:quoted-scripts check:done-evidence check:script-flags check:backlog-status check:capability-exemplars check:packet-fixture check:packet-browser check:provider-switch check:locale-reachable check:url-resolver check:manifest-covers check:one-palette check:pin-dim-slider check:legend-source check:backlog-refs check:clustering-modes check:composite-embed-knobs check:composite-locale-leaks check:linked-vocabulary check:wp-embed check:dashboard-geocoder-provider check:leaf-engine-per-provider check:map-props-unit check:composites-mount check:composite-interop check:no-free-identifiers check:map-fly-reduced-motion check:mst-clustering check:list-prop-unit check:profiles-mount check:cdn-pins check:no-eval check:popup-escaping check:i18n-treeshake check:pinned-umd check:one-palette:self-test check:no-cross-plugin-imports check:no-cross-plugin-imports:self-test check:map-attribution check:studio-rail check:approx-pin-note check:embedder-keys check:provider-for check:legend-logical-insets check:legend-logical-insets:self-test check:optional-t-equivalence check:text-highlight check:religion-label-not-value check:i18n-stopped-scope check:no-silent-engine check:regions-uses-library check:shadow-css-parses check:square-map-controls", "gates:pre": "node internal/run-parallel.mjs --label=pre -- check:template-literal check:mjs-parse check:sfc-parse check:tab-radius check:synced-css check:doc-scripts check:setup-order check:package-json-unique-keys check:no-credentials-omit check:no-credentials-omit:self-test check:shadow-reduced-motion", "gen:iso3-to-alpha2": "node library/scripts/generate-iso3-to-alpha2.mjs", "internet:adm1": "node plugin-designs/cities-internet/scripts/build-adm1-internet.mjs", "library-index": "node internal/generate-library-index.mjs", "lists": "node library/scripts/people-groups/build-lists.mjs", "packet-fixture": "node internal/generate-packet-fixture.mjs", "packet:ci": "node internal/build-packet-fixtures.mjs", "packets": "cd library/scripts/posters && VITE_API_BASE_URL=https://pray.doxa.life node packet.mjs", "phone": "bun run apk:debug && bun run apk:install", "posters": "cd library/scripts/posters && SPARSE=1 OFFLINE=1 VITE_API_BASE_URL=https://pray.doxa.life FORMAT=3x3 node generate.mjs", "posters:export": "cd library/scripts/posters && node export-public.mjs", "posters:gallery": "cd library/scripts/posters && node build-gallery.mjs && node build-hd-gallery.mjs", "posters:one": "cd library/scripts/posters && SPARSE=1 OFFLINE=1 VITE_API_BASE_URL=https://pray.doxa.life FORMAT=3x3 node generate.mjs", "posters:previews": "cd library/scripts/posters && python3 make-previews.py", "posters:shoot": "cd library/scripts/posters && DSF=2 node shoot.mjs", "preview": "bun x vite preview", "probe:legend-columns": "node internal/legend-columns-probe.mjs", "serve": "node internal/serve-strict.mjs", "serve:permissive": "python3 -m http.server 4173 --bind 127.0.0.1 --directory public", "serve:shell": "python3 -m http.server 4174 --bind 127.0.0.1 --directory library/layouts/app-wrapper-material", "shell": "node internal/install-shell.mjs --no-token", "shots": "node internal/readme-shots.mjs", "smoke": "node internal/smoke.mjs", "smoke:aria-labels": "sh -c 'B=${BASE_URL:-http://127.0.0.1:4173}; exec node internal/check-aria-labels-localized.mjs \"$B/doxa-maps/my-upg-100-list/upg-100-list/index.html\" es,ar,zh'", "smoke:embeds": "node internal/embed-smoke.mjs", "smoke:gallery": "node internal/plugin-gallery-smoke.mjs", "smoke:legend-info": "sh -c 'B=${BASE_URL:-http://127.0.0.1:4173}; exec node internal/check-legend-info-localized.mjs \"$B/doxa-maps/my-upg-100-list/upg-100-list/index.html\" es,ar,zh'", "smoke:playground": "bun run smoke:gallery", "smoke:share": "node internal/share-roundtrip-smoke.mjs", "smoke:share-all": "sh -c 'B=${BASE_URL:-http://127.0.0.1:4173}; exec node internal/share-roundtrip-smoke.mjs --url \"$B/doxa-maps/prayer-walk-planner/prayer-walk-planner/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/all-people-groups/all-people-groups/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/cities-internet/connectivity-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/country-posters/country-posters-mfe/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/demo-map/demo-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/doxa-research-map/research-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/doxa-simple-map/doxa-simple-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/gospel-resources/resources-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/research-dashboard/research-dashboard/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/research-map-plus-grid/research-map-plus-grid/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/my-upg-100-list/upg-100-mfe/index.html?tk=$MAPBOX_TOKEN\" --browser chromium'", "smoke:studio": "node internal/smoke-studio.mjs", "sync:dropin": "node internal/sync-dropin.mjs", "tauri:build": "./node_modules/.bin/tauri build", "token": "node internal/write-token.mjs", "tree": "node internal/generate-tree.mjs", "verify": "node library/scripts/research/verify-all.mjs", "verify:5-caps": "node internal/verify-5-capabilities.mjs", "verify:browser-all": "node internal/verify-browser-all.mjs", "verify:browser-all:plugin-gallery": "node internal/verify-browser-all.mjs --plugin-gallery", "verify:full": "node library/scripts/research/verify-all.mjs --full", "verify:gate1": "node internal/acceptance/big-picture-acceptance.mjs", "verify:gospel-map": "node internal/verify-gospel-map.mjs", "verify:interop": "node internal/acceptance/interop-harness.mjs", "verify:interop:self-test": "node internal/acceptance/interop-harness.mjs --self-test", "verify:interop:self-test:camera-freeze": "node internal/acceptance/interop-harness.mjs --self-test --self-test-mode=camera-freeze", "verify:map-paint": "node internal/verify-map-paint.mjs" }, "//scripts": { "_": "What each script does. These notes used to sit inside the command strings as trailing \"# …\" comments, which made the shell discard any arguments passed after \"--\" (so a gate given --url silently measured its hardcoded default port — possibly another agent's server). Keep notes here, never in a command.", "cap:sync": "NOT `bunx` — bunx is not on PATH in this environment (command not found, exit 127), which broke cap:sync -> apk:debug -> phone at step one. The CLI IS installed locally (@capacitor/cli 7.6.9); invoke the local bin directly. The rest of package.json already uses the spaced `bun x` form.", "capability-exemplars": "regenerate documentation/reference-capability-exemplars.md — the DERIVED answer to \"which bundle is the capability-N example?\", a question answered WRONGLY in three separate artifacts (a gate, the README, the /plugin-designer skill).", "check:a11y-button-names": "every VISIBLE button must have an accessible name (aria-label / aria-labelledby / visible text — a `title` is a TOOLTIP and does NOT count). Measures the RENDERED DOM through shadow roots: a source grep cannot answer this (132 `