From 3eae34f006393b81951cfece884ddc2f5080afaa Mon Sep 17 00:00:00 2001 From: Tim Paine <3105306+timkpaine@users.noreply.github.com> Date: Sat, 2 Aug 2025 16:46:08 -0400 Subject: [PATCH 1/3] Migrate js and jupyter to hatch-js --- cpp/.gitignore.jinja | 3 +++ js/.gitignore.jinja | 3 +++ js/js/package.json.jinja | 12 ++++++------ js/pyproject.toml.jinja | 25 ++++++------------------- jupyter/.gitignore.jinja | 3 +++ jupyter/pyproject.toml.jinja | 29 ++++++++--------------------- python/.gitignore.jinja | 3 +++ rust/.gitignore.jinja | 3 +++ 8 files changed, 35 insertions(+), 46 deletions(-) diff --git a/cpp/.gitignore.jinja b/cpp/.gitignore.jinja index 9de3414..cd4b688 100644 --- a/cpp/.gitignore.jinja +++ b/cpp/.gitignore.jinja @@ -139,10 +139,13 @@ js/dist js/lib js/node_modules js/*.tgz +{{module}}/extension # Jupyter .ipynb_checkpoints .autoversion +!{{module}}/extension/{{module}}.json +!{{module}}/extension/install.json {{module}}/nbextension {{module}}/labextension diff --git a/js/.gitignore.jinja b/js/.gitignore.jinja index 9de3414..cd4b688 100644 --- a/js/.gitignore.jinja +++ b/js/.gitignore.jinja @@ -139,10 +139,13 @@ js/dist js/lib js/node_modules js/*.tgz +{{module}}/extension # Jupyter .ipynb_checkpoints .autoversion +!{{module}}/extension/{{module}}.json +!{{module}}/extension/install.json {{module}}/nbextension {{module}}/labextension diff --git a/js/js/package.json.jinja b/js/js/package.json.jinja index 3728033..c8b8293 100644 --- a/js/js/package.json.jinja +++ b/js/js/package.json.jinja @@ -42,15 +42,15 @@ "dependencies": {}, "devDependencies": { "@finos/perspective-esbuild-plugin": "^3.2.1", - "@playwright/test": "^1.52.0", - "@prospective.co/procss": "^0.1.16", + "@playwright/test": "^1.54.2", + "@prospective.co/procss": "^0.1.17", "cpy": "^11.1.0", - "esbuild": "^0.25.4", - "esbuild-plugin-less": "^1.3.22", + "esbuild": "^0.25.5", + "esbuild-plugin-less": "^1.3.25", "http-server": "^14.1.1", "nodemon": "^3.1.10", "npm-run-all": "^4.1.5", - "prettier": "^3.5.3", - "typescript": "^5.8.3" + "prettier": "^3.6.2", + "typescript": "^5.9.2" } } diff --git a/js/pyproject.toml.jinja b/js/pyproject.toml.jinja index 7d89f5f..51df775 100644 --- a/js/pyproject.toml.jinja +++ b/js/pyproject.toml.jinja @@ -1,8 +1,5 @@ [build-system] -requires = [ - "hatchling", - "hatch-jupyter-builder", -] +requires = ["hatchling", "hatch-js"] build-backend="hatchling.build" [project] @@ -36,7 +33,7 @@ develop = [ "bump-my-version", "check-manifest", "codespell>=2.4,<2.5", - "hatch-jupyter-builder", + "hatch-js", "hatchling", "mdformat>=0.7.22,<0.8", "mdformat-tables>=1", @@ -120,22 +117,12 @@ exclude = [ "/js" ] -[tool.hatch.build.hooks.jupyter-builder] -build-function = "hatch_jupyter_builder.npm_builder" -ensured-targets = [ - "{{module}}/extension/cdn/index.js", -] -skip-if-exists = [ - "{{module}}/extension/cdn/index.js", -] -dependencies = [ - "hatch-jupyter-builder", -] - -[tool.hatch.build.hooks.jupyter-builder.build-kwargs] +[tool.hatch.build.hooks.hatch-js] path = "js" +install_cmd = "install" build_cmd = "build" -npm = "pnpm" +tool = "pnpm" +targets = ["{{module}}/extension/cdn/index.js"] [tool.pytest.ini_options] addopts = ["-vvv", "--junitxml=junit.xml"] diff --git a/jupyter/.gitignore.jinja b/jupyter/.gitignore.jinja index 9de3414..cd4b688 100644 --- a/jupyter/.gitignore.jinja +++ b/jupyter/.gitignore.jinja @@ -139,10 +139,13 @@ js/dist js/lib js/node_modules js/*.tgz +{{module}}/extension # Jupyter .ipynb_checkpoints .autoversion +!{{module}}/extension/{{module}}.json +!{{module}}/extension/install.json {{module}}/nbextension {{module}}/labextension diff --git a/jupyter/pyproject.toml.jinja b/jupyter/pyproject.toml.jinja index 5ec584f..4bcdcd0 100644 --- a/jupyter/pyproject.toml.jinja +++ b/jupyter/pyproject.toml.jinja @@ -1,9 +1,5 @@ [build-system] -requires = [ - "hatchling", - "hatch-jupyter-builder", - "jupyterlab>=4,<5", -] +requires = ["hatchling", "hatch-js", "jupyterlab>=4,<5"] build-backend="hatchling.build" [project] @@ -38,8 +34,8 @@ develop = [ "build", "bump-my-version", "check-manifest", - "hatch-jupyter-builder", "codespell>=2.4,<2.5", + "hatch-js", "hatchling", "mdformat>=0.7.22,<0.8", "mdformat-tables>=1", @@ -132,24 +128,15 @@ exclude = [ "{{module}}/extension/install.json" = "share/jupyter/labextensions/{{module}}/install.json" "{{module}}/extension/{{module}}.json" = "etc/jupyter/jupyter_server_config.d/{{module}}.json" -[tool.hatch.build.hooks.jupyter-builder] -build-function = "hatch_jupyter_builder.npm_builder" -ensured-targets = [ - "{{module}}/nbextension/static/notebook.js", - "{{module}}/labextension/package.json", -] -skip-if-exists = [ +[tool.hatch.build.hooks.hatch-js] +path = "js" +install_cmd = "install" +build_cmd = "build" +tool = "pnpm" +targets = [ "{{module}}/nbextension/static/notebook.js", "{{module}}/labextension/package.json", ] -dependencies = [ - "hatch-jupyter-builder", -] - -[tool.hatch.build.hooks.jupyter-builder.build-kwargs] -path = "js" -build_cmd = "build" -npm = "pnpm" [tool.pytest.ini_options] addopts = ["-vvv", "--junitxml=junit.xml"] diff --git a/python/.gitignore.jinja b/python/.gitignore.jinja index 9de3414..cd4b688 100644 --- a/python/.gitignore.jinja +++ b/python/.gitignore.jinja @@ -139,10 +139,13 @@ js/dist js/lib js/node_modules js/*.tgz +{{module}}/extension # Jupyter .ipynb_checkpoints .autoversion +!{{module}}/extension/{{module}}.json +!{{module}}/extension/install.json {{module}}/nbextension {{module}}/labextension diff --git a/rust/.gitignore.jinja b/rust/.gitignore.jinja index 9de3414..cd4b688 100644 --- a/rust/.gitignore.jinja +++ b/rust/.gitignore.jinja @@ -139,10 +139,13 @@ js/dist js/lib js/node_modules js/*.tgz +{{module}}/extension # Jupyter .ipynb_checkpoints .autoversion +!{{module}}/extension/{{module}}.json +!{{module}}/extension/install.json {{module}}/nbextension {{module}}/labextension From f0ee46e1419decd7f0c138af32dd0203f924b062 Mon Sep 17 00:00:00 2001 From: Tim Paine <3105306+timkpaine@users.noreply.github.com> Date: Sat, 2 Aug 2025 16:52:09 -0400 Subject: [PATCH 2/3] include extension in check manifest ignore list --- jupyter/pyproject.toml.jinja | 1 + 1 file changed, 1 insertion(+) diff --git a/jupyter/pyproject.toml.jinja b/jupyter/pyproject.toml.jinja index 4bcdcd0..629607f 100644 --- a/jupyter/pyproject.toml.jinja +++ b/jupyter/pyproject.toml.jinja @@ -80,6 +80,7 @@ ignore = [ "js/pnpm-lock.yaml", "Makefile", ".vscode/*", + "{{module}}/extension/**", "{{module}}/labextension/**", "{{module}}/nbextension/**", "docs/**/*", From 31de4a0a69b8c6295dc3c5b3290c128214f63698 Mon Sep 17 00:00:00 2001 From: Tim Paine <3105306+timkpaine@users.noreply.github.com> Date: Sat, 2 Aug 2025 16:53:34 -0400 Subject: [PATCH 3/3] Better names for publish docs and publish wiki --- .../workflows/{% if add_docs %}docs.yaml{% endif %}.jinja | 3 ++- .../workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja | 2 +- .../workflows/{% if add_docs %}docs.yaml{% endif %}.jinja | 3 ++- .../workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja | 2 +- .../workflows/{% if add_docs %}docs.yaml{% endif %}.jinja | 3 ++- .../workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja | 2 +- .../workflows/{% if add_docs %}docs.yaml{% endif %}.jinja | 3 ++- .../workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja | 2 +- .../workflows/{% if add_docs %}docs.yaml{% endif %}.jinja | 3 ++- .../workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja | 2 +- 10 files changed, 15 insertions(+), 10 deletions(-) diff --git a/cpp/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja b/cpp/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja index e64030a..9d0305f 100644 --- a/cpp/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja +++ b/cpp/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja @@ -1,4 +1,5 @@ -name: Docs +name: Public Docs + on: push: branches: diff --git a/cpp/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja b/cpp/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja index d5f3b74..8de232b 100644 --- a/cpp/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja +++ b/cpp/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja @@ -1,4 +1,4 @@ -name: Publish Docs +name: Publish Wiki on: push: diff --git a/js/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja b/js/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja index 67455f3..be76e32 100644 --- a/js/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja +++ b/js/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja @@ -1,4 +1,5 @@ -name: Docs +name: Public Docs + on: push: branches: diff --git a/js/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja b/js/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja index d5f3b74..8de232b 100644 --- a/js/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja +++ b/js/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja @@ -1,4 +1,4 @@ -name: Publish Docs +name: Publish Wiki on: push: diff --git a/jupyter/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja b/jupyter/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja index 67455f3..be76e32 100644 --- a/jupyter/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja +++ b/jupyter/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja @@ -1,4 +1,5 @@ -name: Docs +name: Public Docs + on: push: branches: diff --git a/jupyter/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja b/jupyter/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja index d5f3b74..8de232b 100644 --- a/jupyter/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja +++ b/jupyter/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja @@ -1,4 +1,4 @@ -name: Publish Docs +name: Publish Wiki on: push: diff --git a/python/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja b/python/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja index e64030a..9d0305f 100644 --- a/python/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja +++ b/python/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja @@ -1,4 +1,5 @@ -name: Docs +name: Public Docs + on: push: branches: diff --git a/python/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja b/python/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja index d5f3b74..8de232b 100644 --- a/python/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja +++ b/python/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja @@ -1,4 +1,4 @@ -name: Publish Docs +name: Publish Wiki on: push: diff --git a/rust/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja b/rust/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja index dfe01de..9ef1e6a 100644 --- a/rust/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja +++ b/rust/.github/workflows/{% if add_docs %}docs.yaml{% endif %}.jinja @@ -1,4 +1,5 @@ -name: Docs +name: Public Docs + on: push: branches: diff --git a/rust/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja b/rust/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja index d5f3b74..8de232b 100644 --- a/rust/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja +++ b/rust/.github/workflows/{% if add_wiki %}wiki.yaml{% endif %}.jinja @@ -1,4 +1,4 @@ -name: Publish Docs +name: Publish Wiki on: push: