From f45b08ab34a011b6bea40698636b21813f891e51 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2026 23:46:17 +0000 Subject: [PATCH 1/3] Update from copier (2026-04-02T23:46:16) Signed-off-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- .copier-answers.yaml | 2 +- .gitattributes | 1 - .github/workflows/build.yaml | 41 +++++++++++++---------- .gitignore | 28 ++++------------ js/build.mjs | 41 +++++++++++------------ js/package.json | 15 ++++----- js/src/{less/index.less => css/index.css} | 0 pyproject.toml | 5 +-- 8 files changed, 60 insertions(+), 73 deletions(-) rename js/src/{less/index.less => css/index.css} (100%) diff --git a/.copier-answers.yaml b/.copier-answers.yaml index 2088c4e..6905b34 100644 --- a/.copier-answers.yaml +++ b/.copier-answers.yaml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: 08a244d +_commit: fead162 _src_path: https://github.com/python-project-templates/base.git add_docs: true add_extension: cppjswasm diff --git a/.gitattributes b/.gitattributes index df3e022..971a600 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,7 +9,6 @@ Makefile linguist-documentation *.html text=auto eol=lf *.js text=auto eol=lf *.json text=auto eol=lf -*.less text=auto eol=lf *.md text=auto eol=lf *.py text=auto eol=lf *.toml text=auto eol=lf diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index df60a60..4e611a5 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -66,9 +66,6 @@ jobs: run: make checks if: matrix.os == 'ubuntu-latest' - - name: Build - run: make build - - name: Test run: make coverage @@ -76,44 +73,52 @@ jobs: uses: actions/upload-artifact@v7 with: name: test-results-${{ matrix.os }}-${{ matrix.python-version }} - path: '**/junit.xml' - if: matrix.os == 'ubuntu-latest' + path: junit.xml + if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11' - name: Publish Unit Test Results uses: EnricoMi/publish-unit-test-result-action@v2 with: files: '**/junit.xml' - if: matrix.os == 'ubuntu-latest' + if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11' - name: Upload coverage - uses: codecov/codecov-action@v5 + uses: codecov/codecov-action@v6 with: token: ${{ secrets.CODECOV_TOKEN }} - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - with: - platforms: all - if: runner.os == 'Linux' && runner.arch == 'X64' + - name: Install build dependencies + run: pip install cibuildwheel - - name: Make dist + - name: Make dist (Linux) run: | make dist-py-sdist make dist-py-wheel make dist-check env: CIBW_BUILD: "${{ matrix.cibuildwheel }}-manylinux*" + CIBW_BUILD_VERBOSITY: 3 if: matrix.os == 'ubuntu-latest' - - name: Make dist + - name: Make dist (Macos) run: | make dist-py-wheel - make dist-check env: - CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.0 - if: matrix.os != 'ubuntu-latest' + CIBW_BUILD: "${{ matrix.cibuildwheel }}-macos*" + CIBW_BUILD_VERBOSITY: 3 + if: matrix.os == 'macos-latest' + + - name: Make dist (Windows) + run: | + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + make dist-py-wheel + shell: cmd + env: + CIBW_BUILD: "${{ matrix.cibuildwheel }}-win_amd64" + CIBW_BEFORE_ALL: call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + if: matrix.os == 'windows-latest' - uses: actions/upload-artifact@v7 with: - name: dist-${{matrix.os}} + name: dist-${{matrix.os}}-${{matrix.python-version}} path: dist diff --git a/.gitignore b/.gitignore index 3bee772..d108797 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,9 @@ __pycache__/ *.exp *.lib +# Rust +target + # Distribution / packaging .Python build/ @@ -55,26 +58,12 @@ junit.xml .hypothesis/ .pytest_cache/ -# Translations -*.mo -*.pot - -# Django stuff: +# Django *.log local_settings.py db.sqlite3 db.sqlite3-journal -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# PyBuilder -target/ - # IPython profile_default/ ipython_config.py @@ -85,15 +74,12 @@ ipython_config.py # pipenv Pipfile.lock -# PEP 582; used by e.g. github.com/David-OConnor/pyflow -__pypackages__/ - -# Celery stuff +# Celery celerybeat-schedule celerybeat.pid -# SageMath parsed files -*.sage.py +# Airspeed Velocity +.asv # Environments .env diff --git a/js/build.mjs b/js/build.mjs index efd2ef6..4877fa3 100644 --- a/js/build.mjs +++ b/js/build.mjs @@ -1,10 +1,9 @@ import { NodeModulesExternal } from "@finos/perspective-esbuild-plugin/external.js"; import { build } from "@finos/perspective-esbuild-plugin/build.js"; -import { BuildCss } from "@prospective.co/procss/target/cjs/procss.js"; +import { transform } from "lightningcss"; import { getarg } from "./tools/getarg.mjs"; import fs from "fs"; import cpy from "cpy"; -import path_mod from "path"; const DEBUG = getarg("--debug"); @@ -40,31 +39,29 @@ const BUILD = [ async function compile_css() { const process_path = (path) => { - const outpath = path.replace("src/less", "dist/css"); + const outpath = path.replace("src/css", "dist/css"); fs.mkdirSync(outpath, { recursive: true }); - fs.readdirSync(path).forEach((file_or_folder) => { - if (file_or_folder.endsWith(".less")) { - const outfile = file_or_folder.replace(".less", ".css"); - const builder = new BuildCss(""); - builder.add( - `${path}/${file_or_folder}`, - fs - .readFileSync(path_mod.join(`${path}/${file_or_folder}`)) - .toString(), - ); - fs.writeFileSync( - `${path.replace("src/less", "dist/css")}/${outfile}`, - builder.compile().get(outfile), - ); - } else { - process_path(`${path}/${file_or_folder}`); + fs.readdirSync(path, { withFileTypes: true }).forEach((entry) => { + const input = `${path}/${entry.name}`; + const output = `${outpath}/${entry.name}`; + + if (entry.isDirectory()) { + process_path(input); + } else if (entry.isFile() && entry.name.endsWith(".css")) { + const source = fs.readFileSync(input); + const { code } = transform({ + filename: entry.name, + code: source, + minify: !DEBUG, + sourceMap: false, + }); + fs.writeFileSync(output, code); } }); }; - // recursively process all less files in src/less - process_path("src/less"); - cpy("src/css/*", "dist/css/"); + + process_path("src/css"); } async function copy_html() { diff --git a/js/package.json b/js/package.json index 84f8eba..8c1a4ca 100644 --- a/js/package.json +++ b/js/package.json @@ -32,10 +32,10 @@ "build": "npm-run-all build:cpp build:prod", "clean": "rm -rf dist lib playwright-report ../python_template_cppjswasm/extension", "dev": "npm-run-all -p start watch", - "lint:js": "prettier --check \"src/**/*.{js,ts,jsx,tsx,less,css}\" \"tests/**/*.{js,ts,jsx,tsx}\" \"*.mjs\" \"*.json\"", + "lint:js": "prettier --check \"src/**/*.{js,ts,jsx,tsx,css}\" \"tests/**/*.{js,ts,jsx,tsx}\" \"*.mjs\" \"*.json\"", "lint:cpp": "clang-format --dry-run -Werror -style=file:../.clang-format src/cpp/*.cpp", "lint": "npm-run-all lint:*", - "fix:js": "prettier --write \"src/**/*.{js,ts,jsx,tsx,less,css}\" \"tests/**/*.{js,ts,jsx,tsx}\" \"*.mjs\" \"*.json\"", + "fix:js": "prettier --write \"src/**/*.{js,ts,jsx,tsx,css}\" \"tests/**/*.{js,ts,jsx,tsx}\" \"*.mjs\" \"*.json\"", "fix:cpp": "clang-format -i -style=file:../.clang-format src/cpp/*.cpp", "fix": "npm-run-all fix:*", "preinstall": "npx only-allow pnpm", @@ -44,20 +44,19 @@ "start:tests": "http-server -p 3000 ", "test:js": "playwright test", "test": "npm-run-all test:*", - "watch": "nodemon --watch src -e ts,less,html,cpp,hpp --exec \"pnpm build:debug\"" + "watch": "nodemon --watch src -e ts,css,html,cpp,hpp --exec \"pnpm build:debug\"" }, "dependencies": {}, "devDependencies": { "@finos/perspective-esbuild-plugin": "^3.2.1", - "@playwright/test": "^1.56.1", - "@prospective.co/procss": "^0.1.17", - "cpy": "^12.1.0", + "@playwright/test": "^1.59.0", + "cpy": "^13.2.1", "esbuild": "^0.27.2", - "esbuild-plugin-less": "^1.3.35", + "lightningcss": "^1.29.3", "http-server": "^14.1.1", "nodemon": "^3.1.10", "npm-run-all": "^4.1.5", "prettier": "^3.8.1", - "typescript": "^5.9.3" + "typescript": "^6.0.2" } } diff --git a/js/src/less/index.less b/js/src/css/index.css similarity index 100% rename from js/src/less/index.less rename to js/src/css/index.css diff --git a/pyproject.toml b/pyproject.toml index 68a72f5..54c102e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [build-system] requires = [ "hatchling", - "hatch-cpp<0.3", + "hatch-cpp", "hatch-js", "pybind11", ] @@ -42,7 +42,7 @@ develop = [ "check-dist", "cibuildwheel", "codespell", - "hatch-cpp<0.3", + "hatch-cpp", "hatch-js", "hatchling", "pybind11", @@ -106,6 +106,7 @@ branch = true omit = [ "python_template_cppjswasm/tests/integration/", ] + [tool.coverage.report] exclude_also = [ "raise NotImplementedError", From 59a65031537df3df361f6c6ae001427f297db927 Mon Sep 17 00:00:00 2001 From: Tim Paine <3105306+timkpaine@users.noreply.github.com> Date: Thu, 2 Apr 2026 19:49:56 -0400 Subject: [PATCH 2/3] update lockfile --- js/pnpm-lock.yaml | 332 +++++++++++++++++++++++----------------------- 1 file changed, 163 insertions(+), 169 deletions(-) diff --git a/js/pnpm-lock.yaml b/js/pnpm-lock.yaml index 7137d4d..f4bf28d 100644 --- a/js/pnpm-lock.yaml +++ b/js/pnpm-lock.yaml @@ -12,23 +12,20 @@ importers: specifier: ^3.2.1 version: 3.2.1 '@playwright/test': - specifier: ^1.56.1 - version: 1.58.2 - '@prospective.co/procss': - specifier: ^0.1.17 - version: 0.1.18 + specifier: ^1.59.0 + version: 1.59.1 cpy: - specifier: ^12.1.0 - version: 12.1.0 + specifier: ^13.2.1 + version: 13.2.1 esbuild: specifier: ^0.27.2 version: 0.27.3 - esbuild-plugin-less: - specifier: ^1.3.35 - version: 1.3.36(esbuild@0.27.3) http-server: specifier: ^14.1.1 version: 14.1.1 + lightningcss: + specifier: ^1.29.3 + version: 1.32.0 nodemon: specifier: ^3.1.10 version: 3.1.11 @@ -39,8 +36,8 @@ importers: specifier: ^3.8.1 version: 3.8.1 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.2 + version: 6.0.2 packages: @@ -215,21 +212,15 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@playwright/test@1.58.2': - resolution: {integrity: sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==} + '@playwright/test@1.59.1': + resolution: {integrity: sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==} engines: {node: '>=18'} hasBin: true - '@prospective.co/procss@0.1.18': - resolution: {integrity: sha512-odl+Vd/Lm2XdkB223/eghsGS4A5x5q8D9f/vCei2Wb/ljyLCGFWvP7w4Dtglid9xpvDCpJZtogeZASLcitMxug==} - '@sindresorhus/merge-streams@4.0.0': resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@types/less@3.0.8': - resolution: {integrity: sha512-Gjm4+H9noDJgu5EdT3rUw5MhPBag46fiOy27BefvWkNL8mlZnKnCaVVVTLKj6RYXed9b62CPKnPav9govyQDzA==} - ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -323,9 +314,6 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - copy-anything@2.0.6: - resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} - copy-file@11.1.0: resolution: {integrity: sha512-X8XDzyvYaA6msMyAM575CUoygY5b44QzLcGRKsK3MFmXcOvQa518dNPLsKYwkYsn72g3EiW+LE0ytd/FlqWmyw==} engines: {node: '>=18'} @@ -334,8 +322,8 @@ packages: resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==} engines: {node: '>= 0.4.0'} - cpy@12.1.0: - resolution: {integrity: sha512-3z9tP1rPBLG7pQYn9iRgl7JOSew0SMPuWmakaRfzhXpmFBHmRbp7JekpuqPkXbbWOdSeKSbInYEcdIZjov2fNQ==} + cpy@13.2.1: + resolution: {integrity: sha512-/H2B3WW9gccZJKjKoDZsIrDU3MkkHlxgheT82hUbInC5fEdi4+54zyYpFueZT9pLfr5ObrtgN4MsYYrmTmHzeg==} engines: {node: '>=20'} cross-spawn@6.0.6: @@ -371,14 +359,14 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} - hasBin: true - error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} @@ -406,11 +394,6 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} - esbuild-plugin-less@1.3.36: - resolution: {integrity: sha512-LwqW//mAPdJrmoGk9gKh7AvgIg4rDRKwHAIx0JDcRrNkJVTec8FAVU3ml/c/tvzp2dYq7iV9khYMDBbzamUjyg==} - peerDependencies: - esbuild: '>=0.14.0 <=0.27.3' - esbuild@0.27.3: resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} @@ -495,8 +478,8 @@ packages: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} - globby@15.0.0: - resolution: {integrity: sha512-oB4vkQGqlMl682wL1IlWd02tXCbquGWM4voPEI85QmNKCaw8zGTm1f1rubFgkg3Eli2PtKlFgrnmUqasbQWlkw==} + globby@16.2.0: + resolution: {integrity: sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==} engines: {node: '>=20'} gopd@1.2.0: @@ -568,11 +551,6 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} - image-size@0.5.5: - resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} - engines: {node: '>=0.10.0'} - hasBin: true - internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} @@ -648,6 +626,10 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-path-inside@4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} + is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -684,9 +666,6 @@ packages: resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} - is-what@3.14.1: - resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -700,19 +679,80 @@ packages: resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} engines: {node: '>=12.20'} - less@4.5.1: - resolution: {integrity: sha512-UKgI3/KON4u6ngSsnDADsUERqhZknsVZbnuzlRZXLQCmfC/MDld42fTydUE9B+Mla1AL6SJ/Pp6SlEFi/AVGfw==} - engines: {node: '>=14'} - hasBin: true + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} - make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -760,11 +800,6 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - needle@3.3.1: - resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} - engines: {node: '>= 4.4.x'} - hasBin: true - nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} @@ -834,10 +869,6 @@ packages: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} - parse-node-version@1.0.1: - resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} - engines: {node: '>= 0.10'} - path-key@2.0.1: resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} engines: {node: '>=4'} @@ -849,10 +880,6 @@ packages: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} - path-type@6.0.0: - resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==} - engines: {node: '>=18'} - picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -866,17 +893,13 @@ packages: resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} engines: {node: '>=4'} - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - - playwright-core@1.58.2: - resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} + playwright-core@1.59.1: + resolution: {integrity: sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==} engines: {node: '>=18'} hasBin: true - playwright@1.58.2: - resolution: {integrity: sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==} + playwright@1.59.1: + resolution: {integrity: sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==} engines: {node: '>=18'} hasBin: true @@ -893,9 +916,6 @@ packages: engines: {node: '>=14'} hasBin: true - prr@1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} - pstree.remy@1.1.8: resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} @@ -955,10 +975,6 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sax@1.4.4: - resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==} - engines: {node: '>=11.0.0'} - secure-compare@3.0.1: resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} @@ -1019,10 +1035,6 @@ packages: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -1087,9 +1099,6 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -1106,8 +1115,8 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + typescript@6.0.2: + resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==} engines: {node: '>=14.17'} hasBin: true @@ -1118,9 +1127,9 @@ packages: undefsafe@2.0.5: resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} - unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} - engines: {node: '>=18'} + unicorn-magic@0.4.0: + resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} + engines: {node: '>=20'} union@0.5.0: resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} @@ -1265,16 +1274,12 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@playwright/test@1.58.2': + '@playwright/test@1.59.1': dependencies: - playwright: 1.58.2 - - '@prospective.co/procss@0.1.18': {} + playwright: 1.59.1 '@sindresorhus/merge-streams@4.0.0': {} - '@types/less@3.0.8': {} - ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 @@ -1384,10 +1389,6 @@ snapshots: concat-map@0.0.1: {} - copy-anything@2.0.6: - dependencies: - is-what: 3.14.1 - copy-file@11.1.0: dependencies: graceful-fs: 4.2.11 @@ -1395,10 +1396,10 @@ snapshots: corser@2.0.1: {} - cpy@12.1.0: + cpy@13.2.1: dependencies: copy-file: 11.1.0 - globby: 15.0.0 + globby: 16.2.0 junk: 4.0.1 micromatch: 4.0.8 p-filter: 4.1.0 @@ -1448,17 +1449,14 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 + detect-libc@2.1.2: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 es-errors: 1.3.0 gopd: 1.2.0 - errno@0.1.8: - dependencies: - prr: 1.0.1 - optional: true - error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 @@ -1541,12 +1539,6 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - esbuild-plugin-less@1.3.36(esbuild@0.27.3): - dependencies: - '@types/less': 3.0.8 - esbuild: 0.27.3 - less: 4.5.1 - esbuild@0.27.3: optionalDependencies: '@esbuild/aix-ppc64': 0.27.3 @@ -1660,14 +1652,14 @@ snapshots: define-properties: 1.2.1 gopd: 1.2.0 - globby@15.0.0: + globby@16.2.0: dependencies: '@sindresorhus/merge-streams': 4.0.0 fast-glob: 3.3.3 ignore: 7.0.5 - path-type: 6.0.0 + is-path-inside: 4.0.0 slash: 5.1.0 - unicorn-magic: 0.3.0 + unicorn-magic: 0.4.0 gopd@1.2.0: {} @@ -1740,9 +1732,6 @@ snapshots: ignore@7.0.5: {} - image-size@0.5.5: - optional: true - internal-slot@1.1.0: dependencies: es-errors: 1.3.0 @@ -1824,6 +1813,8 @@ snapshots: is-number@7.0.0: {} + is-path-inside@4.0.0: {} + is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -1863,8 +1854,6 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 - is-what@3.14.1: {} - isarray@2.0.5: {} isexe@2.0.0: {} @@ -1873,19 +1862,54 @@ snapshots: junk@4.0.1: {} - less@4.5.1: + lightningcss-android-arm64@1.32.0: + optional: true + + lightningcss-darwin-arm64@1.32.0: + optional: true + + lightningcss-darwin-x64@1.32.0: + optional: true + + lightningcss-freebsd-x64@1.32.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + + lightningcss-linux-arm64-musl@1.32.0: + optional: true + + lightningcss-linux-x64-gnu@1.32.0: + optional: true + + lightningcss-linux-x64-musl@1.32.0: + optional: true + + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss@1.32.0: dependencies: - copy-anything: 2.0.6 - parse-node-version: 1.0.1 - tslib: 2.8.1 + detect-libc: 2.1.2 optionalDependencies: - errno: 0.1.8 - graceful-fs: 4.2.11 - image-size: 0.5.5 - make-dir: 2.1.0 - mime: 1.6.0 - needle: 3.3.1 - source-map: 0.6.1 + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 load-json-file@4.0.0: dependencies: @@ -1894,12 +1918,6 @@ snapshots: pify: 3.0.0 strip-bom: 3.0.0 - make-dir@2.1.0: - dependencies: - pify: 4.0.1 - semver: 5.7.2 - optional: true - math-intrinsics@1.1.0: {} memorystream@0.3.1: {} @@ -1934,12 +1952,6 @@ snapshots: ms@2.1.3: {} - needle@3.3.1: - dependencies: - iconv-lite: 0.6.3 - sax: 1.4.4 - optional: true - nice-try@1.0.5: {} node-fetch@2.7.0: @@ -2018,8 +2030,6 @@ snapshots: error-ex: 1.3.4 json-parse-better-errors: 1.0.2 - parse-node-version@1.0.1: {} - path-key@2.0.1: {} path-parse@1.0.7: {} @@ -2028,22 +2038,17 @@ snapshots: dependencies: pify: 3.0.0 - path-type@6.0.0: {} - picomatch@2.3.1: {} pidtree@0.3.1: {} pify@3.0.0: {} - pify@4.0.1: - optional: true - - playwright-core@1.58.2: {} + playwright-core@1.59.1: {} - playwright@1.58.2: + playwright@1.59.1: dependencies: - playwright-core: 1.58.2 + playwright-core: 1.59.1 optionalDependencies: fsevents: 2.3.2 @@ -2058,9 +2063,6 @@ snapshots: prettier@3.8.1: {} - prr@1.0.1: - optional: true - pstree.remy@1.1.8: {} qs@6.14.2: @@ -2136,9 +2138,6 @@ snapshots: safer-buffer@2.1.2: {} - sax@1.4.4: - optional: true - secure-compare@3.0.1: {} semver@5.7.2: {} @@ -2209,9 +2208,6 @@ snapshots: slash@5.1.0: {} - source-map@0.6.1: - optional: true - spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 @@ -2290,8 +2286,6 @@ snapshots: tr46@0.0.3: {} - tslib@2.8.1: {} - typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -2325,7 +2319,7 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript@5.9.3: {} + typescript@6.0.2: {} unbox-primitive@1.1.0: dependencies: @@ -2336,7 +2330,7 @@ snapshots: undefsafe@2.0.5: {} - unicorn-magic@0.3.0: {} + unicorn-magic@0.4.0: {} union@0.5.0: dependencies: From 6531afd3cafcf8254720dd751d0d223657118656 Mon Sep 17 00:00:00 2001 From: Tim Paine <3105306+timkpaine@users.noreply.github.com> Date: Thu, 2 Apr 2026 20:06:59 -0400 Subject: [PATCH 3/3] fixes --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 54c102e..45b4773 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [build-system] requires = [ "hatchling", - "hatch-cpp", + "hatch-cpp>=0.3.7", "hatch-js", "pybind11", ] @@ -42,7 +42,7 @@ develop = [ "check-dist", "cibuildwheel", "codespell", - "hatch-cpp", + "hatch-cpp>=0.3.7", "hatch-js", "hatchling", "pybind11",