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.
This commit is contained in:
Doxa Maps 2026-09-29 16:01:45 +00:00
parent 0417e46fbd
commit 45d931fa40
12 changed files with 0 additions and 12 deletions

View file

@ -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

View file

@ -9,7 +9,6 @@ import { defineMapElement } from '@map/elements/defineMapElement.js'
* <script src="/doxa-maps/all-people-groups/all-people-groups.js"></script>
* <all-people-groups profile-config='{"profile":"all-people-groups"}'></all-people-groups>
*/
import { defineMapElement } from '@map/elements/defineMapElement.js'
const profileModules = import.meta.glob('./*.vue')

View file

@ -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.

View file

@ -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')

View file

@ -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 —

View file

@ -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')

View file

@ -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.

View file

@ -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.

View file

@ -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 —

View file

@ -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')

View file

@ -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

View file

@ -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')