Skip to content

feat: replace map _height with height #816

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 449 commits into
base: main
Choose a base branch
from

Conversation

ATL2001
Copy link
Contributor

@ATL2001 ATL2001 commented Jun 22, 2025

per what we discussed in #781 I believe I've come up with a good solution here. I had to add some CSS to the data-overlay-container which appears to be generated by the typescript which the lonboard div is housed in. and then I needed to make some tweaks to the map div which lives inside the lonboard one as well. then I changed _height to height and tweaked the way the default was setup so as to not make the default functionality of the creation of the map change.

but now if the user knows they want to put the map into an IFrame or some other container that has a fixed height, they can specify height="100%" and the map will fill the container's height.

I also checked in an example notebook so you can check the behavior yourself. I do not intend to keep that in there (unless you think it would be a benefit for others, if so I should probably retool it to make it a little nicer)

If this looks good let me know and I can find some time to update the docs so they match the behavior 👍

kylebarron and others added 30 commits February 6, 2024 14:24
Slightly simpler revision of developmentseed#344 that was pointed out on discord
Bumps the other group with 9 updates:

| Package | From | To |
| --- | --- | --- |
|
[@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime)
| `7.23.8` | `7.23.9` |
| [apache-arrow](https://github.com/apache/arrow) | `14.0.2` | `15.0.0`
|
| [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) | `3.6.2` |
`4.0.0` |
|
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
| `18.2.47` | `18.2.55` |
|
[@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/uuid)
| `9.0.7` | `9.0.8` |
| [esbuild](https://github.com/evanw/esbuild) | `0.19.11` | `0.20.0` |
| [nodemon](https://github.com/remy/nodemon) | `3.0.2` | `3.0.3` |
| [prettier](https://github.com/prettier/prettier) | `3.2.2` | `3.2.5` |
|
[vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)
| `1.2.0` | `1.2.2` |

Updates `@babel/runtime` from 7.23.8 to 7.23.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="/babel/babel/releases"><code>@​babel/runtime</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.23.9 (2024-01-25)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-helper-transform-fixture-test-runner</code>,
<code>babel-plugin-transform-function-name</code>,
<code>babel-plugin-transform-modules-systemjs</code>,
<code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16225">#16225</a>
fix: <code>systemjs</code> re-traverses helpers (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-decorators</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16226">#16226</a>
Improve decorated private method check (<a
href="/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-transform-async-generator-functions</code>,
<code>babel-plugin-transform-runtime</code>,
<code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16224">#16224</a>
Properly sort <code>core-js@3</code> imports (<a
href="/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/15383">#15383</a>
fix: Don't throw in <code>getTypeAnnotation</code> when using
TS+inference (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li>Other
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16210">#16210</a>
[eslint] Fix <code>no-use-before-define</code> for class ref in fields
(<a
href="/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><code>babel-core</code>, <code>babel-parser</code>,
<code>babel-template</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16222">#16222</a>
Migrate <code>eslint-parser</code> to cts (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16213">#16213</a>
Remove <code>@babel/types</code> props that are not produced by the
parser (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>:running_woman: Performance</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16072">#16072</a>
perf: Improve parser performance for typescript (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>:microscope: Output optimization</h4>
<ul>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-proposal-pipeline-operator</code>,
<code>babel-plugin-transform-class-properties</code>,
<code>babel-plugin-transform-class-static-block</code>,
<code>babel-plugin-transform-new-target</code>,
<code>babel-plugin-transform-parameters</code>,
<code>babel-plugin-transform-private-methods</code>,
<code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16218">#16218</a>
Improve temporary variables for decorators (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-helpers</code>,
<code>babel-plugin-proposal-explicit-resource-management</code>,
<code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>,
<code>babel-runtime</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/15959">#15959</a>
Improve output of <code>using</code> (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 4</h4>
<ul>
<li>Babel Bot (<a
href="/babel-bot"><code>@​babel-bot</code></a>)</li>
<li>Huáng Jùnliàng (<a
href="/JLHwung"><code>@​JLHwung</code></a>)</li>
<li>Nicolò Ribaudo (<a
href="/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="/babel/babel/blob/main/CHANGELOG.md"><code>@​babel/runtime</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>v7.23.9 (2024-01-25)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-helper-transform-fixture-test-runner</code>,
<code>babel-plugin-transform-function-name</code>,
<code>babel-plugin-transform-modules-systemjs</code>,
<code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16225">#16225</a>
fix: <code>systemjs</code> re-traverses helpers (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-decorators</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16226">#16226</a>
Improve decorated private method check (<a
href="/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-transform-async-generator-functions</code>,
<code>babel-plugin-transform-runtime</code>,
<code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16224">#16224</a>
Properly sort <code>core-js@3</code> imports (<a
href="/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/15383">#15383</a>
fix: Don't throw in <code>getTypeAnnotation</code> when using
TS+inference (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li>Other
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16210">#16210</a>
[eslint] Fix <code>no-use-before-define</code> for class ref in fields
(<a
href="/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><code>babel-core</code>, <code>babel-parser</code>,
<code>babel-template</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16222">#16222</a>
Migrate <code>eslint-parser</code> to cts (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16213">#16213</a>
Remove <code>@babel/types</code> props that are not produced by the
parser (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>:running_woman: Performance</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16072">#16072</a>
perf: Improve parser performance for typescript (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>:microscope: Output optimization</h4>
<ul>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-proposal-pipeline-operator</code>,
<code>babel-plugin-transform-class-properties</code>,
<code>babel-plugin-transform-class-static-block</code>,
<code>babel-plugin-transform-new-target</code>,
<code>babel-plugin-transform-parameters</code>,
<code>babel-plugin-transform-private-methods</code>,
<code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16218">#16218</a>
Improve temporary variables for decorators (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-helpers</code>,
<code>babel-plugin-proposal-explicit-resource-management</code>,
<code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>,
<code>babel-runtime</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/15959">#15959</a>
Improve output of <code>using</code> (<a
href="/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="/babel/babel/commit/a0dd614d1271dd69db1ce908e5171d4ccfec8691"><code>a0dd614</code></a>
v7.23.9</li>
<li><a
href="/babel/babel/commit/218faee4351345415b40b23a9e0102f628d45108"><code>218faee</code></a>
Improve output of <code>using</code> (<a
href="/babel/babel/tree/HEAD/packages/babel-runtime/issues/15959">#15959</a>)</li>
<li>See full diff in <a
href="/babel/babel/commits/v7.23.9/packages/babel-runtime">compare
view</a></li>
</ul>
</details>
<br />

Updates `apache-arrow` from 14.0.2 to 15.0.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="/apache/arrow/commit/a61f4af724cd06c3a9b4abd20491345997e532c0"><code>a61f4af</code></a>
MINOR: [Release] Update versions for 15.0.0</li>
<li><a
href="/apache/arrow/commit/772747bd774a551544ab99344db525089fb7a332"><code>772747b</code></a>
MINOR: [Release] Update .deb/.rpm changelogs for 15.0.0</li>
<li><a
href="/apache/arrow/commit/9a9ba9bfac5f496e93bf3e82cca34b930985153d"><code>9a9ba9b</code></a>
MINOR: [Release] Update CHANGELOG.md for 15.0.0</li>
<li><a
href="/apache/arrow/commit/e93d1ee98cd4674efd14a082b2f0e780e6a1d320"><code>e93d1ee</code></a>
<a
href="https://redirect.github.com/apache/arrow/issues/39562">GH-39562</a>:
[C++][Parquet] Fix crash in test_parquet_dataset_lazy_filtering (<a
href="https://redirect.github.com/apache/arrow/issues/3">#3</a>...</li>
<li><a
href="/apache/arrow/commit/d82a5d041bd21502415e56f10cacde89aead379b"><code>d82a5d0</code></a>
<a
href="https://redirect.github.com/apache/arrow/issues/39598">GH-39598</a>:
[C#] Fix verification script (<a
href="https://redirect.github.com/apache/arrow/issues/39605">#39605</a>)</li>
<li><a
href="/apache/arrow/commit/ead773590c72e64f82e947d2539f52894779e280"><code>ead7735</code></a>
<a
href="https://redirect.github.com/apache/arrow/issues/39604">GH-39604</a>:
[JS] Do not use resizable buffers yet (<a
href="https://redirect.github.com/apache/arrow/issues/39607">#39607</a>)</li>
<li><a
href="/apache/arrow/commit/0f862c9c3d698569ffedcc0ed77e2f355f181f04"><code>0f862c9</code></a>
<a
href="https://redirect.github.com/apache/arrow/issues/39624">GH-39624</a>:
[R][CI] Add CMake to docker file and update envvars (<a
href="https://redirect.github.com/apache/arrow/issues/39625">#39625</a>)</li>
<li><a
href="/apache/arrow/commit/209620f38547018546d0876ae482d0d62558cb2e"><code>209620f</code></a>
<a
href="https://redirect.github.com/apache/arrow/issues/39584">GH-39584</a>:
[R] fallback to source gracefully (<a
href="https://redirect.github.com/apache/arrow/issues/39587">#39587</a>)</li>
<li><a
href="/apache/arrow/commit/98e5525829f2867c378ea9c151fdc17e2c42054c"><code>98e5525</code></a>
<a
href="https://redirect.github.com/apache/arrow/issues/39601">GH-39601</a>:
[R] Don't download cmake when TEST_OFFLINE_BUILD=true (<a
href="https://redirect.github.com/apache/arrow/issues/39602">#39602</a>)</li>
<li><a
href="/apache/arrow/commit/eb6076fc8995d42e8a38670057801eb537d8c17f"><code>eb6076f</code></a>
<a
href="https://redirect.github.com/apache/arrow/issues/39588">GH-39588</a>:
[CI][Go] Add CGO_ENABLED=1 to cdata_integration build to fix macOS
...</li>
<li>Additional commits viewable in <a
href="/apache/arrow/compare/apache-arrow-14.0.2...apache-arrow-15.0.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `maplibre-gl` from 3.6.2 to 4.0.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="/maplibre/maplibre-gl-js/releases">maplibre-gl's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<p><a
href="/maplibre/maplibre-gl-js">https://github.com/maplibre/maplibre-gl-js</a>
<a
href="/maplibre/maplibre-gl-js/compare/v3.6.2...v4.0.0">Changes</a>
since <a
href="/maplibre/maplibre-gl-js/releases/tag/v3.6.2">MapLibre
GL JS v3.6.2</a>:</p>
<h3>✨ Features and improvements</h3>
<ul>
<li>
<p>⚠️ Remove all global getters and setters from
<code>maplibregl</code>, this means the the following methods have
changed:</p>
<ul>
<li><code>maplibregl.version</code> =&gt; <code>getVersion()</code></li>
<li><code>maplibregl.workerCount</code> =&gt;
<code>getWorkerCount()</code>, <code>setWorkerCount(...)</code></li>
<li><code>maplibregl.maxParallelImageRequests</code> =&gt;
<code>getMaxParallelImageRequests()</code>,
<code>setMaxParallelImageRequests(...)</code></li>
<li><code>maplibregl.workerUrl</code> =&gt; <code>getWorkerUrl()</code>,
<code>setWorkerUrl(...)</code></li>
</ul>
<p>This is to avoid the need to use a global object and allow named
exports/imports (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3601">#3601</a>)</p>
</li>
<li>
<p>⚠️ Change attribution to be on by default, change
<code>MapOptions.attributionControl</code> to be the type that the
control handles, removed <code>MapOptions.customAttribution</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3618">#3618</a>)
Note: showing the logo of MapLibre is not required for using
MapLibre.</p>
</li>
<li>
<p>⚠️ Changed cooperative gesture config and removed the strings from it
in favor of the locale variable (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3621">#3621</a>)</p>
</li>
<li>
<p>⚠️ Changed the terrain enable disable locale key to match the other
keys' styles, updated the typings to allow using locale with more ease
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3621">#3621</a>)</p>
</li>
<li>
<p>⚠️ Add the ability to import a script in the worker thread and call
<code>addProtocol</code> and <code>removeProtocol</code> there (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3459">#3459</a>)
- this also changed how <code>addSourceType</code> works since now
you'll need to load the script with
<code>maplibregl.importScriptInWorkers</code>.</p>
</li>
<li>
<p>⚠️ Changes <code>addProtocol</code> to be promise-based without the
usage of callbacks and cancelable (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3433">#3433</a>)</p>
</li>
<li>
<p>⚠️ Moved the <code>addSourceType</code> to be a part of the global
maplibregl object instead of being per map object (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3420">#3420</a>)</p>
</li>
<li>
<p>⚠️ Removed callback usage from <code>map.loadImage</code> in continue
to below change (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3422">#3422</a>)</p>
</li>
<li>
<p>⚠️ Changed the <code>GeoJSONSource</code>'s
<code>getClusterExpansionZoom</code>, <code>getClusterChildren</code>,
<code>getClusterLeaves</code> methods to return a <code>Promise</code>
instead of a callback usage (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3421">#3421</a>)</p>
</li>
<li>
<p>⚠️ Changed the <code>setRTLTextPlugin</code> function to return a
promise instead of using callback (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3418">#3418</a>)
this also changed how the RTL pluing code is handled internally by
splitting the main thread and worker thread code.</p>
</li>
<li>
<p>⚠️ Remove <code>setCooperativeGestures</code> and
<code>getCooperativeGestures</code> functions in favor of
<code>cooperativeGestures</code> handler which now has an
<code>enabled()</code> or <code>disabled()</code> methods (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3430">#3430</a>)</p>
</li>
<li>
<p>⚠️ Changed the undeling worker communication from callbacks to
promises. This has a breaking effect on the implementation of custom
<code>WorkerSource</code> and how it behaves (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3233">#3233</a>)</p>
</li>
<li>
<p>⚠️ Changed the <code>Source</code> interface to return promises
instead of callbacks (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3233">#3233</a>)</p>
</li>
<li>
<p>⚠️ Changed all the sources to be promises based. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3233">#3233</a>)</p>
</li>
<li>
<p>⚠️ Changed the <code>map.loadImage</code> method to return a
<code>Promise</code> instead of a callback usage (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3233">#3233</a>)</p>
</li>
<li>
<p>Add &quot;opacity&quot; option and <code>setOpacity</code> method to
Marker (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3620">#3620</a>)</p>
</li>
<li>
<p>Created a new example showing how to place a threejs scene as a
<code>CustomLayer</code> over maplibre 3d-terrain (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3429">#3429</a>)</p>
</li>
<li>
<p>Changed <code>ImageRequest</code> to be <code>Promise</code> based
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3233">#3233</a>)</p>
</li>
<li>
<p>Improved precision and added a subtle fade transition to marker
opacity changes (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3431">#3431</a>)</p>
</li>
<li>
<p>Adds support for terrain in <code>setStyle</code> with diff method
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3515">#3515</a>,
<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3463">#3463</a>)</p>
</li>
<li>
<p>Upgraded to use Node JS 20 and removed the dependency of
<code>gl</code> package from the tests to allow easier develpment setup.
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3452">#3452</a>)</p>
</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix wheel zoom to be into the same direction above or under the
horizon (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3398">#3398</a>)</li>
<li>Fix _cameraForBoxAndBearing not fitting bounds properly when using
asymettrical camera viewport and bearing.(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3591">#3591</a>)</li>
<li>Fix missing export <code>Map</code> type in the <code>d.ts</code>
file (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3564">#3564</a>)</li>
<li>Fix the shifted mouse events after a css transform scale on the map
container (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3437">#3437</a>)</li>
<li>Fix markers remaining transparent when disabling terrain (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3431">#3431</a>)</li>
<li>Fix labels disappearing when enabling terrain at high zoom (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3545">#3545</a>)</li>
<li>Fix zooming outside the central globe when terrain 3D is enabled (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3425">#3425</a>)</li>
<li>Fix cursor being shown indefinitely as a pointer when removing a
popup with its <code>trackPointer</code> method active (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3434">#3434</a>)</li>
<li>Fix a bug in showing cooperative gestures when scroll zoom is
disabled (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/2498">#2498</a>)</li>
<li>Handle loading of empty raster tiles (204 No Content) (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3428">#3428</a>)</li>
<li>Fixes a security issue in <code>Actor</code> against XSS attacks in
postMessage / onmessage (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3239">#3239</a>)</li>
</ul>
<h2>v4.0.0-pre.6</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md">maplibre-gl's
changelog</a>.</em></p>
<blockquote>
<h2>4.0.0</h2>
<h3>✨ Features and improvements</h3>
<ul>
<li>
<p>⚠️ Remove all global getters and setters from
<code>maplibregl</code>, this means the the following methods have
changed:</p>
<ul>
<li><code>maplibregl.version</code> =&gt; <code>getVersion()</code></li>
<li><code>maplibregl.workerCount</code> =&gt;
<code>getWorkerCount()</code>, <code>setWorkerCount(...)</code></li>
<li><code>maplibregl.maxParallelImageRequests</code> =&gt;
<code>getMaxParallelImageRequests()</code>,
<code>setMaxParallelImageRequests(...)</code></li>
<li><code>maplibregl.workerUrl</code> =&gt; <code>getWorkerUrl()</code>,
<code>setWorkerUrl(...)</code></li>
</ul>
<p>This is to avoid the need to use a global object and allow named
exports/imports (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3601">#3601</a>)</p>
</li>
<li>
<p>⚠️ Change attribution to be on by default, change
<code>MapOptions.attributionControl</code> to be the type that the
control handles, removed <code>MapOptions.customAttribution</code> (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3618">#3618</a>)
Note: showing the logo of MapLibre is not required for using
MapLibre.</p>
</li>
<li>
<p>⚠️ Changed cooperative gesture config and removed the strings from it
in favor of the locale variable (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3621">#3621</a>)</p>
</li>
<li>
<p>⚠️ Changed the terrain enable disable locale key to match the other
keys' styles, updated the typings to allow using locale with more ease
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3621">#3621</a>)</p>
</li>
<li>
<p>⚠️ Add the ability to import a script in the worker thread and call
<code>addProtocol</code> and <code>removeProtocol</code> there (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3459">#3459</a>)
- this also changed how <code>addSourceType</code> works since now
you'll need to load the script with
<code>maplibregl.importScriptInWorkers</code>.</p>
</li>
<li>
<p>⚠️ Changes <code>addProtocol</code> to be promise-based without the
usage of callbacks and cancelable (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3433">#3433</a>)</p>
</li>
<li>
<p>⚠️ Moved the <code>addSourceType</code> to be a part of the global
maplibregl object instead of being per map object (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3420">#3420</a>)</p>
</li>
<li>
<p>⚠️ Removed callback usage from <code>map.loadImage</code> in continue
to below change (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3422">#3422</a>)</p>
</li>
<li>
<p>⚠️ Changed the <code>GeoJSONSource</code>'s
<code>getClusterExpansionZoom</code>, <code>getClusterChildren</code>,
<code>getClusterLeaves</code> methods to return a <code>Promise</code>
instead of a callback usage (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3421">#3421</a>)</p>
</li>
<li>
<p>⚠️ Changed the <code>setRTLTextPlugin</code> function to return a
promise instead of using callback (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3418">#3418</a>)
this also changed how the RTL pluing code is handled internally by
splitting the main thread and worker thread code.</p>
</li>
<li>
<p>⚠️ Remove <code>setCooperativeGestures</code> and
<code>getCooperativeGestures</code> functions in favor of
<code>cooperativeGestures</code> handler which now has an
<code>enabled()</code> or <code>disabled()</code> methods (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3430">#3430</a>)</p>
</li>
<li>
<p>⚠️ Changed the undeling worker communication from callbacks to
promises. This has a breaking effect on the implementation of custom
<code>WorkerSource</code> and how it behaves (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3233">#3233</a>)</p>
</li>
<li>
<p>⚠️ Changed the <code>Source</code> interface to return promises
instead of callbacks (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3233">#3233</a>)</p>
</li>
<li>
<p>⚠️ Changed all the sources to be promises based. (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3233">#3233</a>)</p>
</li>
<li>
<p>⚠️ Changed the <code>map.loadImage</code> method to return a
<code>Promise</code> instead of a callback usage (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3233">#3233</a>)</p>
</li>
<li>
<p>Add &quot;opacity&quot; option and <code>setOpacity</code> method to
Marker (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3620">#3620</a>)</p>
</li>
<li>
<p>Created a new example showing how to place a threejs scene as a
<code>CustomLayer</code> over maplibre 3d-terrain (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3429">#3429</a>)</p>
</li>
<li>
<p>Changed <code>ImageRequest</code> to be <code>Promise</code> based
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3233">#3233</a>)</p>
</li>
<li>
<p>Improved precision and added a subtle fade transition to marker
opacity changes (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3431">#3431</a>)</p>
</li>
<li>
<p>Adds support for terrain in <code>setStyle</code> with diff method
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3515">#3515</a>,
<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3463">#3463</a>)</p>
</li>
<li>
<p>Upgraded to use Node JS 20 and removed the dependency of
<code>gl</code> package from the tests to allow easier develpment setup.
(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3452">#3452</a>)</p>
</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix wheel zoom to be into the same direction above or under the
horizon (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3398">#3398</a>)</li>
<li>Fix _cameraForBoxAndBearing not fitting bounds properly when using
asymettrical camera viewport and bearing.(<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3591">#3591</a>)</li>
<li>Fix missing export <code>Map</code> type in the <code>d.ts</code>
file (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3564">#3564</a>)</li>
<li>Fix the shifted mouse events after a css transform scale on the map
container (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3437">#3437</a>)</li>
<li>Fix markers remaining transparent when disabling terrain (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3431">#3431</a>)</li>
<li>Fix labels disappearing when enabling terrain at high zoom (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3545">#3545</a>)</li>
<li>Fix zooming outside the central globe when terrain 3D is enabled (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3425">#3425</a>)</li>
<li>Fix cursor being shown indefinitely as a pointer when removing a
popup with its <code>trackPointer</code> method active (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3434">#3434</a>)</li>
<li>Fix a bug in showing cooperative gestures when scroll zoom is
disabled (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/2498">#2498</a>)</li>
<li>Handle loading of empty raster tiles (204 No Content) (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3428">#3428</a>)</li>
<li>Fixes a security issue in <code>Actor</code> against XSS attacks in
postMessage / onmessage (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/pull/3239">#3239</a>)</li>
</ul>
<h2>4.0.0-pre.6</h2>
<h3>✨ Features and improvements</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="/maplibre/maplibre-gl-js/commit/6eeb42865430ae3a9f60309eda871e3649ec776a"><code>6eeb428</code></a>
Bump version to 4.0.0 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3647">#3647</a>)</li>
<li><a
href="/maplibre/maplibre-gl-js/commit/abb226b0bf72f85a0477312ff97397cb17eff8f0"><code>abb226b</code></a>
Bump monocart-coverage-reports from 2.3.0 to 2.3.3 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3642">#3642</a>)</li>
<li><a
href="/maplibre/maplibre-gl-js/commit/10f0104b55f427d1ebc51b895b1e316d9f7d36a7"><code>10f0104</code></a>
Test opacity of a partly visible marker (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3644">#3644</a>)</li>
<li><a
href="/maplibre/maplibre-gl-js/commit/28472bbcdd62188cc433f5aa77e8fd11e22ff82f"><code>28472bb</code></a>
Bump <code>@​typescript-eslint/parser</code> from 6.19.0 to 6.19.1 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3643">#3643</a>)</li>
<li><a
href="/maplibre/maplibre-gl-js/commit/d71a409390f4d4a0d29d99bff83959582fd4f4d8"><code>d71a409</code></a>
Bump dts-bundle-generator from 9.2.4 to 9.2.5 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3640">#3640</a>)</li>
<li><a
href="/maplibre/maplibre-gl-js/commit/885d622c7a8ccb5969822c248fb5a96b90ddb312"><code>885d622</code></a>
Bump pdf-merger-js from 5.0.0 to 5.1.1 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3641">#3641</a>)</li>
<li><a
href="/maplibre/maplibre-gl-js/commit/1141de96cd1a44c2ba48e5a223424eb73db0d539"><code>1141de9</code></a>
Bump <code>@​typescript-eslint/eslint-plugin</code> from 6.19.0 to
6.19.1 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3639">#3639</a>)</li>
<li><a
href="/maplibre/maplibre-gl-js/commit/9f898910bc9951904911c51a048b23d7978bde68"><code>9f89891</code></a>
Bump ts-jest from 29.1.1 to 29.1.2 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3638">#3638</a>)</li>
<li><a
href="/maplibre/maplibre-gl-js/commit/0f4c47834c82a171f53900d23ca5bb26426c955f"><code>0f4c478</code></a>
Bump <code>@​types/node</code> from 20.11.5 to 20.11.10 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3637">#3637</a>)</li>
<li><a
href="/maplibre/maplibre-gl-js/commit/ca57d28bb256660b74afef23c1936c3a0d088e37"><code>ca57d28</code></a>
Bump devtools-protocol from 0.0.1249869 to 0.0.1253004 (<a
href="https://redirect.github.com/maplibre/maplibre-gl-js/issues/3636">#3636</a>)</li>
<li>Additional commits viewable in <a
href="/maplibre/maplibre-gl-js/compare/v3.6.2...v4.0.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/react` from 18.2.47 to 18.2.55
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/uuid` from 9.0.7 to 9.0.8
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/uuid">compare
view</a></li>
</ul>
</details>
<br />

Updates `esbuild` from 0.19.11 to 0.20.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="/evanw/esbuild/releases">esbuild's
releases</a>.</em></p>
<blockquote>
<h2>v0.20.0</h2>
<p><strong>This release deliberately contains backwards-incompatible
changes.</strong> To avoid automatically picking up releases like this,
you should either be pinning the exact version of <code>esbuild</code>
in your <code>package.json</code> file (recommended) or be using a
version range syntax that only accepts patch upgrades such as
<code>^0.19.0</code> or <code>~0.19.0</code>. See npm's documentation
about <a
href="https://docs.npmjs.com/cli/v6/using-npm/semver/">semver</a> for
more information.</p>
<p>This time there is only one breaking change, and it only matters for
people using Deno. Deno tests that use esbuild will now fail unless you
make the change described below.</p>
<ul>
<li>
<p>Work around API deprecations in Deno 1.40.x (<a
href="https://redirect.github.com/evanw/esbuild/issues/3609">#3609</a>,
<a
href="https://redirect.github.com/evanw/esbuild/pull/3611">#3611</a>)</p>
<p><a href="https://deno.com/blog/v1.40">Deno 1.40.0</a> was just
released and introduced run-time warnings about certain APIs that
esbuild uses. With this release, esbuild will work around these run-time
warnings by using newer APIs if they are present and falling back to the
original APIs otherwise. This should avoid the warnings without breaking
compatibility with older versions of Deno.</p>
<p>Unfortunately, doing this introduces a breaking change. The newer
child process APIs lack a way to synchronously terminate esbuild's child
process, so calling <code>esbuild.stop()</code> from within a Deno test
is no longer sufficient to prevent Deno from failing a test that uses
esbuild's API (Deno fails tests that create a child process without
killing it before the test ends). To work around this, esbuild's
<code>stop()</code> function has been changed to return a promise, and
you now have to change <code>esbuild.stop()</code> to <code>await
esbuild.stop()</code> in all of your Deno tests.</p>
</li>
<li>
<p>Reorder implicit file extensions within <code>node_modules</code> (<a
href="https://redirect.github.com/evanw/esbuild/issues/3341">#3341</a>,
<a
href="https://redirect.github.com/evanw/esbuild/issues/3608">#3608</a>)</p>
<p>In <a
href="/evanw/esbuild/releases/v0.18.0">version
0.18.0</a>, esbuild changed the behavior of implicit file extensions
within <code>node_modules</code> directories (i.e. in published
packages) to prefer <code>.js</code> over <code>.ts</code> even when the
<code>--resolve-extensions=</code> order prefers <code>.ts</code> over
<code>.js</code> (which it does by default). However, doing that also
accidentally made esbuild prefer <code>.css</code> over
<code>.ts</code>, which caused problems for people that published
packages containing both TypeScript and CSS in files with the same
name.</p>
<p>With this release, esbuild will reorder TypeScript file extensions
immediately after the last JavaScript file extensions in the implicit
file extension order instead of putting them at the end of the order.
Specifically the default implicit file extension order is
<code>.tsx,.ts,.jsx,.js,.css,.json</code> which used to become
<code>.jsx,.js,.css,.json,.tsx,.ts</code> in <code>node_modules</code>
directories. With this release it will now become
<code>.jsx,.js,.tsx,.ts,.css,.json</code> instead.</p>
<p>Why even rewrite the implicit file extension order at all? One reason
is because the <code>.js</code> file is more likely to behave correctly
than the <code>.ts</code> file. The behavior of the <code>.ts</code>
file may depend on <code>tsconfig.json</code> and the
<code>tsconfig.json</code> file may not even be published, or may use
<code>extends</code> to refer to a base <code>tsconfig.json</code> file
that wasn't published. People can get into this situation when they
forget to add all <code>.ts</code> files to their
<code>.npmignore</code> file before publishing to npm. Picking
<code>.js</code> over <code>.ts</code> helps make it more likely that
resulting bundle will behave correctly.</p>
</li>
</ul>
<h2>v0.19.12</h2>
<ul>
<li>
<p>The &quot;preserve&quot; JSX mode now preserves JSX text verbatim (<a
href="https://redirect.github.com/evanw/esbuild/issues/3605">#3605</a>)</p>
<p>The <a href="https://facebook.github.io/jsx/">JSX specification</a>
deliberately doesn't specify how JSX text is supposed to be interpreted
and there is no canonical way to interpret JSX text. Two most popular
interpretations are Babel and TypeScript. Yes <a
href="https://twitter.com/jarredsumner/status/1456118847937781764">they
are different</a> (esbuild <a
href="https://twitter.com/evanwallace/status/1456122279453208576">deliberately
follows TypeScript</a> by the way).</p>
<p>Previously esbuild normalized text to the TypeScript interpretation
when the &quot;preserve&quot; JSX mode is active. However,
&quot;preserve&quot; should arguably reproduce the original JSX text
verbatim so that whatever JSX transform runs after esbuild is free to
interpret it however it wants. So with this release, esbuild will now
pass JSX text through unmodified:</p>
<pre lang="jsx"><code>// Original code
let el =
  &lt;a href={'/'} title='&amp;apos;&amp;quot;'&gt; some text
    {foo}
      more text &lt;/a&gt;
<p>// Old output (with --loader=jsx --jsx=preserve)
let el = &lt;a href=&quot;/&quot; title={<code>'&amp;quot;</code>}&gt;
{&quot; some text&quot;}
{foo}
{&quot;more text &quot;}
&lt;/a&gt;;</p>
<p>// New output (with --loader=jsx --jsx=preserve)
let el = &lt;a href={&quot;/&quot;} title='&amp;apos;&amp;quot;'&gt;
some text
{foo}
more text &lt;/a&gt;;
</code></pre></p>
</li>
<li>
<p>Allow JSX elements as JSX attribute values</p>
<p>JSX has an obscure feature where you can use JSX elements in
attribute position without surrounding them with <code>{...}</code>. It
looks like this:</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="/evanw/esbuild/blob/main/CHANGELOG.md">esbuild's
changelog</a>.</em></p>
<blockquote>
<h2>0.20.0</h2>
<p><strong>This release deliberately contains backwards-incompatible
changes.</strong> To avoid automatically picking up releases like this,
you should either be pinning the exact version of <code>esbuild</code>
in your <code>package.json</code> file (recommended) or be using a
version range syntax that only accepts patch upgrades such as
<code>^0.19.0</code> or <code>~0.19.0</code>. See npm's documentation
about <a
href="https://docs.npmjs.com/cli/v6/using-npm/semver/">semver</a> for
more information.</p>
<p>This time there is only one breaking change, and it only matters for
people using Deno. Deno tests that use esbuild will now fail unless you
make the change described below.</p>
<ul>
<li>
<p>Work around API deprecations in Deno 1.40.x (<a
href="https://redirect.github.com/evanw/esbuild/issues/3609">#3609</a>,
<a
href="https://redirect.github.com/evanw/esbuild/pull/3611">#3611</a>)</p>
<p><a href="https://deno.com/blog/v1.40">Deno 1.40.0</a> was just
released and introduced run-time warnings about certain APIs that
esbuild uses. With this release, esbuild will work around these run-time
warnings by using newer APIs if they are present and falling back to the
original APIs otherwise. This should avoid the warnings without breaking
compatibility with older versions of Deno.</p>
<p>Unfortunately, doing this introduces a breaking change. The newer
child process APIs lack a way to synchronously terminate esbuild's child
process, so calling <code>esbuild.stop()</code> from within a Deno test
is no longer sufficient to prevent Deno from failing a test that uses
esbuild's API (Deno fails tests that create a child process without
killing it before the test ends). To work around this, esbuild's
<code>stop()</code> function has been changed to return a promise, and
you now have to change <code>esbuild.stop()</code> to <code>await
esbuild.stop()</code> in all of your Deno tests.</p>
</li>
<li>
<p>Reorder implicit file extensions within <code>node_modules</code> (<a
href="https://redirect.github.com/evanw/esbuild/issues/3341">#3341</a>,
<a
href="https://redirect.github.com/evanw/esbuild/issues/3608">#3608</a>)</p>
<p>In <a
href="/evanw/esbuild/releases/v0.18.0">version
0.18.0</a>, esbuild changed the behavior of implicit file extensions
within <code>node_modules</code> directories (i.e. in published
packages) to prefer <code>.js</code> over <code>.ts</code> even when the
<code>--resolve-extensions=</code> order prefers <code>.ts</code> over
<code>.js</code> (which it does by default). However, doing that also
accidentally made esbuild prefer <code>.css</code> over
<code>.ts</code>, which caused problems for people that published
packages containing both TypeScript and CSS in files with the same
name.</p>
<p>With this release, esbuild will reorder TypeScript file extensions
immediately after the last JavaScript file extensions in the implicit
file extension order instead of putting them at the end of the order.
Specifically the default implicit file extension order is
<code>.tsx,.ts,.jsx,.js,.css,.json</code> which used to become
<code>.jsx,.js,.css,.json,.tsx,.ts</code> in <code>node_modules</code>
directories. With this release it will now become
<code>.jsx,.js,.tsx,.ts,.css,.json</code> instead.</p>
<p>Why even rewrite the implicit file extension order at all? One reason
is because the <code>.js</code> file is more likely to behave correctly
than the <code>.ts</code> file. The behavior of the <code>.ts</code>
file may depend on <code>tsconfig.json</code> and the
<code>tsconfig.json</code> file may not even be published, or may use
<code>extends</code> to refer to a base <code>tsconfig.json</code> file
that wasn't published. People can get into this situation when they
forget to add all <code>.ts</code> files to their
<code>.npmignore</code> file before publishing to npm. Picking
<code>.js</code> over <code>.ts</code> helps make it more likely that
resulting bundle will behave correctly.</p>
</li>
</ul>
<h2>0.19.12</h2>
<ul>
<li>
<p>The &quot;preserve&quot; JSX mode now preserves JSX text verbatim (<a
href="https://redirect.github.com/evanw/esbuild/issues/3605">#3605</a>)</p>
<p>The <a href="https://facebook.github.io/jsx/">JSX specification</a>
deliberately doesn't specify how JSX text is supposed to be interpreted
and there is no canonical way to interpret JSX text. Two most popular
interpretations are Babel and TypeScript. Yes <a
href="https://twitter.com/jarredsumner/status/1456118847937781764">they
are different</a> (esbuild <a
href="https://twitter.com/evanwallace/status/1456122279453208576">deliberately
follows TypeScript</a> by the way).</p>
<p>Previously esbuild normalized text to the TypeScript interpretation
when the &quot;preserve&quot; JSX mode is active. However,
&quot;preserve&quot; should arguably reproduce the original JSX text
verbatim so that whatever JSX transform runs after esbuild is free to
interpret it however it wants. So with this release, esbuild will now
pass JSX text through unmodified:</p>
<pre lang="jsx"><code>// Original code
let el =
  &lt;a href={'/'} title='&amp;apos;&amp;quot;'&gt; some text
    {foo}
      more text &lt;/a&gt;
<p>// Old output (with --loader=jsx --jsx=preserve)
let el = &lt;a href=&quot;/&quot; title={<code>'&amp;quot;</code>}&gt;
{&quot; some text&quot;}
{foo}
{&quot;more text &quot;}
&lt;/a&gt;;</p>
<p>// New output (with --loader=jsx --jsx=preserve)
let el = &lt;a href={&quot;/&quot;} title='&amp;apos;&amp;quot;'&gt;
some text
{foo}
more text &lt;/a&gt;;
</code></pre></p>
</li>
<li>
<p>Allow JSX elements as JSX attribute values</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="/evanw/esbuild/commit/2af5ccf478812d2d7226ad4435d46fbbb3419a8c"><code>2af5ccf</code></a>
publish 0.20.0 to npm</li>
<li><a
href="/evanw/esbuild/commit/0bccf08675867c8ce6662b1ab4aae21973083d99"><code>0bccf08</code></a>
fix <a
href="https://redirect.github.com/esbuild/deno-esbuild/pull/5">esbuild/deno-esbuild#5</a></li>
<li><a
href="/evanw/esbuild/commit/931f87db267cf86f63d940c0a77072ef45e96128"><code>931f87d</code></a>
work around api deprecations in deno 1.40.x (<a
href="https://redirect.github.com/evanw/esbuild/issues/3609">#3609</a>)
(<a
href="https://redirect.github.com/evanw/esbuild/issues/3611">#3611</a>)</li>
<li><a
href="/evanw/esbuild/commit/22a9cf5754d402aabfe75aeda0266c3a970b0ee1"><code>22a9cf5</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/3341">#3341</a>,
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/3608">#3608</a>:
sort <code>.ts</code> right after <code>.js</code></li>
<li><a
href="/evanw/esbuild/commit/f8ec3007b68c5bfb755317e5c7051f63184c514b"><code>f8ec300</code></a>
run <code>npm pkg fix</code> as suggested by the npm cli</li>
<li><a
href="/evanw/esbuild/commit/d7fd1ad35715cda76eb33343b7c07b275e402a2e"><code>d7fd1ad</code></a>
publish 0.19.12 to npm</li>
<li><a
href="/evanw/esbuild/commit/e04a6900b7659146aef670e62a0d16c6f75cfd70"><code>e04a690</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/3605">#3605</a>:
print the original JSX AST unmodified</li>
<li><a
href="/evanw/esbuild/commit/f5713992227188d137c485d27b6956c6de814b9a"><code>f571399</code></a>
allow jsx elements as jsx attribute values</li>
<li><a
href="/evanw/esbuild/commit/a652e730ff07b9081470ef6965f3d54daa7b2aab"><code>a652e73</code></a>
run <code>make update-compat-table</code></li>
<li><a
href="/evanw/esbuild/commit/35c0d65b9d4f29a26176404d2890d1b499634e9f"><code>35c0d65</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/3574">#3574</a>:
ts type parser bug with infer + extends</li>
<li>Additional commits viewable in <a
href="/evanw/esbuild/compare/v0.19.11...v0.20.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `nodemon` from 3.0.2 to 3.0.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="/remy/nodemon/releases">nodemon's
releases</a>.</em></p>
<blockquote>
<h2>v3.0.3</h2>
<h2><a
href="/remy/nodemon/compare/v3.0.2...v3.0.3">3.0.3</a>
(2024-01-16)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>use node when using --import (<a
href="/remy/nodemon/commit/d3ee86e9bd728a39cc7a0924428faf68663896bf">d3ee86e</a>),
closes <a
href="https://redirect.github.com/remy/nodemon/issues/2157">#2157</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="/remy/nodemon/commit/da328edaeb98252ddec69db155276e34cd9245ea"><code>da328ed</code></a>
chore: forced release</li>
<li><a
href="/remy/nodemon/commit/2072383d61c7ddaa6d689ceb4e916b00e5dc01dc"><code>2072383</code></a>
chore: supporters</li>
<li><a
href="/remy/nodemon/commit/d3ee86e9bd728a39cc7a0924428faf68663896bf"><code>d3ee86e</code></a>
fix: use node when using --import</li>
<li><a
href="/remy/nodemon/commit/6fd8ce7206703d41c177d8db3325822382a282bd"><code>6fd8ce7</code></a>
chore: web site render</li>
<li><a
href="/remy/nodemon/commit/33260c3402dff30205139cdd35998ccadc390a9c"><code>33260c3</code></a>
chore: web site render</li>
<li><a
href="/remy/nodemon/commit/43133a0de69214b3f11c39ca9138ddf9fe333a21"><code>43133a0</code></a>
chore: web site render</li>
<li><a
href="/remy/nodemon/commit/77658faf699cac2ad1926dd4df4311ba87eda13c"><code>77658fa</code></a>
chore: web site render</li>
<li><a
href="/remy/nodemon/commit/60d795e07ec8cd6a6bf007239735b2a8a4a04212"><code>60d795e</code></a>
chore: web site render</li>
<li><a
href="/remy/nodemon/commit/4b59147fa5f9ff8037046642cd4678385c2883b5"><code>4b59147</code></a>
Merge branch 'main' of github.com:remy/nodemon</li>
<li><a
href="/remy/nodemon/commit/b5963110204e1d06af578aa034da0c1632d24bb3"><code>b596311</code></a>
chore: web site render</li>
<li>Additional commits viewable in <a
href="/remy/nodemon/compare/v3.0.2...v3.0.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `prettier` from 3.2.2 to 3.2.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="/prettier/prettier/releases">prettier's
releases</a>.</em></p>
<blockquote>
<h2>3.2.5</h2>
<p>🔗 <a
href="/prettier/prettier/blob/main/CHANGELOG.md#325">Changelog</a></p>
<h2>3.2.4</h2>
<ul>
<li>Fix <code>.eslintrc.json</code> format <a
href="https://redirect.github.com/prettier/prettier/issues/15947">#15947</a></li>
</ul>
<p>🔗 <a
href="/prettier/prettier/blob/main/CHANGELOG.md#324">Changelog</a></p>
<h2>3.2.3</h2>
<ul>
<li>Format <code>tsconfig.json</code> file with <code>jsonc</code>
parser <a
href="https://redirect.github.com/prettier/prettier/issues/15927">#15927</a></li>
</ul>
<p>🔗 <a
href="/prettier/prettier/blob/main/CHANGELOG.md#323">Changelog</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="/prettier/prettier/blob/main/CHANGELOG.md">prettier's
changelog</a>.</em></p>
<blockquote>
<h1>3.2.5</h1>
<p><a
href="/prettier/prettier/compare/3.2.4...3.2.5">diff</a></p>
<h4>Support Angular inline styles as single template literal (<a
href="https://redirect.github.com/prettier/prettier/pull/15968">#15968</a>
by <a
href="/sosukesuzuki"><code>@​sosukesuzuki</code></a>)</h4>
<p><a
href="https://blog.angular.io/introducing-angular-v17-4d7033312e4b">Angular
v17</a> supports single string inline styles.</p>
<!-- raw HTML omitted -->
<pre lang="ts"><code>// Input
@Component({
  template: `&lt;div&gt;...&lt;/div&gt;`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}
<p>// Prettier 3.2.4
<a href="/Component"><code>@​Component</code></a>({
template: <code>&amp;lt;div&amp;gt;...&amp;lt;/div&amp;gt;</code>,
styles: <code>h1 { color: blue; }</code>,
})
export class AppComponent {}</p>
<p>// Prettier 3.2.5
<a href="/Component"><code>@​Component</code></a>({
template: <code>&amp;lt;div&amp;gt;...&amp;lt;/div&amp;gt;</code>,
styles: <code>h1 { color: blue; }</code>,
})
export class AppComponent {}</p>
<p></code></pre></p>
<h4>Unexpected embedded formatting for Angular template (<a
href="https://redirect.github.com/prettier/prettier/pull/15969">#15969</a>
by <a href="/JounQin"><code>@​JounQin</code></a>)</h4>
<p>Computed template should not be considered as Angular component
template</p>
<!-- raw HTML omitted -->
<pre lang="ts"><code>// Input
const template = &quot;foobar&quot;;
<p><a href="/Component"><code>@​Component</code></a>({
[template]: <code>&amp;lt;h1&amp;gt;{{ hello
}}&amp;lt;/h1&amp;gt;</code>,
})
export class AppComponent {}
&lt;/tr&gt;&lt;/table&gt;
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="/prettier/prettier/commit/7142cf354cce2558f41574f44b967baf11d5b603"><code>7142cf3</code></a>
Release 3.2.5</li>
<li><a
href="/prettier/prettier/commit/8cbee2e217baad7acf4cb3947834e8c1b41ed647"><code>8cbee2e</code></a>
chore(deps): update glimmer to v0.88.1 (<a
href="https://redirect.github.com/prettier/prettier/issues/15991">#15991</a>)</li>
<li><a
href="/prettier/prettier/commit/45baee061cb982d9dd298fefa74f4c195a3e0709"><code>45baee0</code></a>
chore(deps): update dependency magic-string to v0.30.6 (<a
href="https://redirect.github.com/prettier/prettier/issues/16022">#16022</a>)</li>
<li><a
href="/prettier/prettier/commit/9fb32a1a6b10bfb6dae317492f10e5e42956cf23"><code>9fb32a1</code></a>
Minor refactor to property print (<a
href="https://redirect.github.com/prettier/prettier/issues/15924">#15924</a>)</li>
<li><a
href="/prettier/prettier/commit/08f19401e48ccfeddff4300827da4c8677cb2b79"><code>08f1940</code></a>
Update install script for husky v9 (<a
href="https://redirect.github.com/prettier/prettier/issues/16000">#16000</a>)</li>
<li><a
href="/prettier/prettier/commit/6d0b1d2a935d47e0517721a0d5e62eb79e972b0c"><code>6d0b1d2</code></a>
Update yarn to v4.1.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/16021">#16021</a>)</li>
<li><a
href="/prettier/prettier/commit/c8ba8dbca18858a7962184bbb3898502b9ec7cfb"><code>c8ba8db</code></a>
chore(deps): update dependency <code>@​angular/compiler</code> to
v17.1.2 (<a
href="https://redirect.github.com/prettier/prettier/issues/16018">#16018</a>)</li>
<li><a
href="/prettier/prettier/commit/e2250ec6881222a1bb46ef55403067a259d8c7a3"><code>e2250ec</code></a>
chore(deps): update typescript-eslint to v6.20.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/16015">#16015</a>)</li>
<li><a
href="/prettier/prettier/commit/02865f6cc77858b3a4cbaf7d4e2e72a4e88fe175"><code>02865f6</code></a>
chore(deps): update dependency npm-run-all2 to v6.1.2 (<a
href="https://redirect.github.com/prettier/prettier/issues/16017">#16017</a>)</li>
<li><a
href="/prettier/prettier/commit/014ee5d47445ae79233291d5b4846b28bedf3601"><code>014ee5d</code></a>
chore(deps): update dependency hermes-parser to v0.19.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/16014">#16014</a>)</li>
<li>Additional commits viewable in <a
href="/prettier/prettier/compare/3.2.2...3.2.5">compare
view</a></li>
</ul>
</details>
<br />

Updates `vitest` from 1.2.0 to 1.2.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="/vitest-dev/vitest/releases">vitest's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.2</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>coverage</strong>:
<ul>
<li>Remove <code>coverage/.tmp</code> files after run  -  by <a
href="/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/5008">vitest-dev/vitest#5008</a>
<a href="/vitest-dev/vitest/commit/d53b8580"><!-- raw
HTML omitted -->(d53b8)<!-- raw HTML omitted --></a></li>
<li>Don't crash when re-run removes earlier run's reports  -  by <a
href="/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/5022">vitest-dev/vitest#5022</a>
<a href="/vitest-dev/vitest/commit/6689856f"><!-- raw
HTML omitted -->(66898)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>expect</strong>:
<ul>
<li>Improve <code>toThrow(asymmetricMatcher)</code> failure message  - 
by <a href="/hi-ogawa"><code>@​hi-ogawa</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/5000">vitest-dev/vitest#5000</a>
<a href="/vitest-dev/vitest/commit/a199ac2d"><!-- raw
HTML omitted -->(a199a)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>forks</strong>:
<ul>
<li>Set correct <code>VITEST_POOL_ID</code>  -  by <a
href="/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/5002">vitest-dev/vitest#5002</a>
<a href="/vitest-dev/vitest/commit/7d0a4692"><!-- raw
HTML omitted -->(7d0a4)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>threads</strong>:
<ul>
<li>Mention common work-around for the logged error  -  by <a
href="/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/5024">vitest-dev/vitest#5024</a>
<a href="/vitest-dev/vitest/commit/915d6c43"><!-- raw
HTML omitted -->(915d6)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>typecheck</strong>:
<ul>
<li>Fix <code>ignoreSourceErrors</code> in run mode  -  by <a
href="/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/5044">vitest-dev/vitest#5044</a>
<a href="/vitest-dev/vitest/commit/6dae3feb"><!-- raw
HTML omitted -->(6dae3)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>vite-node</strong>:
<ul>
<li>Provide import.meta.filename and dirname  -  by <a
href="/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/5011">vitest-dev/vitest#5011</a>
<a href="/vitest-dev/vitest/commit/73148575"><!-- raw
HTML omitted -->(73148)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>vitest</strong>:
<ul>
<li>Expose getHooks &amp; setHooks  -  by <a
href="/adriencaccia"><code>@​adriencaccia</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/5032">vitest-dev/vitest#5032</a>
<a href="/vitest-dev/vitest/commit/73448706"><!-- raw
HTML omitted -->(73448)<!-- raw HTML omitted --></a></li>
<li>Test deep dependencies change detection  -  by <a
href="/blake-newman"><code>@​blake-newman</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/4934">vitest-dev/vitest#4934</a>
<a href="/vitest-dev/vitest/commit/9c7c0fc9"><!-- raw
HTML omitted -->(9c7c0)<!-- raw HTML omitted --></a></li>
<li>Throw an error if vi.mock is exported  -  by <a
href="/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/5034">vitest-dev/vitest#5034</a>
<a href="/vitest-dev/vitest/commit/253df1cc"><!-- raw
HTML omitted -->(253df)<!-- raw HTML omitted --></a></li>
<li>Allow <code>useFakeTimers</code> to fake
<code>requestIdleCallback</code> on non browser  -  by <a
href="/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/5028">vitest-dev/vitest#5028</a>
<a href="/vitest-dev/vitest/commit/a9a486f2"><!-- raw
HTML omitted -->(a9a48)<!-- raw HTML omitted --></a></li>
<li>Support older NodeJS with async <code>import.meta.resolve</code>  - 
by <a href="/AriPerkkio"><code>@​AriPerkkio</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/5045">vitest-dev/vitest#5045</a>
<a href="/vitest-dev/vitest/commit/cf5641a9"><!-- raw
HTML omitted -->(cf564)<!-- raw HTML omitted --></a></li>
<li>Don't throw an error if mocked file was already imported  -  by <a
href="/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/5050">vitest-dev/vitest#5050</a>
<a href="/vitest-dev/vitest/commit/fff1a270"><!-- raw
HTML omitted -->(fff1a)<!-- raw HTML omitted --></a></li>
</ul>
</li>
</ul>
<h5>    <a
href="/vitest-dev/vitest/compare/v1.2.1...v1.2.2">View
changes on GitHub</a></h5>
<h2>v1.2.1</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>browser</strong>:
<ul>
<li>Apply inlined workspace config to browser mode vite server  -  by <a
href="/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/4947">vitest-dev/vitest#4947</a>
<a href="/vitest-dev/vitest/commit/db01f6c2"><!-- raw
HTML omitted -->(db01f)<!-- raw HTML omitted --></a></li>
<li>Fix browser testing url for https  -  by <a
href="/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/4855">vitest-dev/vitest#4855</a>
<a href="/vitest-dev/vitest/commit/6c1cc78b"><!-- raw
HTML omitted -->(6c1cc)<!-- raw HTML omitted --></a></li>
<li>Don't fail when calling vi.useFakeTimers  -  by <a
href="/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/4992">vitest-dev/vitest#4992</a>
<a href="/vitest-dev/vitest/commit/6c5fe49b"><!-- raw
HTML omitted -->(6c5fe)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>coverage</strong>:
<ul>
<li><code>thresholds.autoUpdate</code> to work with arrow function
configuration files  -  by <a
href="/AriPerkkio"><code>@​AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/4959">vitest-dev/vitest#4959</a>
<a href="/vitest-dev/vitest/commit/4b41131a"><!-- raw
HTML omitted -->(4b411)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>expect</strong>:
<ul>
<li>Implement chai inspect for <code>AsymmetricMatcher</code>  -  by <a
href="/hi-ogawa"><code>@​hi-ogawa</code></a> and <a
href="/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/4942">vitest-dev/vitest#4942</a>
<a href="/vitest-dev/vitest/commit/06bae4dd"><!-- raw
HTML omitted -->(06bae)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>vite-node</strong>:
<ul>
<li>Externalize network imports  -  by <a
href="/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/4987">vitest-dev/vitest#4987</a>
<a href="/vitest-dev/vitest/commit/21f5744d"><!-- raw
HTML omitted -->(21f57)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>vitest</strong>:
<ul>
<li>Handle single <code>await vi.hoisted</code>  -  by <a
href="/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/4962">vitest-dev/vitest#4962</a>
<a href="/vitest-dev/vitest/commit/dcf2e9f2"><!-- raw
HTML omitted -->(dcf2e)<!-- raw HTML omitted --></a></li>
<li>Simplify hoist transform check regex to avoid expensive regex match
 -  by <a href="/hi-ogawa"><code>@​hi-ogawa</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/4974">vitest-dev/vitest#4974</a>
<a href="/vitest-dev/vitest/commit/df0db6a9"><!-- raw
HTML omitted -->(df0db)<!-- raw HTML omitted --></a></li>
<li>Correctly find module if it has a version query  -  by <a
href="/sheremet-va"><code>@​sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/4976">vitest-dev/vitest#4976</a>
<a href="/vitest-dev/vitest/commit/952c31df"><!-- raw
HTML omitted -->(952c3)<!-- raw HTML omitted --></a></li>
<li>Check color support for intercepted console logging  -  by <a
href="/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/4966">vitest-de…
…elopmentseed#347)

Bumps
[@geoarrow/deck.gl-layers](https://github.com/geoarrow/deck.gl-layers)
from 0.3.0-beta.8 to 0.3.0-beta.11.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/geoarrow/deck.gl-layers/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@geoarrow/deck.gl-layers&package-manager=npm_and_yarn&previous-version=0.3.0-beta.8&new-version=0.3.0-beta.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the deck-loaders-luma group with 4 updates:
[@deck.gl/core](https://github.com/visgl/deck.gl),
[@deck.gl/extensions](https://github.com/visgl/deck.gl),
[@deck.gl/layers](https://github.com/visgl/deck.gl) and
[@deck.gl/react](https://github.com/visgl/deck.gl).

Updates `@deck.gl/core` from 8.9.33 to 8.9.34
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/visgl/deck.gl/releases"><code>@​deck.gl/core's
releases</code></a>.</em></p>
<blockquote>
<h2>v8.9.34</h2>
<ul>
<li>CARTO: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li>v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li>CARTO: fix support for quantile color scale in numeric columns for
static quadbin/h3 tilesets (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8347">#8347</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/visgl/deck.gl/blob/v8.9.34/CHANGELOG.md"><code>@​deck.gl/core's
changelog</code></a>.</em></p>
<blockquote>
<h4>deck.gl [8.9.34] - Fri 19 2024</h4>
<ul>
<li>CARTO: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li>v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li>CARTO: fix support for quantile color scale in numeric columns for
static quadbin/h3 tilesets (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8347">#8347</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/visgl/deck.gl/commit/8bc9e5fe32fa835caad70dd65ba00016a6958940"><code>8bc9e5f</code></a>
v8.9.34</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/52a232b1e4c665c52a2f8fe063eb64c54a2fb532"><code>52a232b</code></a>
carto(v8.9): fix CartoLayer tests (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8436">#8436</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/69f2c869b39346205ade11700327355388fae6b7"><code>69f2c86</code></a>
carto: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/64c4a01b57c9055027068f198290cb2c77e9b5dd"><code>64c4a01</code></a>
v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/f19670d190f27c37e39e048de05b0d102463e6a5"><code>f19670d</code></a>
carto/fetchMap: fix support for quantile color scale in numeric columns
for s...</li>
<li>See full diff in <a
href="https://github.com/visgl/deck.gl/compare/v8.9.33...v8.9.34">compare
view</a></li>
</ul>
</details>
<br />

Updates `@deck.gl/extensions` from 8.9.33 to 8.9.34
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/visgl/deck.gl/releases"><code>@​deck.gl/extensions's
releases</code></a>.</em></p>
<blockquote>
<h2>v8.9.34</h2>
<ul>
<li>CARTO: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li>v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li>CARTO: fix support for quantile color scale in numeric columns for
static quadbin/h3 tilesets (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8347">#8347</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/visgl/deck.gl/blob/v8.9.34/CHANGELOG.md"><code>@​deck.gl/extensions's
changelog</code></a>.</em></p>
<blockquote>
<h4>deck.gl [8.9.34] - Fri 19 2024</h4>
<ul>
<li>CARTO: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li>v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li>CARTO: fix support for quantile color scale in numeric columns for
static quadbin/h3 tilesets (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8347">#8347</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/visgl/deck.gl/commit/8bc9e5fe32fa835caad70dd65ba00016a6958940"><code>8bc9e5f</code></a>
v8.9.34</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/52a232b1e4c665c52a2f8fe063eb64c54a2fb532"><code>52a232b</code></a>
carto(v8.9): fix CartoLayer tests (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8436">#8436</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/69f2c869b39346205ade11700327355388fae6b7"><code>69f2c86</code></a>
carto: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/64c4a01b57c9055027068f198290cb2c77e9b5dd"><code>64c4a01</code></a>
v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/f19670d190f27c37e39e048de05b0d102463e6a5"><code>f19670d</code></a>
carto/fetchMap: fix support for quantile color scale in numeric columns
for s...</li>
<li>See full diff in <a
href="https://github.com/visgl/deck.gl/compare/v8.9.33...v8.9.34">compare
view</a></li>
</ul>
</details>
<br />

Updates `@deck.gl/layers` from 8.9.33 to 8.9.34
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/visgl/deck.gl/releases"><code>@​deck.gl/layers's
releases</code></a>.</em></p>
<blockquote>
<h2>v8.9.34</h2>
<ul>
<li>CARTO: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li>v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li>CARTO: fix support for quantile color scale in numeric columns for
static quadbin/h3 tilesets (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8347">#8347</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/visgl/deck.gl/blob/v8.9.34/CHANGELOG.md"><code>@​deck.gl/layers's
changelog</code></a>.</em></p>
<blockquote>
<h4>deck.gl [8.9.34] - Fri 19 2024</h4>
<ul>
<li>CARTO: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li>v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li>CARTO: fix support for quantile color scale in numeric columns for
static quadbin/h3 tilesets (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8347">#8347</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/visgl/deck.gl/commit/8bc9e5fe32fa835caad70dd65ba00016a6958940"><code>8bc9e5f</code></a>
v8.9.34</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/52a232b1e4c665c52a2f8fe063eb64c54a2fb532"><code>52a232b</code></a>
carto(v8.9): fix CartoLayer tests (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8436">#8436</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/69f2c869b39346205ade11700327355388fae6b7"><code>69f2c86</code></a>
carto: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/64c4a01b57c9055027068f198290cb2c77e9b5dd"><code>64c4a01</code></a>
v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/f19670d190f27c37e39e048de05b0d102463e6a5"><code>f19670d</code></a>
carto/fetchMap: fix support for quantile color scale in numeric columns
for s...</li>
<li>See full diff in <a
href="https://github.com/visgl/deck.gl/compare/v8.9.33...v8.9.34">compare
view</a></li>
</ul>
</details>
<br />

Updates `@deck.gl/react` from 8.9.33 to 8.9.34
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/visgl/deck.gl/releases"><code>@​deck.gl/react's
releases</code></a>.</em></p>
<blockquote>
<h2>v8.9.34</h2>
<ul>
<li>CARTO: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li>v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li>CARTO: fix support for quantile color scale in numeric columns for
static quadbin/h3 tilesets (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8347">#8347</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/visgl/deck.gl/blob/v8.9.34/CHANGELOG.md"><code>@​deck.gl/react's
changelog</code></a>.</em></p>
<blockquote>
<h4>deck.gl [8.9.34] - Fri 19 2024</h4>
<ul>
<li>CARTO: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li>v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li>CARTO: fix support for quantile color scale in numeric columns for
static quadbin/h3 tilesets (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8347">#8347</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/visgl/deck.gl/commit/8bc9e5fe32fa835caad70dd65ba00016a6958940"><code>8bc9e5f</code></a>
v8.9.34</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/52a232b1e4c665c52a2f8fe063eb64c54a2fb532"><code>52a232b</code></a>
carto(v8.9): fix CartoLayer tests (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8436">#8436</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/69f2c869b39346205ade11700327355388fae6b7"><code>69f2c86</code></a>
carto: fetchLayerData to support columns prop for query sources (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8412">#8412</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/64c4a01b57c9055027068f198290cb2c77e9b5dd"><code>64c4a01</code></a>
v8 audit Layer#isLoaded implementations (<a
href="https://redirect.github.com/visgl/deck.gl/issues/8290">#8290</a>)</li>
<li><a
href="https://github.com/visgl/deck.gl/commit/f19670d190f27c37e39e048de05b0d102463e6a5"><code>f19670d</code></a>
carto/fetchMap: fix support for quantile color scale in numeric columns
for s...</li>
<li>See full diff in <a
href="https://github.com/visgl/deck.gl/compare/v8.9.33...v8.9.34">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
We really do have to check for both null and undefined when passing
props down to layers.

Previously this was breaking the bitmap layer

Ref developmentseed#274
Maplibre v4 breaks the basemap in the static HTML export
### Change list

- Documentation for integrating with shiny, panel, geopandas,
geoarrow-rust, jupyter widgets
## Available PR templates

<!--
Github doesn't allow PR template selection the same way that it is
possible with issues.
  Preview this and select the appropriate template
-->

- [Default](?expand=1&template=default.md)
- [Version Release](?expand=1&template=version_release.md)
- _Alternatively delete and start empty_
### Changelog

- Add `DataFilterExtension` example
- Move layer extensions out of `experimental`
The arc layer was accidentally [rendering "flat"
lines](https://deck.gl/docs/api-reference/layers/arc-layer#getheight) by
default because we were unintentionally passing `0` as a default value.
Instead we pass in `None` to "unset" a default value
Lonboard currently throws an exception on the input data from the latest
main of geoarrow-rs because it exposes metadata of the type `{"crs":
null, "edges": null}`, and we were trying to construct `CRS(None)`.
Depends on developmentseed#372

Needs docs; hasn't been tested yet
## Available PR templates

- EPIC
- Bug Report (Coming soon)
## Available PR templates

- EPIC
- User Bug Report (new)
## Available PR templates

- EPIC
- Bug report
This also improves the CLI UX as features aren't just _black_. The CLI
is really usable now; like [mbview](https://github.com/mapbox/mbview)
but without a local server running.


https://github.com/developmentseed/lonboard/assets/15164633/22d94dab-6dd8-464e-a248-7f142a438730

Closes developmentseed#380, closes
developmentseed#281
When operating on _sliced_ input, the physical offsets are incorrect
because the current array points to a range not at the beginning of the
array. So when creating new arrays that are not sliced, we need to
subtract off the original offset of the first element.

This is the primary bug from
developmentseed#390
Previously I had accidentally been reprojecting 4326 input because I was
checking against the OGC_84 definition and not also EPSG_4326
The third bug found when looking into
developmentseed#390.

I can't believe I'd never hit this before, but I was using the x
coordinate values to update the _y_ value of the weighted centroid. So
you'd potentially get this error for any large datasets in the western
hemisphere.
Adds NormalAccessor and draft tests
Respond to comments on developmentseed#328 and move recent work here. Branch developmentseed#328 will
be deleted

---------

Co-authored-by: Kyle Barron <kyle@developmentseed.org>
kylebarron and others added 7 commits June 18, 2025 14:51
…string for the height of the lonboard div.

set the map div inside the lonboard div to be 100% height/width always
…not an integer so we can pass values like '300px' or '100%'

set the height/width of the layout of the widget to 100%

mark the body overflow to hidden so if it's inside a smaller container, it wont overrun it or make some scroll bars show up
shows the behavior of the height functionality
@ATL2001 ATL2001 changed the title replace map _height with height feat: replace map _height with height Jun 22, 2025
@github-actions github-actions bot added the feat label Jun 22, 2025
dependabot bot and others added 2 commits June 23, 2025 16:10
…elopmentseed#817)

Bumps
[ytanikin/pr-conventional-commits](https://github.com/ytanikin/pr-conventional-commits)
from 1.4.0 to 1.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ytanikin/pr-conventional-commits/releases">ytanikin/pr-conventional-commits's
releases</a>.</em></p>
<blockquote>
<h2>1.4.1</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/ytanikin/pr-conventional-commits/compare/1.4.0...1.4.1">https://github.com/ytanikin/pr-conventional-commits/compare/1.4.0...1.4.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ytanikin/pr-conventional-commits/commit/8267db1bacc237419f9ed0228bb9d94e94271a1d"><code>8267db1</code></a>
docs: update readme, add scope infomration</li>
<li><a
href="https://github.com/ytanikin/pr-conventional-commits/commit/3ae6b82a153621cd7c4e8c023eb7c06084d41778"><code>3ae6b82</code></a>
docs: update readme, add scope infomration</li>
<li>See full diff in <a
href="https://github.com/ytanikin/pr-conventional-commits/compare/1.4.0...1.4.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ytanikin/pr-conventional-commits&package-manager=github_actions&previous-version=1.4.0&new-version=1.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
lonboard/_map.py Outdated
@@ -177,7 +179,7 @@ def on_click(self, callback: Callable, *, remove: bool = False) -> None:
Indicates if a click handler has been registered.
"""

_height = t.Int(default_value=DEFAULT_HEIGHT, allow_none=True).tag(sync=True)
height = t.Unicode(default_value=DEFAULT_HEIGHT).tag(sync=True)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really want to have a breaking change here, so if we allow strings here, it should be a t.Union of strings and integers (or at least we need to validate that we can pass in an integer and it'll get converted to a string, but we probably want to add a px suffix?)

@kylebarron
Copy link
Member

kylebarron commented Jun 24, 2025

It would be really nice if the HTML export automatically filled the entire window:

Map([]).to_html("test.html")

gives:
image

@ATL2001
Copy link
Contributor Author

ATL2001 commented Jun 25, 2025

oh yeah, this exporting as height 100% looks really sharp! you want a map, you get a map! 💥

lonboard/_map.py Outdated
)
original_height = self.height
try:
self.height = "100%"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this cause the JS side to be janky? Is there a way to set this without causing a JS side re-render?

Like maybe use hold_trait_notifications to avoid sending any new events while temporarily setting .height? https://traitlets.readthedocs.io/en/stable/using_traitlets.html#holding-trait-cross-validation-and-notifications

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good call, I didn't notice that re-rendering happening

src/index.tsx Outdated
Comment on lines 217 to 221
let height = String(mapHeight);
if (typeof mapHeight === "number") {
// if a number is used for height, assume pixels
height = height + "px";
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking of suggesting this validation be done on the Python side, so the Python side is always sending a string to the JS side. There are several places that we already use custom validators

ATL2001 added 2 commits June 28, 2025 07:32
…ck when going to html.

convert height to string on python side
@kylebarron
Copy link
Member

kylebarron commented Jun 30, 2025

To fix CI you can run uv run --group dev pre-commit run --all-files and then commit the output. The formatter is failing on the notebook

@ATL2001
Copy link
Contributor Author

ATL2001 commented Jul 1, 2025

I was planning on deleting that notebook eventually, but i went ahead and fixed it up, but I'm not sure what this new error means :(

@kylebarron
Copy link
Member

If you look at the git diff, you did something to change the symlinks. And so the docs website build isn't able to find the index.md (pointing to the top-level README)

@ATL2001
Copy link
Contributor Author

ATL2001 commented Jul 2, 2025

weird, that uv run --group dev pre-commit run --all-files added blank newlines at the end of the .md files which seems to have broken the docs somehow (I wonder if it's somehow related to me working on this from my windows machine?) I deleted them and all the checks passed now though! 🎉

when I run that pre-commit this is what it tells me:
{7C2159E8-1980-4465-B6F3-F269188C1BAF}

@kylebarron
Copy link
Member

Because of #820, I had to rewrite history to remove 140MB of accidentally-committed files at the start of the project. So this PR is now all messed up; apologies for that. Maybe it would be best to start a new PR from scratch 🫣 🙈

@ATL2001
Copy link
Contributor Author

ATL2001 commented Jul 13, 2025

I don’t have my computer this week but should have some time in the evenings next week to get to this

@kylebarron
Copy link
Member

No worry, I should be able to recreate the PR too. I should've realized the git history rewrite would mess up WIP PRs.

I don't think I checked the last commit on this branch to see if it seemed functional with all our notebook targets. It sadly requires manual testing to verify if it works with all backends

@kylebarron
Copy link
Member

I took a quick look but I don't think my git skills are good enough to figure out how to rebase this PR onto the current main. Somehow we only want to keep the last 10 commits or so

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.