Files
zeekayandHanzo Dev f06484d727 jupyter names the ranges JupyterLab reads
With the build running again, the extension it makes did not load.
`jupyter labextension build` copies package.json into the labextension,
and JupyterLab compares every package it shares as a singleton (react,
@jupyterlab/*, @lumino/*) with its own whenever it lists or loads an
extension; before 4.6 it also compared @jupyterlab/builder when it built.
09997dba had moved those entries to `catalog:`, which is no range to it.
With the extension installed in JupyterLab 4.6.3, `jupyter labextension
list` stopped on "ValueError: Invalid SemVer Range: catalog:".

Those entries name ranges again, the ones they had before 09997dba:
^4.0.0 for @jupyterlab/* and the builder, ^2.0.0 for @lumino/widgets,
matching the README's and pyproject's JupyterLab >= 4.0. React is
^18.2.0 || ^19.0.0: JupyterLab 4 shares React 18 with its extensions, and
the workspace resolves 19.2.8. Nothing else used the eight catalog
entries, so they go. JupyterLab does not read @hanzo/ai or @hanzo/iam,
which stay on the catalog. Every direct dependency resolves to the
version it did; re-resolving settled @jupyterlab/nbformat and terser on
4.6.3 and 5.51.2, which the lockfile already held.

Built this way and installed, the extension lists as "enabled OK" on
JupyterLab 4.6.3, and its panel opens in Chromium. test/manifest.test.ts
fails on the old manifest.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-19 09:14:56 -07:00
..