diff --git a/package-lock.json b/package-lock.json index 649ed77f20..09c2e7df5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -825,7 +825,6 @@ }, "node_modules/@clack/prompts/node_modules/is-unicode-supported": { "version": "1.3.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -1699,6 +1698,36 @@ "node": ">=14" } }, + "node_modules/@fontsource/inter": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.2.6.tgz", + "integrity": "sha512-CZs9S1CrjD0jPwsNy9W6j0BhsmRSQrgwlTNkgQXTsAeDRM42LBRLo3eo9gCzfH4GvV7zpyf78Ozfl773826csw==", + "dev": true, + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/source-serif-4": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/source-serif-4/-/source-serif-4-5.2.8.tgz", + "integrity": "sha512-Z8/igNA8UJ+QrFEaR2mk7oywizPSUuKhEurKpKpPnquKDOmCNAwBHYkIAyDtA91ZluiWf7jRcBl22d8pVagO6A==", + "dev": true, + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/spline-sans-mono": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@fontsource/spline-sans-mono/-/spline-sans-mono-5.2.6.tgz", + "integrity": "sha512-TPAQoRX/UH6qqd38stFqJvBcDw/E6Nqnm/b5qxr/fV7jhvsRjIxcC0GR7EdVqPOELVAy1HtmQtO/bDz5S9VbPw==", + "dev": true, + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, "node_modules/@hpcc-js/api": { "resolved": "packages/api", "link": true @@ -2155,6 +2184,16 @@ } } }, + "node_modules/@hpcc-js/marshaller/node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, "node_modules/@hpcc-js/marshaller/node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -3049,6 +3088,80 @@ "webidl-conversions": "^3.0.0" } }, + "node_modules/@lezer/common": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.3.tgz", + "integrity": "sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@lezer/css": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.3.0.tgz", + "integrity": "sha512-pBL7hup88KbI7hXnZV3PQsn43DHy6TWyzuyk2AO9UyoXcDltvIdqWKE1dLL/45JVZ+YZkHe1WVHqO6wugZZWcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.3.0" + } + }, + "node_modules/@lezer/highlight": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.1.tgz", + "integrity": "sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/html": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.10.tgz", + "integrity": "sha512-dqpT8nISx/p9Do3AchvYGV3qYc4/rKr3IBZxlHmpIKam56P47RSHkSF5f13Vu9hebS1jM0HmtJIwLbWz1VIY6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" + } + }, + "node_modules/@lezer/javascript": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.5.1.tgz", + "integrity": "sha512-ATOImjeVJuvgm3JQ/bpo2Tmv55HSScE2MTPnKRMRIPx2cLhHGyX2VnqpHhtIV1tVzIjZDbcWQm+NCTF40ggZVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.1.3", + "@lezer/lr": "^1.3.0" + } + }, + "node_modules/@lezer/lr": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz", + "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/markdown": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-1.4.3.tgz", + "integrity": "sha512-kfw+2uMrQ/wy/+ONfrH83OkdFNM0ye5Xq96cLlaCy7h5UT9FO54DU4oRoIc0CSBh5NWmWuiIJA7NGLMJbQ+Oxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0", + "@lezer/highlight": "^1.0.0" + } + }, "node_modules/@loaders.gl/core": { "version": "3.4.15", "resolved": "https://registry.npmjs.org/@loaders.gl/core/-/core-3.4.15.tgz", @@ -4481,12 +4594,6 @@ "node": ">=12" } }, - "node_modules/@observablehq/framework/node_modules/@observablehq/runtime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@observablehq/runtime/-/runtime-6.0.0.tgz", - "integrity": "sha512-t3UXP69O0JK20HY/neF4/DDDSDorwo92As806Y1pNTgTmj1NtoPyVpesYzfH31gTFOFrXC2cArV+wLpebMk9eA==", - "license": "ISC" - }, "node_modules/@observablehq/framework/node_modules/ansi-regex": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", @@ -4709,11 +4816,112 @@ "isoformat": "^0.2.0" } }, + "node_modules/@observablehq/notebook-kit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@observablehq/notebook-kit/-/notebook-kit-1.0.1.tgz", + "integrity": "sha512-Z7AjzqNRulNinH/RjmJ5/33qT+VM/KNfsSvGv0B9DNSQibsL03gcCfHW2LBftSJgxGkuBSXXf6zVkj8DhypO3w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@fontsource/inter": "^5.2.6", + "@fontsource/source-serif-4": "^5.2.8", + "@fontsource/spline-sans-mono": "^5.2.6", + "@lezer/common": "^1.2.3", + "@lezer/css": "^1.2.1", + "@lezer/highlight": "^1.2.1", + "@lezer/html": "^1.3.10", + "@lezer/javascript": "^1.5.1", + "@lezer/markdown": "^1.4.3", + "@observablehq/inspector": "^5.0.1", + "@observablehq/parser": "^6.1.0", + "@observablehq/runtime": "^6.0.0", + "@sindresorhus/slugify": "^2.2.1", + "acorn": "^8.15.0", + "acorn-walk": "^8.3.4", + "jsdom": "^26.1.0", + "markdown-it": "^14.1.0", + "markdown-it-anchor": "^9.2.0", + "vite": "^7.0.0" + }, + "bin": { + "notebooks": "dist/bin/notebooks.js" + } + }, + "node_modules/@observablehq/notebook-kit/node_modules/jsdom": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", + "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssstyle": "^4.2.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.5.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.16", + "parse5": "^7.2.1", + "rrweb-cssom": "^0.8.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^5.1.1", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.1.1", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/@observablehq/notebook-kit/node_modules/markdown-it-anchor": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-9.2.0.tgz", + "integrity": "sha512-sa2ErMQ6kKOA4l31gLGYliFQrMKkqSO0ZJgGhDHKijPf0pNFM9vghjAh3gn26pS4JDRs7Iwa9S36gxm3vgZTzg==", + "dev": true, + "license": "Unlicense", + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/@observablehq/notebook-kit/node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@observablehq/notebook-kit/node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^6.1.32" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/@observablehq/parser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@observablehq/parser/-/parser-6.1.0.tgz", "integrity": "sha512-S9qfCrAMrL2J229FwMGbyzPskCMqvPkodkn4MJ2r012Bc4yqaNjl8HyT/dKY1zjOwsSrryFQoCiwvWxS8IeASg==", - "dev": true, "license": "ISC", "dependencies": { "acorn": "8", @@ -4724,14 +4932,10 @@ } }, "node_modules/@observablehq/runtime": { - "version": "5.9.9", - "resolved": "https://registry.npmjs.org/@observablehq/runtime/-/runtime-5.9.9.tgz", - "integrity": "sha512-vvRNEI+hESOfnM0pzRTMZa5qbhQaO8KX3LzaDB5h6iHr321T+T2k5ZcK8JTgsH73BvvD3d+CuHBe1nnbUI+C8w==", - "license": "ISC", - "dependencies": { - "@observablehq/inspector": "^5.0.0", - "@observablehq/stdlib": "^5.0.0" - } + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@observablehq/runtime/-/runtime-6.0.0.tgz", + "integrity": "sha512-t3UXP69O0JK20HY/neF4/DDDSDorwo92As806Y1pNTgTmj1NtoPyVpesYzfH31gTFOFrXC2cArV+wLpebMk9eA==", + "license": "ISC" }, "node_modules/@observablehq/stdlib": { "version": "5.8.8", @@ -6742,20 +6946,6 @@ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, - "node_modules/@vitejs/plugin-vue": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", - "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0", - "vue": "^3.2.25" - } - }, "node_modules/@vitest/browser": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-3.2.4.tgz", @@ -16212,6 +16402,13 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/nwsapi": { + "version": "2.2.21", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.21.tgz", + "integrity": "sha512-o6nIY3qwiSXl7/LuOU0Dmuctd34Yay0yeuZRLFmDPrrdHpXKFndPj3hM+YEPVHYC5fx2otBx4Ilc/gyYSAUaIA==", + "dev": true, + "license": "MIT" + }, "node_modules/nx": { "version": "20.8.2", "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", @@ -19737,10 +19934,30 @@ "node": ">=14.0.0" } }, + "node_modules/tldts": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^6.1.86" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", + "dev": true, + "license": "MIT" + }, "node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", + "integrity": "sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==", "dev": true, "license": "MIT", "engines": { @@ -20569,20 +20786,23 @@ } }, "node_modules/vite": { - "version": "5.4.19", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", - "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.7.tgz", + "integrity": "sha512-hc6LujN/EkJHmxeiDJMs0qBontZ1cdBvvoCbWhVjzUFTU329VRyOC46gHNSA8NcOC5yzCeXpwI40tieI3DEZqg==", "license": "MIT", "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" + "esbuild": "^0.25.0", + "fdir": "^6.4.6", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.40.0", + "tinyglobby": "^0.2.14" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -20591,19 +20811,25 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, + "jiti": { + "optional": true + }, "less": { "optional": true }, @@ -20624,6 +20850,12 @@ }, "terser": { "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true } } }, @@ -20737,9 +20969,9 @@ "license": "MIT" }, "node_modules/vite-plugin-static-copy": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-3.1.1.tgz", - "integrity": "sha512-oR53SkL5cX4KT1t18E/xU50vJDo0N8oaHza4EMk0Fm+2/u6nQivxavOfrDk3udWj+dizRizB/QnBvJOOQrTTAQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-3.1.2.tgz", + "integrity": "sha512-aVmYOzptLVOI2b1jL+cmkF7O6uhRv1u5fvOkQgbohWZp2CbR22kn9ZqkCUIt9umKF7UhdbsEpshn1rf4720QFg==", "license": "MIT", "dependencies": { "chokidar": "^3.6.0", @@ -20911,13 +21143,115 @@ "node": ">= 12" } }, - "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/vite/node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/vitepress": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.6.3.tgz", + "integrity": "sha512-fCkfdOk8yRZT8GD9BFqusW3+GggWYZ/rYncOfmgcDtP3ualNHCAg+Robxp2/6xfH1WwPHtGpPwv7mbA3qomtBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docsearch/css": "3.8.2", + "@docsearch/js": "3.8.2", + "@iconify-json/simple-icons": "^1.2.21", + "@shikijs/core": "^2.1.0", + "@shikijs/transformers": "^2.1.0", + "@shikijs/types": "^2.1.0", + "@types/markdown-it": "^14.1.2", + "@vitejs/plugin-vue": "^5.2.1", + "@vue/devtools-api": "^7.7.0", + "@vue/shared": "^3.5.13", + "@vueuse/core": "^12.4.0", + "@vueuse/integrations": "^12.4.0", + "focus-trap": "^7.6.4", + "mark.js": "8.11.1", + "minisearch": "^7.1.1", + "shiki": "^2.1.0", + "vite": "^5.4.14", + "vue": "^3.5.13" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4", + "postcss": "^8" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vitepress/node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", "cpu": [ "ppc64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -20927,13 +21261,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/android-arm": { + "node_modules/vitepress/node_modules/@esbuild/android-arm": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -20943,13 +21278,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { + "node_modules/vitepress/node_modules/@esbuild/android-arm64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -20959,13 +21295,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/android-x64": { + "node_modules/vitepress/node_modules/@esbuild/android-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -20975,13 +21312,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "node_modules/vitepress/node_modules/@esbuild/darwin-arm64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -20991,13 +21329,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "node_modules/vitepress/node_modules/@esbuild/darwin-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21007,13 +21346,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "node_modules/vitepress/node_modules/@esbuild/freebsd-arm64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21023,13 +21363,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "node_modules/vitepress/node_modules/@esbuild/freebsd-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21039,13 +21380,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { + "node_modules/vitepress/node_modules/@esbuild/linux-arm": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21055,13 +21397,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "node_modules/vitepress/node_modules/@esbuild/linux-arm64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21071,13 +21414,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "node_modules/vitepress/node_modules/@esbuild/linux-ia32": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", "cpu": [ "ia32" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21087,13 +21431,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "node_modules/vitepress/node_modules/@esbuild/linux-loong64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", "cpu": [ "loong64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21103,13 +21448,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "node_modules/vitepress/node_modules/@esbuild/linux-mips64el": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", "cpu": [ "mips64el" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21119,13 +21465,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "node_modules/vitepress/node_modules/@esbuild/linux-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", "cpu": [ "ppc64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21135,13 +21482,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "node_modules/vitepress/node_modules/@esbuild/linux-riscv64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", "cpu": [ "riscv64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21151,13 +21499,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "node_modules/vitepress/node_modules/@esbuild/linux-s390x": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", "cpu": [ "s390x" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21167,13 +21516,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { + "node_modules/vitepress/node_modules/@esbuild/linux-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21183,13 +21533,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "node_modules/vitepress/node_modules/@esbuild/netbsd-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21199,13 +21550,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "node_modules/vitepress/node_modules/@esbuild/openbsd-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21215,13 +21567,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "node_modules/vitepress/node_modules/@esbuild/sunos-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21231,13 +21584,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "node_modules/vitepress/node_modules/@esbuild/win32-arm64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21247,13 +21601,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "node_modules/vitepress/node_modules/@esbuild/win32-ia32": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", "cpu": [ "ia32" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21263,13 +21618,14 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { + "node_modules/vitepress/node_modules/@esbuild/win32-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -21279,10 +21635,25 @@ "node": ">=12" } }, - "node_modules/vite/node_modules/esbuild": { + "node_modules/vitepress/node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/vitepress/node_modules/esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, "hasInstallScript": true, "license": "MIT", "bin": { @@ -21317,10 +21688,11 @@ "@esbuild/win32-x64": "0.21.5" } }, - "node_modules/vite/node_modules/fsevents": { + "node_modules/vitepress/node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -21331,55 +21703,73 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/vitepress": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.6.3.tgz", - "integrity": "sha512-fCkfdOk8yRZT8GD9BFqusW3+GggWYZ/rYncOfmgcDtP3ualNHCAg+Robxp2/6xfH1WwPHtGpPwv7mbA3qomtBw==", + "node_modules/vitepress/node_modules/minisearch": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.1.2.tgz", + "integrity": "sha512-R1Pd9eF+MD5JYDDSPAp/q1ougKglm14uEkPMvQ/05RGmx6G9wvmLTrTI/Q5iPNJLYqNdsDQ7qTGIcNWR+FrHmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vitepress/node_modules/vite": { + "version": "5.4.20", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.20.tgz", + "integrity": "sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==", "dev": true, "license": "MIT", "dependencies": { - "@docsearch/css": "3.8.2", - "@docsearch/js": "3.8.2", - "@iconify-json/simple-icons": "^1.2.21", - "@shikijs/core": "^2.1.0", - "@shikijs/transformers": "^2.1.0", - "@shikijs/types": "^2.1.0", - "@types/markdown-it": "^14.1.2", - "@vitejs/plugin-vue": "^5.2.1", - "@vue/devtools-api": "^7.7.0", - "@vue/shared": "^3.5.13", - "@vueuse/core": "^12.4.0", - "@vueuse/integrations": "^12.4.0", - "focus-trap": "^7.6.4", - "mark.js": "8.11.1", - "minisearch": "^7.1.1", - "shiki": "^2.1.0", - "vite": "^5.4.14", - "vue": "^3.5.13" + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" }, "bin": { - "vitepress": "bin/vitepress.js" + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" }, "peerDependencies": { - "markdown-it-mathjax3": "^4", - "postcss": "^8" + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" }, "peerDependenciesMeta": { - "markdown-it-mathjax3": { + "@types/node": { "optional": true }, - "postcss": { + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { "optional": true } } }, - "node_modules/vitepress/node_modules/minisearch": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.1.2.tgz", - "integrity": "sha512-R1Pd9eF+MD5JYDDSPAp/q1ougKglm14uEkPMvQ/05RGmx6G9wvmLTrTI/Q5iPNJLYqNdsDQ7qTGIcNWR+FrHmA==", - "dev": true, - "license": "MIT" - }, "node_modules/vitest": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", @@ -22485,7 +22875,7 @@ "data-uri-to-buffer": "6.0.2", "safe-buffer": "5.2.1", "soap": "1.2.0", - "tmp": "0.2.3", + "tmp": "0.2.4", "typescript-formatter": "^7.2.2" } }, @@ -22683,9 +23073,9 @@ "esbuild-plugin-inline-css": "0.0.1", "esbuild-plugin-umd-wrapper": "3.0.0", "fzstd": "0.1.1", - "vite": "7.0.6", + "vite": "7.0.7", "vite-plugin-css-injected-by-js": "3.5.2", - "vite-plugin-static-copy": "3.1.1" + "vite-plugin-static-copy": "3.1.2" }, "devDependencies": { "@hpcc-js/wasm-base91": "1.5.0", @@ -22944,7 +23334,10 @@ "dependencies": { "@hpcc-js/observablehq-compiler": "^3.3.9", "@observablehq/framework": "1.13.3", - "@observablehq/runtime": "5.9.9", + "@observablehq/inspector": "5.0.1", + "@observablehq/parser": "6.1.0", + "@observablehq/runtime": "6.0.0", + "@observablehq/stdlib": "5.8.8", "@types/markdown-it": "14.1.2" }, "devDependencies": { @@ -22985,8 +23378,10 @@ }, "devDependencies": { "@hpcc-js/esbuild-plugins": "^1.4.9", + "@observablehq/inspector": "5.0.1", + "@observablehq/notebook-kit": "1.0.1", "@observablehq/parser": "6.1.0", - "@observablehq/runtime": "5.9.9" + "@observablehq/stdlib": "5.8.8" } }, "packages/other": { diff --git a/packages/comms/.vscode/launch.json b/packages/comms/.vscode/launch.json index 0ff93a7e86..f41798cc0a 100644 --- a/packages/comms/.vscode/launch.json +++ b/packages/comms/.vscode/launch.json @@ -33,7 +33,7 @@ "name": "index.html", "request": "launch", "type": "msedge", - "url": "http://localhost:5521/index.html", + "url": "http://localhost:5173/index.html", "runtimeArgs": [ "--disable-web-security" ], diff --git a/packages/comms/index.html b/packages/comms/index.html index 6352e4931d..52a0ae7385 100644 --- a/packages/comms/index.html +++ b/packages/comms/index.html @@ -31,24 +31,24 @@

ESM Quick Test

diff --git a/packages/comms/package.json b/packages/comms/package.json index c332aee8b8..61089100bd 100644 --- a/packages/comms/package.json +++ b/packages/comms/package.json @@ -91,7 +91,7 @@ "d3-time-format": "^2", "data-uri-to-buffer": "6.0.2", "safe-buffer": "5.2.1", - "tmp": "0.2.3", + "tmp": "0.2.4", "soap": "1.2.0", "typescript-formatter": "^7.2.2" }, diff --git a/packages/comms/tests/index.ts b/packages/comms/tests/index.ts new file mode 100644 index 0000000000..c03916d651 --- /dev/null +++ b/packages/comms/tests/index.ts @@ -0,0 +1,43 @@ +import { scopedLogger } from "@hpcc-js/util"; +import { Workunit } from "@hpcc-js/comms"; + +const logger = scopedLogger("tests"); + +export function test() { + const wu = Workunit.attach({ baseUrl: "http://localhost:8010" }, "W20250806-122131"); + + Promise.all([ + wu.fetchInfo({ IncludeExceptions: true }), + wu.fetchDetailsNormalized({ + ScopeFilter: "logical:*", + NestedFilter: "", + PropertiesToReturn: { + AllScopes: true, + AllAttributes: true, + AllProperties: true, + AllNotes: true, + AllStatistics: true, + AllHints: true + }, + ScopeOptions: { + IncludeId: true, + IncludeScope: true, + IncludeScopeType: true, + IncludeMatchedScopesInResults: true + }, + PropertyOptions: { + IncludeName: true, + IncludeRawValue: true, + IncludeFormatted: true, + IncludeMeasure: true, + IncludeCreator: false, + IncludeCreatorType: false + } + }) + ]).then(([info, response]) => { + debugger; + }).catch(e => { + logger.error(e); + }).finally(() => { + }); +} \ No newline at end of file diff --git a/packages/esbuild-plugins/package.json b/packages/esbuild-plugins/package.json index b45da94546..0251524cc7 100644 --- a/packages/esbuild-plugins/package.json +++ b/packages/esbuild-plugins/package.json @@ -42,9 +42,9 @@ "esbuild-copy-static-files": "0.1.0", "esbuild-plugin-inline-css": "0.0.1", "fzstd": "0.1.1", - "vite": "7.0.6", + "vite": "7.0.7", "vite-plugin-css-injected-by-js": "3.5.2", - "vite-plugin-static-copy": "3.1.1" + "vite-plugin-static-copy": "3.1.2" }, "devDependencies": { "@hpcc-js/wasm-base91": "1.5.0", diff --git a/packages/markdown-it-plugins/package.json b/packages/markdown-it-plugins/package.json index 885576dd60..482a6b6440 100644 --- a/packages/markdown-it-plugins/package.json +++ b/packages/markdown-it-plugins/package.json @@ -54,7 +54,10 @@ "dependencies": { "@hpcc-js/observablehq-compiler": "^3.3.9", "@observablehq/framework": "1.13.3", - "@observablehq/runtime": "5.9.9", + "@observablehq/parser": "6.1.0", + "@observablehq/inspector": "5.0.1", + "@observablehq/stdlib": "5.8.8", + "@observablehq/runtime": "6.0.0", "@types/markdown-it": "14.1.2" }, "peerDependencies": { diff --git a/packages/observablehq-compiler/.vscode/launch.json b/packages/observablehq-compiler/.vscode/launch.json index 86bd26f04b..52663a10e3 100644 --- a/packages/observablehq-compiler/.vscode/launch.json +++ b/packages/observablehq-compiler/.vscode/launch.json @@ -43,6 +43,20 @@ "!**/node_modules/**" ] }, + { + "name": "index-notebook-kit.html", + "request": "launch", + "type": "msedge", + "url": "http://localhost:5514/index-notebook-kit.html", + "runtimeArgs": [ + "--disable-web-security" + ], + "webRoot": "${workspaceFolder}", + "outFiles": [ + "${workspaceFolder}/**/*.js", + "!**/node_modules/**" + ] + }, { "name": "index-preview.html", "request": "launch", diff --git a/packages/observablehq-compiler/README.md b/packages/observablehq-compiler/README.md index 2ebc2c84f3..6b73186b24 100644 --- a/packages/observablehq-compiler/README.md +++ b/packages/observablehq-compiler/README.md @@ -80,7 +80,9 @@ The interpreter is 100% compatible with: It also supports fetching notebooks directly from the ObservableHQ repository. ```js -import { Library, Runtime, Inspector } from "@observablehq/runtime"; +import { Inspector } from "@observablehq/inspector"; +import { Library } from "@observablehq/stdlib"; +import { Runtime } from "@observablehq/runtime"; import { download, compile } from "@hpcc-js/observablehq-compiler"; const placeholder = document.getElementById("placeholder"); diff --git a/packages/observablehq-compiler/esbuild.js b/packages/observablehq-compiler/esbuild.js deleted file mode 100644 index 5fd6c47051..0000000000 --- a/packages/observablehq-compiler/esbuild.js +++ /dev/null @@ -1,4 +0,0 @@ -import { neutralTpl } from "@hpcc-js/esbuild-plugins"; - -// config --- -await neutralTpl("src/index.ts", "dist/index"); diff --git a/packages/observablehq-compiler/index-notebook-kit.html b/packages/observablehq-compiler/index-notebook-kit.html new file mode 100644 index 0000000000..a20d905a0d --- /dev/null +++ b/packages/observablehq-compiler/index-notebook-kit.html @@ -0,0 +1,39 @@ + + + + + Home + + + + +

ESM Quick Test

+
+ + + + \ No newline at end of file diff --git a/packages/observablehq-compiler/index-preview.html b/packages/observablehq-compiler/index-preview.html index 24ecbe5ceb..f01c17fe7e 100644 --- a/packages/observablehq-compiler/index-preview.html +++ b/packages/observablehq-compiler/index-preview.html @@ -26,7 +26,14 @@ + + + + + + + + +`; + +export function test() { + + const notebook = ohqnk.html2notebook(html); + const compiled = ohqnk.compile(notebook); + + const placeholder = document.getElementById("placeholder"); + const main = compiled(runtime, name => { + if (placeholder) { + const div = globalThis?.document.createElement("div"); + placeholder.appendChild(div); + return new Inspector(div); + } + + }); +} \ No newline at end of file diff --git a/packages/observablehq-compiler/tests/notebook-kit.browser.spec.ts b/packages/observablehq-compiler/tests/notebook-kit.browser.spec.ts new file mode 100644 index 0000000000..d43f6d36d6 --- /dev/null +++ b/packages/observablehq-compiler/tests/notebook-kit.browser.spec.ts @@ -0,0 +1,29 @@ +import { describe, it, expect } from "vitest"; +import { Inspector } from "@observablehq/inspector"; +import { Library } from "@observablehq/stdlib"; +import { Runtime } from "@observablehq/runtime"; +import { ohq, ohqnk } from "@hpcc-js/observablehq-compiler"; +import { auto_mark_heatmap } from "./notebook-kit"; + +const link = globalThis.document.createElement("link"); +link.rel = "stylesheet"; +link.href = "./__moduleRoot__/dist/index.css"; +document.head.appendChild(link); + +const placeholder = globalThis.document.createElement("div"); +globalThis.document.body.appendChild(placeholder); + +describe("notebook-kit-compiler", function () { + it("notebook-kit", async () => { + const compiledNB = await ohqnk.compile(auto_mark_heatmap); + + const library = new Library(); + const runtime = new Runtime(library); + + compiledNB(runtime, name => { + const div = globalThis?.document.createElement("div"); + placeholder.appendChild(div); + return new Inspector(div); + }); + }); +}); diff --git a/packages/observablehq-compiler/tests/notebook-kit.ts b/packages/observablehq-compiler/tests/notebook-kit.ts new file mode 100644 index 0000000000..629b50ec13 --- /dev/null +++ b/packages/observablehq-compiler/tests/notebook-kit.ts @@ -0,0 +1,32 @@ +export const auto_mark_heatmap = `\ + + + Auto mark, heatmap + + + + + + + + + +`; \ No newline at end of file diff --git a/packages/observablehq-compiler/tests/simple.browser.spec.ts b/packages/observablehq-compiler/tests/simple.browser.spec.ts index bb1a7330b1..4d445b2d9f 100644 --- a/packages/observablehq-compiler/tests/simple.browser.spec.ts +++ b/packages/observablehq-compiler/tests/simple.browser.spec.ts @@ -1,5 +1,7 @@ -import { Library, Runtime, Inspector } from "@observablehq/runtime"; import { describe, it, expect } from "vitest"; +import { Inspector } from "@observablehq/inspector"; +import { Library } from "@observablehq/stdlib"; +import { Runtime } from "@observablehq/runtime"; import { compile, download, ohq, ojs2notebook } from "@hpcc-js/observablehq-compiler"; import { fa } from "./File Attachments.ts"; import { imports } from "./Introduction to Imports.ts"; diff --git a/packages/observablehq-compiler/vite.config.ts b/packages/observablehq-compiler/vite.config.ts index 678f0cfd1e..f3d06ca4db 100644 --- a/packages/observablehq-compiler/vite.config.ts +++ b/packages/observablehq-compiler/vite.config.ts @@ -1,9 +1,65 @@ import { createHpccViteConfig, browserConfig, nodeConfig } from "@hpcc-js/esbuild-plugins"; import pkg from "./package.json" with { type: "json" }; +const aliasPlugin = { + name: "alias-plugin", + // esbuild plugin interface + setup(build) { + const aliases = [ + { + find: /^npm:(.*)$/, + replacement: "https://cdn.jsdelivr.net/npm/$1/+esm" + }, + { + find: /^jsr:(.*)$/, + replacement: "https://esm.sh/jsr/$1" + } + ]; + + build.onResolve({ filter: /^(npm|jsr):/ }, args => { + for (const alias of aliases) { + const match = args.path.match(alias.find); + if (match) { + const resolved = alias.replacement.replace("$1", match[1]); + return { path: resolved, external: true }; + } + } + }); + }, + // Rollup plugin interface + resolveId(id, importer) { + const aliases = [ + { + find: /^npm:(.*)$/, + replacement: "https://cdn.jsdelivr.net/npm/$1/+esm" + }, + { + find: /^jsr:(.*)$/, + replacement: "https://esm.sh/jsr/$1" + } + ]; + + for (const alias of aliases) { + const match = id.match(alias.find); + if (match) { + const resolved = alias.replacement.replace("$1", match[1]); + return { id: resolved, external: true }; + } + } + return null; + } +}; + const myBrowserConfig = { ...browserConfig }; myBrowserConfig.optimizeDeps = { - include: ["acorn", "acorn-walk", "@observablehq/parser"] + include: [ + "acorn", + "acorn-walk", + "@observablehq/parser", + "@observablehq/stdlib", + "@observablehq/runtime", + "@observablehq/inspector" + ] }; const myNodeConfig = { ...nodeConfig }; @@ -11,10 +67,74 @@ myNodeConfig.optimizeDeps = { include: ["acorn", "acorn-walk", "@observablehq/parser"] }; -export default createHpccViteConfig(pkg, { +const config = createHpccViteConfig(pkg, { + plugins: [aliasPlugin], configOverrides: { + // Ensure modern syntax like top-level await is supported during transforms + esbuild: { + target: "esnext", + supported: { "top-level-await": true } + }, + // Make sure dependency optimization (esbuild) also understands our custom schemes + optimizeDeps: { + esbuildOptions: { + target: "esnext", + supported: { "top-level-await": true }, + plugins: [aliasPlugin as any] + } + }, + build: { + target: "esnext", + rollupOptions: { + external: [ + "@observablehq/notebook-kit", + "@observablehq/notebook-kit/runtime" + ], + output: { + globals: { + "@observablehq/notebook-kit": "ObservableNotebookKit", + "@observablehq/notebook-kit/runtime": "ObservableNotebookKitRuntime" + } + } + } + }, test: { - projects: [myBrowserConfig, myNodeConfig] + projects: [myBrowserConfig, myNodeConfig], + deps: { + optimizer: { + web: { + exclude: [ + "@observablehq/notebook-kit", + "@observablehq/notebook-kit/runtime" + ], + esbuildOptions: { + target: "esnext", + supported: { "top-level-await": true }, + plugins: [aliasPlugin as any] + } + }, + ssr: { + exclude: [ + "@observablehq/notebook-kit", + "@observablehq/notebook-kit/runtime" + ], + esbuildOptions: { + target: "esnext", + supported: { "top-level-await": true }, + plugins: [aliasPlugin as any] + } + } + } + }, + alias: { + // Use local stubs to avoid loading notebook-kit in tests + "@observablehq/notebook-kit": "/tests/mocks/notebook-kit.stub.ts", + "@observablehq/notebook-kit/runtime": "/tests/mocks/notebook-kit.stub.ts" + } } } }); + +export default { + ...config +};