From 45d931fa4032749f2e21bf5976ea16a9f7452353 Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Tue, 29 Sep 2026 16:01:45 +0000 Subject: [PATCH] Repair what the union resolution duplicated Resolving package.json conflicts by unioning unique lines is right for a file that holds one entry per line. Applied to ordinary source it duplicates declarations, because both sides of a hunk keep their copy and nothing de-duplicates across the join. Eleven plugin entry points ended with the same import twice, and the poster renderer with two identical `const sheet`. Each is a SyntaxError: every one of those bundles would have failed to build, and the poster export would not run. Found by parse-checking every changed .js against the merge base, not by the gates -- gates:pre passed 101 of 102 with all twelve files broken, because its parse gates do not cover plugin entry points. One measurement trap worth recording. `node --check` on a .js file parses it as CommonJS, so a bare `import` is a syntax error and ALL 28 entry points appear broken, on development too. That reading says the tree is on fire and is simply wrong. Copying each file to a .mjs and checking that parses it as a module, which separates the eleven that are genuinely broken here from the rest that are fine. --- library/composables/poster/useMapPoster.js | 1 - plugin-designs/all-people-groups/index.js | 1 - plugin-designs/cities-internet/index.js | 1 - plugin-designs/country-posters/index.js | 1 - plugin-designs/doxa-research-map/index.js | 1 - plugin-designs/gospel-internet/index.js | 1 - plugin-designs/gospel-resources/index.js | 1 - plugin-designs/key-cities/index.js | 1 - plugin-designs/my-upg-100-list/index.js | 1 - plugin-designs/pplr-data-maps/index.js | 1 - plugin-designs/regions-dashboard/index.js | 1 - plugin-designs/upg-neighbor/index.js | 1 - 12 files changed, 12 deletions(-) diff --git a/library/composables/poster/useMapPoster.js b/library/composables/poster/useMapPoster.js index 618ea9b72..29b5b933b 100644 --- a/library/composables/poster/useMapPoster.js +++ b/library/composables/poster/useMapPoster.js @@ -154,7 +154,6 @@ export function useMapPoster(getSourceMap) { : await _renderTileStitch(sourceMap, mapPx, signal); _setProgress('compose', 0, 1, 'compositing overlay'); - const sheet = fits ? _placeMapOnSheet(baseRaster, layout, px) : baseRaster; // ★ THE FOOTER CREDITS WHOEVER ACTUALLY SERVED THE TILES. posterDefaults ships // '© Mapbox © OpenStreetMap', which under the fleet's MapLibre default credits a company that // served nothing and omits the three parties whose licences do apply. Read from the map rather diff --git a/plugin-designs/all-people-groups/index.js b/plugin-designs/all-people-groups/index.js index 270a59caf..a12be83ee 100644 --- a/plugin-designs/all-people-groups/index.js +++ b/plugin-designs/all-people-groups/index.js @@ -9,7 +9,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js' * * */ -import { defineMapElement } from '@map/elements/defineMapElement.js' const profileModules = import.meta.glob('./*.vue') diff --git a/plugin-designs/cities-internet/index.js b/plugin-designs/cities-internet/index.js index 4b862dff4..883a005f5 100644 --- a/plugin-designs/cities-internet/index.js +++ b/plugin-designs/cities-internet/index.js @@ -18,7 +18,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js' * plugin call before a map exists would be dead code implying a capability the * bundle does not have. */ -import { defineMapElement } from '@map/elements/defineMapElement.js' // Evaluated by Vite at build time relative to THIS file, so it captures only this // bundle's profiles. diff --git a/plugin-designs/country-posters/index.js b/plugin-designs/country-posters/index.js index cb7f58e12..adb27950b 100644 --- a/plugin-designs/country-posters/index.js +++ b/plugin-designs/country-posters/index.js @@ -29,7 +29,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js' * import.meta.glob('./*.vue') locally and hand the result to the loader via * app.provide('profileModules', ...). */ -import { defineMapElement } from '@map/elements/defineMapElement.js' // ─── Bundle-private profile registry ───────────────────────────────────────── const profileModules = import.meta.glob('./*.vue') diff --git a/plugin-designs/doxa-research-map/index.js b/plugin-designs/doxa-research-map/index.js index 2a9e97a74..77196e6d1 100644 --- a/plugin-designs/doxa-research-map/index.js +++ b/plugin-designs/doxa-research-map/index.js @@ -17,7 +17,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js' * folder. The bundle evaluates import.meta.glob('./*.vue') HERE and * hands the result to the loader via app.provide('profileModules'). */ -import { defineMapElement } from '@map/elements/defineMapElement.js' // ─── Bundle-private profile registry ───────────────────────────────────────── // import.meta.glob is evaluated by Vite at build time relative to THIS file — diff --git a/plugin-designs/gospel-internet/index.js b/plugin-designs/gospel-internet/index.js index 0198e78d0..814fb8019 100644 --- a/plugin-designs/gospel-internet/index.js +++ b/plugin-designs/gospel-internet/index.js @@ -14,7 +14,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js' * The RTL text plugin is installed by the map panel itself (installRtlTextPlugin before `new Map`), on * whichever engine resolveMapProvider picked. */ -import { defineMapElement } from '@map/elements/defineMapElement.js' const profileModules = import.meta.glob('./*.vue') diff --git a/plugin-designs/gospel-resources/index.js b/plugin-designs/gospel-resources/index.js index 4e8af35ad..99c844321 100644 --- a/plugin-designs/gospel-resources/index.js +++ b/plugin-designs/gospel-resources/index.js @@ -18,7 +18,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js' * plugin call before a map exists would be dead code implying a capability the * bundle does not have. */ -import { defineMapElement } from '@map/elements/defineMapElement.js' // Evaluated by Vite at build time relative to THIS file, so it captures only this // bundle's profiles. diff --git a/plugin-designs/key-cities/index.js b/plugin-designs/key-cities/index.js index 7f938684a..65726ddac 100644 --- a/plugin-designs/key-cities/index.js +++ b/plugin-designs/key-cities/index.js @@ -18,7 +18,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js' * plugin call before a map exists would be dead code implying a capability the * bundle does not have. */ -import { defineMapElement } from '@map/elements/defineMapElement.js' // Evaluated by Vite at build time relative to THIS file, so it captures only this // bundle's profiles. diff --git a/plugin-designs/my-upg-100-list/index.js b/plugin-designs/my-upg-100-list/index.js index 81a02f56e..d372ce1de 100644 --- a/plugin-designs/my-upg-100-list/index.js +++ b/plugin-designs/my-upg-100-list/index.js @@ -27,7 +27,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js' * Mapbox RTL text plugin: registered ONCE at module init (before any map * constructs), lazy-loads when Arabic/Hebrew text appears on the basemap. */ -import { defineMapElement } from '@map/elements/defineMapElement.js' // ─── Bundle-private profile registry ───────────────────────────────────────── // import.meta.glob is evaluated by Vite at build time relative to THIS file — diff --git a/plugin-designs/pplr-data-maps/index.js b/plugin-designs/pplr-data-maps/index.js index 0b4e0bbf2..920f5d5c3 100644 --- a/plugin-designs/pplr-data-maps/index.js +++ b/plugin-designs/pplr-data-maps/index.js @@ -6,7 +6,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js' * folder's one profile, pplr-data-maps.vue; its ten views live in src/views/. The Mapbox RTL * text plugin is registered once here: many PG names are Arabic, Urdu or Hebrew. */ -import { defineMapElement } from '@map/elements/defineMapElement.js' const profileModules = import.meta.glob('./*.vue') diff --git a/plugin-designs/regions-dashboard/index.js b/plugin-designs/regions-dashboard/index.js index 6ff7ddb44..56e32debb 100644 --- a/plugin-designs/regions-dashboard/index.js +++ b/plugin-designs/regions-dashboard/index.js @@ -21,7 +21,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js' * `profile` must match a flat .vue filename in this folder (without the .vue). * The profile-config attribute is parsed by ProfileLoader (in @map). */ -import { defineMapElement } from '@map/elements/defineMapElement.js' // ─── Bundle-private profile registry ───────────────────────────────────────── // import.meta.glob is evaluated by Vite at build time relative to THIS file, so it diff --git a/plugin-designs/upg-neighbor/index.js b/plugin-designs/upg-neighbor/index.js index a8b0e29a8..ef2d5c8fd 100644 --- a/plugin-designs/upg-neighbor/index.js +++ b/plugin-designs/upg-neighbor/index.js @@ -8,7 +8,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js' * * Mapbox RTL text plugin: registered ONCE at module init — several SEND targets (Urdu/Arabic) are RTL. */ -import { defineMapElement } from '@map/elements/defineMapElement.js' const profileModules = import.meta.glob('./*.vue')