diff --git a/package.json b/package.json index 831773a..9de5f05 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "files": [ "dist", - "!dist/stats.html" + "!dist/analyze-data.md" ], "type": "module", "sideEffects": false, @@ -37,6 +37,7 @@ } }, "scripts": { + "analyze": "ENABLE_BUNDLE_ANALYZER=true pnpm build", "build": "tsdown", "prebuild:demo": "pnpm clean", "build:demo": "vite build demo --config=./vite.config.demo.ts --base=/react-portabletext/", @@ -62,7 +63,7 @@ "@sanity/client": "^8.2.0", "@sanity/image-url": "^2.1.1", "@sanity/tsconfig": "^2.2.1", - "@sanity/tsdown-config": "^0.26.0", + "@sanity/tsdown-config": "^0.27.0", "@sanity/ui": "^4.0.5", "@types/leaflet": "^1.9.22", "@types/react": "^19.2.18", @@ -84,12 +85,12 @@ "react-refractor": "^4.0.0", "refractor": "^5.0.0", "rimraf": "^5.0.1", - "rollup-plugin-visualizer": "^7.1.1", + "rolldown": "~1.2.5", "sanity": "^6.10.1", "styled-components": "^6.5.3", "tsdown": "^0.22.14", "typescript": "7.0.2", - "vite": "^8.2.1", + "vite": "^8.2.2", "vitest": "^4.1.11" }, "peerDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 90f4a65..61fb5e2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,8 +31,8 @@ importers: specifier: ^2.2.1 version: 2.2.1 '@sanity/tsdown-config': - specifier: ^0.26.0 - version: 0.26.0(@babel/runtime@7.29.7)(@types/node@26.2.0)(oxc-transform-react@0.145.0)(tsdown@0.22.14(publint@0.3.24)(tsx@4.23.12)(typescript@7.0.2))(typescript@7.0.2)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) + specifier: ^0.27.0 + version: 0.27.0(@babel/core@7.29.7)(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)))(@types/node@26.2.0)(oxc-transform-react@0.145.0)(tsdown@0.22.14(publint@0.3.24)(tsx@4.23.12)(typescript@7.0.2))(typescript@7.0.2)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) '@sanity/ui': specifier: ^4.0.5 version: 4.0.5(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(styled-components@6.5.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8)) @@ -96,9 +96,9 @@ importers: rimraf: specifier: ^5.0.1 version: 5.0.10 - rollup-plugin-visualizer: - specifier: ^7.1.1 - version: 7.1.1(rolldown@1.2.5) + rolldown: + specifier: ~1.2.5 + version: 1.2.5 sanity: specifier: ^6.10.1 version: 6.10.1(@babel/core@7.29.7)(@babel/runtime@7.29.7)(@noble/hashes@2.3.0)(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)))(@sanity/sdk@2.20.0(@types/react@19.2.18)(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8))(xstate@5.32.5))(@types/node@26.2.0)(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(jiti@2.7.0)(oxc-transform-react@0.145.0)(oxfmt@0.64.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rolldown@1.2.5)(styled-components@6.5.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(typescript@7.0.2)(vitest@4.1.11(@types/node@26.2.0)(jsdom@29.1.1(@noble/hashes@2.3.0))(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0))) @@ -112,7 +112,7 @@ importers: specifier: 7.0.2 version: 7.0.2 vite: - specifier: ^8.2.1 + specifier: ^8.2.2 version: 8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0) vitest: specifier: ^4.1.11 @@ -1403,8 +1403,8 @@ packages: resolution: {integrity: sha512-iDu1AtuRC2Z8XVs2SieZieVavF1FXPBX1C9pMexJh8Dx/Dd/3ZZ4nRQp/PU2Vk2rUHWuBz1wOyL4DcuhVnBXwg==} engines: {node: '>=20.9.0'} - '@microsoft/api-extractor@7.58.13': - resolution: {integrity: sha512-htjkWdR+ovlBiQuBbMutIuiu/dzKYpFrBRRuHGlpo7J81cPzmMTBKxE8j+aWSs5HxvXHCvatVe4vQ9CKqSvZaA==} + '@microsoft/api-extractor@7.59.0': + resolution: {integrity: sha512-KDYV8kSVjmG8JJWVg1f1aKxteNG1IQ44D07Rjhlcci8wlqrSFNhUfgv7dJhwT0W2h3NDIL5Vz2f+/DfO4OpDHw==} engines: {node: '>=20.9.0'} hasBin: true @@ -2500,16 +2500,22 @@ packages: '@sanity/tsconfig@2.2.1': resolution: {integrity: sha512-1HbvN+W2bWixgXQnvJ9rev5vJaSbN62d+r0Y2pN6XsK6/MP9JfVyF90elBuIrDENTGgVmxB403+gZow45wq+Pg==} - '@sanity/tsdown-config@0.26.0': - resolution: {integrity: sha512-SHdGjO4un+IQpnrgynkF44wGxNlaEbWKSHfFjXHtDO8JcVSFzB4wvIzebz0oXn/Fi5BAwmY4u3s6nmcF3absJg==} + '@sanity/tsdown-config@0.27.0': + resolution: {integrity: sha512-OvgXwgbcdbslE5bR02uNuYCmmBJA73TNurHOesoNVf7tSLDARlNO3OlwWiyKLfFzCHyktA08Utbk7GopkdhIbw==} engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: + '@babel/core': '*' + '@rolldown/plugin-babel': '*' '@tsdown/css': '*' babel-plugin-react-compiler: '*' oxc-transform-react: '*' tsdown: ^0.22.7 typescript: 6.x || 7.x peerDependenciesMeta: + '@babel/core': + optional: true + '@rolldown/plugin-babel': + optional: true '@tsdown/css': optional: true babel-plugin-react-compiler: @@ -2530,8 +2536,8 @@ packages: react-dom: ^19.2 styled-components: ^6.1 - '@sanity/ui@5.0.0-alpha.4': - resolution: {integrity: sha512-+YGO6vlZUOBqQ+2+UTkbutxiRhnM4EE0JKVfnsNDcye3JYNGf4ZcapdSCW6QKMOwIbBnLSjan+2th14whRLgWg==} + '@sanity/ui@5.0.0-alpha.7': + resolution: {integrity: sha512-hf/PNN9RSuRBaNUwGowj5yutd7OGTeDKaSd7uMFAeGZfz8lZ6DqtN2Aeqb4yeI+7QiezfelYP39gPLyrjVzLGg==} engines: {node: '>=20.19 <22 || >=22.12'} hasBin: true peerDependencies: @@ -2545,12 +2551,12 @@ packages: '@sanity/uuid@3.0.3': resolution: {integrity: sha512-aJvKuFwzcZKRwuIjrRPfXfXKpSdnLF4CnedV5WcX1n5SzhufvRNHIot5lkx1+Y1DwiMVQOZ5gDSPJH+P6Ao70A==} - '@sanity/vanilla-extract-integration@0.1.13': - resolution: {integrity: sha512-I3gUwUhFJkpgxtQT7t2c6SLvNrl2rDf59eVQQ4a4ag3c+vcf1HMo/jr3I8Byzmyx7oEGJkQd9UNDkVT95b+ocQ==} + '@sanity/vanilla-extract-integration@0.1.16': + resolution: {integrity: sha512-8Hp8vireCTeLyWEzXPu5tYtWlicHPClUH9T8uBFVf9u0imYTUubRuDDBei8yfPyFNz5wYIQk4YaWYcHJ7fI8ow==} engines: {node: '>=20.19 <22 || >=22.12'} - '@sanity/vanilla-extract-rolldown-plugin@0.4.2': - resolution: {integrity: sha512-EYH4fulXgf70xLiKJ/UTEjf8v6j4JZ5ojAz3nDoyQ6vhUbCjnBulGn5Jpp80CS0OQWVV3oRkMIpgv6ok5q6PIg==} + '@sanity/vanilla-extract-rolldown-plugin@0.4.5': + resolution: {integrity: sha512-4mMWLmzhrDm5AOUgKk9P+hR8qZbxREh57ZvF+lL+0bx/BXmJkKvwnTkJ2MWopdgnv2dlexDRrNqhN3p6N8aZbw==} engines: {node: '>=20.19 <22 || >=22.12'} peerDependencies: rolldown: ^1.0.0 @@ -2558,8 +2564,8 @@ packages: rolldown: optional: true - '@sanity/vanilla-extract-tsdown-plugin@0.3.2': - resolution: {integrity: sha512-2kuWDd5XxiMmN0l3jr4nyHerjUosz/KxqFdwust/fD6H7Y5E+SBA0Vt+9PuzTF8OUPd0dnKwi91t23V3FQjRyQ==} + '@sanity/vanilla-extract-tsdown-plugin@0.3.5': + resolution: {integrity: sha512-YBrc7MzUuDKGr6II/UtUWdTgXwEbs+lZF+VVT1ztnSouK6+dUoKx/Rt+WCperTHcybnp7EcQy2At7nsgzrUKCw==} engines: {node: '>=20.19 <22 || >=22.12'} peerDependencies: tsdown: ^0.22.5 @@ -2974,70 +2980,139 @@ packages: cpu: [arm64] os: [android] + '@yuku-parser/binding-android-arm64@0.9.3': + resolution: {integrity: sha512-z3tDGTaUXD5Q4IuebFOY/QHxhR/SqujMhkMv9C5bh25upyFEXdafp0MsXQIIheWhVZzn5VMOniyxFni/7s9LgQ==} + cpu: [arm64] + os: [android] + '@yuku-parser/binding-darwin-arm64@0.8.7': resolution: {integrity: sha512-Re0RHelKLnjEURulY2/KxW+Ngb8zuNA4BRZuMwgGQNzVumT6u4U2N2hc01oeYVNVof0i7GrXE4UCNBgbpRRnjQ==} cpu: [arm64] os: [darwin] + '@yuku-parser/binding-darwin-arm64@0.9.3': + resolution: {integrity: sha512-hzKvKSKS7z3ufnu1VkQYEoxmS6A5uNnkwukKnc2atxpWdq648nLVOqut4h1jUXjbM2WcoTfuZLF6AHAGFf8cmg==} + cpu: [arm64] + os: [darwin] + '@yuku-parser/binding-darwin-x64@0.8.7': resolution: {integrity: sha512-Hn8DROtQkjlA1ACbPgj4a7eP9IuVOI504oiTwpkWPbpaDWD9KdmnVYCqW+1LfenNK/g7O9NhWGpXEdaCNX7lIA==} cpu: [x64] os: [darwin] + '@yuku-parser/binding-darwin-x64@0.9.3': + resolution: {integrity: sha512-OM2PiVlPATvzlj/KGHNlu+t8FC3YzM5joVNjhsz/EaigQ8x2UUQ1Q0agQLiv5GZ2L8TSzrLUwBCZ7YOvP8q+tw==} + cpu: [x64] + os: [darwin] + '@yuku-parser/binding-freebsd-x64@0.8.7': resolution: {integrity: sha512-bAP2OV8wRuzplX/jYxv9+vvqQT8JxyNphI8fLfXGL054Xs+4/J5u33cIm3y4rxY8rdoLmmdiJs2Tq7r7lrDRfA==} cpu: [x64] os: [freebsd] + '@yuku-parser/binding-freebsd-x64@0.9.3': + resolution: {integrity: sha512-WMn9M4LHNVysGNwsAJ9gpRPqQIW2lcPrDNGcyk0agx3IYqCJq1MQugh6Be8Otc5U08eGdE39o8Kx9YWJmXz7GA==} + cpu: [x64] + os: [freebsd] + '@yuku-parser/binding-linux-arm-gnu@0.8.7': resolution: {integrity: sha512-kTYwJQQgmZeAWdDIWabiReIZMpmfLueIj1tCmjStUtFGhR1Z0qwxonKVfUC4N7h/VhGGzLZ//7O1kgt1QKqgCg==} cpu: [arm] os: [linux] libc: [glibc] + '@yuku-parser/binding-linux-arm-gnu@0.9.3': + resolution: {integrity: sha512-vqKjwiyW1FWvbykYMEQIcAJwA17WxK3rxxqDuyCvQwcNVaLEUxI4BXiUdlF3kHucc7MnoFQhoRPkySgOzlLM+Q==} + cpu: [arm] + os: [linux] + libc: [glibc] + '@yuku-parser/binding-linux-arm-musl@0.8.7': resolution: {integrity: sha512-uL4jE8HPT2BLlxAXyD10LqgPuXa9eDa0BKpCdSANmzIJghq/2eZo3/gQNtaxPZMupWoxjYzSad9IXrwu7aYPXQ==} cpu: [arm] os: [linux] libc: [musl] + '@yuku-parser/binding-linux-arm-musl@0.9.3': + resolution: {integrity: sha512-qohilhYOT+zkt2gYzym4F1T6BzRdvPqS9/sFB03pmnVV8LrvjOXVsGwEBAa3CEvzJKhAZjdTmVz7zsVdjyHWLg==} + cpu: [arm] + os: [linux] + libc: [musl] + '@yuku-parser/binding-linux-arm64-gnu@0.8.7': resolution: {integrity: sha512-3gVN4pWSKZmXiNX7cU164dR9MPvesCHnlH6nPfpK+yQsCuYphjKKplcb4SnZBrhiqmXbgb2HR0c2TS0IZUPhgA==} cpu: [arm64] os: [linux] libc: [glibc] + '@yuku-parser/binding-linux-arm64-gnu@0.9.3': + resolution: {integrity: sha512-tvTIyUvTGkeee68i4JIo9o27As+Ug6LXOZvElGgFbTs6+KBdb5LGhvugaIQljdfIsm2XnIbOLG6OnQSXHMLB9w==} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@yuku-parser/binding-linux-arm64-musl@0.8.7': resolution: {integrity: sha512-S0mwfEjoLpxzXeZw802Wa4RaELsQiPtWqG6INcy8j4GtvNFtl4LCX3eGO1XLn9pyLAISLzTRyU3zUCBUPin8lg==} cpu: [arm64] os: [linux] libc: [musl] + '@yuku-parser/binding-linux-arm64-musl@0.9.3': + resolution: {integrity: sha512-OWZBHW1wuChBpFlrF+On1yiBcFPMRrj2g0VKsM/PCBGffu1OM0ORkS+vLS3Snu6wYwndM5Dd9Ctvux6eUlrQjA==} + cpu: [arm64] + os: [linux] + libc: [musl] + '@yuku-parser/binding-linux-x64-gnu@0.8.7': resolution: {integrity: sha512-lnbWdPmerE5D1uH1G4IEZKnPzCrWCStRGrtgpSIe1RibAo5bZIjDbbbPYXmMHCEh4F+x/JaJpElh26a3r+BPbg==} cpu: [x64] os: [linux] libc: [glibc] + '@yuku-parser/binding-linux-x64-gnu@0.9.3': + resolution: {integrity: sha512-/tbk1h0dlADOCngbiQO9V3SHwBIJkoGBq8BDEraSw2CC3nGxPEPTCCYUDp5738Ij2FxVwy1FWVuhFkHvpMrPbQ==} + cpu: [x64] + os: [linux] + libc: [glibc] + '@yuku-parser/binding-linux-x64-musl@0.8.7': resolution: {integrity: sha512-769uwndMvMzUvATWbAcEvyLHKA+DzhHSCl/obBUrRdYfRo26yxui6S8y3z7uJ+Naup7UKrDxrpK7OnQkxkl9KQ==} cpu: [x64] os: [linux] libc: [musl] + '@yuku-parser/binding-linux-x64-musl@0.9.3': + resolution: {integrity: sha512-u3+0sCso/mcjDvtc3866D2giV7l34PDyDVBkMesAWa3DWbIWPlybehi2SSnmScgArV22ctqSSgUzdBBVJ6zYAg==} + cpu: [x64] + os: [linux] + libc: [musl] + '@yuku-parser/binding-win32-arm64@0.8.7': resolution: {integrity: sha512-mEB/9PlaAkisJ6KWGz0zvywXoU6+80dTlR2LwS7s/jcXXoU6fm2+sitBZXtqu3+Q4DcDgPxM45uWMCzPs0TSRw==} cpu: [arm64] os: [win32] + '@yuku-parser/binding-win32-arm64@0.9.3': + resolution: {integrity: sha512-xnGEvdhyjRkXozHtpXVpEEkyGZWAxJ3RoILv7XRV5SvTEztaTCk5GQyfcOzI9An/EJtcL4ERCI8QmS0TpDPJiA==} + cpu: [arm64] + os: [win32] + '@yuku-parser/binding-win32-x64@0.8.7': resolution: {integrity: sha512-8vNB2DP0ou61nGb8tc/qfi41gfyDXz1MHr2zqL3nR+cJ6CEbiuWV/l/a/vv151gCgiZLLAyGkQGENpozdg716w==} cpu: [x64] os: [win32] + '@yuku-parser/binding-win32-x64@0.9.3': + resolution: {integrity: sha512-N5eShGcuwnrXEprePFmEjtng6acZmtnC4zgazK9xxkavcx1q1uX8Nz8lU5RS973EMlNr902cIc6Cd2D4tqZDBg==} + cpu: [x64] + os: [win32] + '@yuku-toolchain/types@0.8.7': resolution: {integrity: sha512-2Z53dNxAJL6UvFoIrDZvYf3zlO8s4VJK4O2hhaB4mXVwwpX/7ajtss3cmfqKvamlNLWyt9FSWs4eoYdlbxpnHA==} + '@yuku-toolchain/types@0.9.3': + resolution: {integrity: sha512-rFE+5P4g2wxko5C85MugJOlVjBHEQq87dIkhLkniLXLp63PEtgaFjD954i5HXlfnyzLxPcZHsSOVDVgmo1HToA==} + acorn-loose@8.5.2: resolution: {integrity: sha512-PPvV6g8UGMGgjrMu+n/f9E/tCSkNQ2Y97eFvuVdJfG11+xdIeDcLyNdC8SHcrHbRqkfwLASdplyR6B6sKM1U4A==} engines: {node: '>=0.4.0'} @@ -3363,10 +3438,6 @@ packages: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} - cliui@9.0.1: - resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} - engines: {node: '>=20'} - clone-deep@4.0.1: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} engines: {node: '>=6'} @@ -3535,6 +3606,9 @@ packages: detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + dialog-closedby-polyfill@1.3.0: + resolution: {integrity: sha512-II3pxe/zr5OLhbqrkjQgXDFp61ICPlGZspNIgERwUUCLLHgQzPjv3VTStGD4W+ujwR5zMCZAdcWgu5nTmOIUYQ==} + diff@8.0.4: resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} engines: {node: '>=0.3.1'} @@ -3833,10 +3907,6 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.6.0: resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} engines: {node: '>=18'} @@ -4036,6 +4106,9 @@ packages: resolution: {integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==} engines: {node: ^18.17.0 || >=20.5.0} + interestfor@1.0.8: + resolution: {integrity: sha512-qYwTmxzDnrosGZX/1lDEOsAv73aYiFKLniN20SS78588WhRMHj8z7u2uFe9QZPIVmkCyIbJwiMQ/85Up7hrseQ==} + is-alphabetical@2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} @@ -5048,19 +5121,6 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup-plugin-visualizer@7.1.1: - resolution: {integrity: sha512-ThaGiHTU8XW02OkK80TrTHATraJmM9OAduU4otal+7gyXLpYEtmGBLfx5kW+EHvvLwn03YGW2NnwKUIqsYlJAA==} - engines: {node: '>=22'} - hasBin: true - peerDependencies: - rolldown: 1.x || ^1.0.0-beta || ^1.0.0-rc - rollup: 2.x || 3.x || 4.x - peerDependenciesMeta: - rolldown: - optional: true - rollup: - optional: true - run-applescript@7.1.0: resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} engines: {node: '>=18'} @@ -5195,10 +5255,6 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - source-map@0.8.0: - resolution: {integrity: sha512-d8EqvL+k/SOXCreS/SUzg2ciyHqBBLcN/yuRjFsbvVhHTE2pgei7oAhmPM7kWFbkX6OSMQfUq4KbkF3au9lhYQ==} - engines: {node: '>= 12'} - space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -5809,10 +5865,6 @@ packages: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -5825,14 +5877,6 @@ packages: engines: {node: '>= 14.6'} hasBin: true - yargs-parser@22.0.0: - resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} - engines: {node: ^20.19.0 || ^22.12.0 || >=23} - - yargs@18.1.0: - resolution: {integrity: sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg==} - engines: {node: ^20.19.0 || ^22.12.0 || >=23} - yoctocolors-cjs@2.1.3: resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} @@ -5844,12 +5888,18 @@ packages: yuku-ast@0.8.7: resolution: {integrity: sha512-h6+4bDfyootiMB9vckk5uKo5r5j0GHrkr17FQTDNfEsFT3DWlN9uu1HJwQwc64pgmLCI945fWM3lbTIqxjT3GQ==} + yuku-ast@0.9.3: + resolution: {integrity: sha512-Kt0PXlPCXdKF1fWFTl7N3DaxsVk6DHF8VAXHJMkwPtJnWYgbx20pYgGSweuC/86mIM7k1NUITQ4JffgOLUWTCw==} + yuku-codegen@0.8.7: resolution: {integrity: sha512-adwDZSh8oVDzhE6Du9PwVWxcOxeV0e2EVhUuMKWfhSY4wkrDq9eqixlxFF3l/XGUV1E7UFzhpz9393MUumkyNw==} yuku-parser@0.8.7: resolution: {integrity: sha512-vRD9nwt4L3aYpxNqeSC4WqLv58xrXef0Ong1Mc45CTXTIpvLafx7JO05sczmQZwdLEZvywrLOGdNC5+Rp5N1BQ==} + yuku-parser@0.9.3: + resolution: {integrity: sha512-96wPoHnwaXfkZv7UIOUkDb+s7ZH8lv8Qtg+MxdvHUV1LFa5jV9iKOaams1942YQt+krFQrWiD6lSg2ermv5kHA==} + zod@4.4.3: resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} @@ -7365,7 +7415,7 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.58.13(@types/node@26.2.0)': + '@microsoft/api-extractor@7.59.0(@types/node@26.2.0)': dependencies: '@microsoft/api-extractor-model': 7.33.11(@types/node@26.2.0) '@microsoft/tsdoc': 0.16.0 @@ -8606,14 +8656,12 @@ snapshots: '@sanity/tsconfig@2.2.1': {} - '@sanity/tsdown-config@0.26.0(@babel/runtime@7.29.7)(@types/node@26.2.0)(oxc-transform-react@0.145.0)(tsdown@0.22.14(publint@0.3.24)(tsx@4.23.12)(typescript@7.0.2))(typescript@7.0.2)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0))': + '@sanity/tsdown-config@0.27.0(@babel/core@7.29.7)(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)))(@types/node@26.2.0)(oxc-transform-react@0.145.0)(tsdown@0.22.14(publint@0.3.24)(tsx@4.23.12)(typescript@7.0.2))(typescript@7.0.2)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0))': dependencies: - '@babel/core': 7.29.7 - '@microsoft/api-extractor': 7.58.13(@types/node@26.2.0) + '@microsoft/api-extractor': 7.59.0(@types/node@26.2.0) '@microsoft/tsdoc-config': 0.18.1 - '@rolldown/plugin-babel': 0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) '@sanity/browserslist-config': 1.0.5 - '@sanity/vanilla-extract-tsdown-plugin': 0.3.2(rolldown@1.2.5)(tsdown@0.22.14(publint@0.3.24)(tsx@4.23.12)(typescript@7.0.2)) + '@sanity/vanilla-extract-tsdown-plugin': 0.3.5(rolldown@1.2.5)(tsdown@0.22.14(publint@0.3.24)(tsx@4.23.12)(typescript@7.0.2)) '@typescript/typescript6': 6.0.2 '@vitejs/plugin-react': 6.1.0(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)))(oxc-transform-react@0.145.0)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) browserslist: 4.28.8 @@ -8625,13 +8673,12 @@ snapshots: tsdown: 0.22.14(publint@0.3.24)(tsx@4.23.12)(typescript@7.0.2) typescript: 7.0.2 optionalDependencies: + '@babel/core': 7.29.7 + '@rolldown/plugin-babel': 0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.2.5)(vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)(yaml@2.9.0)) oxc-transform-react: 0.145.0 transitivePeerDependencies: - - '@babel/plugin-transform-runtime' - - '@babel/runtime' - '@types/node' - babel-plugin-macros - - supports-color - vite '@sanity/types@6.10.1(@types/react@19.2.18)': @@ -8654,12 +8701,14 @@ snapshots: styled-components: 6.5.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8) use-effect-event: 2.0.3(react@19.2.8) - '@sanity/ui@5.0.0-alpha.4(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@sanity/ui@5.0.0-alpha.7(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@sanity-labs/design-tokens': 0.0.2-alpha.4 '@sanity/icons': 3.8.0(react@19.2.8) clsx: 2.1.1 comment-json: 5.0.0 + dialog-closedby-polyfill: 1.3.0 + interestfor: 1.0.8 react: 19.2.8 react-dom: 19.2.8(react@19.2.8) react-refractor: 4.0.0(react@19.2.8) @@ -8679,27 +8728,27 @@ snapshots: dependencies: uuid: 11.1.1 - '@sanity/vanilla-extract-integration@0.1.13': + '@sanity/vanilla-extract-integration@0.1.16': dependencies: '@vanilla-extract/css': 1.21.2 javascript-stringify: 2.1.0 rolldown: 1.2.5 - yuku-parser: 0.8.7 + yuku-parser: 0.9.3 transitivePeerDependencies: - babel-plugin-macros - '@sanity/vanilla-extract-rolldown-plugin@0.4.2(rolldown@1.2.5)': + '@sanity/vanilla-extract-rolldown-plugin@0.4.5(rolldown@1.2.5)': dependencies: - '@sanity/vanilla-extract-integration': 0.1.13 + '@sanity/vanilla-extract-integration': 0.1.16 lightningcss: 1.33.0 optionalDependencies: rolldown: 1.2.5 transitivePeerDependencies: - babel-plugin-macros - '@sanity/vanilla-extract-tsdown-plugin@0.3.2(rolldown@1.2.5)(tsdown@0.22.14(publint@0.3.24)(tsx@4.23.12)(typescript@7.0.2))': + '@sanity/vanilla-extract-tsdown-plugin@0.3.5(rolldown@1.2.5)(tsdown@0.22.14(publint@0.3.24)(tsx@4.23.12)(typescript@7.0.2))': dependencies: - '@sanity/vanilla-extract-rolldown-plugin': 0.4.2(rolldown@1.2.5) + '@sanity/vanilla-extract-rolldown-plugin': 0.4.5(rolldown@1.2.5) tsdown: 0.22.14(publint@0.3.24)(tsx@4.23.12)(typescript@7.0.2) transitivePeerDependencies: - babel-plugin-macros @@ -9074,41 +9123,79 @@ snapshots: '@yuku-parser/binding-android-arm64@0.8.7': optional: true + '@yuku-parser/binding-android-arm64@0.9.3': + optional: true + '@yuku-parser/binding-darwin-arm64@0.8.7': optional: true + '@yuku-parser/binding-darwin-arm64@0.9.3': + optional: true + '@yuku-parser/binding-darwin-x64@0.8.7': optional: true + '@yuku-parser/binding-darwin-x64@0.9.3': + optional: true + '@yuku-parser/binding-freebsd-x64@0.8.7': optional: true + '@yuku-parser/binding-freebsd-x64@0.9.3': + optional: true + '@yuku-parser/binding-linux-arm-gnu@0.8.7': optional: true + '@yuku-parser/binding-linux-arm-gnu@0.9.3': + optional: true + '@yuku-parser/binding-linux-arm-musl@0.8.7': optional: true + '@yuku-parser/binding-linux-arm-musl@0.9.3': + optional: true + '@yuku-parser/binding-linux-arm64-gnu@0.8.7': optional: true + '@yuku-parser/binding-linux-arm64-gnu@0.9.3': + optional: true + '@yuku-parser/binding-linux-arm64-musl@0.8.7': optional: true + '@yuku-parser/binding-linux-arm64-musl@0.9.3': + optional: true + '@yuku-parser/binding-linux-x64-gnu@0.8.7': optional: true + '@yuku-parser/binding-linux-x64-gnu@0.9.3': + optional: true + '@yuku-parser/binding-linux-x64-musl@0.8.7': optional: true + '@yuku-parser/binding-linux-x64-musl@0.9.3': + optional: true + '@yuku-parser/binding-win32-arm64@0.8.7': optional: true + '@yuku-parser/binding-win32-arm64@0.9.3': + optional: true + '@yuku-parser/binding-win32-x64@0.8.7': optional: true + '@yuku-parser/binding-win32-x64@0.9.3': + optional: true + '@yuku-toolchain/types@0.8.7': {} + '@yuku-toolchain/types@0.9.3': {} + acorn-loose@8.5.2: dependencies: acorn: 8.18.0 @@ -9392,12 +9479,6 @@ snapshots: cli-width@4.1.0: {} - cliui@9.0.1: - dependencies: - string-width: 7.2.0 - strip-ansi: 7.2.0 - wrap-ansi: 9.0.2 - clone-deep@4.0.1: dependencies: is-plain-object: 2.0.4 @@ -9544,6 +9625,8 @@ snapshots: detect-node-es@1.1.0: {} + dialog-closedby-polyfill@1.3.0: {} + diff@8.0.4: {} dir-glob@3.0.1: @@ -9848,8 +9931,6 @@ snapshots: gensync@1.0.0-beta.2: {} - get-caller-file@2.0.5: {} - get-east-asian-width@1.6.0: {} get-intrinsic@1.3.0: @@ -10048,6 +10129,8 @@ snapshots: ini@5.0.0: {} + interestfor@1.0.8: {} + is-alphabetical@2.0.1: {} is-alphanumerical@2.0.1: @@ -11009,15 +11092,6 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.2.5 '@rolldown/binding-win32-x64-msvc': 1.2.5 - rollup-plugin-visualizer@7.1.1(rolldown@1.2.5): - dependencies: - open: 11.0.1 - picomatch: 4.0.5 - source-map: 0.8.0 - yargs: 18.1.0 - optionalDependencies: - rolldown: 1.2.5 - run-applescript@7.1.0: {} run-parallel@1.2.0: @@ -11150,7 +11224,7 @@ snapshots: speakingurl: 14.0.1 styled-components: 6.5.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8) swr: 2.5.1(react@19.2.8) - ui5: '@sanity/ui@5.0.0-alpha.4(react-dom@19.2.8(react@19.2.8))(react@19.2.8)' + ui5: '@sanity/ui@5.0.0-alpha.7(react-dom@19.2.8(react@19.2.8))(react@19.2.8)' urlpattern-polyfill: 10.1.0 use-device-pixel-ratio: 1.1.2(react@19.2.8) use-effect-event: 2.0.3(react@19.2.8) @@ -11265,8 +11339,6 @@ snapshots: source-map@0.6.1: {} - source-map@0.8.0: {} - space-separated-tokens@2.0.2: {} spawndamnit@3.0.1: @@ -11809,25 +11881,12 @@ snapshots: xtend@4.0.2: {} - y18n@5.0.8: {} - yallist@3.1.1: {} yallist@5.0.0: {} yaml@2.9.0: {} - yargs-parser@22.0.0: {} - - yargs@18.1.0: - dependencies: - cliui: 9.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - string-width: 8.2.2 - y18n: 5.0.8 - yargs-parser: 22.0.0 - yoctocolors-cjs@2.1.3: {} yoctocolors@2.2.0: {} @@ -11836,6 +11895,10 @@ snapshots: dependencies: '@yuku-toolchain/types': 0.8.7 + yuku-ast@0.9.3: + dependencies: + '@yuku-toolchain/types': 0.9.3 + yuku-codegen@0.8.7: dependencies: '@yuku-toolchain/types': 0.8.7 @@ -11871,6 +11934,24 @@ snapshots: '@yuku-parser/binding-win32-arm64': 0.8.7 '@yuku-parser/binding-win32-x64': 0.8.7 + yuku-parser@0.9.3: + dependencies: + '@yuku-toolchain/types': 0.9.3 + yuku-ast: 0.9.3 + optionalDependencies: + '@yuku-parser/binding-android-arm64': 0.9.3 + '@yuku-parser/binding-darwin-arm64': 0.9.3 + '@yuku-parser/binding-darwin-x64': 0.9.3 + '@yuku-parser/binding-freebsd-x64': 0.9.3 + '@yuku-parser/binding-linux-arm-gnu': 0.9.3 + '@yuku-parser/binding-linux-arm-musl': 0.9.3 + '@yuku-parser/binding-linux-arm64-gnu': 0.9.3 + '@yuku-parser/binding-linux-arm64-musl': 0.9.3 + '@yuku-parser/binding-linux-x64-gnu': 0.9.3 + '@yuku-parser/binding-linux-x64-musl': 0.9.3 + '@yuku-parser/binding-win32-arm64': 0.9.3 + '@yuku-parser/binding-win32-x64': 0.9.3 + zod@4.4.3: {} zustand@5.0.15(@types/react@19.2.18)(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8)): diff --git a/tsdown.config.ts b/tsdown.config.ts index e7e3f36..b6fc779 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -3,4 +3,5 @@ import {defineConfig} from '@sanity/tsdown-config' export default defineConfig({ tsconfig: './tsconfig.dist.json', reactCompiler: {transform: 'oxc', target: '19', reactServer: true}, + bundleAnalyzer: process.env['ENABLE_BUNDLE_ANALYZER'] === 'true', }) diff --git a/vite.config.demo.ts b/vite.config.demo.ts index 66b79aa..2c0825c 100644 --- a/vite.config.demo.ts +++ b/vite.config.demo.ts @@ -1,18 +1,7 @@ -import path from 'path' - import react from '@vitejs/plugin-react' -import {visualizer} from 'rollup-plugin-visualizer' +import {bundleAnalyzerPlugin} from 'rolldown/experimental' import {defineConfig} from 'vite' -const pkg = require('./package.json') - export default defineConfig({ - plugins: [ - react({compiler: {target: '19'}}), - visualizer({ - filename: path.join(__dirname, 'demo', 'dist', 'stats.html'), - gzipSize: true, - title: `${pkg.name}@${pkg.version} demo bundle analysis`, - }), - ], + plugins: [react({compiler: {target: '19'}}), bundleAnalyzerPlugin()], })