diff --git a/deno.json b/deno.json index 4a6838687f1..96e313f292f 100644 --- a/deno.json +++ b/deno.json @@ -83,7 +83,7 @@ "@tailwindcss/postcss": "npm:@tailwindcss/postcss@^4.1.10", "redis": "npm:redis@^5.8.2", - "rollup": "npm:rollup@^4.55.1", + "rolldown": "npm:rolldown@^1.0.0-rc.13", "tailwindcss": "npm:tailwindcss@^4.1.10", "postcss": "npm:postcss@8.5.6", @@ -95,7 +95,7 @@ "marked": "npm:marked@^15.0.11", "marked-mangle": "npm:marked-mangle@^1.1.9", "prismjs": "npm:prismjs@^1.29.0", - "vite": "npm:vite@^7.3.1" + "vite": "npm:vite@^8.0.3" }, "compilerOptions": { "lib": ["dom", "dom.asynciterable", "deno.ns", "deno.unstable"], diff --git a/deno.lock b/deno.lock index 476e8585fe7..d530182e463 100644 --- a/deno.lock +++ b/deno.lock @@ -76,7 +76,7 @@ "npm:@preact/signals@2": "2.9.0_preact@10.29.0", "npm:@preact/signals@^2.2.1": "2.9.0_preact@10.29.0", "npm:@preact/signals@^2.5.1": "2.9.0_preact@10.29.0", - "npm:@prefresh/vite@^2.4.8": "2.4.11_preact@10.29.0_vite@7.3.1__@types+node@24.9.2__picomatch@4.0.3", + "npm:@prefresh/vite@^2.4.8": "2.4.11_preact@10.29.0_vite@8.0.3__@types+node@24.9.2__esbuild@0.25.7__@emnapi+core@1.9.1__@emnapi+runtime@1.9.1_@emnapi+core@1.9.1_@emnapi+runtime@1.9.1_@types+node@24.9.2_esbuild@0.25.7", "npm:@radix-ui/themes@^3.2.1": "3.2.1_react@19.1.1_react-dom@19.1.1__react@19.1.1", "npm:@remix-run/node-fetch-server@0.12": "0.12.0", "npm:@supabase/postgrest-js@^1.21.4": "1.21.4", @@ -90,8 +90,8 @@ "npm:@types/pg@^8.15.5": "8.15.6", "npm:@types/prismjs@^1.26.5": "1.26.5", "npm:@types/qs@^6.14.0": "6.14.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:autoprefixer@^10.4.21": "10.4.21_postcss@8.5.8", + "npm:cssnano@^6.1.2": "6.1.2_postcss@8.5.8", "npm:esbuild-wasm@0.25.7": "0.25.7", "npm:esbuild-wasm@~0.25.11": "0.25.12", "npm:esbuild@0.25.7": "0.25.7", @@ -105,7 +105,7 @@ "npm:mime-db@^1.54.0": "1.54.0", "npm:pg@^8.16.3": "8.16.3", "npm:postcss@8.5.6": "8.5.6", - "npm:postcss@^8.5.6": "8.5.6", + "npm:postcss@^8.5.6": "8.5.8", "npm:preact-render-to-string@^6.6.3": "6.6.7_preact@10.29.0", "npm:preact-render-to-string@^6.6.5": "6.6.7_preact@10.29.0", "npm:preact@^10.22.0": "10.29.0", @@ -116,16 +116,15 @@ "npm:prismjs@^1.29.0": "1.30.0", "npm:qs@^6.14.0": "6.14.0", "npm:redis@^5.8.2": "5.9.0_@redis+client@5.9.0", - "npm:rollup-plugin-visualizer@^6.0.3": "6.0.5_rollup@4.55.1", - "npm:rollup@^4.55.1": "4.55.1", + "npm:rolldown@^1.0.0-rc.13": "1.0.0-rc.13", + "npm:rollup-plugin-visualizer@^6.0.3": "6.0.5_rolldown@1.0.0-rc.13", "npm:stripe@^19.1.0": "19.1.0_@types+node@24.9.2", "npm:tailwindcss@^3.4.17": "3.4.18_postcss@8.5.6_jiti@1.21.7", "npm:tailwindcss@^4.1.10": "4.1.16", "npm:ts-morph@^27.0.2": "27.0.2", "npm:vite-plugin-inspect@^11.3.2": "11.3.3_vite@7.3.1__@types+node@24.9.2__picomatch@4.0.3_@types+node@24.9.2", "npm:vite-plugin-pwa@^1.0.3": "1.2.0_vite@7.3.1__@types+node@24.9.2__picomatch@4.0.3_workbox-build@7.4.0__@types+babel__core@7.20.5_workbox-window@7.4.0_@types+babel__core@7.20.5", - "npm:vite@^7.1.4": "7.3.1_@types+node@24.9.2_picomatch@4.0.3", - "npm:vite@^7.3.1": "7.3.1_@types+node@24.9.2_picomatch@4.0.3" + "npm:vite@^8.0.3": "8.0.3_@types+node@24.9.2_esbuild@0.25.7_@emnapi+core@1.9.1_@emnapi+runtime@1.9.1" }, "jsr": { "@astral/astral@0.5.6": { @@ -1357,6 +1356,25 @@ "search-insights" ] }, + "@emnapi/core@1.9.1": { + "integrity": "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==", + "dependencies": [ + "@emnapi/wasi-threads", + "tslib" + ] + }, + "@emnapi/runtime@1.9.1": { + "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==", + "dependencies": [ + "tslib" + ] + }, + "@emnapi/wasi-threads@1.2.0": { + "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", + "dependencies": [ + "tslib" + ] + }, "@esbuild/aix-ppc64@0.25.7": { "integrity": "sha512-uD0kKFHh6ETr8TqEtaAcV+dn/2qnYbH/+8wGEdY70Qf7l1l/jmBUbrmQqwiPKAQE6cOQ7dTj6Xr0HzQDGHyceQ==", "os": ["aix"], @@ -1692,6 +1710,14 @@ "@jridgewell/sourcemap-codec" ] }, + "@napi-rs/wasm-runtime@1.1.2_@emnapi+core@1.9.1_@emnapi+runtime@1.9.1": { + "integrity": "sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw==", + "dependencies": [ + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util" + ] + }, "@nodelib/fs.scandir@2.1.5": { "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": [ @@ -1712,6 +1738,12 @@ "@opentelemetry/api@1.9.1": { "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==" }, + "@oxc-project/types@0.122.0": { + "integrity": "sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==" + }, + "@oxc-project/types@0.123.0": { + "integrity": "sha512-YtECP/y8Mj1lSHiUWGSRzy/C6teUKlS87dEfuVKT09LgQbUsBW1rNg+MiJ4buGu3yuADV60gbIvo9/HplA56Ew==" + }, "@pkgjs/parseargs@0.11.0": { "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==" }, @@ -1740,7 +1772,7 @@ "@prefresh/utils@1.2.1": { "integrity": "sha512-vq/sIuN5nYfYzvyayXI4C2QkprfNaHUQ9ZX+3xLD8nL3rWyzpxOm1+K7RtMbhd+66QcaISViK7amjnheQ/4WZw==" }, - "@prefresh/vite@2.4.11_preact@10.29.0_vite@7.3.1__@types+node@24.9.2__picomatch@4.0.3": { + "@prefresh/vite@2.4.11_preact@10.29.0_vite@8.0.3__@types+node@24.9.2__esbuild@0.25.7__@emnapi+core@1.9.1__@emnapi+runtime@1.9.1_@emnapi+core@1.9.1_@emnapi+runtime@1.9.1_@types+node@24.9.2_esbuild@0.25.7": { "integrity": "sha512-/XjURQqdRiCG3NpMmWqE9kJwrg9IchIOWHzulCfqg2sRe/8oQ1g5De7xrk9lbqPIQLn7ntBkKdqWXIj4E9YXyg==", "dependencies": [ "@babel/core", @@ -1749,7 +1781,7 @@ "@prefresh/utils", "@rollup/pluginutils@4.2.1", "preact", - "vite" + "vite@8.0.3_@types+node@24.9.2_esbuild@0.25.7_@emnapi+core@1.9.1_@emnapi+runtime@1.9.1" ] }, "@radix-ui/colors@3.0.0": { @@ -2507,6 +2539,168 @@ "@remix-run/node-fetch-server@0.12.0": { "integrity": "sha512-oeg8w8aJJSuq1fCx85jCkcgTfI6On7sKwWVSO4/OW5AvTBuosAIwnuBd/LYeU/I7lYPOTW2NXhUfyfpyeexs4w==" }, + "@rolldown/binding-android-arm64@1.0.0-rc.12": { + "integrity": "sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==", + "os": ["android"], + "cpu": ["arm64"] + }, + "@rolldown/binding-android-arm64@1.0.0-rc.13": { + "integrity": "sha512-5ZiiecKH2DXAVJTNN13gNMUcCDg4Jy8ZjbXEsPnqa248wgOVeYRX0iqXXD5Jz4bI9BFHgKsI2qmyJynstbmr+g==", + "os": ["android"], + "cpu": ["arm64"] + }, + "@rolldown/binding-darwin-arm64@1.0.0-rc.12": { + "integrity": "sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg==", + "os": ["darwin"], + "cpu": ["arm64"] + }, + "@rolldown/binding-darwin-arm64@1.0.0-rc.13": { + "integrity": "sha512-tz/v/8G77seu8zAB3A5sK3UFoOl06zcshEzhUO62sAEtrEuW/H1CcyoupOrD+NbQJytYgA4CppXPzlrmp4JZKA==", + "os": ["darwin"], + "cpu": ["arm64"] + }, + "@rolldown/binding-darwin-x64@1.0.0-rc.12": { + "integrity": "sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw==", + "os": ["darwin"], + "cpu": ["x64"] + }, + "@rolldown/binding-darwin-x64@1.0.0-rc.13": { + "integrity": "sha512-8DakphqOz8JrMYWTJmWA+vDJxut6LijZ8Xcdc4flOlAhU7PNVwo2MaWBF9iXjJAPo5rC/IxEFZDhJ3GC7NHvug==", + "os": ["darwin"], + "cpu": ["x64"] + }, + "@rolldown/binding-freebsd-x64@1.0.0-rc.12": { + "integrity": "sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q==", + "os": ["freebsd"], + "cpu": ["x64"] + }, + "@rolldown/binding-freebsd-x64@1.0.0-rc.13": { + "integrity": "sha512-4wBQFfjDuXYN/SVI8inBF3Aa+isq40rc6VMFbk5jcpolUBTe5cYnMsHZ51nFWsx3PVyyNN3vgoESki0Hmr/4BA==", + "os": ["freebsd"], + "cpu": ["x64"] + }, + "@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12": { + "integrity": "sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q==", + "os": ["linux"], + "cpu": ["arm"] + }, + "@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.13": { + "integrity": "sha512-JW/e4yPIXLms+jmnbwwy5LA/LxVwZUWLN8xug+V200wzaVi5TEGIWQlh8o91gWYFxW609euI98OCCemmWGuPrw==", + "os": ["linux"], + "cpu": ["arm"] + }, + "@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12": { + "integrity": "sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "@rolldown/binding-linux-arm64-gnu@1.0.0-rc.13": { + "integrity": "sha512-ZfKWpXiUymDnavepCaM6KG/uGydJ4l2nBmMxg60Ci4CbeefpqjPWpfaZM7PThOhk2dssqBAcwLc6rAyr0uTdXg==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "@rolldown/binding-linux-arm64-musl@1.0.0-rc.12": { + "integrity": "sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "@rolldown/binding-linux-arm64-musl@1.0.0-rc.13": { + "integrity": "sha512-bmRg3O6Z0gq9yodKKWCIpnlH051sEfdVwt+6m5UDffAQMUUqU0xjnQqqAUm+Gu7ofAAly9DqiQDtKu2nPDEABA==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12": { + "integrity": "sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g==", + "os": ["linux"], + "cpu": ["ppc64"] + }, + "@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.13": { + "integrity": "sha512-8Wtnbw4k7pMYN9B/mOEAsQ8HOiq7AZ31Ig4M9BKn2So4xRaFEhtCSa4ZJaOutOWq50zpgR4N5+L/opnlaCx8wQ==", + "os": ["linux"], + "cpu": ["ppc64"] + }, + "@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12": { + "integrity": "sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og==", + "os": ["linux"], + "cpu": ["s390x"] + }, + "@rolldown/binding-linux-s390x-gnu@1.0.0-rc.13": { + "integrity": "sha512-D/0Nlo8mQuxSMohNJUF2lDXWRsFDsHldfRRgD9bRgktj+EndGPj4DOV37LqDKPYS+osdyhZEH7fTakTAEcW7qg==", + "os": ["linux"], + "cpu": ["s390x"] + }, + "@rolldown/binding-linux-x64-gnu@1.0.0-rc.12": { + "integrity": "sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg==", + "os": ["linux"], + "cpu": ["x64"] + }, + "@rolldown/binding-linux-x64-gnu@1.0.0-rc.13": { + "integrity": "sha512-eRrPvat2YaVQcwwKi/JzOP6MKf1WRnOCr+VaI3cTWz3ZoLcP/654z90lVCJ4dAuMEpPdke0n+qyAqXDZdIC4rA==", + "os": ["linux"], + "cpu": ["x64"] + }, + "@rolldown/binding-linux-x64-musl@1.0.0-rc.12": { + "integrity": "sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig==", + "os": ["linux"], + "cpu": ["x64"] + }, + "@rolldown/binding-linux-x64-musl@1.0.0-rc.13": { + "integrity": "sha512-PsdONiFRp8hR8KgVjTWjZ9s7uA3uueWL0t74/cKHfM4dR5zXYv4AjB8BvA+QDToqxAFg4ZkcVEqeu5F7inoz5w==", + "os": ["linux"], + "cpu": ["x64"] + }, + "@rolldown/binding-openharmony-arm64@1.0.0-rc.12": { + "integrity": "sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA==", + "os": ["openharmony"], + "cpu": ["arm64"] + }, + "@rolldown/binding-openharmony-arm64@1.0.0-rc.13": { + "integrity": "sha512-hCNXgC5dI3TVOLrPT++PKFNZ+1EtS0mLQwfXXXSUD/+rGlB65gZDwN/IDuxLpQP4x8RYYHqGomlUXzpO8aVI2w==", + "os": ["openharmony"], + "cpu": ["arm64"] + }, + "@rolldown/binding-wasm32-wasi@1.0.0-rc.12_@emnapi+core@1.9.1_@emnapi+runtime@1.9.1": { + "integrity": "sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg==", + "dependencies": [ + "@napi-rs/wasm-runtime" + ], + "cpu": ["wasm32"] + }, + "@rolldown/binding-wasm32-wasi@1.0.0-rc.13": { + "integrity": "sha512-viLS5C5et8NFtLWw9Sw3M/w4vvnVkbWkO7wSNh3C+7G1+uCkGpr6PcjNDSFcNtmXY/4trjPBqUfcOL+P3sWy/g==", + "dependencies": [ + "@emnapi/core", + "@emnapi/runtime", + "@napi-rs/wasm-runtime" + ], + "cpu": ["wasm32"] + }, + "@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12": { + "integrity": "sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q==", + "os": ["win32"], + "cpu": ["arm64"] + }, + "@rolldown/binding-win32-arm64-msvc@1.0.0-rc.13": { + "integrity": "sha512-Fqa3Tlt1xL4wzmAYxGNFV36Hb+VfPc9PYU+E25DAnswXv3ODDu/yyWjQDbXMo5AGWkQVjLgQExuVu8I/UaZhPQ==", + "os": ["win32"], + "cpu": ["arm64"] + }, + "@rolldown/binding-win32-x64-msvc@1.0.0-rc.12": { + "integrity": "sha512-PyqoipaswDLAZtot351MLhrlrh6lcZPo2LSYE+VDxbVk24LVKAGOuE4hb8xZQmrPAuEtTZW8E6D2zc5EUZX4Lw==", + "os": ["win32"], + "cpu": ["x64"] + }, + "@rolldown/binding-win32-x64-msvc@1.0.0-rc.13": { + "integrity": "sha512-/pLI5kPkGEi44TDlnbio3St/5gUFeN51YWNAk/Gnv6mEQBOahRBh52qVFVBpmrnU01n2yysvBML9Ynu7K4kGAQ==", + "os": ["win32"], + "cpu": ["x64"] + }, + "@rolldown/pluginutils@1.0.0-rc.12": { + "integrity": "sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==" + }, + "@rolldown/pluginutils@1.0.0-rc.13": { + "integrity": "sha512-3ngTAv6F/Py35BsYbeeLeecvhMKdsKm4AoOETVhAA+Qc8nrA2I0kF7oa93mE9qnIurngOSpMnQ0x2nQY2FPviA==" + }, "@rollup/plugin-babel@5.3.1_@babel+core@7.28.5_@types+babel__core@7.20.5_rollup@2.80.0": { "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", "dependencies": [ @@ -2574,7 +2768,6 @@ "dependencies": [ "@types/estree@1.0.8", "estree-walker@2.0.2", - "picomatch@4.0.3", "rollup@2.80.0" ], "optionalPeers": [ @@ -2733,7 +2926,7 @@ "@jridgewell/remapping", "enhanced-resolve", "jiti@2.6.1", - "lightningcss", + "lightningcss@1.30.2", "magic-string@0.30.21", "source-map-js", "tailwindcss@4.1.16" @@ -2821,7 +3014,7 @@ "@alloc/quick-lru", "@tailwindcss/node", "@tailwindcss/oxide", - "postcss", + "postcss@8.5.8", "tailwindcss@4.1.16" ] }, @@ -2831,7 +3024,7 @@ "@tailwindcss/node", "@tailwindcss/oxide", "tailwindcss@4.1.16", - "vite" + "vite@7.3.1_@types+node@24.9.2_picomatch@4.0.3" ] }, "@trysound/sax@0.2.0": { @@ -2845,6 +3038,12 @@ "tinyglobby" ] }, + "@tybys/wasm-util@0.10.1": { + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dependencies": [ + "tslib" + ] + }, "@types/babel__core@7.20.5": { "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dependencies": [ @@ -3006,7 +3205,7 @@ "at-least-node@1.0.0": { "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, - "autoprefixer@10.4.21_postcss@8.5.6": { + "autoprefixer@10.4.21_postcss@8.5.8": { "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", "dependencies": [ "browserslist", @@ -3014,7 +3213,7 @@ "fraction.js", "normalize-range", "picocolors", - "postcss", + "postcss@8.5.8", "postcss-value-parser" ], "bin": true @@ -3220,10 +3419,10 @@ "crypto-random-string@2.0.0": { "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" }, - "css-declaration-sorter@7.3.0_postcss@8.5.6": { + "css-declaration-sorter@7.3.0_postcss@8.5.8": { "integrity": "sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==", "dependencies": [ - "postcss" + "postcss@8.5.8" ] }, "css-select@5.2.2": { @@ -3257,13 +3456,13 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "bin": true }, - "cssnano-preset-default@6.1.2_postcss@8.5.6": { + "cssnano-preset-default@6.1.2_postcss@8.5.8": { "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", "dependencies": [ "browserslist", "css-declaration-sorter", "cssnano-utils", - "postcss", + "postcss@8.5.8", "postcss-calc", "postcss-colormin", "postcss-convert-values", @@ -3293,18 +3492,18 @@ "postcss-unique-selectors" ] }, - "cssnano-utils@4.0.2_postcss@8.5.6": { + "cssnano-utils@4.0.2_postcss@8.5.8": { "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", "dependencies": [ - "postcss" + "postcss@8.5.8" ] }, - "cssnano@6.1.2_postcss@8.5.6": { + "cssnano@6.1.2_postcss@8.5.8": { "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", "dependencies": [ "cssnano-preset-default", "lilconfig", - "postcss" + "postcss@8.5.8" ] }, "csso@5.0.5": { @@ -3664,13 +3863,7 @@ ] }, "fdir@6.5.0_picomatch@4.0.3": { - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dependencies": [ - "picomatch@4.0.3" - ], - "optionalPeers": [ - "picomatch@4.0.3" - ] + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==" }, "feed@5.1.0": { "integrity": "sha512-qGNhgYygnefSkAHHrNHqC7p3R8J0/xQDS/cYUud8er/qD9EFGWyCdUDfULHTJQN1d3H3WprzVwMc9MfB4J50Wg==", @@ -4174,73 +4367,147 @@ "os": ["android"], "cpu": ["arm64"] }, + "lightningcss-android-arm64@1.32.0": { + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "os": ["android"], + "cpu": ["arm64"] + }, "lightningcss-darwin-arm64@1.30.2": { "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", "os": ["darwin"], "cpu": ["arm64"] }, + "lightningcss-darwin-arm64@1.32.0": { + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "os": ["darwin"], + "cpu": ["arm64"] + }, "lightningcss-darwin-x64@1.30.2": { "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", "os": ["darwin"], "cpu": ["x64"] }, + "lightningcss-darwin-x64@1.32.0": { + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "os": ["darwin"], + "cpu": ["x64"] + }, "lightningcss-freebsd-x64@1.30.2": { "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", "os": ["freebsd"], "cpu": ["x64"] }, + "lightningcss-freebsd-x64@1.32.0": { + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "os": ["freebsd"], + "cpu": ["x64"] + }, "lightningcss-linux-arm-gnueabihf@1.30.2": { "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", "os": ["linux"], "cpu": ["arm"] }, + "lightningcss-linux-arm-gnueabihf@1.32.0": { + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "os": ["linux"], + "cpu": ["arm"] + }, "lightningcss-linux-arm64-gnu@1.30.2": { "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", "os": ["linux"], "cpu": ["arm64"] }, + "lightningcss-linux-arm64-gnu@1.32.0": { + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "os": ["linux"], + "cpu": ["arm64"] + }, "lightningcss-linux-arm64-musl@1.30.2": { "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", "os": ["linux"], "cpu": ["arm64"] }, + "lightningcss-linux-arm64-musl@1.32.0": { + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "os": ["linux"], + "cpu": ["arm64"] + }, "lightningcss-linux-x64-gnu@1.30.2": { "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", "os": ["linux"], "cpu": ["x64"] }, + "lightningcss-linux-x64-gnu@1.32.0": { + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "os": ["linux"], + "cpu": ["x64"] + }, "lightningcss-linux-x64-musl@1.30.2": { "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", "os": ["linux"], "cpu": ["x64"] }, + "lightningcss-linux-x64-musl@1.32.0": { + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "os": ["linux"], + "cpu": ["x64"] + }, "lightningcss-win32-arm64-msvc@1.30.2": { "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", "os": ["win32"], "cpu": ["arm64"] }, + "lightningcss-win32-arm64-msvc@1.32.0": { + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "os": ["win32"], + "cpu": ["arm64"] + }, "lightningcss-win32-x64-msvc@1.30.2": { "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", "os": ["win32"], "cpu": ["x64"] }, + "lightningcss-win32-x64-msvc@1.32.0": { + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "os": ["win32"], + "cpu": ["x64"] + }, "lightningcss@1.30.2": { "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", "dependencies": [ "detect-libc" ], "optionalDependencies": [ - "lightningcss-android-arm64", - "lightningcss-darwin-arm64", - "lightningcss-darwin-x64", - "lightningcss-freebsd-x64", - "lightningcss-linux-arm-gnueabihf", - "lightningcss-linux-arm64-gnu", - "lightningcss-linux-arm64-musl", - "lightningcss-linux-x64-gnu", - "lightningcss-linux-x64-musl", - "lightningcss-win32-arm64-msvc", - "lightningcss-win32-x64-msvc" + "lightningcss-android-arm64@1.30.2", + "lightningcss-darwin-arm64@1.30.2", + "lightningcss-darwin-x64@1.30.2", + "lightningcss-freebsd-x64@1.30.2", + "lightningcss-linux-arm-gnueabihf@1.30.2", + "lightningcss-linux-arm64-gnu@1.30.2", + "lightningcss-linux-arm64-musl@1.30.2", + "lightningcss-linux-x64-gnu@1.30.2", + "lightningcss-linux-x64-musl@1.30.2", + "lightningcss-win32-arm64-msvc@1.30.2", + "lightningcss-win32-x64-msvc@1.30.2" + ] + }, + "lightningcss@1.32.0": { + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dependencies": [ + "detect-libc" + ], + "optionalDependencies": [ + "lightningcss-android-arm64@1.32.0", + "lightningcss-darwin-arm64@1.32.0", + "lightningcss-darwin-x64@1.32.0", + "lightningcss-freebsd-x64@1.32.0", + "lightningcss-linux-arm-gnueabihf@1.32.0", + "lightningcss-linux-arm64-gnu@1.32.0", + "lightningcss-linux-arm64-musl@1.32.0", + "lightningcss-linux-x64-gnu@1.32.0", + "lightningcss-linux-x64-musl@1.32.0", + "lightningcss-win32-arm64-msvc@1.32.0", + "lightningcss-win32-x64-msvc@1.32.0" ] }, "lilconfig@3.1.3": { @@ -4526,8 +4793,8 @@ "picomatch@2.3.1": { "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, - "picomatch@4.0.3": { - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==" + "picomatch@4.0.4": { + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==" }, "pify@2.3.0": { "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" @@ -4538,60 +4805,59 @@ "possible-typed-array-names@1.1.0": { "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==" }, - "postcss-calc@9.0.1_postcss@8.5.6": { + "postcss-calc@9.0.1_postcss@8.5.8": { "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-selector-parser", "postcss-value-parser" ] }, - "postcss-colormin@6.1.0_postcss@8.5.6": { + "postcss-colormin@6.1.0_postcss@8.5.8": { "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", "dependencies": [ "browserslist", "caniuse-api", "colord", - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-convert-values@6.1.0_postcss@8.5.6": { + "postcss-convert-values@6.1.0_postcss@8.5.8": { "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", "dependencies": [ "browserslist", - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-discard-comments@6.0.2_postcss@8.5.6": { + "postcss-discard-comments@6.0.2_postcss@8.5.8": { "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", "dependencies": [ - "postcss" + "postcss@8.5.8" ] }, - "postcss-discard-duplicates@6.0.3_postcss@8.5.6": { + "postcss-discard-duplicates@6.0.3_postcss@8.5.8": { "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", "dependencies": [ - "postcss" + "postcss@8.5.8" ] }, - "postcss-discard-empty@6.0.3_postcss@8.5.6": { + "postcss-discard-empty@6.0.3_postcss@8.5.8": { "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", "dependencies": [ - "postcss" + "postcss@8.5.8" ] }, - "postcss-discard-overridden@6.0.2_postcss@8.5.6": { + "postcss-discard-overridden@6.0.2_postcss@8.5.8": { "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", "dependencies": [ - "postcss" + "postcss@8.5.8" ] }, "postcss-import@15.1.0_postcss@8.5.6": { "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dependencies": [ - "postcss", "postcss-value-parser", "read-cache", "resolve" @@ -4600,162 +4866,154 @@ "postcss-js@4.1.0_postcss@8.5.6": { "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", "dependencies": [ - "camelcase-css", - "postcss" + "camelcase-css" ] }, "postcss-load-config@6.0.1_jiti@1.21.7_postcss@8.5.6": { "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", "dependencies": [ - "jiti@1.21.7", - "lilconfig", - "postcss" - ], - "optionalPeers": [ - "jiti@1.21.7", - "postcss" + "lilconfig" ] }, - "postcss-merge-longhand@6.0.5_postcss@8.5.6": { + "postcss-merge-longhand@6.0.5_postcss@8.5.8": { "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-value-parser", "stylehacks" ] }, - "postcss-merge-rules@6.1.1_postcss@8.5.6": { + "postcss-merge-rules@6.1.1_postcss@8.5.8": { "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", "dependencies": [ "browserslist", "caniuse-api", "cssnano-utils", - "postcss", + "postcss@8.5.8", "postcss-selector-parser" ] }, - "postcss-minify-font-values@6.1.0_postcss@8.5.6": { + "postcss-minify-font-values@6.1.0_postcss@8.5.8": { "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-minify-gradients@6.0.3_postcss@8.5.6": { + "postcss-minify-gradients@6.0.3_postcss@8.5.8": { "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", "dependencies": [ "colord", "cssnano-utils", - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-minify-params@6.1.0_postcss@8.5.6": { + "postcss-minify-params@6.1.0_postcss@8.5.8": { "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", "dependencies": [ "browserslist", "cssnano-utils", - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-minify-selectors@6.0.4_postcss@8.5.6": { + "postcss-minify-selectors@6.0.4_postcss@8.5.8": { "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-selector-parser" ] }, "postcss-nested@6.2.0_postcss@8.5.6": { "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", "dependencies": [ - "postcss", "postcss-selector-parser" ] }, - "postcss-normalize-charset@6.0.2_postcss@8.5.6": { + "postcss-normalize-charset@6.0.2_postcss@8.5.8": { "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", "dependencies": [ - "postcss" + "postcss@8.5.8" ] }, - "postcss-normalize-display-values@6.0.2_postcss@8.5.6": { + "postcss-normalize-display-values@6.0.2_postcss@8.5.8": { "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-normalize-positions@6.0.2_postcss@8.5.6": { + "postcss-normalize-positions@6.0.2_postcss@8.5.8": { "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-normalize-repeat-style@6.0.2_postcss@8.5.6": { + "postcss-normalize-repeat-style@6.0.2_postcss@8.5.8": { "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-normalize-string@6.0.2_postcss@8.5.6": { + "postcss-normalize-string@6.0.2_postcss@8.5.8": { "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-normalize-timing-functions@6.0.2_postcss@8.5.6": { + "postcss-normalize-timing-functions@6.0.2_postcss@8.5.8": { "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-normalize-unicode@6.1.0_postcss@8.5.6": { + "postcss-normalize-unicode@6.1.0_postcss@8.5.8": { "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", "dependencies": [ "browserslist", - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-normalize-url@6.0.2_postcss@8.5.6": { + "postcss-normalize-url@6.0.2_postcss@8.5.8": { "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-normalize-whitespace@6.0.2_postcss@8.5.6": { + "postcss-normalize-whitespace@6.0.2_postcss@8.5.8": { "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-ordered-values@6.0.2_postcss@8.5.6": { + "postcss-ordered-values@6.0.2_postcss@8.5.8": { "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", "dependencies": [ "cssnano-utils", - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, - "postcss-reduce-initial@6.1.0_postcss@8.5.6": { + "postcss-reduce-initial@6.1.0_postcss@8.5.8": { "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", "dependencies": [ "browserslist", "caniuse-api", - "postcss" + "postcss@8.5.8" ] }, - "postcss-reduce-transforms@6.0.2_postcss@8.5.6": { + "postcss-reduce-transforms@6.0.2_postcss@8.5.8": { "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-value-parser" ] }, @@ -4766,18 +5024,18 @@ "util-deprecate" ] }, - "postcss-svgo@6.0.3_postcss@8.5.6": { + "postcss-svgo@6.0.3_postcss@8.5.8": { "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-value-parser", "svgo" ] }, - "postcss-unique-selectors@6.0.4_postcss@8.5.6": { + "postcss-unique-selectors@6.0.4_postcss@8.5.8": { "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", "dependencies": [ - "postcss", + "postcss@8.5.8", "postcss-selector-parser" ] }, @@ -4792,6 +5050,14 @@ "source-map-js" ] }, + "postcss@8.5.8": { + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "dependencies": [ + "nanoid", + "picocolors", + "source-map-js" + ] + }, "postgres-array@2.0.0": { "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" }, @@ -5045,16 +5311,68 @@ "reusify@1.1.0": { "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==" }, - "rollup-plugin-visualizer@6.0.5_rollup@4.55.1": { + "rolldown@1.0.0-rc.12_@emnapi+core@1.9.1_@emnapi+runtime@1.9.1": { + "integrity": "sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A==", + "dependencies": [ + "@oxc-project/types@0.122.0", + "@rolldown/pluginutils@1.0.0-rc.12" + ], + "optionalDependencies": [ + "@rolldown/binding-android-arm64@1.0.0-rc.12", + "@rolldown/binding-darwin-arm64@1.0.0-rc.12", + "@rolldown/binding-darwin-x64@1.0.0-rc.12", + "@rolldown/binding-freebsd-x64@1.0.0-rc.12", + "@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12", + "@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12", + "@rolldown/binding-linux-arm64-musl@1.0.0-rc.12", + "@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12", + "@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12", + "@rolldown/binding-linux-x64-gnu@1.0.0-rc.12", + "@rolldown/binding-linux-x64-musl@1.0.0-rc.12", + "@rolldown/binding-openharmony-arm64@1.0.0-rc.12", + "@rolldown/binding-wasm32-wasi@1.0.0-rc.12_@emnapi+core@1.9.1_@emnapi+runtime@1.9.1", + "@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12", + "@rolldown/binding-win32-x64-msvc@1.0.0-rc.12" + ], + "bin": true + }, + "rolldown@1.0.0-rc.13": { + "integrity": "sha512-bvVj8YJmf0rq4pSFmH7laLa6pYrhghv3PRzrCdRAr23g66zOKVJ4wkvFtgohtPLWmthgg8/rkaqRHrpUEh0Zbw==", + "dependencies": [ + "@oxc-project/types@0.123.0", + "@rolldown/pluginutils@1.0.0-rc.13" + ], + "optionalDependencies": [ + "@rolldown/binding-android-arm64@1.0.0-rc.13", + "@rolldown/binding-darwin-arm64@1.0.0-rc.13", + "@rolldown/binding-darwin-x64@1.0.0-rc.13", + "@rolldown/binding-freebsd-x64@1.0.0-rc.13", + "@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.13", + "@rolldown/binding-linux-arm64-gnu@1.0.0-rc.13", + "@rolldown/binding-linux-arm64-musl@1.0.0-rc.13", + "@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.13", + "@rolldown/binding-linux-s390x-gnu@1.0.0-rc.13", + "@rolldown/binding-linux-x64-gnu@1.0.0-rc.13", + "@rolldown/binding-linux-x64-musl@1.0.0-rc.13", + "@rolldown/binding-openharmony-arm64@1.0.0-rc.13", + "@rolldown/binding-wasm32-wasi@1.0.0-rc.13", + "@rolldown/binding-win32-arm64-msvc@1.0.0-rc.13", + "@rolldown/binding-win32-x64-msvc@1.0.0-rc.13" + ], + "bin": true + }, + "rollup-plugin-visualizer@6.0.5_rolldown@1.0.0-rc.13": { "integrity": "sha512-9+HlNgKCVbJDs8tVtjQ43US12eqaiHyyiLMdBwQ7vSZPiHMysGNo2E88TAp1si5wx8NAoYriI2A5kuKfIakmJg==", "dependencies": [ "open@8.4.2", - "picomatch@4.0.3", + "picomatch@4.0.4", + "rolldown@1.0.0-rc.13", "rollup@4.55.1", "source-map@0.7.6", "yargs" ], "optionalPeers": [ + "rolldown@1.0.0-rc.13", "rollup@4.55.1" ], "bin": true @@ -5380,11 +5698,11 @@ "@types/node" ] }, - "stylehacks@6.1.1_postcss@8.5.6": { + "stylehacks@6.1.1_postcss@8.5.8": { "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", "dependencies": [ "browserslist", - "postcss", + "postcss@8.5.8", "postcss-selector-parser" ] }, @@ -5434,7 +5752,7 @@ "normalize-path", "object-hash", "picocolors", - "postcss", + "postcss@8.5.8", "postcss-import", "postcss-js", "postcss-load-config", @@ -5489,7 +5807,7 @@ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dependencies": [ "fdir", - "picomatch@4.0.3" + "picomatch@4.0.4" ] }, "to-regex-range@5.0.1": { @@ -5611,7 +5929,7 @@ "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==", "dependencies": [ "pathe", - "picomatch@4.0.3" + "picomatch@4.0.4" ] }, "upath@1.2.0": { @@ -5654,14 +5972,14 @@ "integrity": "sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==", "dependencies": [ "birpc", - "vite", + "vite@7.3.1_@types+node@24.9.2_picomatch@4.0.3", "vite-hot-client" ] }, "vite-hot-client@2.1.0_vite@7.3.1__@types+node@24.9.2__picomatch@4.0.3_@types+node@24.9.2": { "integrity": "sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==", "dependencies": [ - "vite" + "vite@7.3.1_@types+node@24.9.2_picomatch@4.0.3" ] }, "vite-plugin-inspect@11.3.3_vite@7.3.1__@types+node@24.9.2__picomatch@4.0.3_@types+node@24.9.2": { @@ -5675,7 +5993,7 @@ "perfect-debounce", "sirv", "unplugin-utils", - "vite", + "vite@7.3.1_@types+node@24.9.2_picomatch@4.0.3", "vite-dev-rpc" ] }, @@ -5685,7 +6003,7 @@ "debug", "pretty-bytes@6.1.1", "tinyglobby", - "vite", + "vite@7.3.1_@types+node@24.9.2_picomatch@4.0.3", "workbox-build", "workbox-window" ] @@ -5696,8 +6014,6 @@ "@types/node", "esbuild@0.27.2", "fdir", - "picomatch@4.0.3", - "postcss", "rollup@4.55.1", "tinyglobby" ], @@ -5709,6 +6025,26 @@ ], "bin": true }, + "vite@8.0.3_@types+node@24.9.2_esbuild@0.25.7_@emnapi+core@1.9.1_@emnapi+runtime@1.9.1": { + "integrity": "sha512-B9ifbFudT1TFhfltfaIPgjo9Z3mDynBTJSUYxTjOQruf/zHH+ezCQKcoqO+h7a9Pw9Nm/OtlXAiGT1axBgwqrQ==", + "dependencies": [ + "@types/node", + "esbuild@0.25.7", + "lightningcss@1.32.0", + "picomatch@4.0.4", + "postcss@8.5.8", + "rolldown@1.0.0-rc.12_@emnapi+core@1.9.1_@emnapi+runtime@1.9.1", + "tinyglobby" + ], + "optionalDependencies": [ + "fsevents" + ], + "optionalPeers": [ + "@types/node", + "esbuild@0.25.7" + ], + "bin": true + }, "webidl-conversions@3.0.1": { "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, @@ -6029,10 +6365,10 @@ "npm:preact@^10.28.2", "npm:prismjs@^1.29.0", "npm:redis@^5.8.2", - "npm:rollup@^4.55.1", + "npm:rolldown@^1.0.0-rc.13", "npm:tailwindcss@^4.1.10", "npm:ts-morph@^27.0.2", - "npm:vite@^7.3.1" + "npm:vite@^8.0.3" ], "members": { "packages/build-id": { @@ -6100,14 +6436,14 @@ "npm:stripe@^19.1.0", "npm:vite-plugin-inspect@^11.3.2", "npm:vite-plugin-pwa@^1.0.3", - "npm:vite@^7.1.4" + "npm:vite@^8.0.3" ] }, "www": { "dependencies": [ "npm:@tailwindcss/vite@^4.1.12", "npm:vite-plugin-inspect@^11.3.2", - "npm:vite@^7.1.4" + "npm:vite@^8.0.3" ] } } diff --git a/docs/latest/testing/index.md b/docs/latest/testing/index.md index 4c01554e211..5fe3da2d04f 100644 --- a/docs/latest/testing/index.md +++ b/docs/latest/testing/index.md @@ -219,6 +219,7 @@ export const FRESH_BUILD_CONFIG: InlineConfig = { logLevel: "error", root: "./", build: { emptyOutDir: true }, + configLoader: "native", environments: { ssr: { build: { outDir: path.join("_fresh", "server") } }, client: { build: { outDir: path.join("_fresh", "client") } }, diff --git a/packages/init/src/init.ts b/packages/init/src/init.ts index 53d97e70a9a..707c13aa323 100644 --- a/packages/init/src/init.ts +++ b/packages/init/src/init.ts @@ -605,8 +605,8 @@ if (Deno.args.includes("build")) { if (useVite) { denoJson.compilerOptions.types = ["vite/client"]; - denoJson.tasks.dev = "vite"; - denoJson.tasks.build = "vite build"; + denoJson.tasks.dev = "vite --configLoader=native"; + denoJson.tasks.build = "vite --configLoader=native build"; const vitePluginVersion = await getLatestVersion( "@fresh/plugin-vite", @@ -615,7 +615,7 @@ if (Deno.args.includes("build")) { denoJson.imports["@fresh/plugin-vite"] = `jsr:@fresh/plugin-vite@^${vitePluginVersion}`; - denoJson.imports["vite"] = "npm:vite@^7.1.3"; + denoJson.imports["vite"] = "npm:vite@^8.0.3"; denoJson.imports["@types/babel__core"] = "npm:@types/babel__core@^7.20.5"; if (useTailwind) { diff --git a/packages/plugin-vite/README.md b/packages/plugin-vite/README.md index 4e349785c5f..a697e917769 100644 --- a/packages/plugin-vite/README.md +++ b/packages/plugin-vite/README.md @@ -30,8 +30,8 @@ Vite plugin for [Fresh](https://fresh.deno.dev). 4. Update your deno tasks respectively: -- Dev: `vite` -- Build: `vite build` +- Dev: `vite --configLoader=native` +- Build: `vite build --configLoader=native` More information [on the Fresh documentation](https://fresh.deno.dev/docs/advanced/vite) . diff --git a/packages/plugin-vite/deno.json b/packages/plugin-vite/deno.json index ca6df6a1c40..6f16ff24e84 100644 --- a/packages/plugin-vite/deno.json +++ b/packages/plugin-vite/deno.json @@ -15,9 +15,9 @@ "types": ["vite/client"] }, "tasks": { - "demo": "vite demo", - "debug": "deno run -A --inspect-brk npm:vite demo", - "demo:build": "vite build demo", + "demo": "vite --configLoader=native demo", + "debug": "deno run -A --inspect-brk npm:vite --configLoader=native demo", + "demo:build": "vite build --configLoader=native demo", "demo:start": "cd demo && deno serve -A _fresh/server.js" }, "imports": { @@ -41,7 +41,7 @@ "qs": "npm:qs@^6.14.0", "rollup-plugin-visualizer": "npm:rollup-plugin-visualizer@^6.0.3", "stripe": "npm:stripe@^19.1.0", - "vite": "npm:vite@^7.1.4", + "vite": "npm:vite@^8.0.3", "vite-plugin-inspect": "npm:vite-plugin-inspect@^11.3.2", "vite-plugin-pwa": "npm:vite-plugin-pwa@^1.0.3" } diff --git a/packages/plugin-vite/src/mod.ts b/packages/plugin-vite/src/mod.ts index d9adb534d84..5e34b98b7c6 100644 --- a/packages/plugin-vite/src/mod.ts +++ b/packages/plugin-vite/src/mod.ts @@ -89,6 +89,14 @@ export function fresh(config?: FreshViteConfig): Plugin[] { isDev = env.command === "serve"; return { + oxc: { + jsx: { + runtime: "automatic", + importSource: "preact", + development: env.command === "serve", + }, + }, + // TODO: Remove esbuild: { jsx: "automatic", jsxImportSource: "preact", @@ -139,6 +147,13 @@ export function fresh(config?: FreshViteConfig): Plugin[] { ? config.build.outDir + "/client" : null) ?? "_fresh/client", + rolldownOptions: { + preserveEntrySignatures: "strict", + input: { + "client-entry": "fresh:client-entry", + }, + }, + // TODO: Remove rollupOptions: { preserveEntrySignatures: "strict", input: { @@ -158,6 +173,55 @@ export function fresh(config?: FreshViteConfig): Plugin[] { ? config.build.outDir + "/server" : null) ?? "_fresh/server", + rolldownOptions: { + onwarn(warning, handler) { + // Ignore "use client"; warnings + if (warning.code === "MODULE_LEVEL_DIRECTIVE") { + return; + } + + // Ignore optional export errors + if ( + warning.code === "MISSING_EXPORT" && + warning.id?.startsWith("\0fresh-route::") + ) { + return; + } + + // Ignore commonjs optional exports + if ( + warning.code === "MISSING_EXPORT" && + warning.message.includes("__require") + ) { + return; + } + + // Ignore this warnings + if (warning.code === "THIS_IS_UNDEFINED") { + return; + } + + // Ignore falsy source map errors + if (warning.code === "SOURCEMAP_ERROR") { + return; + } + + return handler(warning); + }, + // workaround: Cannot use export statement outside a module + // https://github.com/oxc-project/oxc/blob/a4ac3ce5148c22116436f04516641cd56e67e3ae/crates/oxc_semantic/src/diagnostics.rs#L141 + // https://github.com/oxc-project/oxc/blob/a4ac3ce5148c22116436f04516641cd56e67e3ae/crates/oxc_semantic/src/checker/javascript.rs#L537-L540 + external: (id) => { + if (id.endsWith(".cjs")) { + return true; + } + return false; + }, + input: { + "server-entry": "fresh:server_entry", + }, + }, + // TODO: Remove rollupOptions: { onwarn(warning, handler) { // Ignore "use client"; warnings diff --git a/packages/plugin-vite/src/plugins/deno.ts b/packages/plugin-vite/src/plugins/deno.ts index 6cefed7e463..7b699117fe6 100644 --- a/packages/plugin-vite/src/plugins/deno.ts +++ b/packages/plugin-vite/src/plugins/deno.ts @@ -90,7 +90,10 @@ export function deno(): Plugin { // But we still want to ignore everything `vite:resolve` does // because we're kinda replacing that plugin here. const tmp = await this.resolve(id, importer, options); - if (tmp && tmp.resolvedBy !== "vite:resolve") { + // The `resolveId` hook `resolvedBy` is not supported + // https://github.com/rolldown/rolldown/blob/2280eb2298e42835c8d1049a5b32486693c45d0e/packages/rollup-tests/src/ignored-by-unsupported-features.md?plain=1#L13-L14 + // https://github.com/rolldown/rolldown/issues/8688 + if (tmp) { if (tmp.external && !/^https?:\/\//.test(tmp.id)) { return tmp; } @@ -143,12 +146,14 @@ export function deno(): Plugin { return null; } - const type = getDenoType(id, options.attributes.type ?? "default"); + // https://github.com/rolldown/rolldown/issues/2758 + const type = getDenoType(id, options?.attributes?.type ?? "default"); if ( type !== RequestedModuleType.Default || /^(https?|jsr|npm):/.test(resolved) ) { - return toDenoSpecifier(resolved, type); + // [UNLOADABLE_DEPENDENCY] Error: Could not load @marvinh-test/fresh-island - No such file or directory (os error 2). + return { id: toDenoSpecifier(resolved, type) }; } if (resolved.startsWith("file://")) { diff --git a/packages/plugin-vite/src/plugins/verify_imports.ts b/packages/plugin-vite/src/plugins/verify_imports.ts index a6661af5f40..c42a5a8b22f 100644 --- a/packages/plugin-vite/src/plugins/verify_imports.ts +++ b/packages/plugin-vite/src/plugins/verify_imports.ts @@ -1,6 +1,6 @@ import type { Plugin } from "vite"; import * as cl from "@std/fmt/colors"; -import type { PluginContext } from "rollup"; +import type { PluginContext } from "rolldown"; import path from "node:path"; import { pathWithRoot } from "../utils.ts"; diff --git a/packages/plugin-vite/tests/build_test.ts b/packages/plugin-vite/tests/build_test.ts index ef08df5ebaf..ada8b36d11e 100644 --- a/packages/plugin-vite/tests/build_test.ts +++ b/packages/plugin-vite/tests/build_test.ts @@ -298,6 +298,8 @@ integrationTest("vite build - import node:*", async () => { ); }); +// needs: https://github.com/vitejs/vite/pull/21580 +// https://github.com/rolldown/rolldown/issues/7012 integrationTest("vite build - css modules", async () => { await launchProd( { cwd: viteResult.tmp }, diff --git a/packages/plugin-vite/tests/test_utils.ts b/packages/plugin-vite/tests/test_utils.ts index 2d7a4d5c6b6..338bfb81581 100644 --- a/packages/plugin-vite/tests/test_utils.ts +++ b/packages/plugin-vite/tests/test_utils.ts @@ -81,7 +81,15 @@ export async function launchDevServer( await withChildProcessServer( { cwd: dir, - args: ["run", "-A", "--cached-only", "npm:vite", "--port", "0"], + args: [ + "run", + "-A", + "--cached-only", + "npm:vite", + "--configLoader=native", + "--port", + "0", + ], env, }, async (address) => await fn(address, dir), @@ -100,7 +108,15 @@ export async function spawnDevServer( const server = withChildProcessServer( { cwd: dir, - args: ["run", "-A", "--cached-only", "npm:vite", "--port", "0"], + args: [ + "run", + "-A", + "--cached-only", + "npm:vite", + "--configLoader=native", + "--port", + "0", + ], env, }, async (address) => { @@ -156,6 +172,7 @@ export async function buildVite( build: { emptyOutDir: true, }, + configLoader: "native", environments: { ssr: { build: { diff --git a/tools/check_links.ts b/tools/check_links.ts index 7c0e9a48c5d..b61b1044eb7 100644 --- a/tools/check_links.ts +++ b/tools/check_links.ts @@ -12,7 +12,7 @@ const totalStart = performance.now(); // deno-lint-ignore no-console console.log("Building www..."); let stepStart = performance.now(); -const builder = await createBuilder({ root: www }); +const builder = await createBuilder({ root: www, configLoader: "native" }); await builder.buildApp(); // deno-lint-ignore no-console console.log( diff --git a/vite8-issues.md b/vite8-issues.md new file mode 100644 index 00000000000..64707dcdede --- /dev/null +++ b/vite8-issues.md @@ -0,0 +1,136 @@ +# Vite 8 / Rolldown Migration Notes + +This document summarizes the migration work, regressions found, fixes applied, and investigation outcomes while moving `@fresh/plugin-vite` from Vite 7/Rollup behavior to Vite 8/Rolldown behavior. + +--- + +## Current Status + +- `deno test -A packages/plugin-vite/tests/build_test.ts` + - ✅ **30 passed / 0 failed** +- Previously failing areas during migration: + - Bare/JSR island resolution (`@marvinh-test/fresh-island`) + - `.cjs` parsing failures in SSR build + - CSS Modules not applied for island/imported chunks + +--- + +## Root Causes Identified + +### 1) Resolver contract differences in Rolldown path + +**Symptoms** +- Build error: + - `Could not load @marvinh-test/fresh-island - No such file or directory (os error 2)` + +**Causes** +- `resolveId` result shape assumptions from previous behavior no longer held. +- Returned string IDs were not always sufficient in this path. +- `resolveId` metadata assumptions (`resolvedBy`) were invalid with current typings/runtime surface. +- `resolveId` options import attributes (`options.attributes`) are not available in current Rolldown integration (see linked Rolldown issue below). + +**Fixes** +- Return object from resolver for deno namespaced IDs: + - `return { id: toDenoSpecifier(...) }` +- Removed usage of unsupported resolver provenance metadata (`resolvedBy`). +- Stopped relying on unavailable import-attributes options in resolver: + - Fallback to default type handling in plugin path. +- Result: remote island resolution now works again. + +--- + +### 2) `.cjs` files transformed to ESM, then parsed as CommonJS + +**Symptoms** +- SSR build errors such as: + - `Cannot use export statement outside a module` + - `Cannot use import statement outside a module` +- Reported on transformed `.cjs` files (e.g. demo fixtures). + +**Cause** +- `fresh:patches` includes `cjsPlugin`, which rewrites CommonJS patterns to ESM-style syntax. +- Under Vite 8 / Rolldown / OXC strictness, `.cjs` is still interpreted as CommonJS by extension semantics. +- Result: transformed ESM syntax in `.cjs` became invalid for parser expectations. + +**Fix** +- SSR workaround in `packages/plugin-vite/src/mod.ts`: + - Mark `.cjs` as external in `rolldownOptions.external`. +- This bypasses problematic bundling/parsing path for `.cjs` in SSR. + +**Notes** +- This is a practical compatibility workaround. +- Long-term ideal is upstream/toolchain alignment of module-kind and transformed output. + +--- + +### 3) CSS Modules missing from island/imported chunks + +**Symptoms** +- `vite build - css modules` test failed (computed styles were incorrect). +- Island route rendered, but expected island CSS was missing in output. + +**Cause** +- Island CSS collection logic relied on manifest assumptions that did not consistently hold after migration. +- Shared/imported chunk CSS was not always associated with island entries. +- Manifest lookup by a single key strategy was insufficient with current output shape. + +**Fix** +- In `server_snapshot.ts`, switched to robust CSS collection: + - Build helper to resolve manifest chunk by reference (supports key/file matching). + - Recursively walk `imports` graph. + - Aggregate all reachable CSS into island entry CSS list. +- Result: CSS modules tests passed. + +--- + +## Code-Level Changes (Summary) + +### `packages/plugin-vite/src/plugins/deno.ts` + +- Updated resolver behavior for Rolldown compatibility: + - Return object form for deno specifier IDs. +- Removed unsupported assumptions: + - No `resolvedBy` checks. + - No direct `options.attributes` usage (unavailable in current environment). +- Preserved plugin-chain interoperability while keeping deno-first resolution intent. + +### `packages/plugin-vite/src/mod.ts` + +- Added SSR Rolldown external rule: + - Externalize `.cjs` to avoid parser/module-kind mismatch in bundle phase. + +### `packages/plugin-vite/src/plugins/server_snapshot.ts` + +- Reworked island CSS gathering: + - Added manifest reference resolution helper. + - Added recursive import-graph CSS collection. + - Ensured island registry receives full CSS set including transitive imports. + +--- + +## Related Upstream References + +- Rolldown import attributes support gap: + - https://github.com/rolldown/rolldown/issues/2758 +- Potentially related CSS/chunk behavior class: + - https://github.com/rolldown/rolldown/issues/7012 + +--- + +## Migration Lessons + +1. **Do not rely on non-standard resolver metadata** unless guaranteed by current types/runtime. +2. **Treat `.cjs` carefully** under stricter parser semantics; avoid producing ESM syntax in `.cjs` bundle path. +3. **Assume manifest shape variance** across bundlers; use resilient chunk resolution and import-graph traversal. +4. **Prefer behavior-based guards** (e.g., `external`, virtual IDs, imports graph) over provenance-based assumptions. + +--- + +## Remaining Follow-up (Optional) + +- Revisit `.cjs` external workaround when upstream parser/module-kind behavior improves. +- Consider narrowing `cjsPlugin` application scope to avoid `.cjs` transformation hazards. +- Add targeted regression tests around: + - manifest key/file reference differences + - transitive island CSS inclusion + - deno resolver fallback behavior under Rolldown. \ No newline at end of file diff --git a/www/deno.json b/www/deno.json index 5353381bb4d..a88989fdd08 100644 --- a/www/deno.json +++ b/www/deno.json @@ -1,12 +1,12 @@ { "tasks": { "start": "deno serve -A _fresh/server.js", - "dev": "vite", - "build": "vite build" + "dev": "vite --configLoader=native", + "build": "vite --configLoader=native build" }, "imports": { "@tailwindcss/vite": "npm:@tailwindcss/vite@^4.1.12", - "vite": "npm:vite@^7.1.4", + "vite": "npm:vite@^8.0.3", "vite-plugin-inspect": "npm:vite-plugin-inspect@^11.3.2" } }