diff --git a/deno.lock b/deno.lock index 06c55fe0f04..fbc09ee175e 100644 --- a/deno.lock +++ b/deno.lock @@ -8,12 +8,12 @@ "jsr:@deno/esbuild-plugin@^1.2.0": "1.2.0", "jsr:@deno/graph@0.86": "0.86.9", "jsr:@deno/graph@~0.82.3": "0.82.3", - "jsr:@deno/loader@~0.3.2": "0.3.4", - "jsr:@deno/loader@~0.3.3": "0.3.4", - "jsr:@fresh/build-id@1": "1.0.0", - "jsr:@fresh/core@^2.0.0-alpha.37": "2.0.0-alpha.58", + "jsr:@deno/loader@~0.3.2": "0.3.5", + "jsr:@deno/loader@~0.3.3": "0.3.5", "jsr:@marvinh-test/fresh-island@^0.0.2": "0.0.2", + "jsr:@marvinh-test/import-json@^0.0.1": "0.0.1", "jsr:@std/assert@^1.0.13": "1.0.14", + "jsr:@std/assert@^1.0.14": "1.0.14", "jsr:@std/async@1": "1.0.14", "jsr:@std/async@^1.0.13": "1.0.14", "jsr:@std/bytes@^1.0.5": "1.0.6", @@ -27,7 +27,7 @@ "jsr:@std/data-structures@^1.0.9": "1.0.9", "jsr:@std/encoding@1": "1.0.10", "jsr:@std/encoding@^1.0.10": "1.0.10", - "jsr:@std/expect@^1.0.16": "1.0.16", + "jsr:@std/expect@^1.0.16": "1.0.17", "jsr:@std/fmt@1.0.3": "1.0.3", "jsr:@std/fmt@^1.0.3": "1.0.8", "jsr:@std/fmt@^1.0.7": "1.0.8", @@ -40,7 +40,6 @@ "jsr:@std/html@^1.0.4": "1.0.4", "jsr:@std/http@^1.0.15": "1.0.20", "jsr:@std/internal@^1.0.10": "1.0.10", - "jsr:@std/internal@^1.0.7": "1.0.10", "jsr:@std/internal@^1.0.9": "1.0.10", "jsr:@std/io@0.225": "0.225.2", "jsr:@std/io@0.225.0": "0.225.0", @@ -48,30 +47,29 @@ "jsr:@std/jsonc@1": "1.0.2", "jsr:@std/media-types@1": "1.1.0", "jsr:@std/media-types@^1.1.0": "1.1.0", - "jsr:@std/net@^1.0.4": "1.0.4", - "jsr:@std/path@1": "1.1.1", - "jsr:@std/path@^1.0.8": "1.1.1", - "jsr:@std/path@^1.1.1": "1.1.1", + "jsr:@std/net@^1.0.4": "1.0.5", + "jsr:@std/path@1": "1.1.2", + "jsr:@std/path@^1.0.8": "1.1.2", + "jsr:@std/path@^1.1.1": "1.1.2", "jsr:@std/semver@1": "1.0.5", - "jsr:@std/streams@1": "1.0.10", - "jsr:@std/streams@^1.0.10": "1.0.10", + "jsr:@std/streams@1": "1.0.11", + "jsr:@std/streams@^1.0.10": "1.0.11", "jsr:@std/testing@^1.0.12": "1.0.15", "jsr:@std/toml@^1.0.3": "1.0.8", "jsr:@std/uuid@^1.0.7": "1.0.9", "jsr:@std/yaml@^1.0.5": "1.0.9", "jsr:@zip-js/zip-js@^2.7.52": "2.7.72", - "npm:@babel/core@^7.28.0": "7.28.0", - "npm:@babel/preset-react@^7.27.1": "7.27.1_@babel+core@7.28.0", + "npm:@babel/core@^7.28.0": "7.28.3", + "npm:@babel/preset-react@^7.27.1": "7.27.1_@babel+core@7.28.3", "npm:@opentelemetry/api@^1.9.0": "1.9.0", - "npm:@preact/signals@2": "2.2.1_preact@10.27.0", - "npm:@preact/signals@^2.2.1": "2.2.1_preact@10.27.0", - "npm:@prefresh/vite@^2.4.8": "2.4.8_preact@10.27.0_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1_@types+node@24.2.0", - "npm:@tailwindcss/postcss@^4.1.10": "4.1.11", - "npm:@tailwindcss/vite@^4.1.12": "4.1.12_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3__@types+node@24.2.0_@types+node@24.2.0", + "npm:@preact/signals@2": "2.3.1_preact@10.27.1", + "npm:@preact/signals@^2.2.1": "2.3.1_preact@10.27.1", + "npm:@prefresh/vite@^2.4.8": "2.4.10_preact@10.27.1_vite@7.1.3__@types+node@24.3.0__picomatch@4.0.3_@types+node@24.3.0", + "npm:@tailwindcss/postcss@^4.1.10": "4.1.12", + "npm:@tailwindcss/vite@^4.1.12": "4.1.12_vite@7.1.3__@types+node@24.3.0__picomatch@4.0.3_@types+node@24.3.0", "npm:@types/babel__core@^7.20.5": "7.20.5", - "npm:@types/node@*": "24.2.0", - "npm:@types/node@^24.1.0": "24.2.1", - "npm:@types/node@^24.2.1": "24.2.1", + "npm:@types/node@^24.1.0": "24.3.0", + "npm:@types/node@^24.2.1": "24.3.0", "npm:autoprefixer@^10.4.21": "10.4.21_postcss@8.5.6", "npm:cssnano@^6.1.2": "6.1.2_postcss@8.5.6", "npm:esbuild-wasm@0.25.7": "0.25.7", @@ -79,25 +77,24 @@ "npm:esbuild@~0.25.5": "0.25.7", "npm:fflate@~0.8.2": "0.8.2", "npm:github-slugger@2": "2.0.0", - "npm:linkedom@~0.18.10": "0.18.11", + "npm:linkedom@~0.18.10": "0.18.12", "npm:marked-mangle@^1.1.9": "1.1.11_marked@15.0.12", "npm:marked@^15.0.11": "15.0.12", "npm:mime-db@^1.54.0": "1.54.0", "npm:postcss@8.5.6": "8.5.6", "npm:postcss@^8.5.6": "8.5.6", - "npm:preact-render-to-string@^6.5.11": "6.5.13_preact@10.27.0", - "npm:preact@^10.22.0": "10.27.0", - "npm:preact@^10.26.9": "10.27.0", - "npm:preact@^10.27.0": "10.27.0", + "npm:preact-render-to-string@^6.5.11": "6.6.1_preact@10.27.1", + "npm:preact@^10.22.0": "10.27.1", + "npm:preact@^10.26.9": "10.27.1", + "npm:preact@^10.27.0": "10.27.1", "npm:prismjs@^1.29.0": "1.30.0", "npm:rollup-plugin-visualizer@^6.0.3": "6.0.3", "npm:tailwindcss@^3.4.17": "3.4.17_postcss@8.5.6", - "npm:tailwindcss@^4.1.10": "4.1.11", + "npm:tailwindcss@^4.1.10": "4.1.12", "npm:ts-morph@26": "26.0.0", - "npm:vite-plugin-inspect@^11.3.2": "11.3.2_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1_@types+node@24.2.0", - "npm:vite@*": "7.1.2_@types+node@24.2.1_picomatch@4.0.3_@types+node@24.2.0", - "npm:vite@7.1.2": "7.1.2_@types+node@24.2.1_picomatch@4.0.3_@types+node@24.2.0", - "npm:vite@^7.1.2": "7.1.2_@types+node@24.2.1_picomatch@4.0.3_@types+node@24.2.0" + "npm:vite-plugin-inspect@^11.3.2": "11.3.2_vite@7.1.3__@types+node@24.3.0__picomatch@4.0.3_@types+node@24.3.0", + "npm:vite@*": "7.1.3_@types+node@24.3.0_picomatch@4.0.3", + "npm:vite@^7.1.3": "7.1.3_@types+node@24.3.0_picomatch@4.0.3" }, "jsr": { "@astral/astral@0.5.3": { @@ -148,36 +145,8 @@ "@deno/graph@0.86.9": { "integrity": "c4f353a695bcc5246c099602977dabc6534eacea9999a35a8cb24e807192e6a1" }, - "@deno/loader@0.3.4": { - "integrity": "c56003bc7027606301c3fe62704723b207a9e508c9fb154cf5131abb9d4d2673" - }, - "@fresh/build-id@1.0.0": { - "integrity": "c42a1dab0b0b8bcddf93657edf03f404d537ba8e1d44144b3c749727c5671d5a", - "dependencies": [ - "jsr:@std/encoding@^1.0.10" - ] - }, - "@fresh/core@2.0.0-alpha.58": { - "integrity": "368b579ff0da5badd232916f021a458c9c9ccb35ffe4247df6ff5757cffedc82", - "dependencies": [ - "jsr:@deno/esbuild-plugin", - "jsr:@std/encoding@1", - "jsr:@std/fmt@^1.0.8", - "jsr:@std/fs@1", - "jsr:@std/html@1", - "jsr:@std/http", - "jsr:@std/jsonc", - "jsr:@std/media-types@1", - "jsr:@std/path@1", - "jsr:@std/semver", - "jsr:@std/uuid", - "npm:@opentelemetry/api", - "npm:@preact/signals@^2.2.1", - "npm:esbuild-wasm", - "npm:esbuild@0.25.7", - "npm:preact-render-to-string", - "npm:preact@^10.27.0" - ] + "@deno/loader@0.3.5": { + "integrity": "72f6ce9c6e7242c6e070705dbd8a838884dd236d5dd0bd907d08bece92db5722" }, "@marvinh-test/fresh-island@0.0.2": { "integrity": "77fc811a677de22d7149e326aa99e03530e4ce06fb8ce3ea296c16729ef65a54", @@ -186,6 +155,9 @@ "npm:preact@^10.22.0" ] }, + "@marvinh-test/import-json@0.0.1": { + "integrity": "12d3030cfb8406b71ea798249fee12f8617cb1259748092638a05b72a7727fcf" + }, "@std/assert@1.0.14": { "integrity": "68d0d4a43b365abc927f45a9b85c639ea18a9fab96ad92281e493e4ed84abaa4", "dependencies": [ @@ -219,11 +191,11 @@ "@std/encoding@1.0.10": { "integrity": "8783c6384a2d13abd5e9e87a7ae0520a30e9f56aeeaa3bdf910a3eaaf5c811a1" }, - "@std/expect@1.0.16": { - "integrity": "ceeef6dda21f256a5f0f083fcc0eaca175428b523359a9b1d9b3a1df11cc7391", + "@std/expect@1.0.17": { + "integrity": "316b47dd65c33e3151344eb3267bf42efba17d1415425f07ed96185d67fc04d9", "dependencies": [ - "jsr:@std/assert", - "jsr:@std/internal@^1.0.7" + "jsr:@std/assert@^1.0.14", + "jsr:@std/internal@^1.0.10" ] }, "@std/fmt@1.0.3": { @@ -287,23 +259,23 @@ "@std/media-types@1.1.0": { "integrity": "c9d093f0c05c3512932b330e3cc1fe1d627b301db33a4c2c2185c02471d6eaa4" }, - "@std/net@1.0.4": { - "integrity": "2f403b455ebbccf83d8a027d29c5a9e3a2452fea39bb2da7f2c04af09c8bc852" + "@std/net@1.0.5": { + "integrity": "b759d8c5e17d997e164af6379d57764668c6714f30109685eec0fd5e194d501a" }, "@std/path@1.1.0": { "integrity": "ddc94f8e3c275627281cbc23341df6b8bcc874d70374f75fec2533521e3d6886" }, - "@std/path@1.1.1": { - "integrity": "fe00026bd3a7e6a27f73709b83c607798be40e20c81dde655ce34052fd82ec76", + "@std/path@1.1.2": { + "integrity": "c0b13b97dfe06546d5e16bf3966b1cadf92e1cc83e56ba5476ad8b498d9e3038", "dependencies": [ - "jsr:@std/internal@^1.0.9" + "jsr:@std/internal@^1.0.10" ] }, "@std/semver@1.0.5": { "integrity": "529f79e83705714c105ad0ba55bec0f9da0f24d2f726b6cc1c15e505cc2c0624" }, - "@std/streams@1.0.10": { - "integrity": "75c0b1431873cd0d8b3d679015220204d36d3c7420d93b60acfc379eb0dc30af", + "@std/streams@1.0.11": { + "integrity": "db583d27e28d133f389f1eec318cffdf4998305e5134c1d4b1c56b361cee6018", "dependencies": [ "jsr:@std/bytes@^1.0.6" ] @@ -311,7 +283,7 @@ "@std/testing@1.0.15": { "integrity": "a490169f5ccb0f3ae9c94fbc69d2cd43603f2cffb41713a85f99bbb0e3087cbc", "dependencies": [ - "jsr:@std/assert", + "jsr:@std/assert@^1.0.13", "jsr:@std/async@^1.0.13", "jsr:@std/data-structures", "jsr:@std/fs@^1.0.19", @@ -367,8 +339,8 @@ "@babel/compat-data@7.28.0": { "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==" }, - "@babel/core@7.28.0": { - "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==", + "@babel/core@7.28.3": { + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", "dependencies": [ "@ampproject/remapping", "@babel/code-frame", @@ -387,8 +359,8 @@ "semver" ] }, - "@babel/generator@7.28.0": { - "integrity": "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==", + "@babel/generator@7.28.3": { + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", "dependencies": [ "@babel/parser", "@babel/types", @@ -423,8 +395,8 @@ "@babel/types" ] }, - "@babel/helper-module-transforms@7.27.3_@babel+core@7.28.0": { - "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", + "@babel/helper-module-transforms@7.28.3_@babel+core@7.28.3": { + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", "dependencies": [ "@babel/core", "@babel/helper-module-imports", @@ -444,42 +416,42 @@ "@babel/helper-validator-option@7.27.1": { "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==" }, - "@babel/helpers@7.28.2": { - "integrity": "sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==", + "@babel/helpers@7.28.3": { + "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", "dependencies": [ "@babel/template", "@babel/types" ] }, - "@babel/parser@7.28.0": { - "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", + "@babel/parser@7.28.3": { + "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", "dependencies": [ "@babel/types" ], "bin": true }, - "@babel/plugin-syntax-jsx@7.27.1_@babel+core@7.28.0": { + "@babel/plugin-syntax-jsx@7.27.1_@babel+core@7.28.3": { "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", "dependencies": [ "@babel/core", "@babel/helper-plugin-utils" ] }, - "@babel/plugin-transform-react-display-name@7.28.0_@babel+core@7.28.0": { + "@babel/plugin-transform-react-display-name@7.28.0_@babel+core@7.28.3": { "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", "dependencies": [ "@babel/core", "@babel/helper-plugin-utils" ] }, - "@babel/plugin-transform-react-jsx-development@7.27.1_@babel+core@7.28.0": { + "@babel/plugin-transform-react-jsx-development@7.27.1_@babel+core@7.28.3": { "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", "dependencies": [ "@babel/core", "@babel/plugin-transform-react-jsx" ] }, - "@babel/plugin-transform-react-jsx@7.27.1_@babel+core@7.28.0": { + "@babel/plugin-transform-react-jsx@7.27.1_@babel+core@7.28.3": { "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", "dependencies": [ "@babel/core", @@ -490,7 +462,7 @@ "@babel/types" ] }, - "@babel/plugin-transform-react-pure-annotations@7.27.1_@babel+core@7.28.0": { + "@babel/plugin-transform-react-pure-annotations@7.27.1_@babel+core@7.28.3": { "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", "dependencies": [ "@babel/core", @@ -498,7 +470,7 @@ "@babel/helper-plugin-utils" ] }, - "@babel/preset-react@7.27.1_@babel+core@7.28.0": { + "@babel/preset-react@7.27.1_@babel+core@7.28.3": { "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==", "dependencies": [ "@babel/core", @@ -518,8 +490,8 @@ "@babel/types" ] }, - "@babel/traverse@7.28.0": { - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", + "@babel/traverse@7.28.3": { + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", "dependencies": [ "@babel/code-frame", "@babel/generator", @@ -1124,7 +1096,7 @@ "dependencies": [ "@emnapi/core", "@emnapi/runtime", - "@tybys/wasm-util@0.10.0" + "@tybys/wasm-util" ] }, "@nodelib/fs.scandir@2.1.5": { @@ -1153,11 +1125,11 @@ "@polka/url@1.0.0-next.29": { "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==" }, - "@preact/signals-core@1.11.0": { - "integrity": "sha512-jglbibeWHuFRzEWVFY/TT7wB1PppJxmcSfUHcK+2J9vBRtiooMfw6tAPttojNYrrpdGViqAYCbPpmWYlMm+eMQ==" + "@preact/signals-core@1.12.0": { + "integrity": "sha512-etWpENXm469RHMWIZGblgWrapbIGcRcbccEGGaLkFez3PjlI3XkBrUtSiNFsIfV/DN16PxMOxbWAZUIaLFyJDg==" }, - "@preact/signals@2.2.1_preact@10.27.0": { - "integrity": "sha512-cX3mijdjHbbz3dBoJ6z687CGYEOp9ifj3uFnm4UKW+DxXKPMvE2y/VSdm0PXhXmHnr6F0iSnDJ+dLwmV7CYT5A==", + "@preact/signals@2.3.1_preact@10.27.1": { + "integrity": "sha512-nyuRIGmcwM/HjvFHhN2xUWfyla9D4llHt+prWoxjQfD6b5prO7CFPlG/xjJkP31Oic4KQXfH9SIhJFP9cy4lmg==", "dependencies": [ "@preact/signals-core", "preact" @@ -1166,8 +1138,8 @@ "@prefresh/babel-plugin@0.5.2": { "integrity": "sha512-AOl4HG6dAxWkJ5ndPHBgBa49oo/9bOiJuRDKHLSTyH+Fd9x00shTXpdiTj1W41l6oQIwUOAgJeHMn4QwIDpHkA==" }, - "@prefresh/core@1.5.5_preact@10.27.0": { - "integrity": "sha512-H6GTXUl4V4fe3ijz7yhSa/mZ+pGSOh7XaJb6uP/sQsagBx9yl0D1HKDaeoMQA8Ad2Xm27LqvbitMGSdY9UFSKQ==", + "@prefresh/core@1.5.7_preact@10.27.1": { + "integrity": "sha512-AsyeitiPwG7UkT0mqgKzIDuydmYSKtBlzXEb5ymzskvxewcmVGRjQkcHDy6PCNBT7soAyHpQ0mPgXX4IeyOlUg==", "dependencies": [ "preact" ] @@ -1175,20 +1147,8 @@ "@prefresh/utils@1.2.1": { "integrity": "sha512-vq/sIuN5nYfYzvyayXI4C2QkprfNaHUQ9ZX+3xLD8nL3rWyzpxOm1+K7RtMbhd+66QcaISViK7amjnheQ/4WZw==" }, - "@prefresh/vite@2.4.8_preact@10.27.0_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1": { - "integrity": "sha512-H7vlo9UbJInuRbZhRQrdgVqLP7qKjDoX7TgYWWwIVhEHeHO0hZ4zyicvwBrV1wX5A3EPOmArgRkUaN7cPI2VXQ==", - "dependencies": [ - "@babel/core", - "@prefresh/babel-plugin", - "@prefresh/core", - "@prefresh/utils", - "@rollup/pluginutils", - "preact", - "vite@7.1.2_@types+node@24.2.1_picomatch@4.0.3" - ] - }, - "@prefresh/vite@2.4.8_preact@10.27.0_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1_@types+node@24.2.0": { - "integrity": "sha512-H7vlo9UbJInuRbZhRQrdgVqLP7qKjDoX7TgYWWwIVhEHeHO0hZ4zyicvwBrV1wX5A3EPOmArgRkUaN7cPI2VXQ==", + "@prefresh/vite@2.4.10_preact@10.27.1_vite@7.1.3__@types+node@24.3.0__picomatch@4.0.3_@types+node@24.3.0": { + "integrity": "sha512-lt+ODASOtXRWaPplp7/DlrgAaInnQYNvcpCglQBMx2OeJPyZ4IqPRaxsK77w96mWshjYwkqTsRSHoAM7aAn0ow==", "dependencies": [ "@babel/core", "@prefresh/babel-plugin", @@ -1196,7 +1156,7 @@ "@prefresh/utils", "@rollup/pluginutils", "preact", - "vite@7.1.2_@types+node@24.2.1_picomatch@4.0.3_@types+node@24.2.0" + "vite" ] }, "@rollup/pluginutils@4.2.1": { @@ -1206,118 +1166,106 @@ "picomatch@2.3.1" ] }, - "@rollup/rollup-android-arm-eabi@4.46.2": { - "integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==", + "@rollup/rollup-android-arm-eabi@4.47.1": { + "integrity": "sha512-lTahKRJip0knffA/GTNFJMrToD+CM+JJ+Qt5kjzBK/sFQ0EWqfKW3AYQSlZXN98tX0lx66083U9JYIMioMMK7g==", "os": ["android"], "cpu": ["arm"] }, - "@rollup/rollup-android-arm64@4.46.2": { - "integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==", + "@rollup/rollup-android-arm64@4.47.1": { + "integrity": "sha512-uqxkb3RJLzlBbh/bbNQ4r7YpSZnjgMgyoEOY7Fy6GCbelkDSAzeiogxMG9TfLsBbqmGsdDObo3mzGqa8hps4MA==", "os": ["android"], "cpu": ["arm64"] }, - "@rollup/rollup-darwin-arm64@4.46.2": { - "integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==", + "@rollup/rollup-darwin-arm64@4.47.1": { + "integrity": "sha512-tV6reObmxBDS4DDyLzTDIpymthNlxrLBGAoQx6m2a7eifSNEZdkXQl1PE4ZjCkEDPVgNXSzND/k9AQ3mC4IOEQ==", "os": ["darwin"], "cpu": ["arm64"] }, - "@rollup/rollup-darwin-x64@4.46.2": { - "integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==", + "@rollup/rollup-darwin-x64@4.47.1": { + "integrity": "sha512-XuJRPTnMk1lwsSnS3vYyVMu4x/+WIw1MMSiqj5C4j3QOWsMzbJEK90zG+SWV1h0B1ABGCQ0UZUjti+TQK35uHQ==", "os": ["darwin"], "cpu": ["x64"] }, - "@rollup/rollup-freebsd-arm64@4.46.2": { - "integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==", + "@rollup/rollup-freebsd-arm64@4.47.1": { + "integrity": "sha512-79BAm8Ag/tmJ5asCqgOXsb3WY28Rdd5Lxj8ONiQzWzy9LvWORd5qVuOnjlqiWWZJw+dWewEktZb5yiM1DLLaHw==", "os": ["freebsd"], "cpu": ["arm64"] }, - "@rollup/rollup-freebsd-x64@4.46.2": { - "integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==", + "@rollup/rollup-freebsd-x64@4.47.1": { + "integrity": "sha512-OQ2/ZDGzdOOlyfqBiip0ZX/jVFekzYrGtUsqAfLDbWy0jh1PUU18+jYp8UMpqhly5ltEqotc2miLngf9FPSWIA==", "os": ["freebsd"], "cpu": ["x64"] }, - "@rollup/rollup-linux-arm-gnueabihf@4.46.2": { - "integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==", + "@rollup/rollup-linux-arm-gnueabihf@4.47.1": { + "integrity": "sha512-HZZBXJL1udxlCVvoVadstgiU26seKkHbbAMLg7680gAcMnRNP9SAwTMVet02ANA94kXEI2VhBnXs4e5nf7KG2A==", "os": ["linux"], "cpu": ["arm"] }, - "@rollup/rollup-linux-arm-musleabihf@4.46.2": { - "integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==", + "@rollup/rollup-linux-arm-musleabihf@4.47.1": { + "integrity": "sha512-sZ5p2I9UA7T950JmuZ3pgdKA6+RTBr+0FpK427ExW0t7n+QwYOcmDTK/aRlzoBrWyTpJNlS3kacgSlSTUg6P/Q==", "os": ["linux"], "cpu": ["arm"] }, - "@rollup/rollup-linux-arm64-gnu@4.46.2": { - "integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==", + "@rollup/rollup-linux-arm64-gnu@4.47.1": { + "integrity": "sha512-3hBFoqPyU89Dyf1mQRXCdpc6qC6At3LV6jbbIOZd72jcx7xNk3aAp+EjzAtN6sDlmHFzsDJN5yeUySvorWeRXA==", "os": ["linux"], "cpu": ["arm64"] }, - "@rollup/rollup-linux-arm64-musl@4.46.2": { - "integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==", + "@rollup/rollup-linux-arm64-musl@4.47.1": { + "integrity": "sha512-49J4FnMHfGodJWPw73Ve+/hsPjZgcXQGkmqBGZFvltzBKRS+cvMiWNLadOMXKGnYRhs1ToTGM0sItKISoSGUNA==", "os": ["linux"], "cpu": ["arm64"] }, - "@rollup/rollup-linux-loongarch64-gnu@4.46.2": { - "integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==", + "@rollup/rollup-linux-loongarch64-gnu@4.47.1": { + "integrity": "sha512-4yYU8p7AneEpQkRX03pbpLmE21z5JNys16F1BZBZg5fP9rIlb0TkeQjn5du5w4agConCCEoYIG57sNxjryHEGg==", "os": ["linux"], "cpu": ["loong64"] }, - "@rollup/rollup-linux-ppc64-gnu@4.46.2": { - "integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==", + "@rollup/rollup-linux-ppc64-gnu@4.47.1": { + "integrity": "sha512-fAiq+J28l2YMWgC39jz/zPi2jqc0y3GSRo1yyxlBHt6UN0yYgnegHSRPa3pnHS5amT/efXQrm0ug5+aNEu9UuQ==", "os": ["linux"], "cpu": ["ppc64"] }, - "@rollup/rollup-linux-riscv64-gnu@4.46.2": { - "integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==", + "@rollup/rollup-linux-riscv64-gnu@4.47.1": { + "integrity": "sha512-daoT0PMENNdjVYYU9xec30Y2prb1AbEIbb64sqkcQcSaR0zYuKkoPuhIztfxuqN82KYCKKrj+tQe4Gi7OSm1ow==", "os": ["linux"], "cpu": ["riscv64"] }, - "@rollup/rollup-linux-riscv64-musl@4.46.2": { - "integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==", + "@rollup/rollup-linux-riscv64-musl@4.47.1": { + "integrity": "sha512-JNyXaAhWtdzfXu5pUcHAuNwGQKevR+6z/poYQKVW+pLaYOj9G1meYc57/1Xv2u4uTxfu9qEWmNTjv/H/EpAisw==", "os": ["linux"], "cpu": ["riscv64"] }, - "@rollup/rollup-linux-s390x-gnu@4.46.2": { - "integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==", + "@rollup/rollup-linux-s390x-gnu@4.47.1": { + "integrity": "sha512-U/CHbqKSwEQyZXjCpY43/GLYcTVKEXeRHw0rMBJP7fP3x6WpYG4LTJWR3ic6TeYKX6ZK7mrhltP4ppolyVhLVQ==", "os": ["linux"], "cpu": ["s390x"] }, - "@rollup/rollup-linux-x64-gnu@4.46.2": { - "integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==", + "@rollup/rollup-linux-x64-gnu@4.47.1": { + "integrity": "sha512-uTLEakjxOTElfeZIGWkC34u2auLHB1AYS6wBjPGI00bWdxdLcCzK5awjs25YXpqB9lS8S0vbO0t9ZcBeNibA7g==", "os": ["linux"], "cpu": ["x64"] }, - "@rollup/rollup-linux-x64-musl@4.46.2": { - "integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==", + "@rollup/rollup-linux-x64-musl@4.47.1": { + "integrity": "sha512-Ft+d/9DXs30BK7CHCTX11FtQGHUdpNDLJW0HHLign4lgMgBcPFN3NkdIXhC5r9iwsMwYreBBc4Rho5ieOmKNVQ==", "os": ["linux"], "cpu": ["x64"] }, - "@rollup/rollup-win32-arm64-msvc@4.46.2": { - "integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==", + "@rollup/rollup-win32-arm64-msvc@4.47.1": { + "integrity": "sha512-N9X5WqGYzZnjGAFsKSfYFtAShYjwOmFJoWbLg3dYixZOZqU7hdMq+/xyS14zKLhFhZDhP9VfkzQnsdk0ZDS9IA==", "os": ["win32"], "cpu": ["arm64"] }, - "@rollup/rollup-win32-ia32-msvc@4.46.2": { - "integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==", + "@rollup/rollup-win32-ia32-msvc@4.47.1": { + "integrity": "sha512-O+KcfeCORZADEY8oQJk4HK8wtEOCRE4MdOkb8qGZQNun3jzmj2nmhV/B/ZaaZOkPmJyvm/gW9n0gsB4eRa1eiQ==", "os": ["win32"], "cpu": ["ia32"] }, - "@rollup/rollup-win32-x64-msvc@4.46.2": { - "integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==", + "@rollup/rollup-win32-x64-msvc@4.47.1": { + "integrity": "sha512-CpKnYa8eHthJa3c+C38v/E+/KZyF1Jdh2Cz3DyKZqEWYgrM1IHFArXNWvBLPQCKUEsAqqKX27tTqVEFbDNUcOA==", "os": ["win32"], "cpu": ["x64"] }, - "@tailwindcss/node@4.1.11": { - "integrity": "sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==", - "dependencies": [ - "@ampproject/remapping", - "enhanced-resolve", - "jiti@2.5.1", - "lightningcss", - "magic-string", - "source-map-js", - "tailwindcss@4.1.11" - ] - }, "@tailwindcss/node@4.1.12": { "integrity": "sha512-3hm9brwvQkZFe++SBt+oLjo4OLDtkvlE8q2WalaD/7QWaeM7KEJbAiY/LJZUaCs7Xa8aUu4xy3uoyX4q54UVdQ==", "dependencies": [ @@ -1330,108 +1278,51 @@ "tailwindcss@4.1.12" ] }, - "@tailwindcss/oxide-android-arm64@4.1.11": { - "integrity": "sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==", - "os": ["android"], - "cpu": ["arm64"] - }, "@tailwindcss/oxide-android-arm64@4.1.12": { "integrity": "sha512-oNY5pq+1gc4T6QVTsZKwZaGpBb2N1H1fsc1GD4o7yinFySqIuRZ2E4NvGasWc6PhYJwGK2+5YT1f9Tp80zUQZQ==", "os": ["android"], "cpu": ["arm64"] }, - "@tailwindcss/oxide-darwin-arm64@4.1.11": { - "integrity": "sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==", - "os": ["darwin"], - "cpu": ["arm64"] - }, "@tailwindcss/oxide-darwin-arm64@4.1.12": { "integrity": "sha512-cq1qmq2HEtDV9HvZlTtrj671mCdGB93bVY6J29mwCyaMYCP/JaUBXxrQQQm7Qn33AXXASPUb2HFZlWiiHWFytw==", "os": ["darwin"], "cpu": ["arm64"] }, - "@tailwindcss/oxide-darwin-x64@4.1.11": { - "integrity": "sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==", - "os": ["darwin"], - "cpu": ["x64"] - }, "@tailwindcss/oxide-darwin-x64@4.1.12": { "integrity": "sha512-6UCsIeFUcBfpangqlXay9Ffty9XhFH1QuUFn0WV83W8lGdX8cD5/+2ONLluALJD5+yJ7k8mVtwy3zMZmzEfbLg==", "os": ["darwin"], "cpu": ["x64"] }, - "@tailwindcss/oxide-freebsd-x64@4.1.11": { - "integrity": "sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==", - "os": ["freebsd"], - "cpu": ["x64"] - }, "@tailwindcss/oxide-freebsd-x64@4.1.12": { "integrity": "sha512-JOH/f7j6+nYXIrHobRYCtoArJdMJh5zy5lr0FV0Qu47MID/vqJAY3r/OElPzx1C/wdT1uS7cPq+xdYYelny1ww==", "os": ["freebsd"], "cpu": ["x64"] }, - "@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11": { - "integrity": "sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==", - "os": ["linux"], - "cpu": ["arm"] - }, "@tailwindcss/oxide-linux-arm-gnueabihf@4.1.12": { "integrity": "sha512-v4Ghvi9AU1SYgGr3/j38PD8PEe6bRfTnNSUE3YCMIRrrNigCFtHZ2TCm8142X8fcSqHBZBceDx+JlFJEfNg5zQ==", "os": ["linux"], "cpu": ["arm"] }, - "@tailwindcss/oxide-linux-arm64-gnu@4.1.11": { - "integrity": "sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==", - "os": ["linux"], - "cpu": ["arm64"] - }, "@tailwindcss/oxide-linux-arm64-gnu@4.1.12": { "integrity": "sha512-YP5s1LmetL9UsvVAKusHSyPlzSRqYyRB0f+Kl/xcYQSPLEw/BvGfxzbH+ihUciePDjiXwHh+p+qbSP3SlJw+6g==", "os": ["linux"], "cpu": ["arm64"] }, - "@tailwindcss/oxide-linux-arm64-musl@4.1.11": { - "integrity": "sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==", - "os": ["linux"], - "cpu": ["arm64"] - }, "@tailwindcss/oxide-linux-arm64-musl@4.1.12": { "integrity": "sha512-V8pAM3s8gsrXcCv6kCHSuwyb/gPsd863iT+v1PGXC4fSL/OJqsKhfK//v8P+w9ThKIoqNbEnsZqNy+WDnwQqCA==", "os": ["linux"], "cpu": ["arm64"] }, - "@tailwindcss/oxide-linux-x64-gnu@4.1.11": { - "integrity": "sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==", - "os": ["linux"], - "cpu": ["x64"] - }, "@tailwindcss/oxide-linux-x64-gnu@4.1.12": { "integrity": "sha512-xYfqYLjvm2UQ3TZggTGrwxjYaLB62b1Wiysw/YE3Yqbh86sOMoTn0feF98PonP7LtjsWOWcXEbGqDL7zv0uW8Q==", "os": ["linux"], "cpu": ["x64"] }, - "@tailwindcss/oxide-linux-x64-musl@4.1.11": { - "integrity": "sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==", - "os": ["linux"], - "cpu": ["x64"] - }, "@tailwindcss/oxide-linux-x64-musl@4.1.12": { "integrity": "sha512-ha0pHPamN+fWZY7GCzz5rKunlv9L5R8kdh+YNvP5awe3LtuXb5nRi/H27GeL2U+TdhDOptU7T6Is7mdwh5Ar3A==", "os": ["linux"], "cpu": ["x64"] }, - "@tailwindcss/oxide-wasm32-wasi@4.1.11": { - "integrity": "sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==", - "dependencies": [ - "@emnapi/core", - "@emnapi/runtime", - "@emnapi/wasi-threads", - "@napi-rs/wasm-runtime", - "@tybys/wasm-util@0.9.0", - "tslib" - ], - "cpu": ["wasm32"] - }, "@tailwindcss/oxide-wasm32-wasi@4.1.12": { "integrity": "sha512-4tSyu3dW+ktzdEpuk6g49KdEangu3eCYoqPhWNsZgUhyegEda3M9rG0/j1GV/JjVVsj+lG7jWAyrTlLzd/WEBg==", "dependencies": [ @@ -1439,53 +1330,21 @@ "@emnapi/runtime", "@emnapi/wasi-threads", "@napi-rs/wasm-runtime", - "@tybys/wasm-util@0.10.0", + "@tybys/wasm-util", "tslib" ], "cpu": ["wasm32"] }, - "@tailwindcss/oxide-win32-arm64-msvc@4.1.11": { - "integrity": "sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==", - "os": ["win32"], - "cpu": ["arm64"] - }, "@tailwindcss/oxide-win32-arm64-msvc@4.1.12": { "integrity": "sha512-iGLyD/cVP724+FGtMWslhcFyg4xyYyM+5F4hGvKA7eifPkXHRAUDFaimu53fpNg9X8dfP75pXx/zFt/jlNF+lg==", "os": ["win32"], "cpu": ["arm64"] }, - "@tailwindcss/oxide-win32-x64-msvc@4.1.11": { - "integrity": "sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==", - "os": ["win32"], - "cpu": ["x64"] - }, "@tailwindcss/oxide-win32-x64-msvc@4.1.12": { "integrity": "sha512-NKIh5rzw6CpEodv/++r0hGLlfgT/gFN+5WNdZtvh6wpU2BpGNgdjvj6H2oFc8nCM839QM1YOhjpgbAONUb4IxA==", "os": ["win32"], "cpu": ["x64"] }, - "@tailwindcss/oxide@4.1.11": { - "integrity": "sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==", - "dependencies": [ - "detect-libc", - "tar" - ], - "optionalDependencies": [ - "@tailwindcss/oxide-android-arm64@4.1.11", - "@tailwindcss/oxide-darwin-arm64@4.1.11", - "@tailwindcss/oxide-darwin-x64@4.1.11", - "@tailwindcss/oxide-freebsd-x64@4.1.11", - "@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11", - "@tailwindcss/oxide-linux-arm64-gnu@4.1.11", - "@tailwindcss/oxide-linux-arm64-musl@4.1.11", - "@tailwindcss/oxide-linux-x64-gnu@4.1.11", - "@tailwindcss/oxide-linux-x64-musl@4.1.11", - "@tailwindcss/oxide-wasm32-wasi@4.1.11", - "@tailwindcss/oxide-win32-arm64-msvc@4.1.11", - "@tailwindcss/oxide-win32-x64-msvc@4.1.11" - ], - "scripts": true - }, "@tailwindcss/oxide@4.1.12": { "integrity": "sha512-gM5EoKHW/ukmlEtphNwaGx45fGoEmP10v51t9unv55voWh6WrOL19hfuIdo2FjxIaZzw776/BUQg7Pck++cIVw==", "dependencies": [ @@ -1493,38 +1352,38 @@ "tar" ], "optionalDependencies": [ - "@tailwindcss/oxide-android-arm64@4.1.12", - "@tailwindcss/oxide-darwin-arm64@4.1.12", - "@tailwindcss/oxide-darwin-x64@4.1.12", - "@tailwindcss/oxide-freebsd-x64@4.1.12", - "@tailwindcss/oxide-linux-arm-gnueabihf@4.1.12", - "@tailwindcss/oxide-linux-arm64-gnu@4.1.12", - "@tailwindcss/oxide-linux-arm64-musl@4.1.12", - "@tailwindcss/oxide-linux-x64-gnu@4.1.12", - "@tailwindcss/oxide-linux-x64-musl@4.1.12", - "@tailwindcss/oxide-wasm32-wasi@4.1.12", - "@tailwindcss/oxide-win32-arm64-msvc@4.1.12", - "@tailwindcss/oxide-win32-x64-msvc@4.1.12" + "@tailwindcss/oxide-android-arm64", + "@tailwindcss/oxide-darwin-arm64", + "@tailwindcss/oxide-darwin-x64", + "@tailwindcss/oxide-freebsd-x64", + "@tailwindcss/oxide-linux-arm-gnueabihf", + "@tailwindcss/oxide-linux-arm64-gnu", + "@tailwindcss/oxide-linux-arm64-musl", + "@tailwindcss/oxide-linux-x64-gnu", + "@tailwindcss/oxide-linux-x64-musl", + "@tailwindcss/oxide-wasm32-wasi", + "@tailwindcss/oxide-win32-arm64-msvc", + "@tailwindcss/oxide-win32-x64-msvc" ], "scripts": true }, - "@tailwindcss/postcss@4.1.11": { - "integrity": "sha512-q/EAIIpF6WpLhKEuQSEVMZNMIY8KhWoAemZ9eylNAih9jxMGAYPPWBn3I9QL/2jZ+e7OEz/tZkX5HwbBR4HohA==", + "@tailwindcss/postcss@4.1.12": { + "integrity": "sha512-5PpLYhCAwf9SJEeIsSmCDLgyVfdBhdBpzX1OJ87anT9IVR0Z9pjM0FNixCAUAHGnMBGB8K99SwAheXrT0Kh6QQ==", "dependencies": [ "@alloc/quick-lru", - "@tailwindcss/node@4.1.11", - "@tailwindcss/oxide@4.1.11", + "@tailwindcss/node", + "@tailwindcss/oxide", "postcss", - "tailwindcss@4.1.11" + "tailwindcss@4.1.12" ] }, - "@tailwindcss/vite@4.1.12_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3__@types+node@24.2.0_@types+node@24.2.0": { + "@tailwindcss/vite@4.1.12_vite@7.1.3__@types+node@24.3.0__picomatch@4.0.3_@types+node@24.3.0": { "integrity": "sha512-4pt0AMFDx7gzIrAOIYgYP0KCBuKWqyW8ayrdiLEjoJTT4pKTjrzG/e4uzWtTLDziC+66R9wbUqZBccJalSE5vQ==", "dependencies": [ - "@tailwindcss/node@4.1.12", - "@tailwindcss/oxide@4.1.12", + "@tailwindcss/node", + "@tailwindcss/oxide", "tailwindcss@4.1.12", - "vite@7.1.2_@types+node@24.2.1_picomatch@4.0.3_@types+node@24.2.0" + "vite" ] }, "@trysound/sax@0.2.0": { @@ -1544,12 +1403,6 @@ "tslib" ] }, - "@tybys/wasm-util@0.9.0": { - "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", - "dependencies": [ - "tslib" - ] - }, "@types/babel__core@7.20.5": { "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dependencies": [ @@ -1582,14 +1435,8 @@ "@types/estree@1.0.8": { "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==" }, - "@types/node@24.2.0": { - "integrity": "sha512-3xyG3pMCq3oYCNg7/ZP+E1ooTaGB4cG8JWRsqqOYQdbWNY4zbaV0Ennrd7stjiJEFZCaybcIgpTjJWHRfBSIDw==", - "dependencies": [ - "undici-types" - ] - }, - "@types/node@24.2.1": { - "integrity": "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ==", + "@types/node@24.3.0": { + "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", "dependencies": [ "undici-types" ] @@ -1597,8 +1444,8 @@ "ansi-regex@5.0.1": { "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, - "ansi-regex@6.1.0": { - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" + "ansi-regex@6.2.0": { + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==" }, "ansi-styles@4.3.0": { "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -1662,8 +1509,8 @@ "fill-range" ] }, - "browserslist@4.25.2": { - "integrity": "sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==", + "browserslist@4.25.3": { + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", "dependencies": [ "caniuse-lite", "electron-to-chromium", @@ -1690,8 +1537,8 @@ "lodash.uniq" ] }, - "caniuse-lite@1.0.30001734": { - "integrity": "sha512-uhE1Ye5vgqju6OI71HTQqcBCZrvHugk0MjLak7Q+HfoBgoq5Bi+5YnwjP4fjDgrtYr/l8MVRBvzz9dPD4KyK0A==" + "caniuse-lite@1.0.30001737": { + "integrity": "sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==" }, "chokidar@3.6.0": { "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", @@ -1906,8 +1753,8 @@ "eastasianwidth@0.2.0": { "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, - "electron-to-chromium@1.5.200": { - "integrity": "sha512-rFCxROw7aOe4uPTfIAx+rXv9cEcGx+buAF4npnhtTqCJk5KDFRnh3+KYj7rdVh6lsFt5/aPs+Irj9rZ33WMA7w==" + "electron-to-chromium@1.5.208": { + "integrity": "sha512-ozZyibehoe7tOhNaf16lKmljVf+3npZcJIEbJRVftVsmAg5TeA1mGS9dVCZzOwr2xT7xK15V0p7+GZqSPgkuPg==" }, "emoji-regex@8.0.0": { "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" @@ -1990,8 +1837,8 @@ "reusify" ] }, - "fdir@6.4.6_picomatch@4.0.3": { - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "fdir@6.5.0_picomatch@4.0.3": { + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dependencies": [ "picomatch@4.0.3" ], @@ -2239,8 +2086,8 @@ "lines-and-columns@1.2.4": { "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, - "linkedom@0.18.11": { - "integrity": "sha512-K03GU3FUlnhBAP0jPb7tN7YJl7LbjZx30Z8h6wgLXusnKF7+BEZvfEbdkN/lO9LfFzxN3S0ZAriDuJ/13dIsLA==", + "linkedom@0.18.12": { + "integrity": "sha512-jalJsOwIKuQJSeTvsgzPe9iJzyfVaEJiEXl+25EkKevsULHvMJzpNqwvj1jOESWdmgKDiXObyjOYwlUqG7wo1Q==", "dependencies": [ "css-select", "cssom", @@ -2264,8 +2111,8 @@ "yallist@3.1.1" ] }, - "magic-string@0.30.17": { - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "magic-string@0.30.18": { + "integrity": "sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==", "dependencies": [ "@jridgewell/sourcemap-codec" ] @@ -2676,14 +2523,14 @@ "source-map-js" ] }, - "preact-render-to-string@6.5.13_preact@10.27.0": { - "integrity": "sha512-iGPd+hKPMFKsfpR2vL4kJ6ZPcFIoWZEcBf0Dpm3zOpdVvj77aY8RlLiQji5OMrngEyaxGogeakTb54uS2FvA6w==", + "preact-render-to-string@6.6.1_preact@10.27.1": { + "integrity": "sha512-IIMfXRjmbSP9QmG18WJLQa4Z4yx3J0VC9QN5q9z2XYlWSzFlJ+bSm/AyLyyV/YFwjof1OXFX2Mz6Ao60LXudJg==", "dependencies": [ "preact" ] }, - "preact@10.27.0": { - "integrity": "sha512-/DTYoB6mwwgPytiqQTh/7SFRL98ZdiD8Sk8zIUVOxtwq4oWcwrcd1uno9fE/zZmUaUrFNYzbH14CPebOz9tZQw==" + "preact@10.27.1": { + "integrity": "sha512-V79raXEWch/rbqoNc7nT9E4ep7lu+mI3+sBmfRD4i1M73R3WLYcCtdI0ibxGVf4eQL8ZIz2nFacqEC+rmnOORQ==" }, "prismjs@1.30.0": { "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==" @@ -2728,8 +2575,8 @@ ], "bin": true }, - "rollup@4.46.2": { - "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==", + "rollup@4.47.1": { + "integrity": "sha512-iasGAQoZ5dWDzULEUX3jiW0oB1qyFOepSyDyoU6S/OhVlDIwj5knI5QBa5RRQ0sK7OE0v+8VIi2JuV+G+3tfNg==", "dependencies": [ "@types/estree" ], @@ -2822,7 +2669,7 @@ "strip-ansi@7.1.0": { "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": [ - "ansi-regex@6.1.0" + "ansi-regex@6.2.0" ] }, "stylehacks@6.1.1_postcss@8.5.6": { @@ -2890,9 +2737,6 @@ ], "bin": true }, - "tailwindcss@4.1.11": { - "integrity": "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==" - }, "tailwindcss@4.1.12": { "integrity": "sha512-DzFtxOi+7NsFf7DBtI3BJsynR+0Yp6etH+nRPTbpWnS2pZBaSksv/JGctNwSWzbFjp0vxSqknaUylseZqMDGrA==" }, @@ -2964,7 +2808,7 @@ "picomatch@4.0.3" ] }, - "update-browserslist-db@1.1.3_browserslist@4.25.2": { + "update-browserslist-db@1.1.3_browserslist@4.25.3": { "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dependencies": [ "browserslist", @@ -2976,50 +2820,21 @@ "util-deprecate@1.0.2": { "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "vite-dev-rpc@1.1.0_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1": { - "integrity": "sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==", - "dependencies": [ - "birpc", - "vite@7.1.2_@types+node@24.2.1_picomatch@4.0.3", - "vite-hot-client@2.1.0_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1" - ] - }, - "vite-dev-rpc@1.1.0_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1_@types+node@24.2.0": { + "vite-dev-rpc@1.1.0_vite@7.1.3__@types+node@24.3.0__picomatch@4.0.3_@types+node@24.3.0": { "integrity": "sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==", "dependencies": [ "birpc", - "vite@7.1.2_@types+node@24.2.1_picomatch@4.0.3_@types+node@24.2.0", - "vite-hot-client@2.1.0_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1_@types+node@24.2.0" + "vite", + "vite-hot-client" ] }, - "vite-hot-client@2.1.0_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1": { + "vite-hot-client@2.1.0_vite@7.1.3__@types+node@24.3.0__picomatch@4.0.3_@types+node@24.3.0": { "integrity": "sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==", "dependencies": [ - "vite@7.1.2_@types+node@24.2.1_picomatch@4.0.3" + "vite" ] }, - "vite-hot-client@2.1.0_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1_@types+node@24.2.0": { - "integrity": "sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==", - "dependencies": [ - "vite@7.1.2_@types+node@24.2.1_picomatch@4.0.3_@types+node@24.2.0" - ] - }, - "vite-plugin-inspect@11.3.2_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1": { - "integrity": "sha512-nzwvyFQg58XSMAmKVLr2uekAxNYvAbz1lyPmCAFVIBncCgN9S/HPM+2UM9Q9cvc4JEbC5ZBgwLAdaE2onmQuKg==", - "dependencies": [ - "ansis", - "debug", - "error-stack-parser-es", - "ohash", - "open@10.2.0", - "perfect-debounce", - "sirv", - "unplugin-utils", - "vite@7.1.2_@types+node@24.2.1_picomatch@4.0.3", - "vite-dev-rpc@1.1.0_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1" - ] - }, - "vite-plugin-inspect@11.3.2_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1_@types+node@24.2.0": { + "vite-plugin-inspect@11.3.2_vite@7.1.3__@types+node@24.3.0__picomatch@4.0.3_@types+node@24.3.0": { "integrity": "sha512-nzwvyFQg58XSMAmKVLr2uekAxNYvAbz1lyPmCAFVIBncCgN9S/HPM+2UM9Q9cvc4JEbC5ZBgwLAdaE2onmQuKg==", "dependencies": [ "ansis", @@ -3030,33 +2845,14 @@ "perfect-debounce", "sirv", "unplugin-utils", - "vite@7.1.2_@types+node@24.2.1_picomatch@4.0.3_@types+node@24.2.0", - "vite-dev-rpc@1.1.0_vite@7.1.2__@types+node@24.2.1__picomatch@4.0.3_@types+node@24.2.1_@types+node@24.2.0" + "vite", + "vite-dev-rpc" ] }, - "vite@7.1.2_@types+node@24.2.1_picomatch@4.0.3": { - "integrity": "sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==", - "dependencies": [ - "@types/node@24.2.1", - "esbuild", - "fdir", - "picomatch@4.0.3", - "postcss", - "rollup", - "tinyglobby" - ], - "optionalDependencies": [ - "fsevents" - ], - "optionalPeers": [ - "@types/node@24.2.1" - ], - "bin": true - }, - "vite@7.1.2_@types+node@24.2.1_picomatch@4.0.3_@types+node@24.2.0": { - "integrity": "sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==", + "vite@7.1.3_@types+node@24.3.0_picomatch@4.0.3": { + "integrity": "sha512-OOUi5zjkDxYrKhTV3V7iKsoS37VUM7v40+HuwEmcrsf11Cdx9y3DIr2Px6liIcZFwt3XSRpQvFpL3WVy7ApkGw==", "dependencies": [ - "@types/node@24.2.0", + "@types/node", "esbuild", "fdir", "picomatch@4.0.3", @@ -3068,7 +2864,7 @@ "fsevents" ], "optionalPeers": [ - "@types/node@24.2.0" + "@types/node" ], "bin": true }, @@ -3267,7 +3063,7 @@ "npm:preact@^10.26.9", "npm:rollup-plugin-visualizer@^6.0.3", "npm:vite-plugin-inspect@^11.3.2", - "npm:vite@^7.1.2" + "npm:vite@^7.1.3" ] } } diff --git a/packages/fresh/src/dev/update_check_test.ts b/packages/fresh/src/dev/update_check_test.ts index 9dc0c884bca..09e14cc33ae 100644 --- a/packages/fresh/src/dev/update_check_test.ts +++ b/packages/fresh/src/dev/update_check_test.ts @@ -274,7 +274,11 @@ Deno.test("migrates to last_shown property", async () => { stdout: "piped", }).output(); - const { stdout } = getStdOutput(out); + const { stdout, stderr } = getStdOutput(out); + if (stdout === "") { + // deno-lint-ignore no-console + console.log(stderr); + } expect(stdout).toMatch(/Fresh .* is available/); const checkFileAfter = JSON.parse( diff --git a/packages/fresh/tests/test_utils.tsx b/packages/fresh/tests/test_utils.tsx index 6555ec3fcf0..99e687a5e01 100644 --- a/packages/fresh/tests/test_utils.tsx +++ b/packages/fresh/tests/test_utils.tsx @@ -95,13 +95,15 @@ export async function withBrowser(fn: (page: Page) => void | Promise) { } } +export interface TestChildServerOptions { + cwd: string; + args: string[]; + bin?: string; + env?: Record; +} + export async function withChildProcessServer( - options: { - cwd: string; - args: string[]; - bin?: string; - env?: Record; - }, + options: TestChildServerOptions, fn: (address: string) => void | Promise, ) { const aborter = new AbortController(); diff --git a/packages/plugin-vite/deno.json b/packages/plugin-vite/deno.json index e88b57bd78d..ce4d0917ca7 100644 --- a/packages/plugin-vite/deno.json +++ b/packages/plugin-vite/deno.json @@ -30,7 +30,7 @@ "mime-db": "npm:mime-db@^1.54.0", "preact": "npm:preact@^10.26.9", "rollup-plugin-visualizer": "npm:rollup-plugin-visualizer@^6.0.3", - "vite": "npm:vite@^7.1.2", + "vite": "npm:vite@^7.1.3", "vite-plugin-inspect": "npm:vite-plugin-inspect@^11.3.2" } } diff --git a/packages/plugin-vite/src/plugins/deno.ts b/packages/plugin-vite/src/plugins/deno.ts index 46a026ed3b3..04735979e85 100644 --- a/packages/plugin-vite/src/plugins/deno.ts +++ b/packages/plugin-vite/src/plugins/deno.ts @@ -32,10 +32,14 @@ export function deno(): Plugin { }, async configResolved() { // TODO: Pass conditions - ssrLoader = await new Workspace({}).createLoader(); + ssrLoader = await new Workspace({ + platform: "node", + cachedOnly: true, + }).createLoader(); browserLoader = await new Workspace({ platform: "browser", preserveJsx: true, + cachedOnly: true, }) .createLoader(); }, diff --git a/packages/plugin-vite/tests/build_test.ts b/packages/plugin-vite/tests/build_test.ts index 2ff0f5d5ebd..b6996ebe4ab 100644 --- a/packages/plugin-vite/tests/build_test.ts +++ b/packages/plugin-vite/tests/build_test.ts @@ -1,10 +1,12 @@ import { expect } from "@std/expect"; +import { waitForText, withBrowser } from "../../fresh/tests/test_utils.tsx"; import { - waitForText, - withBrowser, - withChildProcessServer, -} from "../../fresh/tests/test_utils.tsx"; -import { buildVite, DEMO_DIR, FIXTURE_DIR, usingEnv } from "./test_utils.ts"; + buildVite, + DEMO_DIR, + FIXTURE_DIR, + launchProd, + usingEnv, +} from "./test_utils.ts"; import * as path from "@std/path"; Deno.test({ @@ -12,11 +14,8 @@ Deno.test({ fn: async () => { await using res = await buildVite(DEMO_DIR); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { const res = await fetch(address); const text = await res.text(); @@ -33,11 +32,8 @@ Deno.test({ fn: async () => { await using viteResult = await buildVite(DEMO_DIR); - await withChildProcessServer( - { - cwd: viteResult.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: viteResult.tmp }, async (address) => { const res = await fetch(`${address}/test_static/foo.txt`); const text = await res.text(); @@ -54,11 +50,8 @@ Deno.test({ fn: async () => { await using res = await buildVite(DEMO_DIR); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { await withBrowser(async (page) => { await page.goto(`${address}/tests/island_hooks`, { @@ -83,11 +76,8 @@ Deno.test({ const fixture = path.join(FIXTURE_DIR, "no_static"); await using res = await buildVite(fixture); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { const res = await fetch(`${address}/ok`); const text = await res.text(); @@ -105,11 +95,8 @@ Deno.test({ const fixture = path.join(FIXTURE_DIR, "no_islands"); await using res = await buildVite(fixture); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { const res = await fetch(`${address}`); const text = await res.text(); @@ -127,11 +114,8 @@ Deno.test({ const fixture = path.join(FIXTURE_DIR, "no_routes"); await using res = await buildVite(fixture); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { const res = await fetch(`${address}`); const text = await res.text(); @@ -148,11 +132,8 @@ Deno.test({ fn: async () => { await using res = await buildVite(DEMO_DIR); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { await withBrowser(async (page) => { await page.goto(`${address}/tests/mime`, { @@ -173,11 +154,8 @@ Deno.test({ fn: async () => { await using res = await buildVite(DEMO_DIR); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { await withBrowser(async (page) => { await page.goto(`${address}/tests/assets`, { @@ -207,11 +185,8 @@ Deno.test({ const fixture = path.join(FIXTURE_DIR, "tailwind_no_app"); await using res = await buildVite(fixture); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { await withBrowser(async (page) => { await page.goto(`${address}`, { @@ -240,11 +215,8 @@ Deno.test({ const fixture = path.join(FIXTURE_DIR, "tailwind_app"); await using res = await buildVite(fixture); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { await withBrowser(async (page) => { await page.goto(`${address}`, { @@ -272,11 +244,8 @@ Deno.test({ fn: async () => { await using res = await buildVite(DEMO_DIR); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { await withBrowser(async (page) => { await page.goto(`${address}/tests/partial`, { @@ -315,15 +284,10 @@ Deno.test({ ] ) { using _ = usingEnv(key, revision); - // deno-lint-ignore no-console - console.log("Checking...", key, Deno.env.get(key)); await using res = await buildVite(DEMO_DIR); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { const res = await fetch(`${address}/tests/build_id`); const text = await res.text(); @@ -346,11 +310,8 @@ Deno.test({ fn: async () => { await using res = await buildVite(DEMO_DIR); - await withChildProcessServer( - { - cwd: res.tmp, - args: ["serve", "-A", "--port", "0", "_fresh/server.js"], - }, + await launchProd( + { cwd: res.tmp }, async (address) => { const res = await fetch(`${address}/tests/dep_json`); const json = await res.json(); diff --git a/packages/plugin-vite/tests/test_utils.ts b/packages/plugin-vite/tests/test_utils.ts index a7be007a34c..5aed8fcae51 100644 --- a/packages/plugin-vite/tests/test_utils.ts +++ b/packages/plugin-vite/tests/test_utils.ts @@ -73,7 +73,11 @@ export default defineConfig({ ); await withChildProcessServer( - { cwd: tmp.dir, args: ["run", "-A", "npm:vite", "--port", "0"], env }, + { + cwd: tmp.dir, + args: ["run", "-A", "--cached-only", "npm:vite", "--port", "0"], + env, + }, async (address) => await fn(address, tmp.dir), ); } @@ -85,6 +89,7 @@ export async function buildVite(fixtureDir: string) { }); const builder = await createBuilder({ + logLevel: "error", root: fixtureDir, build: { emptyOutDir: true, @@ -125,3 +130,24 @@ export function usingEnv(name: string, value: string) { }, }; } + +export interface ProdOptions { + cwd: string; + args?: string[]; + bin?: string; + env?: Record; +} + +export async function launchProd( + options: ProdOptions, + fn: (address: string) => void | Promise, +) { + return await withChildProcessServer( + { + cwd: options.cwd, + args: options.args ?? + ["serve", "-A", "--cached-only", "--port", "0", "_fresh/server.js"], + }, + fn, + ); +}