diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..e5ff22c85a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "packages/stacks-docs-next/src/docs/private"] + path = packages/stacks-docs-next/src/docs/private + url = git@github.com:StackEng/StacksDocsPrivate.git \ No newline at end of file diff --git a/.prettierignore b/.prettierignore index dbca3e44b8..9b4a518cde 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,3 @@ -*.md .vscode/ dist/ **/.svelte-kit diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000000..ba60f42921 --- /dev/null +++ b/netlify.toml @@ -0,0 +1,8 @@ +# Skips stacks-svelte builds +# We can remove this when we resolve stacks-docs with stacks-docs-next + +[build] + command = "npm run build -w packages/stacks-docs-next" + publish = "packages/stacks-docs-next/build" + functions = "packages/stacks-docs-next/.netlify/functions-internal" + ignore = "bash -c '[[ $BRANCH != alpha || $SITE_ID != c07bc127-6503-4fa9-bc31-abde9298ca09 ]]'" \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a4114d1673..10057d58e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -324,6 +324,17 @@ "node": ">=6.9.0" } }, + "node_modules/@better-auth/utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@better-auth/utils/-/utils-0.3.1.tgz", + "integrity": "sha512-+CGp4UmZSUrHHnpHhLPYu6cV+wSUSvVbZbNykxhUDocpVNTo9uFFxw/NqJlh1iC4wQ9HKKWGCKuZ5wUgS0v6Kg==", + "license": "MIT" + }, + "node_modules/@better-fetch/fetch": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/@better-fetch/fetch/-/fetch-1.1.21.tgz", + "integrity": "sha512-/ImESw0sskqlVR94jB+5+Pxjf+xBwDZF/N5+y2/q4EqD7IARUTSpPfIo8uf39SYpCxyOCtbyYpUrZ3F/k0zT4A==" + }, "node_modules/@cacheable/memory": { "version": "2.0.7", "dev": true, @@ -600,6 +611,43 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.5.0.tgz", + "integrity": "sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@chevrotain/gast": "10.5.0", + "@chevrotain/types": "10.5.0", + "lodash": "4.17.21" + } + }, + "node_modules/@chevrotain/gast": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.5.0.tgz", + "integrity": "sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@chevrotain/types": "10.5.0", + "lodash": "4.17.21" + } + }, + "node_modules/@chevrotain/types": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.5.0.tgz", + "integrity": "sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@chevrotain/utils": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.5.0.tgz", + "integrity": "sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==", + "license": "Apache-2.0", + "peer": true + }, "node_modules/@csstools/css-parser-algorithms": { "version": "4.0.0", "dev": true, @@ -729,6 +777,48 @@ "node": ">=14.17.0" } }, + "node_modules/@docsearch/css": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.6.0.tgz", + "integrity": "sha512-YlcAimkXclvqta47g47efzCM5CFxDwv2ClkDfEs/fC/Ak0OxPH2b3czwa4o8O1TRBf+ujFF2RiUwszz2fPVNJQ==", + "license": "MIT" + }, + "node_modules/@docsearch/js": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-4.6.0.tgz", + "integrity": "sha512-9/rbgkm/BgTq46cwxIohvSAz3koOFjnPpg0mwkJItAfzKbQIj+310PvwtgUY1YITDuGCag6yOL50GW2DBkaaBw==", + "license": "MIT" + }, + "node_modules/@electric-sql/pglite": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@electric-sql/pglite/-/pglite-0.3.15.tgz", + "integrity": "sha512-Cj++n1Mekf9ETfdc16TlDi+cDDQF0W7EcbyRHYOAeZdsAe8M/FJg18itDTSwyHfar2WIezawM9o0EKaRGVKygQ==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@electric-sql/pglite-socket": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@electric-sql/pglite-socket/-/pglite-socket-0.0.20.tgz", + "integrity": "sha512-J5nLGsicnD9wJHnno9r+DGxfcZWh+YJMCe0q/aCgtG6XOm9Z7fKeite8IZSNXgZeGltSigM9U/vAWZQWdgcSFg==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "pglite-server": "dist/scripts/server.js" + }, + "peerDependencies": { + "@electric-sql/pglite": "0.3.15" + } + }, + "node_modules/@electric-sql/pglite-tools": { + "version": "0.2.20", + "resolved": "https://registry.npmjs.org/@electric-sql/pglite-tools/-/pglite-tools-0.2.20.tgz", + "integrity": "sha512-BK50ZnYa3IG7ztXhtgYf0Q7zijV32Iw1cYS8C+ThdQlwx12V5VZ9KRJ42y82Hyb4PkTxZQklVQA9JHyUlex33A==", + "license": "Apache-2.0", + "peer": true, + "peerDependencies": { + "@electric-sql/pglite": "0.3.15" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.11", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", @@ -1376,6 +1466,20 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@hbsnow/rehype-sectionize": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@hbsnow/rehype-sectionize/-/rehype-sectionize-1.0.7.tgz", + "integrity": "sha512-twbVxCFf4YwgTm6FIdGtHfJ14vvIHedk2fqZTpE3X6+vszEeZlMTy7tOyI9KaP/6S2DN2Jnk7zZGtZANTD+vEg==", + "license": "MIT", + "dependencies": { + "hast-util-heading": "^2.0.1", + "hast-util-heading-rank": "^2.1.1", + "rehype": "^12.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@highlightjs/cdn-assets": { "version": "11.11.1", "dev": true, @@ -1384,6 +1488,19 @@ "node": ">=12.0.0" } }, + "node_modules/@hono/node-server": { + "version": "1.19.9", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz", + "integrity": "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, "node_modules/@hotwired/stimulus": { "version": "3.2.2", "license": "MIT" @@ -1432,6 +1549,13 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", + "dev": true, + "license": "ISC" + }, "node_modules/@inquirer/external-editor": { "version": "1.0.2", "dev": true, @@ -1537,7 +1661,7 @@ }, "node_modules/@jridgewell/source-map": { "version": "0.3.11", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -1689,6 +1813,70 @@ "react": ">=16" } }, + "node_modules/@mixmark-io/domino": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@mixmark-io/domino/-/domino-2.2.0.tgz", + "integrity": "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==", + "license": "BSD-2-Clause" + }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.6.tgz", + "integrity": "sha512-y+x3H1xBZd38n10NZF/rEBlvDOOMQ6LKUTHqr8R9VkJ+mmQOYtJFxIlkkK8fZrtOiL6VixbOBWMbZGBdal3Z1g==", + "license": "MIT", + "peer": true, + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, + "node_modules/@mrleebo/prisma-ast": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/@mrleebo/prisma-ast/-/prisma-ast-0.13.1.tgz", + "integrity": "sha512-XyroGQXcHrZdvmrGJvsA9KNeOOgGMg1Vg9OlheUsBOSKznLMDl+YChxbkboRHvtFYJEMRYmlV3uoo/njCw05iw==", + "license": "MIT", + "peer": true, + "dependencies": { + "chevrotain": "^10.5.0", + "lilconfig": "^2.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@mrleebo/prisma-ast/node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@noble/ciphers": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-2.1.1.tgz", + "integrity": "sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", + "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, @@ -1769,7 +1957,6 @@ }, "node_modules/@parcel/watcher": { "version": "2.5.1", - "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -1809,7 +1996,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1828,7 +2014,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1849,7 +2034,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1870,7 +2054,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1891,7 +2074,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1912,7 +2094,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1933,7 +2114,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1954,7 +2134,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1975,7 +2154,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1996,7 +2174,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2017,7 +2194,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2038,7 +2214,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2059,7 +2234,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2093,6 +2267,13 @@ "url": "https://opencollective.com/pkgr" } }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "devOptional": true, + "license": "MIT" + }, "node_modules/@popperjs/core": { "version": "2.11.8", "license": "MIT", @@ -2101,6 +2282,171 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@prisma/client": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-7.4.2.tgz", + "integrity": "sha512-ts2mu+cQHriAhSxngO3StcYubBGTWDtu/4juZhXCUKOwgh26l+s4KD3vT2kMUzFyrYnll9u/3qWrtzRv9CGWzA==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/client-runtime-utils": "7.4.2" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24.0" + }, + "peerDependencies": { + "prisma": "*", + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@prisma/client-runtime-utils": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@prisma/client-runtime-utils/-/client-runtime-utils-7.4.2.tgz", + "integrity": "sha512-cID+rzOEb38VyMsx5LwJMEY4NGIrWCNpKu/0ImbeooQ2Px7TI+kOt7cm0NelxUzF2V41UVVXAmYjANZQtCu1/Q==", + "license": "Apache-2.0" + }, + "node_modules/@prisma/config": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@prisma/config/-/config-7.4.2.tgz", + "integrity": "sha512-CftBjWxav99lzY1Z4oDgomdb1gh9BJFAOmWF6P2v1xRfXqQb56DfBub+QKcERRdNoAzCb3HXy3Zii8Vb4AsXhg==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "c12": "3.1.0", + "deepmerge-ts": "7.1.5", + "effect": "3.18.4", + "empathic": "2.0.0" + } + }, + "node_modules/@prisma/debug": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-7.4.2.tgz", + "integrity": "sha512-aP7qzu+g/JnbF6U69LMwHoUkELiserKmWsE2shYuEpNUJ4GrtxBCvZwCyCBHFSH2kLTF2l1goBlBh4wuvRq62w==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@prisma/dev": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@prisma/dev/-/dev-0.20.0.tgz", + "integrity": "sha512-ovlBYwWor0OzG+yH4J3Ot+AneD818BttLA+Ii7wjbcLHUrnC4tbUPVGyNd3c/+71KETPKZfjhkTSpdS15dmXNQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "@electric-sql/pglite": "0.3.15", + "@electric-sql/pglite-socket": "0.0.20", + "@electric-sql/pglite-tools": "0.2.20", + "@hono/node-server": "1.19.9", + "@mrleebo/prisma-ast": "0.13.1", + "@prisma/get-platform": "7.2.0", + "@prisma/query-plan-executor": "7.2.0", + "foreground-child": "3.3.1", + "get-port-please": "3.2.0", + "hono": "4.11.4", + "http-status-codes": "2.3.0", + "pathe": "2.0.3", + "proper-lockfile": "4.1.2", + "remeda": "2.33.4", + "std-env": "3.10.0", + "valibot": "1.2.0", + "zeptomatch": "2.1.0" + } + }, + "node_modules/@prisma/engines": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-7.4.2.tgz", + "integrity": "sha512-B+ZZhI4rXlzjVqRw/93AothEKOU5/x4oVyJFGo9RpHPnBwaPwk4Pi0Q4iGXipKxeXPs/dqljgNBjK0m8nocOJA==", + "hasInstallScript": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@prisma/debug": "7.4.2", + "@prisma/engines-version": "7.5.0-10.94a226be1cf2967af2541cca5529f0f7ba866919", + "@prisma/fetch-engine": "7.4.2", + "@prisma/get-platform": "7.4.2" + } + }, + "node_modules/@prisma/engines-version": { + "version": "7.5.0-10.94a226be1cf2967af2541cca5529f0f7ba866919", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-7.5.0-10.94a226be1cf2967af2541cca5529f0f7ba866919.tgz", + "integrity": "sha512-5FIKY3KoYQlBuZC2yc16EXfVRQ8HY+fLqgxkYfWCtKhRb3ajCRzP/rPeoSx11+NueJDANdh4hjY36mdmrTcGSg==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@prisma/engines/node_modules/@prisma/get-platform": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-7.4.2.tgz", + "integrity": "sha512-UTnChXRwiauzl/8wT4hhe7Xmixja9WE28oCnGpBtRejaHhvekx5kudr3R4Y9mLSA0kqGnAMeyTiKwDVMjaEVsw==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@prisma/debug": "7.4.2" + } + }, + "node_modules/@prisma/fetch-engine": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-7.4.2.tgz", + "integrity": "sha512-f/c/MwYpdJO7taLETU8rahEstLeXfYgQGlz5fycG7Fbmva3iPdzGmjiSWHeSWIgNnlXnelUdCJqyZnFocurZuA==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@prisma/debug": "7.4.2", + "@prisma/engines-version": "7.5.0-10.94a226be1cf2967af2541cca5529f0f7ba866919", + "@prisma/get-platform": "7.4.2" + } + }, + "node_modules/@prisma/fetch-engine/node_modules/@prisma/get-platform": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-7.4.2.tgz", + "integrity": "sha512-UTnChXRwiauzl/8wT4hhe7Xmixja9WE28oCnGpBtRejaHhvekx5kudr3R4Y9mLSA0kqGnAMeyTiKwDVMjaEVsw==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@prisma/debug": "7.4.2" + } + }, + "node_modules/@prisma/get-platform": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-7.2.0.tgz", + "integrity": "sha512-k1V0l0Td1732EHpAfi2eySTezyllok9dXb6UQanajkJQzPUGi3vO2z7jdkz67SypFTdmbnyGYxvEvYZdZsMAVA==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@prisma/debug": "7.2.0" + } + }, + "node_modules/@prisma/get-platform/node_modules/@prisma/debug": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-7.2.0.tgz", + "integrity": "sha512-YSGTiSlBAVJPzX4ONZmMotL+ozJwQjRmZweQNIq/ER0tQJKJynNkRB3kyvt37eOfsbMCXk3gnLF6J9OJ4QWftw==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@prisma/query-plan-executor": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/query-plan-executor/-/query-plan-executor-7.2.0.tgz", + "integrity": "sha512-EOZmNzcV8uJ0mae3DhTsiHgoNCuu1J9mULQpGCh62zN3PxPTd+qI9tJvk5jOst8WHKQNwJWR3b39t0XvfBB0WQ==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@prisma/studio-core": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/@prisma/studio-core/-/studio-core-0.13.1.tgz", + "integrity": "sha512-agdqaPEePRHcQ7CexEfkX1RvSH9uWDb6pXrZnhCRykhDFAV0/0P3d07WtfiY8hZWb7oRU4v+NkT4cGFHkQJIPg==", + "license": "Apache-2.0", + "peer": true, + "peerDependencies": { + "@types/react": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, "node_modules/@puppeteer/browsers": { "version": "2.10.12", "dev": true, @@ -2227,7 +2573,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2241,7 +2586,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2253,7 +2597,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2267,7 +2610,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2281,7 +2623,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2295,7 +2636,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2309,7 +2649,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2323,7 +2662,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2337,7 +2675,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2351,7 +2688,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2365,7 +2701,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2379,7 +2714,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2393,7 +2727,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2407,7 +2740,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2421,7 +2753,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2435,7 +2766,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2449,7 +2779,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2463,7 +2792,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2477,7 +2805,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2491,7 +2818,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2505,7 +2831,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2519,7 +2844,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2615,6 +2939,10 @@ "resolved": "packages/stacks-docs", "link": true }, + "node_modules/@stackoverflow/stacks-docs-next": { + "resolved": "packages/stacks-docs-next", + "link": true + }, "node_modules/@stackoverflow/stacks-editor": { "version": "1.0.0-beta.5", "resolved": "https://registry.npmjs.org/@stackoverflow/stacks-editor/-/stacks-editor-1.0.0-beta.5.tgz", @@ -2671,9 +2999,46 @@ }, "node_modules/@standard-schema/spec": { "version": "1.1.0", - "dev": true, "license": "MIT" }, + "node_modules/@stefanprobst/rehype-extract-toc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@stefanprobst/rehype-extract-toc/-/rehype-extract-toc-3.0.0.tgz", + "integrity": "sha512-ZnmL6g8DydunVa2/Vk54PTPC+Ib096Xwvd/mqhK/mqsTh6jaiLZFAvM3FUsOiio0oeVpUDb1jbBPePfA9m/NRg==", + "license": "MIT", + "dependencies": { + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-value-to-estree": "^3.3.3", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.1", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@stefanprobst/rehype-extract-toc/node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@stefanprobst/rehype-extract-toc/node_modules/hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@storybook/addon-a11y": { "version": "10.1.11", "dev": true, @@ -2886,28 +3251,92 @@ "acorn": "^8.9.0" } }, - "node_modules/@sveltejs/package": { - "version": "2.5.7", + "node_modules/@sveltejs/adapter-netlify": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-netlify/-/adapter-netlify-5.2.4.tgz", + "integrity": "sha512-UtPcZq1HUA43hM8uLi+nsm5Q+YjHNj7/SMFoyeLZeY/VTloVWABEZ0tJ5WodTUmy/8j5QJ7oLZjj28aQxi8y3g==", "dev": true, "license": "MIT", "dependencies": { - "chokidar": "^5.0.0", + "@iarna/toml": "^2.2.5", + "esbuild": "^0.25.4", + "set-cookie-parser": "^2.6.0" + }, + "peerDependencies": { + "@sveltejs/kit": "^2.4.0" + } + }, + "node_modules/@sveltejs/kit": { + "version": "2.53.4", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.53.4.tgz", + "integrity": "sha512-iAIPEahFgDJJyvz8g0jP08KvqnM6JvdW8YfsygZ+pMeMvyM2zssWMltcsotETvjSZ82G3VlitgDtBIvpQSZrTA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.14.1", + "cookie": "^0.6.0", + "devalue": "^5.6.3", + "esm-env": "^1.2.2", "kleur": "^4.1.5", - "sade": "^1.8.1", - "semver": "^7.5.4", - "svelte2tsx": "~0.7.33" + "magic-string": "^0.30.5", + "mrmime": "^2.0.0", + "set-cookie-parser": "^3.0.0", + "sirv": "^3.0.0" }, "bin": { - "svelte-package": "svelte-package.js" + "svelte-kit": "svelte-kit.js" }, "engines": { - "node": "^16.14 || >=18" + "node": ">=18.13" }, "peerDependencies": { - "svelte": "^3.44.0 || ^4.0.0 || ^5.0.0-next.1" - } - }, - "node_modules/@sveltejs/package/node_modules/chokidar": { + "@opentelemetry/api": "^1.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 || ^7.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "typescript": "^5.3.3", + "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@sveltejs/kit/node_modules/set-cookie-parser": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-3.0.1.tgz", + "integrity": "sha512-n7Z7dXZhJbwuAHhNzkTti6Aw9QDDjZtm3JTpTGATIdNzdQz5GuFs22w90BcvF4INfnrL5xrX3oGsuqO5Dx3A1Q==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@sveltejs/package": { + "version": "2.5.7", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^5.0.0", + "kleur": "^4.1.5", + "sade": "^1.8.1", + "semver": "^7.5.4", + "svelte2tsx": "~0.7.33" + }, + "bin": { + "svelte-package": "svelte-package.js" + }, + "engines": { + "node": "^16.14 || >=18" + }, + "peerDependencies": { + "svelte": "^3.44.0 || ^4.0.0 || ^5.0.0-next.1" + } + }, + "node_modules/@sveltejs/package/node_modules/chokidar": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -2935,7 +3364,7 @@ }, "node_modules/@sveltejs/vite-plugin-svelte": { "version": "6.2.4", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", @@ -2954,7 +3383,7 @@ }, "node_modules/@sveltejs/vite-plugin-svelte-inspector": { "version": "5.0.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "obug": "^2.1.0" @@ -3179,6 +3608,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "devOptional": true, + "license": "MIT" + }, "node_modules/@types/cookies": { "version": "0.9.2", "dev": true, @@ -3202,7 +3638,7 @@ }, "node_modules/@types/deep-eql": { "version": "4.0.2", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/eslint": { @@ -3248,6 +3684,15 @@ "@types/send": "*" } }, + "node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, "node_modules/@types/http-assert": { "version": "1.5.6", "dev": true, @@ -3329,6 +3774,16 @@ "@types/mdurl": "^2" } }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/mdurl": { "version": "2.0.0", "license": "MIT" @@ -3358,7 +3813,7 @@ }, "node_modules/@types/node": { "version": "24.9.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "undici-types": "~7.16.0" @@ -3366,7 +3821,6 @@ }, "node_modules/@types/parse5": { "version": "6.0.3", - "dev": true, "license": "MIT" }, "node_modules/@types/pixelmatch": { @@ -3397,7 +3851,6 @@ }, "node_modules/@types/react": { "version": "19.2.9", - "dev": true, "license": "MIT", "peer": true, "dependencies": { @@ -3463,6 +3916,29 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/whatwg-url": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-13.0.0.tgz", + "integrity": "sha512-N8WXpbE6Wgri7KUSvrmQcqrMllKZ9uxkYWMt+mCSGwNc0Hsw9VQTW7ApqI4XNrx6/SaM2QQJCzMPDEXE058s+Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/webidl-conversions": "*" + } + }, "node_modules/@types/ws": { "version": "7.4.7", "dev": true, @@ -3688,6 +4164,12 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, "node_modules/@vitest/expect": { "version": "3.2.4", "dev": true, @@ -3773,7 +4255,7 @@ }, "node_modules/@vitest/runner": { "version": "4.0.17", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@vitest/utils": "4.0.17", @@ -3785,7 +4267,7 @@ }, "node_modules/@vitest/runner/node_modules/@vitest/pretty-format": { "version": "4.0.17", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "tinyrainbow": "^3.0.3" @@ -3796,7 +4278,7 @@ }, "node_modules/@vitest/runner/node_modules/@vitest/utils": { "version": "4.0.17", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@vitest/pretty-format": "4.0.17", @@ -3808,7 +4290,7 @@ }, "node_modules/@vitest/runner/node_modules/tinyrainbow": { "version": "3.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=14.0.0" @@ -3816,7 +4298,7 @@ }, "node_modules/@vitest/snapshot": { "version": "4.0.17", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@vitest/pretty-format": "4.0.17", @@ -3829,7 +4311,7 @@ }, "node_modules/@vitest/snapshot/node_modules/@vitest/pretty-format": { "version": "4.0.17", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "tinyrainbow": "^3.0.3" @@ -3840,7 +4322,7 @@ }, "node_modules/@vitest/snapshot/node_modules/tinyrainbow": { "version": "3.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=14.0.0" @@ -4750,7 +5232,7 @@ }, "node_modules/assertion-error": { "version": "2.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=12" @@ -4798,6 +5280,16 @@ "node": "*" } }, + "node_modules/aws-ssl-profiles": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz", + "integrity": "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/aws4": { "version": "1.13.2", "license": "MIT" @@ -4830,6 +5322,16 @@ } } }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "dev": true, @@ -5015,7 +5517,7 @@ }, "node_modules/braces": { "version": "3.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -5056,6 +5558,16 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/bson": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-7.2.0.tgz", + "integrity": "sha512-YCEo7KjMlbNlyHhz7zAZNDpIpQbd+wOEHJYezv0nMYTn4x31eIUM2yomNNubclAt63dObUzKHWsBLJ9QcZNSnQ==", + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=20.19.0" + } + }, "node_modules/buffer-crc32": { "version": "0.2.13", "dev": true, @@ -5066,7 +5578,7 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/bundle-name": { @@ -5091,6 +5603,78 @@ "node": ">= 0.8" } }, + "node_modules/c12": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/c12/-/c12-3.1.0.tgz", + "integrity": "sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==", + "license": "MIT", + "peer": true, + "dependencies": { + "chokidar": "^4.0.3", + "confbox": "^0.2.2", + "defu": "^6.1.4", + "dotenv": "^16.6.1", + "exsolve": "^1.0.7", + "giget": "^2.0.0", + "jiti": "^2.4.2", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "perfect-debounce": "^1.0.0", + "pkg-types": "^2.2.0", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "^0.3.5" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, + "node_modules/c12/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "peer": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/c12/node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/c12/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/cache-content-type": { "version": "1.0.1", "dev": true, @@ -5195,9 +5779,19 @@ "version": "0.12.0", "license": "Apache-2.0" }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chai": { "version": "6.2.2", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=18" @@ -5251,6 +5845,26 @@ "url": "https://github.com/chalk/chalk-template?sponsor=1" } }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chardet": { "version": "2.1.0", "dev": true, @@ -5312,6 +5926,21 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/chevrotain": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.5.0.tgz", + "integrity": "sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@chevrotain/cst-dts-gen": "10.5.0", + "@chevrotain/gast": "10.5.0", + "@chevrotain/types": "10.5.0", + "@chevrotain/utils": "10.5.0", + "lodash": "4.17.21", + "regexp-to-ast": "0.5.0" + } + }, "node_modules/chokidar": { "version": "3.6.0", "dev": true, @@ -5397,6 +6026,16 @@ "node": ">=8" } }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "consola": "^3.2.3" + } + }, "node_modules/cli-cursor": { "version": "3.1.0", "dev": true, @@ -5568,6 +6207,16 @@ "node": ">= 0.8" } }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/command-line-args": { "version": "5.2.1", "dev": true, @@ -5683,6 +6332,23 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/confbox": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz", + "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==", + "license": "MIT", + "peer": true + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, "node_modules/content-disposition": { "version": "0.5.4", "dev": true, @@ -5707,6 +6373,16 @@ "dev": true, "license": "MIT" }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/cookies": { "version": "0.9.1", "dev": true, @@ -5721,7 +6397,7 @@ }, "node_modules/copy-anything": { "version": "2.0.6", - "dev": true, + "devOptional": true, "license": "MIT", "peer": true, "dependencies": { @@ -5762,7 +6438,6 @@ }, "node_modules/cross-spawn": { "version": "7.0.6", - "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -5993,7 +6668,6 @@ }, "node_modules/csstype": { "version": "3.2.3", - "dev": true, "license": "MIT", "peer": true }, @@ -6083,12 +6757,22 @@ }, "node_modules/deepmerge": { "version": "4.3.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/deepmerge-ts": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz", + "integrity": "sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/default-browser": { "version": "5.4.0", "dev": true, @@ -6134,6 +6818,12 @@ "node": ">=8" } }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, "node_modules/degenerator": { "version": "5.0.1", "dev": true, @@ -6159,6 +6849,16 @@ "dev": true, "license": "MIT" }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=0.10" + } + }, "node_modules/depd": { "version": "2.0.0", "dev": true, @@ -6175,6 +6875,22 @@ "node": ">=4" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT", + "peer": true + }, "node_modules/destroy": { "version": "1.2.0", "dev": true, @@ -6194,7 +6910,6 @@ }, "node_modules/detect-libc": { "version": "1.0.3", - "dev": true, "license": "Apache-2.0", "optional": true, "bin": { @@ -6205,9 +6920,24 @@ } }, "node_modules/devalue": { - "version": "5.6.2", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.3.tgz", + "integrity": "sha512-nc7XjUU/2Lb+SvEFVGcWLiKkzfw8+qHI7zn8WYXKkLMgfGSHbgCEaR6bJpev8Cm6Rmrb19Gfd/tZvGqx9is3wg==", "license": "MIT" }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/devtools-protocol": { "version": "0.0.1508733", "dev": true, @@ -6318,22 +7048,148 @@ "node": ">=10" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" + "node_modules/drizzle-orm": { + "version": "0.45.1", + "resolved": "https://registry.npmjs.org/drizzle-orm/-/drizzle-orm-0.45.1.tgz", + "integrity": "sha512-Te0FOdKIistGNPMq2jscdqngBRfBpC8uMFVwqjf6gtTVJHIQ/dosgV/CLBU2N4ZJBsXL5savCba9b0YJskKdcA==", + "license": "Apache-2.0", + "peer": true, + "peerDependencies": { + "@aws-sdk/client-rds-data": ">=3", + "@cloudflare/workers-types": ">=4", + "@electric-sql/pglite": ">=0.2.0", + "@libsql/client": ">=0.10.0", + "@libsql/client-wasm": ">=0.10.0", + "@neondatabase/serverless": ">=0.10.0", + "@op-engineering/op-sqlite": ">=2", + "@opentelemetry/api": "^1.4.1", + "@planetscale/database": ">=1.13", + "@prisma/client": "*", + "@tidbcloud/serverless": "*", + "@types/better-sqlite3": "*", + "@types/pg": "*", + "@types/sql.js": "*", + "@upstash/redis": ">=1.34.7", + "@vercel/postgres": ">=0.8.0", + "@xata.io/client": "*", + "better-sqlite3": ">=7", + "bun-types": "*", + "expo-sqlite": ">=14.0.0", + "gel": ">=2", + "knex": "*", + "kysely": "*", + "mysql2": ">=2", + "pg": ">=8", + "postgres": ">=3", + "sql.js": ">=1", + "sqlite3": ">=5" }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "dev": true, + "peerDependenciesMeta": { + "@aws-sdk/client-rds-data": { + "optional": true + }, + "@cloudflare/workers-types": { + "optional": true + }, + "@electric-sql/pglite": { + "optional": true + }, + "@libsql/client": { + "optional": true + }, + "@libsql/client-wasm": { + "optional": true + }, + "@neondatabase/serverless": { + "optional": true + }, + "@op-engineering/op-sqlite": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@prisma/client": { + "optional": true + }, + "@tidbcloud/serverless": { + "optional": true + }, + "@types/better-sqlite3": { + "optional": true + }, + "@types/pg": { + "optional": true + }, + "@types/sql.js": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/postgres": { + "optional": true + }, + "@xata.io/client": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "bun-types": { + "optional": true + }, + "expo-sqlite": { + "optional": true + }, + "gel": { + "optional": true + }, + "knex": { + "optional": true + }, + "kysely": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "postgres": { + "optional": true + }, + "prisma": { + "optional": true + }, + "sql.js": { + "optional": true + }, + "sqlite3": { + "optional": true + } + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, "license": "MIT" }, "node_modules/ecc-jsbn": { @@ -6349,6 +7205,17 @@ "dev": true, "license": "MIT" }, + "node_modules/effect": { + "version": "3.18.4", + "resolved": "https://registry.npmjs.org/effect/-/effect-3.18.4.tgz", + "integrity": "sha512-b1LXQJLe9D11wfnOKAk3PKxuqYshQ0Heez+y5pnkd3jLj1yx9QhM72zZ9uUrOQyNvrs2GZZd/3maL0ZV18YuDA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "fast-check": "^3.23.1" + } + }, "node_modules/electron-to-chromium": { "version": "1.5.267", "dev": true, @@ -6381,6 +7248,16 @@ "dev": true, "license": "MIT" }, + "node_modules/empathic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.0.tgz", + "integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=14" + } + }, "node_modules/encodeurl": { "version": "2.0.0", "dev": true, @@ -6524,7 +7401,7 @@ }, "node_modules/es-module-lexer": { "version": "1.7.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/es-object-atoms": { @@ -7009,6 +7886,28 @@ "node": ">=4.0" } }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.5.0.tgz", + "integrity": "sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + } + }, "node_modules/estree-walker": { "version": "2.0.2", "dev": true, @@ -7088,12 +7987,19 @@ }, "node_modules/expect-type": { "version": "1.2.2", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "engines": { "node": ">=12.0.0" } }, + "node_modules/exsolve": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==", + "license": "MIT", + "peer": true + }, "node_modules/extend": { "version": "3.0.2", "license": "MIT" @@ -7154,6 +8060,29 @@ ], "license": "MIT" }, + "node_modules/fast-check": { + "version": "3.23.2", + "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.23.2.tgz", + "integrity": "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "pure-rand": "^6.1.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "license": "MIT" @@ -7233,7 +8162,7 @@ }, "node_modules/fdir": { "version": "6.5.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -7268,7 +8197,7 @@ }, "node_modules/fill-range": { "version": "7.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -7369,7 +8298,6 @@ }, "node_modules/foreground-child": { "version": "3.3.1", - "dev": true, "license": "ISC", "dependencies": { "cross-spawn": "^7.0.6", @@ -7424,7 +8352,6 @@ }, "node_modules/fsevents": { "version": "2.3.3", - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -7442,6 +8369,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-property": "^1.0.2" + } + }, "node_modules/generator-function": { "version": "2.0.1", "dev": true, @@ -7500,6 +8437,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-port-please": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.2.0.tgz", + "integrity": "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==", + "license": "MIT", + "peer": true + }, "node_modules/get-proto": { "version": "1.0.1", "dev": true, @@ -7543,6 +8487,30 @@ "assert-plus": "^1.0.0" } }, + "node_modules/giget": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-2.0.0.tgz", + "integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==", + "license": "MIT", + "peer": true, + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.6", + "nypm": "^0.6.0", + "pathe": "^2.0.3" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, "node_modules/glob": { "version": "10.4.5", "dev": true, @@ -7669,9 +8637,22 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "dev": true, "license": "ISC" }, + "node_modules/grammex": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/grammex/-/grammex-3.1.12.tgz", + "integrity": "sha512-6ufJOsSA7LcQehIJNCO7HIBykfM7DXQual0Ny780/DEcJIpBlHRvcqEBWGPYd7hrXL2GJ3oJI1MIhaXjWmLQOQ==", + "license": "MIT", + "peer": true + }, + "node_modules/graphmatch": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/graphmatch/-/graphmatch-1.1.1.tgz", + "integrity": "sha512-5ykVn/EXM1hF0XCaWh05VbYvEiOL2lY1kBxZtaYsyvjp7cmWOU1XsAdfQBwClraEofXDT197lFbXOEVMHpvQOg==", + "license": "MIT", + "peer": true + }, "node_modules/gray-matter": { "version": "4.0.3", "dev": true, @@ -7779,87 +8760,335 @@ "node": ">= 0.4" } }, - "node_modules/highlight.js": { - "version": "11.11.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=12.0.0" + "node_modules/hast-util-from-parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", + "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "hastscript": "^7.0.0", + "property-information": "^6.0.0", + "vfile": "^5.0.0", + "vfile-location": "^4.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/hogan.js": { - "version": "3.0.2", + "node_modules/hast-util-heading": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-heading/-/hast-util-heading-2.0.1.tgz", + "integrity": "sha512-nwRggTanShzHRYMUX46lm6pbJ2c1+TUQCETahENb6yR6c8ro8MkE0hRJm8G0IqAZl35ONgJiW8RC8+D3484vYg==", + "license": "MIT", "dependencies": { - "mkdirp": "0.3.0", - "nopt": "1.0.10" + "@types/hast": "^2.0.0", + "hast-util-is-element": "^2.0.0" }, - "bin": { - "hulk": "bin/hulk" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/hogan.js/node_modules/mkdirp": { - "version": "0.3.0", - "license": "MIT/X11", - "engines": { - "node": "*" + "node_modules/hast-util-heading-rank": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-2.1.1.tgz", + "integrity": "sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/hookified": { - "version": "1.15.0", - "dev": true, - "license": "MIT" + "node_modules/hast-util-is-element": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz", + "integrity": "sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/htm": { + "node_modules/hast-util-parse-selector": { "version": "3.1.1", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/html-tags": { - "version": "5.1.0", - "dev": true, + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", + "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", "license": "MIT", - "engines": { - "node": ">=20.10" + "dependencies": { + "@types/hast": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/htmlparser2": { - "version": "10.0.0", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], + "node_modules/hast-util-raw": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz", + "integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==", "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.1", - "entities": "^6.0.0" + "@types/hast": "^2.0.0", + "@types/parse5": "^6.0.0", + "hast-util-from-parse5": "^7.0.0", + "hast-util-to-parse5": "^7.0.0", + "html-void-elements": "^2.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/http-assert": { - "version": "1.5.0", - "dev": true, + "node_modules/hast-util-raw/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", "license": "MIT", "dependencies": { - "deep-equal": "~1.0.1", - "http-errors": "~1.8.0" + "@types/unist": "^2.0.0" }, - "engines": { - "node": ">= 0.8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/http-equiv-refresh": { - "version": "2.0.1", + "node_modules/hast-util-raw/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz", + "integrity": "sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-raw": "^7.0.0", + "hast-util-whitespace": "^2.0.0", + "html-void-elements": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz", + "integrity": "sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string/node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", + "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/highlight.js": { + "version": "11.11.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/hogan.js": { + "version": "3.0.2", + "dependencies": { + "mkdirp": "0.3.0", + "nopt": "1.0.10" + }, + "bin": { + "hulk": "bin/hulk" + } + }, + "node_modules/hogan.js/node_modules/mkdirp": { + "version": "0.3.0", + "license": "MIT/X11", + "engines": { + "node": "*" + } + }, + "node_modules/hono": { + "version": "4.11.4", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.4.tgz", + "integrity": "sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/hookified": { + "version": "1.15.0", + "dev": true, + "license": "MIT" + }, + "node_modules/htm": { + "version": "3.1.1", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/html-tags": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/htmlparser2": { + "version": "10.0.0", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/http-assert": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-equal": "~1.0.1", + "http-errors": "~1.8.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-equiv-refresh": { + "version": "2.0.1", "dev": true, "license": "MIT", "engines": { @@ -7922,6 +9151,13 @@ "npm": ">=1.3.7" } }, + "node_modules/http-status-codes": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.3.0.tgz", + "integrity": "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==", + "license": "MIT", + "peer": true + }, "node_modules/https-proxy-agent": { "version": "7.0.6", "dev": true, @@ -7952,7 +9188,6 @@ }, "node_modules/iconv-lite": { "version": "0.7.0", - "dev": true, "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -7991,7 +9226,6 @@ }, "node_modules/image-size": { "version": "0.5.5", - "dev": true, "license": "MIT", "optional": true, "peer": true, @@ -8008,7 +9242,7 @@ }, "node_modules/immutable": { "version": "5.1.4", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/import-cwd": { @@ -8143,7 +9377,7 @@ }, "node_modules/ip-address": { "version": "10.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 12" @@ -8203,6 +9437,29 @@ "node": ">=8" } }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/is-core-module": { "version": "2.16.1", "dev": true, @@ -8250,7 +9507,7 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -8284,7 +9541,7 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -8347,7 +9604,7 @@ }, "node_modules/is-number": { "version": "7.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -8364,6 +9621,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-plain-object": { "version": "5.0.0", "dev": true, @@ -8372,6 +9641,13 @@ "node": ">=0.10.0" } }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", + "license": "MIT", + "peer": true + }, "node_modules/is-reference": { "version": "1.2.1", "dev": true, @@ -8425,7 +9701,7 @@ }, "node_modules/is-what": { "version": "3.14.1", - "dev": true, + "devOptional": true, "license": "MIT", "peer": true }, @@ -8465,7 +9741,6 @@ }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, "license": "ISC" }, "node_modules/iso-639-1": { @@ -8564,12 +9839,20 @@ }, "node_modules/jiti": { "version": "2.6.1", - "dev": true, "license": "MIT", "bin": { "jiti": "lib/jiti-cli.mjs" } }, + "node_modules/jose": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", + "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/jquery": { "version": "3.7.1", "license": "MIT" @@ -8679,7 +9962,7 @@ }, "node_modules/kleur": { "version": "4.1.5", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -8797,9 +10080,18 @@ "node": ">= 0.6" } }, + "node_modules/kysely": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.28.11.tgz", + "integrity": "sha512-zpGIFg0HuoC893rIjYX1BETkVWdDnzTzF5e0kWXJFg5lE0k1/LfNWBejrcnOFu8Q2Rfq/hTDTU7XLUM8QOrpzg==", + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/less": { "version": "4.5.1", - "dev": true, + "devOptional": true, "hasInstallScript": true, "license": "Apache-2.0", "peer": true, @@ -8851,7 +10143,6 @@ }, "node_modules/less/node_modules/errno": { "version": "0.1.8", - "dev": true, "license": "MIT", "optional": true, "peer": true, @@ -8864,7 +10155,6 @@ }, "node_modules/less/node_modules/make-dir": { "version": "2.1.0", - "dev": true, "license": "MIT", "optional": true, "peer": true, @@ -8878,7 +10168,6 @@ }, "node_modules/less/node_modules/mime": { "version": "1.6.0", - "dev": true, "license": "MIT", "optional": true, "peer": true, @@ -8891,7 +10180,6 @@ }, "node_modules/less/node_modules/semver": { "version": "5.7.2", - "dev": true, "license": "ISC", "optional": true, "peer": true, @@ -8901,7 +10189,6 @@ }, "node_modules/less/node_modules/source-map": { "version": "0.6.1", - "dev": true, "license": "BSD-3-Clause", "optional": true, "peer": true, @@ -9067,6 +10354,13 @@ "node": ">=8" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT", + "peer": true + }, "node_modules/lodash.camelcase": { "version": "4.3.0", "dev": true, @@ -9145,6 +10439,13 @@ "node": ">=8" } }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0", + "peer": true + }, "node_modules/loupe": { "version": "3.2.1", "dev": true, @@ -9158,6 +10459,22 @@ "node": ">=16.14" } }, + "node_modules/lru.min": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.4.tgz", + "integrity": "sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA==", + "license": "MIT", + "peer": true, + "engines": { + "bun": ">=1.0.0", + "deno": ">=1.30.0", + "node": ">=8.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wellwelwel" + } + }, "node_modules/luxon": { "version": "3.7.2", "dev": true, @@ -9292,25 +10609,92 @@ "dev": true, "license": "CC0-1.0" }, - "node_modules/mdurl": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/media-typer": { - "version": "0.3.0", + "node_modules/mdsvex": { + "version": "0.12.6", + "resolved": "https://registry.npmjs.org/mdsvex/-/mdsvex-0.12.6.tgz", + "integrity": "sha512-pupx2gzWh3hDtm/iDW4WuCpljmyHbHi34r7ktOqpPGvyiM4MyfNgdJ3qMizXdgCErmvYC9Nn/qyjePy+4ss9Wg==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "@types/mdast": "^4.0.4", + "@types/unist": "^2.0.3", + "prism-svelte": "^0.4.7", + "prismjs": "^1.17.1", + "unist-util-visit": "^2.0.1", + "vfile-message": "^2.0.4" + }, + "peerDependencies": { + "svelte": "^3.56.0 || ^4.0.0 || ^5.0.0-next.120" } }, - "node_modules/meow": { - "version": "14.0.0", + "node_modules/mdsvex/node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=20" - }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdsvex/node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdsvex/node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdurl": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "license": "MIT", + "peer": true + }, + "node_modules/meow": { + "version": "14.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -9330,7 +10714,7 @@ }, "node_modules/micromatch": { "version": "4.0.8", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -9342,7 +10726,7 @@ }, "node_modules/micromatch/node_modules/picomatch": { "version": "2.3.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -9466,6 +10850,79 @@ "node": ">=10" } }, + "node_modules/modern-normalize": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-3.0.1.tgz", + "integrity": "sha512-VqlMdYi59Uch6fnUPxnpijWUQe+TW6zeWCvyr6Mb7JibheHzSuAAoJi2c71ZwIaWKpECpGpYHoaaBp6rBRr+/g==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mongodb": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.1.0.tgz", + "integrity": "sha512-kMfnKunbolQYwCIyrkxNJFB4Ypy91pYqua5NargS/f8ODNSJxT03ZU3n1JqL4mCzbSih8tvmMEMLpKTT7x5gCg==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@mongodb-js/saslprep": "^1.3.0", + "bson": "^7.1.1", + "mongodb-connection-string-url": "^7.0.0" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.806.0", + "@mongodb-js/zstd": "^7.0.0", + "gcp-metadata": "^7.0.1", + "kerberos": "^7.0.0", + "mongodb-client-encryption": ">=7.0.0 <7.1.0", + "snappy": "^7.3.2", + "socks": "^2.8.6" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "gcp-metadata": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + }, + "socks": { + "optional": true + } + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-7.0.1.tgz", + "integrity": "sha512-h0AZ9A7IDVwwHyMxmdMXKy+9oNlF0zFoahHiX3vQ8e3KFcSP3VmsmfvtRSuLPxmyv2vjIDxqty8smTgie/SNRQ==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@types/whatwg-url": "^13.0.0", + "whatwg-url": "^14.1.0" + }, + "engines": { + "node": ">=20.19.0" + } + }, "node_modules/moo": { "version": "0.5.2", "dev": true, @@ -9484,11 +10941,55 @@ "node": ">=4" } }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.3", "dev": true, "license": "MIT" }, + "node_modules/mysql2": { + "version": "3.15.3", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.15.3.tgz", + "integrity": "sha512-FBrGau0IXmuqg4haEZRBfHNWB5mUARw6hNwPDXXGg0XzVJ50mr/9hb267lvpVMnhZ1FON3qNd4Xfcez1rbFwSg==", + "license": "MIT", + "peer": true, + "dependencies": { + "aws-ssl-profiles": "^1.1.1", + "denque": "^2.1.0", + "generate-function": "^2.3.1", + "iconv-lite": "^0.7.0", + "long": "^5.2.1", + "lru.min": "^1.0.0", + "named-placeholders": "^1.1.3", + "seq-queue": "^0.0.5", + "sqlstring": "^2.3.2" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/named-placeholders": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.6.tgz", + "integrity": "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==", + "license": "MIT", + "peer": true, + "dependencies": { + "lru.min": "^1.1.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/nanocolors": { "version": "0.2.13", "dev": true, @@ -9496,7 +10997,7 @@ }, "node_modules/nanoid": { "version": "3.3.11", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -9511,6 +11012,21 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/nanostores": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nanostores/-/nanostores-1.1.1.tgz", + "integrity": "sha512-EYJqS25r2iBeTtGQCHidXl1VfZ1jXM7Q04zXJOrMlxVVmD0ptxJaNux92n1mJ7c5lN3zTq12MhH/8x59nP+qmg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": "^20.0.0 || >=22.0.0" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "dev": true, @@ -9518,7 +11034,6 @@ }, "node_modules/needle": { "version": "3.3.1", - "dev": true, "license": "MIT", "optional": true, "peer": true, @@ -9535,7 +11050,6 @@ }, "node_modules/needle/node_modules/iconv-lite": { "version": "0.6.3", - "dev": true, "license": "MIT", "optional": true, "peer": true, @@ -9569,7 +11083,6 @@ }, "node_modules/node-addon-api": { "version": "7.1.1", - "dev": true, "license": "MIT", "optional": true }, @@ -9592,6 +11105,13 @@ } } }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT", + "peer": true + }, "node_modules/node-fetch/node_modules/tr46": { "version": "0.0.3", "dev": true, @@ -9708,6 +11228,31 @@ "node": ">= 6" } }, + "node_modules/nypm": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.5.tgz", + "integrity": "sha512-K6AJy1GMVyfyMXRVB88700BJqNUkByijGJM8kEHpLdcAt+vSQAVfkWWHYzuRXHSY6xA2sNc5RjTj0p9rE2izVQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "citty": "^0.2.0", + "pathe": "^2.0.3", + "tinyexec": "^1.0.2" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/nypm/node_modules/citty": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.1.tgz", + "integrity": "sha512-kEV95lFBhQgtogAPlQfJJ0WGVSokvLr/UEoFPiKKOXF7pl98HfUVUD0ejsuTCld/9xH9vogSywZ5KqHzXrZpqg==", + "license": "MIT", + "peer": true + }, "node_modules/oauth-sign": { "version": "0.9.0", "license": "Apache-2.0", @@ -9735,13 +11280,20 @@ }, "node_modules/obug": { "version": "2.1.1", - "dev": true, + "devOptional": true, "funding": [ "https://github.com/sponsors/sxzz", "https://opencollective.com/debug" ], "license": "MIT" }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT", + "peer": true + }, "node_modules/on-finished": { "version": "2.4.1", "dev": true, @@ -9993,7 +11545,7 @@ }, "node_modules/parse-node-version": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "peer": true, "engines": { @@ -10007,7 +11559,6 @@ }, "node_modules/parse5": { "version": "6.0.1", - "dev": true, "license": "MIT" }, "node_modules/parse5-htmlparser2-tree-adapter": { @@ -10077,7 +11628,6 @@ }, "node_modules/path-key": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -10118,7 +11668,6 @@ }, "node_modules/pathe": { "version": "2.0.3", - "dev": true, "license": "MIT" }, "node_modules/pathval": { @@ -10134,18 +11683,25 @@ "dev": true, "license": "MIT" }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT", + "peer": true + }, "node_modules/performance-now": { "version": "2.1.0", "license": "MIT" }, "node_modules/picocolors": { "version": "1.1.1", - "dev": true, + "devOptional": true, "license": "ISC" }, "node_modules/picomatch": { "version": "4.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=12" @@ -10156,7 +11712,7 @@ }, "node_modules/pify": { "version": "4.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -10192,6 +11748,18 @@ "node": ">=8" } }, + "node_modules/pkg-types": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", + "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==", + "license": "MIT", + "peer": true, + "dependencies": { + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" + } + }, "node_modules/playwright": { "version": "1.55.1", "dev": true, @@ -10262,7 +11830,7 @@ }, "node_modules/postcss": { "version": "8.5.6", - "dev": true, + "devOptional": true, "funding": [ { "type": "opencollective", @@ -10896,6 +12464,20 @@ "dev": true, "license": "MIT" }, + "node_modules/postgres": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/postgres/-/postgres-3.4.7.tgz", + "integrity": "sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw==", + "license": "Unlicense", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/porsager" + } + }, "node_modules/posthtml": { "version": "0.16.7", "dev": true, @@ -11084,6 +12666,57 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/prism-svelte": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/prism-svelte/-/prism-svelte-0.4.7.tgz", + "integrity": "sha512-yABh19CYbM24V7aS7TuPYRNMqthxwbvx6FF/Rw920YbyBWO3tnyPIqRMgHuSVsLmuHkkBS1Akyof463FVdkeDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prisma": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-7.4.2.tgz", + "integrity": "sha512-2bP8Ruww3Q95Z2eH4Yqh4KAENRsj/SxbdknIVBfd6DmjPwmpsC4OVFMLOeHt6tM3Amh8ebjvstrUz3V/hOe1dA==", + "hasInstallScript": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@prisma/config": "7.4.2", + "@prisma/dev": "0.20.0", + "@prisma/engines": "7.4.2", + "@prisma/studio-core": "0.13.1", + "mysql2": "3.15.3", + "postgres": "3.4.7" + }, + "bin": { + "prisma": "build/index.js" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24.0" + }, + "peerDependencies": { + "better-sqlite3": ">=9.0.0", + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "better-sqlite3": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/process": { "version": "0.11.10", "license": "MIT", @@ -11107,6 +12740,35 @@ "node": ">=0.12" } }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proper-lockfile/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC", + "peer": true + }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/prosemirror-commands": { "version": "1.7.1", "license": "MIT", @@ -11261,7 +12923,7 @@ }, "node_modules/prr": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/psl": { @@ -11314,6 +12976,23 @@ "node": ">=18" } }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT", + "peer": true + }, "node_modules/qified": { "version": "0.6.0", "dev": true, @@ -11435,9 +13114,19 @@ "node": ">=0.10.0" } }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "license": "MIT", + "peer": true, + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, "node_modules/react": { "version": "19.2.0", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -11445,7 +13134,6 @@ }, "node_modules/react-dom": { "version": "19.2.0", - "dev": true, "license": "MIT", "dependencies": { "scheduler": "^0.27.0" @@ -11582,9 +13270,231 @@ "node": ">= 0.4" } }, - "node_modules/request": { - "version": "2.88.2", - "license": "Apache-2.0", + "node_modules/regexp-to-ast": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", + "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==", + "license": "MIT", + "peer": true + }, + "node_modules/rehype": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-12.0.1.tgz", + "integrity": "sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "rehype-parse": "^8.0.0", + "rehype-stringify": "^9.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-autolink-headings": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rehype-autolink-headings/-/rehype-autolink-headings-7.1.0.tgz", + "integrity": "sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-autolink-headings/node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/rehype-autolink-headings/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/rehype-autolink-headings/node_modules/hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-autolink-headings/node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-autolink-headings/node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-autolink-headings/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-autolink-headings/node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-autolink-headings/node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.5.tgz", + "integrity": "sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^7.0.0", + "parse5": "^6.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-slug": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", + "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "github-slugger": "^2.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-slug/node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/rehype-slug/node_modules/hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-9.0.4.tgz", + "integrity": "sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-to-html": "^8.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remeda": { + "version": "2.33.4", + "resolved": "https://registry.npmjs.org/remeda/-/remeda-2.33.4.tgz", + "integrity": "sha512-ygHswjlc/opg2VrtiYvUOPLjxjtdKvjGz1/plDhkG66hjNjFr1xmfrs2ClNFo/E6TyUFiwYNh53bKV26oBoMGQ==", + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/remeda" + } + }, + "node_modules/request": { + "version": "2.88.2", + "license": "Apache-2.0", "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -11741,6 +13651,16 @@ "dev": true, "license": "ISC" }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/reusify": { "version": "1.1.0", "dev": true, @@ -11823,7 +13743,7 @@ }, "node_modules/rollup": { "version": "4.52.5", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/estree": "1.0.8" @@ -12547,6 +14467,12 @@ "version": "1.3.4", "license": "MIT" }, + "node_modules/rou3": { + "version": "0.7.12", + "resolved": "https://registry.npmjs.org/rou3/-/rou3-0.7.12.tgz", + "integrity": "sha512-iFE4hLDuloSWcD7mjdCDhx2bKcIsYbtOTpfH5MHHLSKMOUyjqQXTeZVa289uuwEGEKFoE/BAPbhaU4B774nceg==", + "license": "MIT" + }, "node_modules/run-applescript": { "version": "7.1.0", "dev": true, @@ -12658,7 +14584,7 @@ }, "node_modules/sass": { "version": "1.97.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "chokidar": "^4.0.0", @@ -12677,7 +14603,7 @@ }, "node_modules/sass/node_modules/chokidar": { "version": "4.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "readdirp": "^4.0.1" @@ -12691,7 +14617,7 @@ }, "node_modules/sass/node_modules/readdirp": { "version": "4.1.2", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 14.18.0" @@ -12703,12 +14629,11 @@ }, "node_modules/sax": { "version": "1.4.1", - "dev": true, + "devOptional": true, "license": "ISC" }, "node_modules/scheduler": { "version": "0.27.0", - "dev": true, "license": "MIT" }, "node_modules/schema-utils": { @@ -12856,6 +14781,12 @@ "node": ">= 0.6" } }, + "node_modules/seq-queue": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", + "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==", + "peer": true + }, "node_modules/serialize-javascript": { "version": "6.0.2", "dev": true, @@ -12864,6 +14795,13 @@ "randombytes": "^2.1.0" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "dev": true, + "license": "MIT" + }, "node_modules/setprototypeof": { "version": "1.2.0", "dev": true, @@ -12882,7 +14820,6 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -12893,7 +14830,6 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -12980,12 +14916,11 @@ }, "node_modules/siginfo": { "version": "2.0.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "node_modules/signal-exit": { "version": "4.1.0", - "dev": true, "license": "ISC", "engines": { "node": ">=14" @@ -13018,6 +14953,21 @@ "node": ">=0.3.1" } }, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/slash": { "version": "3.0.0", "dev": true, @@ -13052,7 +15002,7 @@ }, "node_modules/smart-buffer": { "version": "4.2.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 6.0.0", @@ -13061,7 +15011,7 @@ }, "node_modules/socks": { "version": "2.8.7", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "ip-address": "^10.0.1", @@ -13095,7 +15045,7 @@ }, "node_modules/source-map-js": { "version": "1.2.1", - "dev": true, + "devOptional": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -13103,7 +15053,7 @@ }, "node_modules/source-map-support": { "version": "0.5.21", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", @@ -13112,12 +15062,32 @@ }, "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", - "dev": true, + "devOptional": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "memory-pager": "^1.0.2" + } + }, "node_modules/spawndamnit": { "version": "3.0.1", "dev": true, @@ -13132,6 +15102,16 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/sqlstring": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/sshpk": { "version": "1.18.0", "license": "MIT", @@ -13190,7 +15170,7 @@ }, "node_modules/stackback": { "version": "0.0.2", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/statuses": { @@ -13203,7 +15183,6 @@ }, "node_modules/std-env": { "version": "3.10.0", - "dev": true, "license": "MIT" }, "node_modules/storybook": { @@ -13347,6 +15326,20 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "dev": true, @@ -14103,7 +16096,7 @@ }, "node_modules/terser": { "version": "5.44.0", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -14153,7 +16146,7 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/text-decoder": { @@ -14175,12 +16168,11 @@ }, "node_modules/tinybench": { "version": "2.9.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/tinyexec": { "version": "1.0.2", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -14188,7 +16180,7 @@ }, "node_modules/tinyglobby": { "version": "0.2.15", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", @@ -14223,7 +16215,7 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -14240,6 +16232,16 @@ "node": ">=0.6" } }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/tough-cookie": { "version": "2.5.0", "license": "BSD-3-Clause", @@ -14253,7 +16255,6 @@ }, "node_modules/tr46": { "version": "5.1.1", - "dev": true, "license": "MIT", "dependencies": { "punycode": "^2.3.1" @@ -14270,6 +16271,16 @@ "tree-kill": "cli.js" } }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/ts-api-utils": { "version": "2.4.0", "dev": true, @@ -14310,7 +16321,7 @@ }, "node_modules/tslib": { "version": "2.8.1", - "dev": true, + "devOptional": true, "license": "0BSD" }, "node_modules/tsscmp": { @@ -14331,6 +16342,15 @@ "node": "*" } }, + "node_modules/turndown": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.2.2.tgz", + "integrity": "sha512-1F7db8BiExOKxjSMU2b7if62D/XOyQyZbPKq/nUwopfgnHlqXHqQ0lvfUTeUIr1lZJzOPFn43dODyMSIfvWRKQ==", + "license": "MIT", + "dependencies": { + "@mixmark-io/domino": "^2.2.0" + } + }, "node_modules/tweetnacl": { "version": "0.14.5", "license": "Unlicense" @@ -14384,7 +16404,7 @@ }, "node_modules/typescript": { "version": "5.9.3", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -14462,7 +16482,7 @@ }, "node_modules/undici-types": { "version": "7.16.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/unicorn-magic": { @@ -14476,35 +16496,140 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/universalify": { - "version": "0.1.2", - "dev": true, + "node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", "license": "MIT", - "engines": { - "node": ">= 4.0.0" + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "dev": true, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/unplugin": { - "version": "2.3.11", - "dev": true, + "node_modules/unist-util-is/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", "license": "MIT", "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "acorn": "^8.15.0", - "picomatch": "^4.0.3", - "webpack-virtual-modules": "^0.6.2" + "@types/unist": "^2.0.0" }, - "engines": { - "node": ">=18.12.0" - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-visit/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/universalify": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unplugin": { + "version": "2.3.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "acorn": "^8.15.0", + "picomatch": "^4.0.3", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } }, "node_modules/update-browserslist-db": { "version": "1.2.3", @@ -14580,6 +16705,21 @@ "node": ">=10.12.0" } }, + "node_modules/valibot": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/valibot/-/valibot-1.2.0.tgz", + "integrity": "sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "typescript": ">=5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/vary": { "version": "1.1.2", "dev": true, @@ -14600,9 +16740,82 @@ "extsprintf": "^1.2.0" } }, + "node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", + "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message/node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vite": { "version": "7.3.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "esbuild": "^0.27.0", @@ -14680,7 +16893,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14697,7 +16909,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14714,7 +16925,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14731,7 +16941,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14746,7 +16955,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14763,7 +16971,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14780,7 +16987,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14797,7 +17003,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14814,7 +17019,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14831,7 +17035,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14848,7 +17051,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14865,7 +17067,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14882,7 +17083,6 @@ "cpu": [ "mips64el" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14899,7 +17099,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14916,7 +17115,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14933,7 +17131,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14950,7 +17147,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14967,7 +17163,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -14984,7 +17179,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -15001,7 +17195,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -15018,7 +17211,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -15035,7 +17227,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -15052,7 +17243,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -15069,7 +17259,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -15086,7 +17275,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -15103,7 +17291,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -15115,7 +17302,7 @@ }, "node_modules/vite/node_modules/esbuild": { "version": "0.27.2", - "dev": true, + "devOptional": true, "hasInstallScript": true, "license": "MIT", "bin": { @@ -15155,7 +17342,7 @@ }, "node_modules/vitefu": { "version": "1.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "workspaces": [ "tests/deps/*", @@ -15173,7 +17360,7 @@ }, "node_modules/vitest": { "version": "4.0.17", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@vitest/expect": "4.0.17", @@ -15249,7 +17436,7 @@ }, "node_modules/vitest/node_modules/@types/chai": { "version": "5.2.3", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/deep-eql": "*", @@ -15258,7 +17445,7 @@ }, "node_modules/vitest/node_modules/@vitest/expect": { "version": "4.0.17", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.0.0", @@ -15274,7 +17461,7 @@ }, "node_modules/vitest/node_modules/@vitest/mocker": { "version": "4.0.17", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@vitest/spy": "4.0.17", @@ -15299,7 +17486,7 @@ }, "node_modules/vitest/node_modules/@vitest/pretty-format": { "version": "4.0.17", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "tinyrainbow": "^3.0.3" @@ -15310,7 +17497,7 @@ }, "node_modules/vitest/node_modules/@vitest/spy": { "version": "4.0.17", - "dev": true, + "devOptional": true, "license": "MIT", "funding": { "url": "https://opencollective.com/vitest" @@ -15318,7 +17505,7 @@ }, "node_modules/vitest/node_modules/@vitest/utils": { "version": "4.0.17", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@vitest/pretty-format": "4.0.17", @@ -15330,7 +17517,7 @@ }, "node_modules/vitest/node_modules/estree-walker": { "version": "3.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" @@ -15338,7 +17525,7 @@ }, "node_modules/vitest/node_modules/tinyrainbow": { "version": "3.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=14.0.0" @@ -15360,6 +17547,16 @@ "node": ">=10.13.0" } }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/webdriver-bidi-protocol": { "version": "0.3.8", "dev": true, @@ -15367,7 +17564,6 @@ }, "node_modules/webidl-conversions": { "version": "7.0.0", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=12" @@ -15549,7 +17745,6 @@ }, "node_modules/whatwg-url": { "version": "14.2.0", - "dev": true, "license": "MIT", "dependencies": { "tr46": "^5.1.0", @@ -15561,7 +17756,6 @@ }, "node_modules/which": { "version": "2.0.2", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -15575,7 +17769,7 @@ }, "node_modules/why-is-node-running": { "version": "2.3.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "siginfo": "^2.0.0", @@ -15769,6 +17963,21 @@ "node": ">=10" } }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, "node_modules/yargs": { "version": "17.7.2", "dev": true, @@ -15844,6 +18053,17 @@ "version": "1.2.0", "license": "MIT" }, + "node_modules/zeptomatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/zeptomatch/-/zeptomatch-2.1.0.tgz", + "integrity": "sha512-KiGErG2J0G82LSpniV0CtIzjlJ10E04j02VOudJsPyPwNZgGnRKQy7I1R7GMyg/QswnE4l7ohSGrQbQbjXPPDA==", + "license": "MIT", + "peer": true, + "dependencies": { + "grammex": "^3.1.11", + "graphmatch": "^1.1.0" + } + }, "node_modules/zimmerframe": { "version": "1.1.4", "license": "MIT" @@ -15856,6 +18076,16 @@ "url": "https://github.com/sponsors/colinhacks" } }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "packages/stacks-classic": { "name": "@stackoverflow/stacks", "version": "3.0.0-beta.29", @@ -15878,6 +18108,268 @@ "list.js": "^2.3.1" } }, + "packages/stacks-docs-next": { + "name": "@stackoverflow/stacks-docs-next", + "version": "0.0.1", + "dependencies": { + "@docsearch/css": "^4.3.2", + "@docsearch/js": "^4.3.2", + "@hbsnow/rehype-sectionize": "^1.0.7", + "@stackoverflow/stacks": "*", + "@stackoverflow/stacks-icons": "*", + "@stackoverflow/stacks-svelte": "*", + "@stefanprobst/rehype-extract-toc": "^3.0.0", + "better-auth": "^1.4.7", + "modern-normalize": "^3.0.1", + "rehype-autolink-headings": "^7.1.0", + "rehype-slug": "^6.0.0", + "turndown": "^7.2.2", + "unist-util-visit": "^5.0.0", + "yaml": "^2.8.1" + }, + "devDependencies": { + "@sveltejs/adapter-netlify": "^5.0.0", + "@sveltejs/kit": "^2.22.0", + "@sveltejs/vite-plugin-svelte": "^6.0.0", + "mdsvex": "^0.12.3", + "vite": "^7.0.4" + } + }, + "packages/stacks-docs-next/node_modules/@better-auth/core": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@better-auth/core/-/core-1.5.2.tgz", + "integrity": "sha512-svaKRVN/p3+g++kljLEedHC+RgDlGsVr87tKiATr5xIE7xqLO1If906pMTNMfhF08N5r7pMbix/mRYdObuPKHA==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "zod": "^4.3.6" + }, + "peerDependencies": { + "@better-auth/utils": "0.3.1", + "@better-fetch/fetch": "1.1.21", + "@cloudflare/workers-types": ">=4", + "better-call": "1.3.2", + "jose": "^6.1.0", + "kysely": "^0.28.5", + "nanostores": "^1.0.1" + }, + "peerDependenciesMeta": { + "@cloudflare/workers-types": { + "optional": true + } + } + }, + "packages/stacks-docs-next/node_modules/@better-auth/drizzle-adapter": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@better-auth/drizzle-adapter/-/drizzle-adapter-1.5.2.tgz", + "integrity": "sha512-29e7UCwqTriIuDdEr1xbSx4qGg6Ag3aTopzRavPyOCYJyzTwePw8iZ9zaJF1fsLmLeany7LW069NMDf6+3tz/w==", + "license": "MIT", + "peerDependencies": { + "@better-auth/core": "1.5.2", + "@better-auth/utils": "^0.3.0", + "drizzle-orm": ">=0.41.0" + } + }, + "packages/stacks-docs-next/node_modules/@better-auth/kysely-adapter": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@better-auth/kysely-adapter/-/kysely-adapter-1.5.2.tgz", + "integrity": "sha512-PaP+KPJ6Cw0DxzuZLH6eR0oFhS5Iq/KjYvmZt76fCl5Q7Ys9Cct0kXVVlrD1bftiznTpV+UKMfwjcCWvtc1l4w==", + "license": "MIT", + "peerDependencies": { + "@better-auth/core": "1.5.2", + "@better-auth/utils": "^0.3.0", + "kysely": "^0.27.0 || ^0.28.0" + } + }, + "packages/stacks-docs-next/node_modules/@better-auth/memory-adapter": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@better-auth/memory-adapter/-/memory-adapter-1.5.2.tgz", + "integrity": "sha512-vCbmMpUAisISRVxzNFIxkvO3wm63fzwSxAOO9Xktl77VyEyh8zliBNcW8S6+9DOeolVRKhjWEg7UaBOtIhFX/Q==", + "license": "MIT", + "peerDependencies": { + "@better-auth/core": "1.5.2", + "@better-auth/utils": "^0.3.0" + } + }, + "packages/stacks-docs-next/node_modules/@better-auth/mongo-adapter": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@better-auth/mongo-adapter/-/mongo-adapter-1.5.2.tgz", + "integrity": "sha512-fJd+Z7fgRFgK2W7oxbFYM9K10yEUs/hlALzihCdDgSyRg9XFLBMJkMcECRqBsop/cZUjwZxLBTQPsIpgx9ix1g==", + "license": "MIT", + "peerDependencies": { + "@better-auth/core": "1.5.2", + "@better-auth/utils": "^0.3.0", + "mongodb": "^6.0.0 || ^7.0.0" + } + }, + "packages/stacks-docs-next/node_modules/@better-auth/prisma-adapter": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@better-auth/prisma-adapter/-/prisma-adapter-1.5.2.tgz", + "integrity": "sha512-9GB4q91Q16wSSsi1vFP/RZNW0GNmdxTiDcE2MX1fC4Hlmo6UuT4WRv+94YPYs3/tPhsJ17k5Lt+rKTOK8S6Kbw==", + "license": "MIT", + "dependencies": { + "@prisma/client": "^7.4.1" + }, + "peerDependencies": { + "@better-auth/core": "1.5.2", + "@better-auth/utils": "^0.3.0", + "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", + "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "packages/stacks-docs-next/node_modules/@better-auth/telemetry": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@better-auth/telemetry/-/telemetry-1.5.2.tgz", + "integrity": "sha512-Cukyj5yciFNGtx5SkQCop2wOjpHuq2ZHL3V7ydVFe51WUNCXd+v1Sbed2sIfT/8hOcSB+NefALXNv1yTSxKkAQ==", + "license": "MIT", + "dependencies": { + "@better-auth/utils": "0.3.1", + "@better-fetch/fetch": "1.1.21" + }, + "peerDependencies": { + "@better-auth/core": "1.5.2" + } + }, + "packages/stacks-docs-next/node_modules/better-auth": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/better-auth/-/better-auth-1.5.2.tgz", + "integrity": "sha512-xEnt/RBsu/cjcN+IEsgeBqka/6QRaGzPFl5hnnJfZU/JxRGnDsVUDHXvJQRfecj8qA/1nPJOQjZ6qQL1Z7aN+Q==", + "license": "MIT", + "dependencies": { + "@better-auth/core": "1.5.2", + "@better-auth/drizzle-adapter": "1.5.2", + "@better-auth/kysely-adapter": "1.5.2", + "@better-auth/memory-adapter": "1.5.2", + "@better-auth/mongo-adapter": "1.5.2", + "@better-auth/prisma-adapter": "1.5.2", + "@better-auth/telemetry": "1.5.2", + "@better-auth/utils": "0.3.1", + "@better-fetch/fetch": "1.1.21", + "@noble/ciphers": "^2.1.1", + "@noble/hashes": "^2.0.1", + "better-call": "1.3.2", + "defu": "^6.1.4", + "jose": "^6.1.3", + "kysely": "^0.28.11", + "nanostores": "^1.1.1", + "zod": "^4.3.6" + }, + "peerDependencies": { + "@lynx-js/react": "*", + "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", + "@sveltejs/kit": "^2.0.0", + "@tanstack/react-start": "^1.0.0", + "@tanstack/solid-start": "^1.0.0", + "better-sqlite3": "^12.0.0", + "drizzle-kit": ">=0.31.4", + "drizzle-orm": ">=0.41.0", + "mongodb": "^6.0.0 || ^7.0.0", + "mysql2": "^3.0.0", + "next": "^14.0.0 || ^15.0.0 || ^16.0.0", + "pg": "^8.0.0", + "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0", + "solid-js": "^1.0.0", + "svelte": "^4.0.0 || ^5.0.0", + "vitest": "^2.0.0 || ^3.0.0 || ^4.0.0", + "vue": "^3.0.0" + }, + "peerDependenciesMeta": { + "@lynx-js/react": { + "optional": true + }, + "@prisma/client": { + "optional": true + }, + "@sveltejs/kit": { + "optional": true + }, + "@tanstack/react-start": { + "optional": true + }, + "@tanstack/solid-start": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "drizzle-kit": { + "optional": true + }, + "drizzle-orm": { + "optional": true + }, + "mongodb": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "next": { + "optional": true + }, + "pg": { + "optional": true + }, + "prisma": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "solid-js": { + "optional": true + }, + "svelte": { + "optional": true + }, + "vitest": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "packages/stacks-docs-next/node_modules/better-call": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/better-call/-/better-call-1.3.2.tgz", + "integrity": "sha512-4cZIfrerDsNTn3cm+MhLbUePN0gdwkhSXEuG7r/zuQ8c/H7iU0/jSK5TD3FW7U0MgKHce/8jGpPYNO4Ve+4NBw==", + "license": "MIT", + "dependencies": { + "@better-auth/utils": "^0.3.1", + "@better-fetch/fetch": "^1.1.21", + "rou3": "^0.7.12", + "set-cookie-parser": "^3.0.1" + }, + "peerDependencies": { + "zod": "^4.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "packages/stacks-docs-next/node_modules/set-cookie-parser": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-3.0.1.tgz", + "integrity": "sha512-n7Z7dXZhJbwuAHhNzkTti6Aw9QDDjZtm3JTpTGATIdNzdQz5GuFs22w90BcvF4INfnrL5xrX3oGsuqO5Dx3A1Q==", + "license": "MIT" + }, + "packages/stacks-docs-next/node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "packages/stacks-svelte": { "name": "@stackoverflow/stacks-svelte", "version": "1.0.0-beta.30", diff --git a/package.json b/package.json index 2cbc0a9fd9..1b883fdc1e 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@rollup/plugin-commonjs": "^26.0.1", "@rollup/plugin-replace": "^6.0.3", "@stackoverflow/prettier-config": "^1.0.0", - "@stackoverflow/stacks-icons": "^7.0.0-beta.18", + "@stackoverflow/stacks-icons": "^7.0.0-beta.21", "@stackoverflow/stacks-icons-legacy": "npm:@stackoverflow/stacks-icons@^6.9.0", "@storybook/addon-a11y": "^10.1.11", "@storybook/addon-docs": "^10.1.11", diff --git a/packages/stacks-docs-next/.gitignore b/packages/stacks-docs-next/.gitignore new file mode 100644 index 0000000000..7df20a667c --- /dev/null +++ b/packages/stacks-docs-next/.gitignore @@ -0,0 +1,25 @@ +node_modules + +# Output +.output +.vercel +.netlify +.wrangler +/.svelte-kit +/build + +# OS +.DS_Store +Thumbs.db + +# Env +.env +.env.* +!.env.example +!.env.test + +# Vite +vite.config.js.timestamp-* +vite.config.ts.timestamp-* + +/static/docs \ No newline at end of file diff --git a/packages/stacks-docs-next/.npmrc b/packages/stacks-docs-next/.npmrc new file mode 100644 index 0000000000..b6f27f1359 --- /dev/null +++ b/packages/stacks-docs-next/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/packages/stacks-docs-next/README.md b/packages/stacks-docs-next/README.md new file mode 100644 index 0000000000..5c9dc6cd71 --- /dev/null +++ b/packages/stacks-docs-next/README.md @@ -0,0 +1,201 @@ +# Stacks Documentation + +Stack Overflow's design system documentation site, powered by SvelteKit. + +## Developing + +Once you've installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: + +```sh +npm run dev -w packages/stacks-docs-next + +``` + +## Building + +This site is deployed to Netlify, but to create a production version of your app locally: + +```sh +npm run build -w packages/stacks-docs-next +``` + +You can preview the production build with `npm run preview`. + +## Documentation + +### Navigation + +The site navigation is controlled by `src/structure.yaml`. This file defines: +- Top-level sections (Brand, Copywriting, Product, etc.) +- Navigation hierarchy and nesting +- Page titles, slugs, and metadata +- Which pages are marked as private (employee-only) + +Example structure: +```yaml +navigation: + - title: "Brand" + slug: "brand" + description: "Visual patterns and guidelines" + items: + - title: "Logo" + slug: "logo" + image: "/images/heros/logo.svg" + + - title: "Border radius" + slug: "border-radius" + image: "/images/heros/border-radius.svg" + legacy: product/base/border-radius # See below, reference docs generated by the old Eleventy service + + - title: "Brand strategy" + slug: "strategy" + private: true # Employee-only content +``` + +### Markdown processing + +Documentation is built using [mdsvex](https://mdsvex.pngwn.io/), which allows you to use Svelte components within Markdown files. The build process automatically adds several features: + +**Automatically Added:** +- **Table of Contents** - Extracted from headings and exposed via `toc` in frontmatter +- **Heading IDs** - All headings get slug IDs for direct linking (e.g., `## Color hierarchy` → `id="color-hierarchy"`) +- **Section wrappers** - Content is automatically wrapped in `
` elements +- **Heading links** - Headings are automatically wrapped in anchor links +- **Syntax highlighting** - Code blocks are highlighted using highlight.js with Stacks styling +- **Table styling** - Tables automatically get Stacks table classes (`s-table`) +- **Image path resolution** - Relative image paths are resolved to absolute URLs + +**Svelte Components in Markdown:** +You can import and use Svelte components directly in your markdown: +```markdown + + +## Color palette + + +``` + +See `svelte.config.js` for the complete mdsvex configuration. + +### Content + +Documentation content lives in two directories: + +#### Public (`src/docs/public`) + +Public-facing documentation accessible to everyone. The directory structure maps directly to URL routes: + +**Route Patterns:** +- `src/docs/public/brand/logo.md` → `/brand/logo` +- `src/docs/public/brand/color/index.md` → `/brand/color` + +**Files can be organized in two ways:** +1. **Single file:** `route.md` for simple pages +2. **Directory with index:** `route/index.md` for pages with supporting files + +**Supporting Files:** +You can place images, Svelte components, YAML data, and other assets alongside your markdown: +``` +src/docs/public/brand/color/ +├── index.md # Main content +├── ColorSwatch.svelte # Interactive component +├── colors.yaml # Data file +└── stack-color-combos.svg # Image asset +``` + +**Image Handling:** +Images and non-markdown files are automatically copied from `src/docs/` to `static/docs/` during build by the Vite plugin in `vite.config.ts`. Reference them in markdown using relative paths: +```markdown +![Color palette](./stack-color-combos.svg) +``` + +#### Private (`src/docs/private`) + +Employee-only documentation lives in a seperate repo: https://github.com/StackEng/StacksDocsPrivate + +This is a **git submodule** that requires Stack Overflow employee access. To set it up: + +```sh +git submodule init +git submodule update +``` + +The private docs follow the same structure and conventions as public docs. Mark pages as private in `structure.yaml` with `private: true`. + +### Adding a New Page + +1. **Create the content file** in the appropriate location: + ```sh + # Simple page + touch src/docs/public/brand/new-page.md + + # Page with supporting files + mkdir src/docs/public/brand/new-page + touch src/docs/public/brand/new-page/index.md + ``` + +2. **Add the page to navigation** in `src/structure.yaml`: + ```yaml + - title: "Brand" + slug: "brand" + items: + - title: "New Page" + slug: "new-page" + image: "/images/heros/new-page.svg" # Optional, relative to 'static' director + ``` + +3. **Add any images or assets** to the same directory as your markdown file + +4. **Reference assets** using relative paths (e.g., `./image.svg`) in your markdown + +### Migrating old content + +The old documentation site (`packages/stacks-docs`) is an Eleventy build. While pages are being properly migrated to Markdown, a `legacy` stopgap lets the new site serve the old rendered HTML without any content duplication. + +#### How it works + +**1. Eleventy generates content fragments** + +When `stacks-docs` builds, a post-build hook extracts the `
` inner HTML from each page and writes it as a `fragment.html` alongside the full `index.html`: + +``` +packages/stacks-docs/_site/product/base/borders/ +├── index.html # Full legacy page +└── fragment.html # Just the main content block (generated automatically) +``` + +**2. Add a `legacy` prop in `structure.yaml`** + +For any page that doesn't yet have a `.md` file, add a `legacy` path pointing to the corresponding location in the old `_site` output: + +```yaml +- title: "Borders" + slug: "borders" + legacy: product/base/borders +``` + +The path is relative to `packages/stacks-docs/_site/`. When the page is loaded, the server reads `_site//fragment.html` and serves it as the page content. + +If a `.md` file exists for the page, it takes precedence and the `legacy` prop is ignored — so you can add the `.md` file and remove `legacy` when you're ready without any other changes. + +**3. Build stacks-docs first** + +The fragments are generated by the Eleventy build, so `stacks-docs` must be built before running `stacks-docs-next` in development or production: + +```sh +# Build the legacy site first (generates fragments) +npm run build -w packages/stacks-docs + +# Then develop or build the new site +npm run dev -w packages/stacks-docs-next +``` + +#### Completing a migration + +When you're ready to properly migrate a page: + +1. Create `src/docs/public/.md` with the page content +2. Remove the `legacy` prop from the item in `structure.yaml` +3. The `.md` file will be picked up automatically \ No newline at end of file diff --git a/packages/stacks-docs-next/eslint.config.js b/packages/stacks-docs-next/eslint.config.js new file mode 100644 index 0000000000..70d16b302c --- /dev/null +++ b/packages/stacks-docs-next/eslint.config.js @@ -0,0 +1,37 @@ +import { includeIgnoreFile } from "@eslint/compat"; +import js from "@eslint/js"; +import svelte from "eslint-plugin-svelte"; +import globals from "globals"; +import { fileURLToPath } from "node:url"; +import ts from "typescript-eslint"; +import svelteConfig from "./svelte.config.js"; + +const gitignorePath = fileURLToPath(new URL("./.gitignore", import.meta.url)); + +export default ts.config( + includeIgnoreFile(gitignorePath), + js.configs.recommended, + ...ts.configs.recommended, + ...svelte.configs.recommended, + { + languageOptions: { + globals: { ...globals.browser, ...globals.node }, + }, + rules: { + // typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects. + // see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors + "no-undef": "off", + }, + }, + { + files: ["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"], + languageOptions: { + parserOptions: { + projectService: true, + extraFileExtensions: [".svelte"], + parser: ts.parser, + svelteConfig, + }, + }, + } +); diff --git a/packages/stacks-docs-next/netlify-setup.sh b/packages/stacks-docs-next/netlify-setup.sh new file mode 100644 index 0000000000..7bb75c97a2 --- /dev/null +++ b/packages/stacks-docs-next/netlify-setup.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +# Credit goes to fool and hongaar at +# https://community.netlify.com/t/support-guide-using-an-ssh-key-via-environment-variable-during-build/2457 + +# Check if we’re running in a Netlify environment +# See https://www.netlify.com/docs/continuous-deployment/#environment-variables +if [ ! -z "${DEPLOY_PRIME_URL}" ]; then + # Init .ssh dir and expand $GITHUB_SUBMODULE_KEY + mkdir -p ~/.ssh + echo -e "${GITHUB_SUBMODULE_KEY//_/\\n}" > ~/.ssh/id_rsa + chmod og-rwx ~/.ssh/id_rsa + + # Add host keys + ssh-keyscan -H github.com >> ~/.ssh/known_hosts +fi; diff --git a/packages/stacks-docs-next/package.json b/packages/stacks-docs-next/package.json new file mode 100644 index 0000000000..642bd3dc77 --- /dev/null +++ b/packages/stacks-docs-next/package.json @@ -0,0 +1,41 @@ +{ + "name": "@stackoverflow/stacks-docs-next", + "private": true, + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite dev", + "prebuild": "npm run build -w @stackoverflow/stacks && npm run build -w @stackoverflow/stacks-svelte", + "build": "bash netlify-setup.sh && npm run init-private-content && vite build", + "preview": "vite preview", + "prepare": "svelte-kit sync || echo ''", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "eslint .", + "format": "prettier --write .", + "init-private-content": "GIT_SSH_COMMAND=\"ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no\" git submodule update --init --remote" + }, + "devDependencies": { + "@sveltejs/adapter-netlify": "^5.0.0", + "@sveltejs/kit": "^2.22.0", + "@sveltejs/vite-plugin-svelte": "^6.0.0", + "mdsvex": "^0.12.3", + "vite": "^7.0.4" + }, + "dependencies": { + "@docsearch/css": "^4.3.2", + "@docsearch/js": "^4.3.2", + "@hbsnow/rehype-sectionize": "^1.0.7", + "@stackoverflow/stacks": "*", + "@stackoverflow/stacks-icons": "*", + "@stackoverflow/stacks-svelte": "*", + "@stefanprobst/rehype-extract-toc": "^3.0.0", + "better-auth": "^1.4.7", + "modern-normalize": "^3.0.1", + "rehype-autolink-headings": "^7.1.0", + "rehype-slug": "^6.0.0", + "turndown": "^7.2.2", + "unist-util-visit": "^5.0.0", + "yaml": "^2.8.1" + } +} diff --git a/packages/stacks-docs-next/src/app.css b/packages/stacks-docs-next/src/app.css new file mode 100644 index 0000000000..7d0259a493 --- /dev/null +++ b/packages/stacks-docs-next/src/app.css @@ -0,0 +1,350 @@ +@import "@stackoverflow/stacks/dist/css/stacks.css"; + +:root { + --brand-color-orange: #ff5e00; + --brand-color-orange-medium: #6e1527; + --brand-color-orange-dark: #31070f; + + --brand-color-white: #ffffff; + --brand-color-black: #201c1d; + --brand-color-off-white: #f0efee; + + --brand-color-beige: #998b7a; + + --brand-color-blue: #5074ef; + --brand-color-blue-light: #c6d1e1; + --brand-color-blue-dark: #00165e; + + --brand-color-purple: #9e9cff; + --brand-color-purple-dark: #390a91; + + --brand-color-pink: #f39fff; + --brand-color-pink-dark: #4d1855; + + --brand-color-green: #85af24; + --brand-color-green-dark: #253702; + + --brand-color-yellow: #ffcc01; + --brand-color-yellow-dark: #413101; + + --brand-color-gray: #575757; + --brand-color-gray-200: #dee0e3; +} + +/* Add to Stacks classic eventually */ + +.bg-brand-orange { + background: var(--brand-color-orange); +} +.fc-brand-orange { + color: var(--brand-color-orange) !important; +} +.bg-brand-orange-medium { + background: var(--brand-color-orange-medium); +} +.bg-brand-orange-dark { + background: var(--brand-color-orange-dark); +} + +.bg-brand-white { + background: var(--brand-color-white); +} +.bg-brand-black { + background: var(--brand-color-black); +} +.bg-brand-off-white { + background: var(--brand-color-off-white); +} + +.bg-brand-beige { + background: var(--brand-color-beige); +} + +.bg-brand-blue { + background: var(--brand-color-blue); +} +.bg-brand-blue-light { + background: var(--brand-color-blue-light); +} +.bg-brand-blue-dark { + background: var(--brand-color-blue-dark); +} + +.bg-brand-purple { + background: var(--brand-color-purple); +} +.bg-brand-purple-dark { + background: var(--brand-color-purple-dark); +} + +.bg-brand-pink { + background: var(--brand-color-pink); +} +.bg-brand-pink-dark { + background: var(--brand-color-pink-dark); +} + +.bg-brand-green { + background: var(--brand-color-green); +} +.bg-brand-green-dark { + background: var(--brand-color-green-dark); +} + +.bg-brand-yellow { + background: var(--brand-color-yellow); +} +.bg-brand-yellow-dark { + background: var(--brand-color-yellow-dark); +} + +.bg-brand-gray { + background: var(--brand-color-gray); +} +.bg-brand-gray-200 { + background: var(--brand-color-gray-200); +} + +/* Override Stacks defaults */ +html, +body { + --ff-sans: + "Stack Sans Text", -apple-system, BlinkMacSystemFont, + "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; + --ff-mono: + "IBM Plex Mono", ui-monospace, "Cascadia Mono", "Segoe UI Mono", + "Liberation Mono", Menlo, Monaco, Consolas, monospace; +} + +@font-face { + font-family: "Stack Sans Headline"; + src: url("/fonts/StackSansHeadline[wght].woff2") format("woff2-variations"); +} + +@font-face { + font-family: "Stack Sans Text"; + src: url("/fonts/StackSansText[wght].woff2") format("woff2-variations"); +} + +@font-face { + font-family: "IBM Plex Mono"; + src: url("/fonts/IBMPlexMono-Regular.woff2") format("woff2"); +} + +.ff-stack-sans { + font-family: "Stack Sans Text"; + font-weight: 400; +} +.ff-stack-sans-headline, +.ff-stack-sans-headline-notch { + font-family: "Stack Sans Headline"; +} +.ff-stack-sans-headline-notch { + font-feature-settings: "ss01" 1 !important; +} + +.fw-extralight { + font-weight: 200; +} +.fw-light { + font-weight: 300; +} +.fw-regular { + font-weight: 400; +} +.fw-medium { + font-weight: 500; +} +.fw-semibold { + font-weight: 600; +} +.fw-bold, +.s-prose strong { + font-weight: 700; +} + +body { + background-color: var(--black-100); + font-weight: 300; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +h1, +h2, +h3, +h4, +h5 { + font-family: "Stack Sans Headline"; + font-weight: 400; +} +h1 { + font-size: 72px; + line-height: 106%; + font-weight: 500; + margin-top: 0; +} +h1 { + font-feature-settings: "ss01" 1; +} +main { + min-height: calc(100vh - 24px); +} +main, +footer { + margin-left: 20%; +} + +@media (max-width: 640px) { + main, + footer { + margin-left: 0%; + } +} + +/* Document styles */ + +.doc h1 a, +.doc h2 a, +.doc h3 a, +.doc h4 a, +.doc h5 a { + color: inherit; + text-decoration: none; +} +.doc h1 svg, +.doc h2 svg, +.doc h3 svg, +.doc h4 svg, +.doc h5 svg { + vertical-align: middle; + margin-right: 4px; +} +.doc img, +.doc iframe { + width: 100%; + height: auto; + display: block; +} +.doc iframe { + aspect-ratio: 16 / 9.675; +} +.doc .doc__grid { + margin: 12px 0; +} +.doc .doc__grid:not(.doc__grid + .doc__grid):not(:has(+ .doc__grid)) { + margin: 32px 0; +} +.doc section { + border-top: 1px solid var(--black-150); + position: relative; + padding: 20px 0; + margin: 20px 0; +} +.doc h1 a, +.doc h2 a, +.doc h3 a, +.doc h4 a { + color: inherit !important; +} +.doc section[data-heading-rank] { + margin-top: 32px; +} +.doc section[data-heading-rank="2"] > p { + color: var(--fc-medium); +} +.doc section > section { + border-top: 0; + padding: 0; + margin: 0; +} +.doc p:not(:has(img)), +.doc li { + max-width: 800px; +} +.doc ul li { + list-style-type: square; +} +.doc nav ul li { + list-style: none; +} +.doc h2 { + font-size: var(--_pr-h1-fs); +} +.doc h4 { + color: var(--black-400); +} +.doc a { + font-weight: 500; +} + +/* Style for some columns we want a strike through */ + +.column-strike:before { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + content: ""; + pointer-events: none; + user-select: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-position: center center; + background-size: + 120% 120%, + auto; +} + +/* Legacy doc utility classes (migrated from stacks-docs) */ + +.stacks-code, +.docs-code { + background-color: var(--black-150); + border: var(--su1) solid var(--black-200); + border-radius: var(--su2); + font-family: var(--ff-mono); + font-size: 0.875em; + overflow-wrap: break-word; + margin: var(--sun1); + padding: 0.125em 0.1875em 0.0625em; + white-space: normal; +} + +.stacks-preview--example, +.docs-preview--example { + padding: var(--su16); + border: var(--su1) solid var(--black-225); + font-size: var(--fs-body1); + margin-bottom: var(--su48); +} + +.stacks-bg-img, +.docs-bg-img { + background-image: url("/assets/img/illustrationBgImage.svg"); +} + +.docs-box { + background-color: var(--black-200); + border: var(--su1) solid var(--black-225); + box-sizing: border-box; + color: var(--black-600); + font-family: var(--ff-mono); + font-size: var(--fs-caption); + padding: var(--su8); +} + +.docs-box .docs-box { + background-color: var(--black-150); + border-color: var(--black-300); +} + +/* Agolia Docsearch */ + +.DocSearch-Container { + z-index: 9999 !important; +} +.DocSearch-Footer { + margin: 0; +} diff --git a/packages/stacks-docs-next/src/app.html b/packages/stacks-docs-next/src/app.html new file mode 100644 index 0000000000..b9f98aa783 --- /dev/null +++ b/packages/stacks-docs-next/src/app.html @@ -0,0 +1,49 @@ + + + + + + %sveltekit.head% + + + +
%sveltekit.body%
+ + diff --git a/packages/stacks-docs-next/src/components/Contents.svelte b/packages/stacks-docs-next/src/components/Contents.svelte new file mode 100644 index 0000000000..f123d2e39b --- /dev/null +++ b/packages/stacks-docs-next/src/components/Contents.svelte @@ -0,0 +1,197 @@ + + + + + diff --git a/packages/stacks-docs-next/src/components/Cta.svelte b/packages/stacks-docs-next/src/components/Cta.svelte new file mode 100644 index 0000000000..875f540e37 --- /dev/null +++ b/packages/stacks-docs-next/src/components/Cta.svelte @@ -0,0 +1,9 @@ + + +
+
+ {@render children()} +
+
\ No newline at end of file diff --git a/packages/stacks-docs-next/src/components/Gallery.svelte b/packages/stacks-docs-next/src/components/Gallery.svelte new file mode 100644 index 0000000000..46b47b8c5f --- /dev/null +++ b/packages/stacks-docs-next/src/components/Gallery.svelte @@ -0,0 +1,38 @@ + + + + {#each controls as item, i} + goto(i)} + class="tt-capitalize" + trailing={item.trailing} + /> + {/each} + + +
+ {@render children()} +
diff --git a/packages/stacks-docs-next/src/components/Grid.svelte b/packages/stacks-docs-next/src/components/Grid.svelte new file mode 100644 index 0000000000..528c2b58b1 --- /dev/null +++ b/packages/stacks-docs-next/src/components/Grid.svelte @@ -0,0 +1,12 @@ + + +
+ {@render children()} +
diff --git a/packages/stacks-docs-next/src/components/GridColumn.svelte b/packages/stacks-docs-next/src/components/GridColumn.svelte new file mode 100644 index 0000000000..f0c5e98118 --- /dev/null +++ b/packages/stacks-docs-next/src/components/GridColumn.svelte @@ -0,0 +1,13 @@ + + +
+
+ {@render children()} +
+
diff --git a/packages/stacks-docs-next/src/components/LoginPrompt.svelte b/packages/stacks-docs-next/src/components/LoginPrompt.svelte new file mode 100644 index 0000000000..f02f8ba364 --- /dev/null +++ b/packages/stacks-docs-next/src/components/LoginPrompt.svelte @@ -0,0 +1,35 @@ + + +
+
+ + +

Access required

+ +

Only employees can access what’s here (it’s really not that interesting unless you work here).

+ + +
+
+ + diff --git a/packages/stacks-docs-next/src/components/Navigation.svelte b/packages/stacks-docs-next/src/components/Navigation.svelte new file mode 100644 index 0000000000..044b9c1217 --- /dev/null +++ b/packages/stacks-docs-next/src/components/Navigation.svelte @@ -0,0 +1,133 @@ + + +{#snippet dropdown(isSelected: boolean, level: number = 1)} + + + +{/snippet} + + + + \ No newline at end of file diff --git a/packages/stacks-docs-next/src/components/Search.svelte b/packages/stacks-docs-next/src/components/Search.svelte new file mode 100644 index 0000000000..91c616505d --- /dev/null +++ b/packages/stacks-docs-next/src/components/Search.svelte @@ -0,0 +1,54 @@ + + +{#if searchEnabled} + +{/if} \ No newline at end of file diff --git a/packages/stacks-docs-next/src/components/Slide.svelte b/packages/stacks-docs-next/src/components/Slide.svelte new file mode 100644 index 0000000000..d881fe94d7 --- /dev/null +++ b/packages/stacks-docs-next/src/components/Slide.svelte @@ -0,0 +1,16 @@ + + +{#if isActive} +
+ {@render children()} +
+{/if} diff --git a/packages/stacks-docs-next/src/components/ThemeToggle.svelte b/packages/stacks-docs-next/src/components/ThemeToggle.svelte new file mode 100644 index 0000000000..1a1ae60727 --- /dev/null +++ b/packages/stacks-docs-next/src/components/ThemeToggle.svelte @@ -0,0 +1,145 @@ + + +
+ + + + + +
+
+ + +
+ +
+ + +
+ +
+ + +
+
+
+
+
diff --git a/packages/stacks-docs-next/src/docs/private b/packages/stacks-docs-next/src/docs/private new file mode 160000 index 0000000000..ef4eb9ba9f --- /dev/null +++ b/packages/stacks-docs-next/src/docs/private @@ -0,0 +1 @@ +Subproject commit ef4eb9ba9f90be054c40c0b5b68782be59e8cb13 diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/ColorBackgrounds.svelte b/packages/stacks-docs-next/src/docs/public/brand/color/ColorBackgrounds.svelte new file mode 100644 index 0000000000..fe5273f52b --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/ColorBackgrounds.svelte @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Part. + Sum. + Solution. + + + + +
+ {#each backgroundColors as color, index} + selected = index} + extraClasses="flex--item6" + /> + {/each} +
+
+
\ No newline at end of file diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/ColorBusinessProduct.svelte b/packages/stacks-docs-next/src/docs/public/brand/color/ColorBusinessProduct.svelte new file mode 100644 index 0000000000..4b380c51b5 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/ColorBusinessProduct.svelte @@ -0,0 +1,31 @@ + + + + +
+ +
+
+ +
+ +
+
+
+ + diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/ColorCodes.svelte b/packages/stacks-docs-next/src/docs/public/brand/color/ColorCodes.svelte new file mode 100644 index 0000000000..9c9cb7ff83 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/ColorCodes.svelte @@ -0,0 +1,33 @@ + + +
+ {#each colors as color} + + {/each} +
+ + diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/ColorHeadlines.svelte b/packages/stacks-docs-next/src/docs/public/brand/color/ColorHeadlines.svelte new file mode 100644 index 0000000000..1c39ef7f41 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/ColorHeadlines.svelte @@ -0,0 +1,98 @@ + + + + + {#each themes as theme, index} + selected = index} + selected={selected === index} + text={`${colorsByCss[theme.highlightBackground].name}`} + > + {#snippet trailing()} + + + {/snippet} + + {/each} + + + + + + + + + + + + For technologists. + For businesses. + + + + + + For developers. + + + + \ No newline at end of file diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/ColorHierarchy.svelte b/packages/stacks-docs-next/src/docs/public/brand/color/ColorHierarchy.svelte new file mode 100644 index 0000000000..1aaabfe74b --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/ColorHierarchy.svelte @@ -0,0 +1,35 @@ + + +
+ {#each colors as color} +
+
{color.name}
+
+ {/each} +
+ + diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/ColorLabels.svelte b/packages/stacks-docs-next/src/docs/public/brand/color/ColorLabels.svelte new file mode 100644 index 0000000000..cadcb52bd9 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/ColorLabels.svelte @@ -0,0 +1,86 @@ + + + + +
+
+
+ Icon color +
+
+ Square color +
+
+ + {#each themes as theme} +
+
+ + + + + Stack + +
+ + +
+ {/each} +
+
diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/ColorSwatch.svelte b/packages/stacks-docs-next/src/docs/public/brand/color/ColorSwatch.svelte new file mode 100644 index 0000000000..f528e144db --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/ColorSwatch.svelte @@ -0,0 +1,103 @@ + + + + + visible = true)} + class={`d-flex fs-body1 fd-column ps-relative c-pointer ff-sans ta-left color color--${orientation} ${extraClasses} ${disabled ? 'o50 bg-black-200 fc-black pe-none c-not-allowed' : ''}`} + style={`background: ${color.hex}; color: ${color.invertLabel ? '#fff' : '#000'}`} +> + {color.name} + + {#if showHex && !disabled} + {color.hex} + {/if} + + {#if !disabled} + + {/if} + + + (visible = false)} +> + {#snippet header()} +
{color.name}
+ {/snippet} + {#snippet body()} + {#each [ + { label: 'Hex', field: 'hex', value: color.hex }, + { label: 'RGB', field: 'rgb', value: color.rgb }, + { label: 'CSS', field: 'css', value: color.cssVar }, + { label: 'Pantone', field: 'pantone', value: color.pantone }, + ] as row, i} + {#if row.value} +
+
{row.label}
+
+ {row.value} + +
+
+ {/if} + {/each} + {/snippet} + {#snippet footer()} +
+ {/snippet} +
+ + diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/avoid.svg b/packages/stacks-docs-next/src/docs/public/brand/color/avoid.svg new file mode 100644 index 0000000000..e689e44ca6 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/avoid.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/b2b-balance.svg b/packages/stacks-docs-next/src/docs/public/brand/color/b2b-balance.svg new file mode 100644 index 0000000000..b12b3fe432 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/b2b-balance.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/b2c-balance.svg b/packages/stacks-docs-next/src/docs/public/brand/color/b2c-balance.svg new file mode 100644 index 0000000000..e27b799142 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/b2c-balance.svg @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/colors.yaml b/packages/stacks-docs-next/src/docs/public/brand/color/colors.yaml new file mode 100644 index 0000000000..d705b829c0 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/colors.yaml @@ -0,0 +1,122 @@ +# to-do: move to figma? + +colors: + - name: "Stack Orange" + hex: "#FF5E00" + rgb: 255, 94, 0 + cssVar: "--brand-color-orange" + pantone: Orange 021 U + business: true + background: true + weight: 1 + - name: "Purple" + hex: "#9D9CFF" + rgb: 157, 156, 255 + cssVar: "--brand-color-purple" + weight: 2 + business: true + - name: "Pink" + hex: "#F39FFF" + rgb: 243, 159, 255 + cssVar: "--brand-color-pink" + weight: 2 + - name: "Yellow" + hex: "#FFCC00" + rgb: 255, 204, 0 + cssVar: "--brand-color-yellow" + pantone: 109 U + weight: 2 + business: true + - name: "Blue" + hex: "#5074EF" + rgb: 80, 116, 239 + cssVar: "--brand-color-blue" + weight: 2 + business: true + - name: "Green" + hex: "#86AF25" + rgb: 134, 175, 37 + cssVar: "--brand-color-green" + weight: 2 + - name: "Off-Black" + invertLabel: true + hex: "#201C1D" + rgb: 32, 28, 29 + cssVar: "--brand-color-black" + pantone: Black 6 U + weight: 2 + business: true + background: true + - name: "Off-White" + hex: "#F0EFEE" + rgb: 240, 239, 238 + cssVar: "--brand-color-off-white" + weight: 2 + business: true + background: true + - name: "Light Blue" + weight: 2 + hex: "#C6D1E1" + rgb: 198, 209, 225 + cssVar: "--brand-color-blue-light" + background: true + - name: "Light Brown" + weight: 2 + hex: "#998B7A" + rgb: 153, 139, 122 + cssVar: "--brand-color-beige" + background: true + - name: "Dark Orange" + invertLabel: true + weight: 3 + hex: "#31070F" + rgb: 49, 7, 15 + cssVar: "--brand-color-orange-dark" + background: true + - name: "Medium Orange" + invertLabel: true + hex: "#6E1527" + rgb: 110, 21, 39 + cssVar: "--brand-color-orange-medium" + weight: 3 + business: true + background: true + - name: "Dark Purple" + invertLabel: true + weight: 3 + hex: "#390A91" + rgb: 57, 10, 145 + cssVar: "--brand-color-purple-dark" + - name: "Dark Pink" + invertLabel: true + hex: "#4D1955" + rgb: 77, 25, 85 + cssVar: "--brand-color-pink-dark" + weight: 3 + - name: "Dark Green" + invertLabel: true + hex: "#263603" + rgb: 38, 54, 3 + cssVar: "--brand-color-green-dark" + weight: 3 + - name: "Dark Yellow" + invertLabel: true + weight: 3 + hex: "#423101" + rgb: 66, 49, 1 + cssVar: "--brand-color-yellow-dark" + - name: "Dark Blue" + invertLabel: true + weight: 3 + hex: "#00165E" + rgb: 0, 22, 94 + cssVar: "--brand-color-blue-dark" + - name: "Pure White" + hex: "#FFFFFF" + rgb: 255, 255, 255 + cssVar: "--brand-color-white" + stacks: white + business: true + weight: 3 + hideHierarchy: true + background: true diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/index.md b/packages/stacks-docs-next/src/docs/public/brand/color/index.md new file mode 100644 index 0000000000..7c174835c3 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/index.md @@ -0,0 +1,79 @@ +--- +updated: 2025-12-10 +figma: https://www.figma.com/design/T7PJSsFD8hrB1qfsj8GcmK/Brand-colors +--- + + + +Our color palette sets the visual tone of the brand and ensures consistency across every platform. At its core is our distinct orange, a bold and instantly recognizable signature. This is supported by a balanced palette of primary and secondary colors that bring both vibrancy and sophistication. In this section, you’ll find guidance on when and how to use each color, the hierarchy to follow, and important considerations to keep in mind. + +## Color hierarchy + + + +## Color codes + + + +## Use of Stack orange + +Orange is the most distinctive color in our palette, rooted in our original brand hue. It should have a presence across our designs, appearing whenever accessibility and layout allow. We use it with intention and at varying scales, ensuring it remains a consistent and recognizable part of our visual identity. + +![](./orange-usage.svg) + +## Stack color combinations + +When designing with a three-sided graphic stack, follow these guidelines for color selection. + +![](./stack-color-combos.svg) + +## Background colors + +For our backgrounds, we use neutral tones to offset the more saturated colors in the palette. This ensures that compositions feel balanced and never overwhelming. The only exception is Stack Orange, which we sometimes use in backgrounds as it’s our lead brand color. The selection below shows the colors we reserve specifically for backgrounds. + + + +## Business vs. general palettes + +Business and general audiences have different needs, and our color usage should reflect that. For business, we lead with the full palette to showcase energy and vibrancy. For a general audience, we take a more refined approach, toning down the brighter colors and using a more selective, sophisticated palette. + + + +## Stack Overflow business color usage + +The examples below illustrate how we apply color for Stack Overflow Business. Hierarchy plays a key role to make sure the emphasis is in the right place, and the color balance is right. The more restrained approach adds more sophistication for the Stack Overflow Business audience. + +![](./b2b-balance.svg) + +## General color usage + +The examples below show how we apply color for a general audience, such as Stack Overflow Public Platforms. Hierarchy plays a key role to make sure the emphasis is in the right place and the color balance is right. + +![](./b2c-balance.svg) + +## Label color guidance + +Throughout our system, we use additional pops of color in labels. The labels should always complement the compositions they sit within. The examples below show the approved color combinations for labels. + + + +## Highlight headline color guidance + +Color also comes through in our highlighted headlines. The guidance below shows the approved color combinations. + + + +## Things to avoid + +![](./avoid.svg) + +## Accessibility + +Accessible design starts with clear, readable text. In digital spaces, that means maintaining strong contrast between text and background. Learn more [about requirements here](/system/accessibility/intro). diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/orange-usage.svg b/packages/stacks-docs-next/src/docs/public/brand/color/orange-usage.svg new file mode 100644 index 0000000000..e1c9db4d3e --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/orange-usage.svg @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/color/stack-color-combos.svg b/packages/stacks-docs-next/src/docs/public/brand/color/stack-color-combos.svg new file mode 100644 index 0000000000..24bc2180fc --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/color/stack-color-combos.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/LogoColors.svelte b/packages/stacks-docs-next/src/docs/public/brand/logo/LogoColors.svelte new file mode 100644 index 0000000000..cf0c69a94e --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/LogoColors.svelte @@ -0,0 +1,38 @@ + + + + {#each gallery as item} + +
+
+
+ {/each} +
+ + diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/LogoFormatLockups.svelte b/packages/stacks-docs-next/src/docs/public/brand/logo/LogoFormatLockups.svelte new file mode 100644 index 0000000000..695ad4513d --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/LogoFormatLockups.svelte @@ -0,0 +1,109 @@ + + + +
+
+ + + + + +
+
+
+
+
+
+
+ + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/LogoSymbol.svelte b/packages/stacks-docs-next/src/docs/public/brand/logo/LogoSymbol.svelte new file mode 100644 index 0000000000..e717c9e327 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/LogoSymbol.svelte @@ -0,0 +1,78 @@ + + + + + + +
+ +
+
+ +
+ +
+
+
+ +
+
+ +
+
+
+
+
+ + diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/external-partnership-lockup.svg b/packages/stacks-docs-next/src/docs/public/brand/logo/external-partnership-lockup.svg new file mode 100644 index 0000000000..98128bc8b8 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/external-partnership-lockup.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/index.md b/packages/stacks-docs-next/src/docs/public/brand/logo/index.md new file mode 100644 index 0000000000..d16318d02d --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/index.md @@ -0,0 +1,82 @@ +--- +figma: https://www.figma.com/design/Qx4PIAImUMCQlTLeWWO5zeqE/Stack-Overflow-Logos--Marketing-?node-id=4470-198&t=0AmX7Bm4bOMDBW98-1 +updated: 2025-12-10 +--- + + + +Our logo is the core identifier of Stack Overflow and one of the most visible expressions of our brand. It represents our community and our products. To protect its integrity, it must always be used consistently, with proper clear space, proportions, and placement. + + + +## Primary lockup + +Our logo is the core identifier of Stack Overflow and one of the most visible expressions of our brand. It represents our community and our products. To protect its integrity, it must always be used consistently, with proper clear space, proportions, and placement. + +![The Stack Overflow logo](./primary-lockup.svg) + +### Logo architecture + +![How the logo is rationalised](./logo-architecture.svg) + +### Color combinations + +Our preference is to use the logo in Off-Black. Where accessibility makes this unsuitable, you can use Off-White instead. [Explore full color guidence](./color/). + + + +### Logo clearspace + +![Space to keep around the logo](./logo-clearspace.svg) + +### Page format lockups + +When using this horizontal lockup, follow the guidance below on where to place the logo on a composition. + + + +### Sub-brand lockups + +We have two approaches to sub-brand lockups. The approach you use should be determined by the scale at which the lockup is going to appear. + +![How to use for sub-brands](./sub-brand-lockups.svg) + +### Sub-brand large usage + +Use the diagram below to determine how sub-brand lockups, used at a large scale, should be created. + +![](./sub-brand-large.svg) + +### Sub-brand small usage + +Use the diagram below to determine how sub-brand lockups, used at a large scale, should be created. + +![](./sub-brand-small.svg) + +### External partnership lockups + +External partnerships use a simpler lockup, where the height of both logos should always align. + +![](./external-partnership-lockup.svg) + +### Things to avoid + +![](./things-to-avoid.svg) + +## Symbol + +![](./symbol.svg) + +### Symbol lockup + +Where the Stack Overflow name is already present (e.g. social media profiles) or within the Stack Overflow ecosystem (e.g. product) you can use the symbol. Always follow the clearspace guidance below to make sure you correctly scale and center the symbol in application. + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/logo-architecture.svg b/packages/stacks-docs-next/src/docs/public/brand/logo/logo-architecture.svg new file mode 100644 index 0000000000..1752dfc26c --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/logo-architecture.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/logo-clearspace.svg b/packages/stacks-docs-next/src/docs/public/brand/logo/logo-clearspace.svg new file mode 100644 index 0000000000..be3e302e5c --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/logo-clearspace.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/primary-lockup.svg b/packages/stacks-docs-next/src/docs/public/brand/logo/primary-lockup.svg new file mode 100644 index 0000000000..53c0c0dc67 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/primary-lockup.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/sub-brand-large.svg b/packages/stacks-docs-next/src/docs/public/brand/logo/sub-brand-large.svg new file mode 100644 index 0000000000..9b2de13963 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/sub-brand-large.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/sub-brand-lockups.svg b/packages/stacks-docs-next/src/docs/public/brand/logo/sub-brand-lockups.svg new file mode 100644 index 0000000000..180c4e571d --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/sub-brand-lockups.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/sub-brand-small.svg b/packages/stacks-docs-next/src/docs/public/brand/logo/sub-brand-small.svg new file mode 100644 index 0000000000..4fcf30fd32 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/sub-brand-small.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/symbol-lockup-circle.svg b/packages/stacks-docs-next/src/docs/public/brand/logo/symbol-lockup-circle.svg new file mode 100644 index 0000000000..1ca211e06c --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/symbol-lockup-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/symbol-lockup-square.svg b/packages/stacks-docs-next/src/docs/public/brand/logo/symbol-lockup-square.svg new file mode 100644 index 0000000000..b88327c905 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/symbol-lockup-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/symbol.svg b/packages/stacks-docs-next/src/docs/public/brand/logo/symbol.svg new file mode 100644 index 0000000000..65f4cfc934 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/symbol.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/logo/things-to-avoid.svg b/packages/stacks-docs-next/src/docs/public/brand/logo/things-to-avoid.svg new file mode 100644 index 0000000000..f2d85ef6d3 --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/logo/things-to-avoid.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stacks-docs-next/src/docs/public/brand/motion.md b/packages/stacks-docs-next/src/docs/public/brand/motion.md new file mode 100644 index 0000000000..0a628fe98b --- /dev/null +++ b/packages/stacks-docs-next/src/docs/public/brand/motion.md @@ -0,0 +1,380 @@ +--- +updated: 2026-03-12 +--- + + + +This section offers guidance on the core motion principles of our brand and how to roll them out over a variety of assets. By following this we create a unique and cohesive look across all moving assets that connects to our great brand image. + +## Motion Principles + +The three guiding principles of our motion language align to strengthen our brand vision. All motion revolves around these core ideas. + + + +
Click
+