cli: update deps

This commit is contained in:
Aman Varshney
2025-07-12 21:47:34 +05:30
parent fcc1da8742
commit bd136792df
235 changed files with 22411 additions and 63 deletions

View File

@@ -0,0 +1 @@
pYUMJqQmqlh8C9DCzFGyK

View File

@@ -0,0 +1,143 @@
{
"pages": {
"/_not-found/page": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/chunks/app/_not-found/page-1c95d27d79f6d908.js"
],
"/layout": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/css/6deb4613f4226552.css",
"static/css/4098119c3f7f79d8.css",
"static/chunks/294-233cd7cc1c547f3f.js",
"static/chunks/859-a65b18ad9abe1ee5.js",
"static/chunks/app/layout-dbb582edfdb91dfe.js"
],
"/robots.txt/route": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/chunks/app/robots.txt/route-8078f9f64226f305.js"
],
"/manifest.webmanifest/route": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/chunks/app/manifest.webmanifest/route-3513aa7f49e036ee.js"
],
"/sitemap.xml/route": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/chunks/app/sitemap.xml/route-ab95801f23f15f00.js"
],
"/api/search/route": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/chunks/app/api/search/route-fc0c191ace56c43e.js"
],
"/(home)/layout": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/chunks/app/(home)/layout-5bc721252cf7d6ba.js"
],
"/(home)/new/page": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/chunks/987-15758c8fb8be3215.js",
"static/chunks/294-233cd7cc1c547f3f.js",
"static/chunks/262-fbc97134948205cb.js",
"static/chunks/616-ee0c33ac7dcdf86a.js",
"static/chunks/859-a65b18ad9abe1ee5.js",
"static/chunks/697-7bce5e7cfa4dacf2.js",
"static/chunks/55-e8f34f9fb5651b79.js",
"static/chunks/app/(home)/new/page-93a5bb89da0b13f3.js"
],
"/(home)/showcase/page": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/chunks/987-15758c8fb8be3215.js",
"static/chunks/294-233cd7cc1c547f3f.js",
"static/chunks/262-fbc97134948205cb.js",
"static/chunks/304-fb59368b1031ced2.js",
"static/chunks/app/(home)/showcase/page-406c309f7571d067.js"
],
"/docs/layout": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/chunks/987-15758c8fb8be3215.js",
"static/chunks/605-c6ada8a61926b0af.js",
"static/chunks/616-ee0c33ac7dcdf86a.js",
"static/chunks/816-c635668e3b41d2fc.js",
"static/chunks/381-8703543c8f70a401.js",
"static/chunks/app/docs/layout-4c84d525cfa509f7.js"
],
"/docs/[[...slug]]/page": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/chunks/987-15758c8fb8be3215.js",
"static/chunks/605-c6ada8a61926b0af.js",
"static/chunks/395-8ac002ab03a2d4f6.js",
"static/chunks/app/docs/[[...slug]]/page-67c136a2791018e5.js"
],
"/(home)/page": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/css/4de82f5fdb7c6e10.css",
"static/chunks/987-15758c8fb8be3215.js",
"static/chunks/294-233cd7cc1c547f3f.js",
"static/chunks/262-fbc97134948205cb.js",
"static/chunks/125-f3e9471f280f4da9.js",
"static/chunks/304-fb59368b1031ced2.js",
"static/chunks/55-e8f34f9fb5651b79.js",
"static/chunks/app/(home)/page-b1a444e10187fbd7.js"
],
"/(home)/analytics/page": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js",
"static/chunks/987-15758c8fb8be3215.js",
"static/chunks/294-233cd7cc1c547f3f.js",
"static/chunks/262-fbc97134948205cb.js",
"static/chunks/611-2383d6b8e3955c52.js",
"static/chunks/304-fb59368b1031ced2.js",
"static/chunks/app/(home)/analytics/page-e83ceb29114ff82f.js"
]
}
}

View File

@@ -0,0 +1,12 @@
{
"/_not-found/page": "/_not-found",
"/robots.txt/route": "/robots.txt",
"/manifest.webmanifest/route": "/manifest.webmanifest",
"/sitemap.xml/route": "/sitemap.xml",
"/api/search/route": "/api/search",
"/(home)/new/page": "/new",
"/(home)/showcase/page": "/showcase",
"/docs/[[...slug]]/page": "/docs/[[...slug]]",
"/(home)/page": "/",
"/(home)/analytics/page": "/analytics"
}

View File

@@ -0,0 +1,34 @@
{
"polyfillFiles": [
"static/chunks/polyfills-42372ed130431b0a.js"
],
"devFiles": [],
"ampDevFiles": [],
"lowPriorityFiles": [
"static/pYUMJqQmqlh8C9DCzFGyK/_buildManifest.js",
"static/pYUMJqQmqlh8C9DCzFGyK/_ssgManifest.js"
],
"rootMainFiles": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/87c73c54-812eeee9e91c8133.js",
"static/chunks/cd24890f-87bb2e38a46214c2.js",
"static/chunks/891-044a7b2437d6c540.js",
"static/chunks/main-app-3eee67d286bc217c.js"
],
"rootMainFilesTree": {},
"pages": {
"/_app": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/framework-12d375212c9d4aad.js",
"static/chunks/main-5c68f1a88167a5ef.js",
"static/chunks/pages/_app-8402446acda2e669.js"
],
"/_error": [
"static/chunks/webpack-66a0575c63db50f2.js",
"static/chunks/framework-12d375212c9d4aad.js",
"static/chunks/main-5c68f1a88167a5ef.js",
"static/chunks/pages/_error-6c6e21043af8a3d8.js"
]
},
"ampFirstPages": []
}

View File

@@ -0,0 +1 @@
{"type": "commonjs"}

View File

@@ -0,0 +1,273 @@
{
"version": 4,
"routes": {
"/new": {
"experimentalBypassFor": [
{
"type": "header",
"key": "Next-Action"
},
{
"type": "header",
"key": "content-type",
"value": "multipart/form-data;.*"
}
],
"initialRevalidateSeconds": false,
"srcRoute": "/new",
"dataRoute": "/new.rsc",
"allowHeader": [
"host",
"x-matched-path",
"x-prerender-revalidate",
"x-prerender-revalidate-if-generated",
"x-next-revalidated-tags",
"x-next-revalidate-tag-token"
]
},
"/": {
"experimentalBypassFor": [
{
"type": "header",
"key": "Next-Action"
},
{
"type": "header",
"key": "content-type",
"value": "multipart/form-data;.*"
}
],
"initialRevalidateSeconds": false,
"srcRoute": "/",
"dataRoute": "/index.rsc",
"allowHeader": [
"host",
"x-matched-path",
"x-prerender-revalidate",
"x-prerender-revalidate-if-generated",
"x-next-revalidated-tags",
"x-next-revalidate-tag-token"
]
},
"/showcase": {
"experimentalBypassFor": [
{
"type": "header",
"key": "Next-Action"
},
{
"type": "header",
"key": "content-type",
"value": "multipart/form-data;.*"
}
],
"initialRevalidateSeconds": false,
"srcRoute": "/showcase",
"dataRoute": "/showcase.rsc",
"allowHeader": [
"host",
"x-matched-path",
"x-prerender-revalidate",
"x-prerender-revalidate-if-generated",
"x-next-revalidated-tags",
"x-next-revalidate-tag-token"
]
},
"/docs": {
"experimentalBypassFor": [
{
"type": "header",
"key": "Next-Action"
},
{
"type": "header",
"key": "content-type",
"value": "multipart/form-data;.*"
}
],
"initialRevalidateSeconds": false,
"srcRoute": "/docs/[[...slug]]",
"dataRoute": "/docs.rsc",
"allowHeader": [
"host",
"x-matched-path",
"x-prerender-revalidate",
"x-prerender-revalidate-if-generated",
"x-next-revalidated-tags",
"x-next-revalidate-tag-token"
]
},
"/analytics": {
"experimentalBypassFor": [
{
"type": "header",
"key": "Next-Action"
},
{
"type": "header",
"key": "content-type",
"value": "multipart/form-data;.*"
}
],
"initialRevalidateSeconds": false,
"srcRoute": "/analytics",
"dataRoute": "/analytics.rsc",
"allowHeader": [
"host",
"x-matched-path",
"x-prerender-revalidate",
"x-prerender-revalidate-if-generated",
"x-next-revalidated-tags",
"x-next-revalidate-tag-token"
]
},
"/manifest.webmanifest": {
"initialHeaders": {
"cache-control": "public, max-age=0, must-revalidate",
"content-type": "application/manifest+json",
"x-next-cache-tags": "_N_T_/layout,_N_T_/manifest.webmanifest/layout,_N_T_/manifest.webmanifest/route,_N_T_/manifest.webmanifest"
},
"experimentalBypassFor": [
{
"type": "header",
"key": "Next-Action"
},
{
"type": "header",
"key": "content-type",
"value": "multipart/form-data;.*"
}
],
"initialRevalidateSeconds": false,
"srcRoute": "/manifest.webmanifest",
"dataRoute": null,
"allowHeader": [
"host",
"x-matched-path",
"x-prerender-revalidate",
"x-prerender-revalidate-if-generated",
"x-next-revalidated-tags",
"x-next-revalidate-tag-token"
]
},
"/api/search": {
"initialHeaders": {
"content-type": "application/json",
"x-next-cache-tags": "_N_T_/layout,_N_T_/api/layout,_N_T_/api/search/layout,_N_T_/api/search/route,_N_T_/api/search"
},
"experimentalBypassFor": [
{
"type": "header",
"key": "Next-Action"
},
{
"type": "header",
"key": "content-type",
"value": "multipart/form-data;.*"
}
],
"initialRevalidateSeconds": false,
"srcRoute": "/api/search",
"dataRoute": null,
"allowHeader": [
"host",
"x-matched-path",
"x-prerender-revalidate",
"x-prerender-revalidate-if-generated",
"x-next-revalidated-tags",
"x-next-revalidate-tag-token"
]
},
"/sitemap.xml": {
"initialHeaders": {
"cache-control": "public, max-age=0, must-revalidate",
"content-type": "application/xml",
"x-next-cache-tags": "_N_T_/layout,_N_T_/sitemap.xml/layout,_N_T_/sitemap.xml/route,_N_T_/sitemap.xml"
},
"experimentalBypassFor": [
{
"type": "header",
"key": "Next-Action"
},
{
"type": "header",
"key": "content-type",
"value": "multipart/form-data;.*"
}
],
"initialRevalidateSeconds": false,
"srcRoute": "/sitemap.xml",
"dataRoute": null,
"allowHeader": [
"host",
"x-matched-path",
"x-prerender-revalidate",
"x-prerender-revalidate-if-generated",
"x-next-revalidated-tags",
"x-next-revalidate-tag-token"
]
},
"/robots.txt": {
"initialHeaders": {
"cache-control": "public, max-age=0, must-revalidate",
"content-type": "text/plain",
"x-next-cache-tags": "_N_T_/layout,_N_T_/robots.txt/layout,_N_T_/robots.txt/route,_N_T_/robots.txt"
},
"experimentalBypassFor": [
{
"type": "header",
"key": "Next-Action"
},
{
"type": "header",
"key": "content-type",
"value": "multipart/form-data;.*"
}
],
"initialRevalidateSeconds": false,
"srcRoute": "/robots.txt",
"dataRoute": null,
"allowHeader": [
"host",
"x-matched-path",
"x-prerender-revalidate",
"x-prerender-revalidate-if-generated",
"x-next-revalidated-tags",
"x-next-revalidate-tag-token"
]
}
},
"dynamicRoutes": {
"/docs/[[...slug]]": {
"experimentalBypassFor": [
{
"type": "header",
"key": "Next-Action"
},
{
"type": "header",
"key": "content-type",
"value": "multipart/form-data;.*"
}
],
"routeRegex": "^/docs(?:/(.+?))?(?:/)?$",
"dataRoute": "/docs/[[...slug]].rsc",
"fallback": null,
"dataRouteRegex": "^/docs(?:/(.+?))?\\.rsc$",
"allowHeader": [
"host",
"x-matched-path",
"x-prerender-revalidate",
"x-prerender-revalidate-if-generated",
"x-next-revalidated-tags",
"x-next-revalidate-tag-token"
]
}
},
"notFoundRoutes": [],
"preview": {
"previewModeId": "b2762359d1edbb5696c7c29077489c05",
"previewModeSigningKey": "3f7f6013ecd11007e70df4225fce1182e06e8f8b538751e72bf698773b14ec0f",
"previewModeEncryptionKey": "73b3423b3c5935a8d70f6ebda4b2fe6d42eef1b846a164548c5e12b82e572683"
}
}

View File

@@ -0,0 +1,35 @@
{
"../../../node_modules/fumadocs-core/dist/search/client.js -> ../algolia-KJKVXZ5Q.js": {
"id": 89396,
"files": [
"static/chunks/396.41aba55eb5176e84.js"
]
},
"../../../node_modules/fumadocs-core/dist/search/client.js -> ../fetch-M245YYDD.js": {
"id": 77523,
"files": [
"static/chunks/523.edf373732b51326e.js"
]
},
"../../../node_modules/fumadocs-core/dist/search/client.js -> ../orama-cloud-SBXZAVQC.js": {
"id": 1131,
"files": [
"static/chunks/131.75b3ff08b26a7b20.js"
]
},
"../../../node_modules/fumadocs-core/dist/search/client.js -> ../static-IM4OAJFY.js": {
"id": 19941,
"files": [
"static/chunks/941.ef2173b70c2cacca.js"
]
},
"../../../node_modules/fumadocs-ui/dist/provider/base.js -> ../components/dialog/search-default.js": {
"id": 13714,
"files": [
"static/chunks/987-15758c8fb8be3215.js",
"static/chunks/605-c6ada8a61926b0af.js",
"static/chunks/816-c635668e3b41d2fc.js",
"static/chunks/714.1cd0bbabf8503d97.js"
]
}
}

View File

@@ -0,0 +1,345 @@
{
"version": 1,
"config": {
"env": {},
"eslint": {
"ignoreDuringBuilds": false
},
"typescript": {
"ignoreBuildErrors": false,
"tsconfigPath": "tsconfig.json"
},
"distDir": ".next",
"cleanDistDir": true,
"assetPrefix": "",
"cacheMaxMemorySize": 52428800,
"configOrigin": "next.config.mjs",
"useFileSystemPublicRoutes": true,
"generateEtags": true,
"pageExtensions": [
"mdx",
"md",
"jsx",
"js",
"tsx",
"ts"
],
"poweredByHeader": true,
"compress": true,
"images": {
"deviceSizes": [
640,
750,
828,
1080,
1200,
1920,
2048,
3840
],
"imageSizes": [
16,
32,
48,
64,
96,
128,
256,
384
],
"path": "/_next/image",
"loader": "default",
"loaderFile": "",
"domains": [],
"disableStaticImages": false,
"minimumCacheTTL": 60,
"formats": [
"image/webp"
],
"dangerouslyAllowSVG": false,
"contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;",
"contentDispositionType": "attachment",
"remotePatterns": [],
"unoptimized": false
},
"devIndicators": {
"position": "bottom-left"
},
"onDemandEntries": {
"maxInactiveAge": 60000,
"pagesBufferLength": 5
},
"amp": {
"canonicalBase": ""
},
"basePath": "",
"sassOptions": {},
"trailingSlash": false,
"i18n": null,
"productionBrowserSourceMaps": false,
"excludeDefaultMomentLocales": true,
"serverRuntimeConfig": {},
"publicRuntimeConfig": {},
"reactProductionProfiling": false,
"reactStrictMode": true,
"reactMaxHeadersLength": 6000,
"httpAgentOptions": {
"keepAlive": true
},
"logging": {},
"expireTime": 31536000,
"staticPageGenerationTimeout": 60,
"output": "standalone",
"modularizeImports": {
"@mui/icons-material": {
"transform": "@mui/icons-material/{{member}}"
},
"lodash": {
"transform": "lodash/{{member}}"
}
},
"outputFileTracingRoot": "/home/aman/dev/personal/create-better-t-stack",
"experimental": {
"nodeMiddleware": false,
"cacheLife": {
"default": {
"stale": 300,
"revalidate": 900,
"expire": 4294967294
},
"seconds": {
"stale": 0,
"revalidate": 1,
"expire": 60
},
"minutes": {
"stale": 300,
"revalidate": 60,
"expire": 3600
},
"hours": {
"stale": 300,
"revalidate": 3600,
"expire": 86400
},
"days": {
"stale": 300,
"revalidate": 86400,
"expire": 604800
},
"weeks": {
"stale": 300,
"revalidate": 604800,
"expire": 2592000
},
"max": {
"stale": 300,
"revalidate": 2592000,
"expire": 4294967294
}
},
"cacheHandlers": {},
"cssChunking": true,
"multiZoneDraftMode": false,
"appNavFailHandling": false,
"prerenderEarlyExit": true,
"serverMinification": true,
"serverSourceMaps": false,
"linkNoTouchStart": false,
"caseSensitiveRoutes": false,
"clientSegmentCache": false,
"dynamicOnHover": false,
"preloadEntriesOnStart": true,
"clientRouterFilter": true,
"clientRouterFilterRedirects": false,
"fetchCacheKeyPrefix": "",
"middlewarePrefetch": "flexible",
"optimisticClientCache": true,
"manualClientBasePath": false,
"cpus": 7,
"memoryBasedWorkersCount": false,
"imgOptConcurrency": null,
"imgOptTimeoutInSeconds": 7,
"imgOptMaxInputPixels": 268402689,
"imgOptSequentialRead": null,
"isrFlushToDisk": true,
"workerThreads": false,
"optimizeCss": false,
"nextScriptWorkers": false,
"scrollRestoration": false,
"externalDir": false,
"disableOptimizedLoading": false,
"gzipSize": true,
"craCompat": false,
"esmExternals": true,
"fullySpecified": false,
"swcTraceProfiling": false,
"forceSwcTransforms": false,
"largePageDataBytes": 128000,
"typedRoutes": false,
"typedEnv": false,
"parallelServerCompiles": false,
"parallelServerBuildTraces": false,
"ppr": false,
"authInterrupts": false,
"webpackMemoryOptimizations": false,
"optimizeServerReact": true,
"useEarlyImport": false,
"viewTransition": false,
"routerBFCache": false,
"staleTimes": {
"dynamic": 0,
"static": 300
},
"reactCompiler": true,
"serverComponentsHmrCache": true,
"staticGenerationMaxConcurrency": 8,
"staticGenerationMinPagesPerWorker": 25,
"dynamicIO": false,
"inlineCss": false,
"useCache": false,
"optimizePackageImports": [
"lucide-react",
"date-fns",
"lodash-es",
"ramda",
"antd",
"react-bootstrap",
"ahooks",
"@ant-design/icons",
"@headlessui/react",
"@headlessui-float/react",
"@heroicons/react/20/solid",
"@heroicons/react/24/solid",
"@heroicons/react/24/outline",
"@visx/visx",
"@tremor/react",
"rxjs",
"@mui/material",
"@mui/icons-material",
"recharts",
"react-use",
"effect",
"@effect/schema",
"@effect/platform",
"@effect/platform-node",
"@effect/platform-browser",
"@effect/platform-bun",
"@effect/sql",
"@effect/sql-mssql",
"@effect/sql-mysql2",
"@effect/sql-pg",
"@effect/sql-squlite-node",
"@effect/sql-squlite-bun",
"@effect/sql-squlite-wasm",
"@effect/sql-squlite-react-native",
"@effect/rpc",
"@effect/rpc-http",
"@effect/typeclass",
"@effect/experimental",
"@effect/opentelemetry",
"@material-ui/core",
"@material-ui/icons",
"@tabler/icons-react",
"mui-core",
"react-icons/ai",
"react-icons/bi",
"react-icons/bs",
"react-icons/cg",
"react-icons/ci",
"react-icons/di",
"react-icons/fa",
"react-icons/fa6",
"react-icons/fc",
"react-icons/fi",
"react-icons/gi",
"react-icons/go",
"react-icons/gr",
"react-icons/hi",
"react-icons/hi2",
"react-icons/im",
"react-icons/io",
"react-icons/io5",
"react-icons/lia",
"react-icons/lib",
"react-icons/lu",
"react-icons/md",
"react-icons/pi",
"react-icons/ri",
"react-icons/rx",
"react-icons/si",
"react-icons/sl",
"react-icons/tb",
"react-icons/tfi",
"react-icons/ti",
"react-icons/vsc",
"react-icons/wi"
],
"trustHostHeader": false,
"isExperimentalCompile": false
},
"htmlLimitedBots": "Mediapartners-Google|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti",
"bundlePagesRouterDependencies": false,
"configFileName": "next.config.mjs",
"skipTrailingSlashRedirect": true,
"turbopack": {
"rules": {
"*.{md,mdx}": {
"loaders": [
{
"loader": "fumadocs-mdx/loader-mdx",
"options": {
"configPath": "/home/aman/dev/personal/create-better-t-stack/apps/web/source.config.ts",
"outDir": ".source"
}
}
],
"as": "*.js"
}
},
"root": "/home/aman/dev/personal/create-better-t-stack"
},
"_originalRewrites": {
"beforeFiles": [],
"afterFiles": [
{
"source": "/ingest/static/:path*",
"destination": "https://us-assets.i.posthog.com/static/:path*"
},
{
"source": "/ingest/:path*",
"destination": "https://us.i.posthog.com/:path*"
},
{
"source": "/ingest/decide",
"destination": "https://us.i.posthog.com/decide"
}
],
"fallback": []
}
},
"appDir": "/home/aman/dev/personal/create-better-t-stack/apps/web",
"relativeAppDir": "apps/web",
"files": [
".next/routes-manifest.json",
".next/server/pages-manifest.json",
".next/build-manifest.json",
".next/prerender-manifest.json",
".next/server/functions-config-manifest.json",
".next/server/middleware-manifest.json",
".next/server/middleware-build-manifest.js",
".next/server/middleware-react-loadable-manifest.js",
".next/react-loadable-manifest.json",
".next/server/app-paths-manifest.json",
".next/app-path-routes-manifest.json",
".next/app-build-manifest.json",
".next/server/server-reference-manifest.js",
".next/server/server-reference-manifest.json",
".next/BUILD_ID",
".next/server/next-font-manifest.js",
".next/server/next-font-manifest.json"
],
"ignore": [
"../../node_modules/next/dist/compiled/@ampproject/toolbox-optimizer/**/*"
]
}

View File

@@ -0,0 +1,102 @@
{
"version": 3,
"pages404": true,
"caseSensitive": false,
"basePath": "",
"redirects": [],
"headers": [],
"dynamicRoutes": [
{
"page": "/docs/[[...slug]]",
"regex": "^/docs(?:/(.+?))?(?:/)?$",
"routeKeys": {
"nxtPslug": "nxtPslug"
},
"namedRegex": "^/docs(?:/(?<nxtPslug>.+?))?(?:/)?$"
}
],
"staticRoutes": [
{
"page": "/",
"regex": "^/(?:/)?$",
"routeKeys": {},
"namedRegex": "^/(?:/)?$"
},
{
"page": "/_not-found",
"regex": "^/_not\\-found(?:/)?$",
"routeKeys": {},
"namedRegex": "^/_not\\-found(?:/)?$"
},
{
"page": "/analytics",
"regex": "^/analytics(?:/)?$",
"routeKeys": {},
"namedRegex": "^/analytics(?:/)?$"
},
{
"page": "/manifest.webmanifest",
"regex": "^/manifest\\.webmanifest(?:/)?$",
"routeKeys": {},
"namedRegex": "^/manifest\\.webmanifest(?:/)?$"
},
{
"page": "/new",
"regex": "^/new(?:/)?$",
"routeKeys": {},
"namedRegex": "^/new(?:/)?$"
},
{
"page": "/robots.txt",
"regex": "^/robots\\.txt(?:/)?$",
"routeKeys": {},
"namedRegex": "^/robots\\.txt(?:/)?$"
},
{
"page": "/showcase",
"regex": "^/showcase(?:/)?$",
"routeKeys": {},
"namedRegex": "^/showcase(?:/)?$"
},
{
"page": "/sitemap.xml",
"regex": "^/sitemap\\.xml(?:/)?$",
"routeKeys": {},
"namedRegex": "^/sitemap\\.xml(?:/)?$"
}
],
"dataRoutes": [],
"rsc": {
"header": "RSC",
"varyHeader": "RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch",
"prefetchHeader": "Next-Router-Prefetch",
"didPostponeHeader": "x-nextjs-postponed",
"contentTypeHeader": "text/x-component",
"suffix": ".rsc",
"prefetchSuffix": ".prefetch.rsc",
"prefetchSegmentHeader": "Next-Router-Segment-Prefetch",
"prefetchSegmentSuffix": ".segment.rsc",
"prefetchSegmentDirSuffix": ".segments"
},
"rewriteHeaders": {
"pathHeader": "x-nextjs-rewritten-path",
"queryHeader": "x-nextjs-rewritten-query"
},
"rewrites": [
{
"source": "/ingest/static/:path*",
"destination": "https://us-assets.i.posthog.com/static/:path*",
"regex": "^/ingest/static(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?(?:/)?$"
},
{
"source": "/ingest/:path*",
"destination": "https://us.i.posthog.com/:path*",
"regex": "^/ingest(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?(?:/)?$"
},
{
"source": "/ingest/decide",
"destination": "https://us.i.posthog.com/decide",
"regex": "^/ingest/decide(?:/)?$"
}
]
}

View File

@@ -0,0 +1,12 @@
{
"/_not-found/page": "app/_not-found/page.js",
"/robots.txt/route": "app/robots.txt/route.js",
"/manifest.webmanifest/route": "app/manifest.webmanifest/route.js",
"/sitemap.xml/route": "app/sitemap.xml/route.js",
"/api/search/route": "app/api/search/route.js",
"/(home)/new/page": "app/(home)/new/page.js",
"/(home)/showcase/page": "app/(home)/showcase/page.js",
"/docs/[[...slug]]/page": "app/docs/[[...slug]]/page.js",
"/(home)/page": "app/(home)/page.js",
"/(home)/analytics/page": "app/(home)/analytics/page.js"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
(()=>{var e={};e.id=337,e.ids=[337],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},18944:(e,t,r)=>{"use strict";r.r(t),r.d(t,{patchFetch:()=>x,routeModule:()=>d,serverHooks:()=>l,workAsyncStorage:()=>m,workUnitAsyncStorage:()=>f});var a={};r.r(a),r.d(a,{GET:()=>u,dynamic:()=>p});var s=r(48106),n=r(48819),i=r(12050),o=r(4235);let p="force-static";var c=r(85760);async function u(){let e=await {name:"Better T Stack",short_name:"Better T Stack",description:"A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations",start_url:"/new",display:"standalone",background_color:"#ffffff",theme_color:"#000000",icons:[{src:"/favicon/web-app-manifest-192x192.png",sizes:"192x192",type:"image/png"},{src:"/favicon/web-app-manifest-512x512.png",sizes:"512x512",type:"image/png"}]},t=(0,c.resolveRouteData)(e,"manifest");return new o.NextResponse(t,{headers:{"Content-Type":"application/manifest+json","Cache-Control":"public, max-age=0, must-revalidate"}})}let d=new s.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/manifest.webmanifest/route",pathname:"/manifest.webmanifest",filename:"manifest",bundlePath:"app/manifest.webmanifest/route"},resolvedPagePath:"next-metadata-route-loader?filePath=%2Fhome%2Faman%2Fdev%2Fpersonal%2Fcreate-better-t-stack%2Fapps%2Fweb%2Fsrc%2Fapp%2Fmanifest.ts&isDynamicRouteExtension=1!?__next_metadata_route__",nextConfigOutput:"standalone",userland:a}),{workAsyncStorage:m,workUnitAsyncStorage:f,serverHooks:l}=d;function x(){return(0,i.patchFetch)({workAsyncStorage:m,workUnitAsyncStorage:f})}},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},80408:()=>{},87032:()=>{}};var t=require("../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),a=t.X(0,[50,449],()=>r(18944));module.exports=a})();

View File

@@ -0,0 +1 @@
(()=>{var e={};e.id=784,e.ids=[784],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},39150:(e,t,r)=>{"use strict";r.r(t),r.d(t,{patchFetch:()=>v,routeModule:()=>c,serverHooks:()=>m,workAsyncStorage:()=>l,workUnitAsyncStorage:()=>x});var s={};r.r(s),r.d(s,{GET:()=>d,dynamic:()=>p});var a=r(48106),o=r(48819),n=r(12050),i=r(4235);let p="force-static";var u=r(85760);async function d(){let e=await {rules:{userAgent:"*",allow:"/",disallow:"/private/"},sitemap:"https://better-t-stack.dev/sitemap.xml"},t=(0,u.resolveRouteData)(e,"robots");return new i.NextResponse(t,{headers:{"Content-Type":"text/plain","Cache-Control":"public, max-age=0, must-revalidate"}})}let c=new a.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/robots.txt/route",pathname:"/robots.txt",filename:"robots",bundlePath:"app/robots.txt/route"},resolvedPagePath:"next-metadata-route-loader?filePath=%2Fhome%2Faman%2Fdev%2Fpersonal%2Fcreate-better-t-stack%2Fapps%2Fweb%2Fsrc%2Fapp%2Frobots.ts&isDynamicRouteExtension=1!?__next_metadata_route__",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:l,workUnitAsyncStorage:x,serverHooks:m}=c;function v(){return(0,n.patchFetch)({workAsyncStorage:l,workUnitAsyncStorage:x})}},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},80408:()=>{},87032:()=>{}};var t=require("../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[50,449],()=>r(39150));module.exports=s})();

View File

@@ -0,0 +1 @@
(()=>{var e={};e.id=475,e.ids=[475],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44571:(e,t,r)=>{"use strict";r.r(t),r.d(t,{patchFetch:()=>y,routeModule:()=>x,serverHooks:()=>w,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>h});var a={};r.r(a),r.d(a,{default:()=>d,dynamic:()=>u});var s={};r.r(s),r.d(s,{GET:()=>m,dynamic:()=>u});var n=r(48106),i=r(48819),o=r(12050),p=r(4235);let u="force-static";function d(){return[{url:"https://better-t-stack.dev/",lastModified:new Date,changeFrequency:"weekly",priority:1},{url:"https://better-t-stack.dev/new",lastModified:new Date,changeFrequency:"weekly",priority:.8},{url:"https://better-t-stack.dev/docs",lastModified:new Date,changeFrequency:"weekly",priority:.5}]}var c=r(85760);let l={...a}.default;if("function"!=typeof l)throw Error('Default export is missing in "/home/aman/dev/personal/create-better-t-stack/apps/web/src/app/sitemap.ts"');async function m(e,t){let{__metadata_id__:r,...a}=await t.params||{},s=!!r&&r.endsWith(".xml");if(r&&!s)return new p.NextResponse("Not Found",{status:404});let n=r&&s?r.slice(0,-4):void 0,i=await l({id:n}),o=(0,c.resolveRouteData)(i,"sitemap");return new p.NextResponse(o,{headers:{"Content-Type":"application/xml","Cache-Control":"public, max-age=0, must-revalidate"}})}let x=new n.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/sitemap.xml/route",pathname:"/sitemap.xml",filename:"sitemap",bundlePath:"app/sitemap.xml/route"},resolvedPagePath:"next-metadata-route-loader?filePath=%2Fhome%2Faman%2Fdev%2Fpersonal%2Fcreate-better-t-stack%2Fapps%2Fweb%2Fsrc%2Fapp%2Fsitemap.ts&isDynamicRouteExtension=1!?__next_metadata_route__",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:v,workUnitAsyncStorage:h,serverHooks:w}=x;function y(){return(0,o.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:h})}},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},80408:()=>{},87032:()=>{}};var t=require("../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),a=t.X(0,[50,449],()=>r(44571));module.exports=a})();

View File

@@ -0,0 +1 @@
"use strict";exports.id=143,exports.ids=[143],exports.modules={38143:(t,e,r)=>{r.d(e,{fetchDocs:()=>s}),r(1882);var a=new Map;async function s(t,{api:e="/api/search",locale:r,tag:s}){let o=new URLSearchParams;o.set("query",t),r&&o.set("locale",r),s&&o.set("tag",s);let i=`${e}?${o}`,c=a.get(i);if(c)return c;let n=await fetch(i);if(!n.ok)throw Error(await n.text());let l=await n.json();return a.set(i,l),l}}};

View File

@@ -0,0 +1 @@
"use strict";exports.id=147,exports.ids=[147],exports.modules={12201:(e,t,r)=>{r.d(t,{B:()=>function e(t,r=!1){for(let o of Object.keys(t))void 0===t[o]&&delete t[o],r&&"object"==typeof t[o]&&null!==t[o]?e(t[o],r):r&&Array.isArray(t[o])&&t[o].forEach(t=>e(t,r));return t}})},24147:(e,t,r)=>{r.d(t,{searchDocs:()=>i});var o=r(12201);async function i(e,t){let r=[],{index:i="default",client:l,params:n={},tag:s}=t;if("crawler"===i){let t=await l.search({...n,term:e,where:{category:s?{eq:s.slice(0,1).toUpperCase()+s.slice(1)}:void 0,...n.where},limit:10});if(!t)return r;if("crawler"===i){for(let e of t.hits){let t=e.document;r.push({id:e.id,type:"page",content:t.title,url:t.path},{id:"page"+e.id,type:"text",content:t.content,url:t.path})}return r}}let u={...n,term:e,where:(0,o.B)({tag:s,...n.where}),groupBy:{properties:["page_id"],maxResult:7,...n.groupBy}},a=await l.search(u);if(!a||!a.groups)return r;for(let e of a.groups){let t=!1;for(let o of e.result){let e=o.document;t||(r.push({id:e.page_id,type:"page",content:e.title,url:e.url}),t=!0),r.push({id:e.id,content:e.content,type:e.content===e.section?"heading":"text",url:e.section_id?`${e.url}#${e.section_id}`:e.url})}}return r}r(1882)}};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";exports.id=67,exports.ids=[67],exports.modules={77448:(t,e,s)=>{s.d(e,{searchDocs:()=>r}),s(1882);async function r(t,{indexName:e,onSearch:s,client:r,locale:i,tag:n}){return t.length>0?(function(t){let e=[],s=new Set;for(let r of t)s.has(r.url)||(s.add(r.url),e.push({id:r.url,type:"page",url:r.url,content:r.title})),e.push({id:r.objectID,type:r.content===r.section?"heading":"text",url:r.section_id?`${r.url}#${r.section_id}`:r.url,content:r.content});return e})((s?await s(t,n,i):await r.searchForHits({requests:[{type:"default",indexName:e,query:t,distinct:5,hitsPerPage:10,filters:n?`tag:${n}`:void 0}]})).results[0].hits).filter(t=>"page"===t.type):[]}}};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
{
"version": 1,
"functions": {}
}

View File

@@ -0,0 +1 @@
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-66a0575c63db50f2.js","static/chunks/87c73c54-812eeee9e91c8133.js","static/chunks/cd24890f-87bb2e38a46214c2.js","static/chunks/891-044a7b2437d6c540.js","static/chunks/main-app-3eee67d286bc217c.js"],rootMainFilesTree:{},pages:{"/_app":["static/chunks/webpack-66a0575c63db50f2.js","static/chunks/framework-12d375212c9d4aad.js","static/chunks/main-5c68f1a88167a5ef.js","static/chunks/pages/_app-8402446acda2e669.js"],"/_error":["static/chunks/webpack-66a0575c63db50f2.js","static/chunks/framework-12d375212c9d4aad.js","static/chunks/main-5c68f1a88167a5ef.js","static/chunks/pages/_error-6c6e21043af8a3d8.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];

View File

@@ -0,0 +1,6 @@
{
"version": 3,
"middleware": {},
"functions": {},
"sortedMiddleware": []
}

View File

@@ -0,0 +1 @@
self.__REACT_LOADABLE_MANIFEST='{"../../../node_modules/fumadocs-core/dist/search/client.js -> ../algolia-KJKVXZ5Q.js":{"id":89396,"files":["static/chunks/396.41aba55eb5176e84.js"]},"../../../node_modules/fumadocs-core/dist/search/client.js -> ../fetch-M245YYDD.js":{"id":77523,"files":["static/chunks/523.edf373732b51326e.js"]},"../../../node_modules/fumadocs-core/dist/search/client.js -> ../orama-cloud-SBXZAVQC.js":{"id":1131,"files":["static/chunks/131.75b3ff08b26a7b20.js"]},"../../../node_modules/fumadocs-core/dist/search/client.js -> ../static-IM4OAJFY.js":{"id":19941,"files":["static/chunks/941.ef2173b70c2cacca.js"]},"../../../node_modules/fumadocs-ui/dist/provider/base.js -> ../components/dialog/search-default.js":{"id":13714,"files":["static/chunks/987-15758c8fb8be3215.js","static/chunks/605-c6ada8a61926b0af.js","static/chunks/816-c635668e3b41d2fc.js","static/chunks/714.1cd0bbabf8503d97.js"]}}';

View File

@@ -0,0 +1 @@
self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{"/home/aman/dev/personal/create-better-t-stack/apps/web/src/app/layout":["static/media/eafabf029ad39a43-s.p.woff2","static/media/8888a3826f4a3af4-s.p.woff2","static/media/0484562807a97172-s.p.woff2","static/media/b957ea75a84b6ea7-s.p.woff2","static/media/7db6c35d839a711c-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}';

View File

@@ -0,0 +1 @@
{"pages":{},"app":{"/home/aman/dev/personal/create-better-t-stack/apps/web/src/app/layout":["static/media/eafabf029ad39a43-s.p.woff2","static/media/8888a3826f4a3af4-s.p.woff2","static/media/0484562807a97172-s.p.woff2","static/media/b957ea75a84b6ea7-s.p.woff2","static/media/7db6c35d839a711c-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}

View File

@@ -0,0 +1,6 @@
{
"/_app": "pages/_app.js",
"/_error": "pages/_error.js",
"/_document": "pages/_document.js",
"/404": "pages/404.html"
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";(()=>{var e={};e.id=636,e.ids=[636],e.modules={8732:e=>{e.exports=require("react/jsx-runtime")},52440:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(88485),o=r(8732),i=n._(r(82015)),u=r(82486);async function s(e){let{Component:t,ctx:r}=e;return{pageProps:await (0,u.loadGetInitialProps)(t,r)}}class a extends i.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,o.jsx)(e,{...t})}}a.origGetInitialProps=s,a.getInitialProps=s,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},82015:e=>{e.exports=require("react")},82486:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return g},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return P},NormalizeError:function(){return m},PageNotFoundError:function(){return E},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return a},getLocationOrigin:function(){return u},getURL:function(){return s},isAbsoluteUrl:function(){return i},isResSent:function(){return c},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return l},stringifyError:function(){return x}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),i=0;i<n;i++)o[i]=arguments[i];return r||(r=!0,t=e(...o)),t}}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=e=>o.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function s(){let{href:e}=window.location,t=u();return e.substring(t.length)}function a(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function c(e){return e.finished||e.headersSent}function l(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&c(r))return n;if(!n)throw Object.defineProperty(Error('"'+a(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class m extends Error{}class E extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class P extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function x(e){return JSON.stringify({message:e.message,stack:e.stack})}},88485:(e,t)=>{t._=function(e){return e&&e.__esModule?e:{default:e}}}};var t=require("../webpack-runtime.js");t.C(e);var r=t(t.s=52440);module.exports=r})();

View File

@@ -0,0 +1 @@
"use strict";(()=>{var e={};e.id=220,e.ids=[220],e.modules={8732:e=>{e.exports=require("react/jsx-runtime")},33873:e=>{e.exports=require("path")},40361:e=>{e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},82015:e=>{e.exports=require("react")}};var r=require("../webpack-runtime.js");r.C(e);var s=e=>r(r.s=e),t=r.X(0,[496],()=>s(37496));module.exports=t})();

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
self.__RSC_SERVER_MANIFEST="{\"node\":{},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"

View File

@@ -0,0 +1 @@
{"node":{},"edge":{},"encryptionKey":"nHtkjVhS7AfwD3VzTSo/A6SXysJAI9SJmfhcbB9k6Bg="}

View File

@@ -0,0 +1,25 @@
(()=>{"use strict";var e={},r={};function t(o){var n=r[o];if(void 0!==n)return n.exports;var a=r[o]={id:o,loaded:!1,exports:{}},d=!0;try{e[o](a,a.exports,t),d=!1}finally{d&&delete r[o]}return a.loaded=!0,a.exports}t.m=e,t.amdO={},t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},(()=>{var e,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;t.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);t.r(a);var d={};e=e||[null,r({}),r([]),r(r)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=r(u))Object.getOwnPropertyNames(u).forEach(e=>d[e]=()=>o[e]);return d.default=()=>o,t.d(a,d),a}})(),t.d=(e,r)=>{for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce((r,o)=>(t.f[o](e,r),r),[])),t.u=e=>""+e+".js",t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),t.X=(e,r,o)=>{var n=r;o||(r=e,o=()=>t(t.s=n)),r.map(t.e,t);var a=o();return void 0===a?e:a},t.nc=void 0,(()=>{var e={311:1},r=r=>{var o=r.modules,n=r.ids,a=r.runtime;for(var d in o)t.o(o,d)&&(t.m[d]=o[d]);a&&a(t);for(var u=0;u<n.length;u++)e[n[u]]=1};t.f.require=(o, _) => {
if (!e[o]) {
switch (o) {
case 143: r(require("./chunks/143.js")); break;
case 147: r(require("./chunks/147.js")); break;
case 172: r(require("./chunks/172.js")); break;
case 265: r(require("./chunks/265.js")); break;
case 356: r(require("./chunks/356.js")); break;
case 448: r(require("./chunks/448.js")); break;
case 449: r(require("./chunks/449.js")); break;
case 458: r(require("./chunks/458.js")); break;
case 496: r(require("./chunks/496.js")); break;
case 50: r(require("./chunks/50.js")); break;
case 578: r(require("./chunks/578.js")); break;
case 618: r(require("./chunks/618.js")); break;
case 67: r(require("./chunks/67.js")); break;
case 818: r(require("./chunks/818.js")); break;
case 932: r(require("./chunks/932.js")); break;
case 958: r(require("./chunks/958.js")); break;
case 311: e[o] = 1; break;
default: throw new Error(`Unknown chunk ${o}`);
}
}
}
,module.exports=t,t.C=r})()})();

View File

@@ -0,0 +1,524 @@
globalThis.disableIncrementalCache = false;globalThis.disableDynamoDBCache = false;globalThis.isNextAfter15 = true;globalThis.openNextDebug = false;globalThis.openNextVersion = "3.7.0";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// ../../node_modules/@opennextjs/aws/dist/adapters/cache.js
var cache_exports = {};
__export(cache_exports, {
default: () => Cache
});
module.exports = __toCommonJS(cache_exports);
// ../../node_modules/@opennextjs/aws/dist/utils/error.js
function isOpenNextError(e) {
try {
return "__openNextInternal" in e;
} catch {
return false;
}
}
// ../../node_modules/@opennextjs/aws/dist/adapters/logger.js
function debug(...args) {
if (globalThis.openNextDebug) {
console.log(...args);
}
}
function warn(...args) {
console.warn(...args);
}
var DOWNPLAYED_ERROR_LOGS = [
{
clientName: "S3Client",
commandName: "GetObjectCommand",
errorName: "NoSuchKey"
}
];
var isDownplayedErrorLog = (errorLog) => DOWNPLAYED_ERROR_LOGS.some((downplayedInput) => downplayedInput.clientName === errorLog?.clientName && downplayedInput.commandName === errorLog?.commandName && (downplayedInput.errorName === errorLog?.error?.name || downplayedInput.errorName === errorLog?.error?.Code));
function error(...args) {
if (args.some((arg) => isDownplayedErrorLog(arg))) {
return debug(...args);
}
if (args.some((arg) => isOpenNextError(arg))) {
const error2 = args.find((arg) => isOpenNextError(arg));
if (error2.logLevel < getOpenNextErrorLogLevel()) {
return;
}
if (error2.logLevel === 0) {
return console.log(...args.map((arg) => isOpenNextError(arg) ? `${arg.name}: ${arg.message}` : arg));
}
if (error2.logLevel === 1) {
return warn(...args.map((arg) => isOpenNextError(arg) ? `${arg.name}: ${arg.message}` : arg));
}
return console.error(...args);
}
console.error(...args);
}
function getOpenNextErrorLogLevel() {
const strLevel = process.env.OPEN_NEXT_ERROR_LOG_LEVEL ?? "1";
switch (strLevel.toLowerCase()) {
case "debug":
case "0":
return 0;
case "error":
case "2":
return 2;
default:
return 1;
}
}
// ../../node_modules/@opennextjs/aws/dist/utils/cache.js
async function hasBeenRevalidated(key, tags, cacheEntry) {
if (globalThis.openNextConfig.dangerous?.disableTagCache) {
return false;
}
const value = cacheEntry.value;
if (!value) {
return true;
}
if ("type" in cacheEntry && cacheEntry.type === "page") {
return false;
}
const lastModified = cacheEntry.lastModified ?? Date.now();
if (globalThis.tagCache.mode === "nextMode") {
return await globalThis.tagCache.hasBeenRevalidated(tags, lastModified);
}
const _lastModified = await globalThis.tagCache.getLastModified(key, lastModified);
return _lastModified === -1;
}
function getTagsFromValue(value) {
if (!value) {
return [];
}
try {
return value.meta?.headers?.["x-next-cache-tags"]?.split(",") ?? [];
} catch (e) {
return [];
}
}
function getTagKey(tag) {
if (typeof tag === "string") {
return tag;
}
return JSON.stringify({
tag: tag.tag,
path: tag.path
});
}
async function writeTags(tags) {
const store = globalThis.__openNextAls.getStore();
debug("Writing tags", tags, store);
if (!store || globalThis.openNextConfig.dangerous?.disableTagCache) {
return;
}
const tagsToWrite = tags.filter((t) => {
const tagKey = getTagKey(t);
const shouldWrite = !store.writtenTags.has(tagKey);
if (shouldWrite) {
store.writtenTags.add(tagKey);
}
return shouldWrite;
});
if (tagsToWrite.length === 0) {
return;
}
await globalThis.tagCache.writeTags(tagsToWrite);
}
// ../../node_modules/@opennextjs/aws/dist/utils/binary.js
var commonBinaryMimeTypes = /* @__PURE__ */ new Set([
"application/octet-stream",
// Docs
"application/epub+zip",
"application/msword",
"application/pdf",
"application/rtf",
"application/vnd.amazon.ebook",
"application/vnd.ms-excel",
"application/vnd.ms-powerpoint",
"application/vnd.openxmlformats-officedocument.presentationml.presentation",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
// Fonts
"font/otf",
"font/woff",
"font/woff2",
// Images
"image/bmp",
"image/gif",
"image/jpeg",
"image/png",
"image/tiff",
"image/vnd.microsoft.icon",
"image/webp",
// Audio
"audio/3gpp",
"audio/aac",
"audio/basic",
"audio/flac",
"audio/mpeg",
"audio/ogg",
"audio/wavaudio/webm",
"audio/x-aiff",
"audio/x-midi",
"audio/x-wav",
// Video
"video/3gpp",
"video/mp2t",
"video/mpeg",
"video/ogg",
"video/quicktime",
"video/webm",
"video/x-msvideo",
// Archives
"application/java-archive",
"application/vnd.apple.installer+xml",
"application/x-7z-compressed",
"application/x-apple-diskimage",
"application/x-bzip",
"application/x-bzip2",
"application/x-gzip",
"application/x-java-archive",
"application/x-rar-compressed",
"application/x-tar",
"application/x-zip",
"application/zip",
// Serialized data
"application/x-protobuf"
]);
function isBinaryContentType(contentType) {
if (!contentType)
return false;
const value = contentType?.split(";")[0] ?? "";
return commonBinaryMimeTypes.has(value);
}
// ../../node_modules/@opennextjs/aws/dist/adapters/cache.js
function isFetchCache(options) {
if (typeof options === "boolean") {
return options;
}
if (typeof options === "object") {
return options.kindHint === "fetch" || options.fetchCache || options.kind === "FETCH";
}
return false;
}
var Cache = class {
async get(key, options) {
if (globalThis.openNextConfig.dangerous?.disableIncrementalCache) {
return null;
}
const softTags = typeof options === "object" ? options.softTags : [];
const tags = typeof options === "object" ? options.tags : [];
return isFetchCache(options) ? this.getFetchCache(key, softTags, tags) : this.getIncrementalCache(key);
}
async getFetchCache(key, softTags, tags) {
debug("get fetch cache", { key, softTags, tags });
try {
const cachedEntry = await globalThis.incrementalCache.get(key, "fetch");
if (cachedEntry?.value === void 0)
return null;
const _tags = [...tags ?? [], ...softTags ?? []];
const _lastModified = cachedEntry.lastModified ?? Date.now();
const _hasBeenRevalidated = await hasBeenRevalidated(key, _tags, cachedEntry);
if (_hasBeenRevalidated)
return null;
if ((tags ?? []).length === 0) {
const path = softTags?.find((tag) => tag.startsWith("_N_T_/") && !tag.endsWith("layout") && !tag.endsWith("page"));
if (path) {
const hasPathBeenUpdated = await hasBeenRevalidated(path.replace("_N_T_/", ""), [], cachedEntry);
if (hasPathBeenUpdated) {
return null;
}
}
}
return {
lastModified: _lastModified,
value: cachedEntry.value
};
} catch (e) {
debug("Failed to get fetch cache", e);
return null;
}
}
async getIncrementalCache(key) {
try {
const cachedEntry = await globalThis.incrementalCache.get(key, "cache");
if (!cachedEntry?.value) {
return null;
}
const cacheData = cachedEntry.value;
const meta = cacheData.meta;
const tags = getTagsFromValue(cacheData);
const _lastModified = cachedEntry.lastModified ?? Date.now();
const _hasBeenRevalidated = await hasBeenRevalidated(key, tags, cachedEntry);
if (_hasBeenRevalidated)
return null;
const store = globalThis.__openNextAls.getStore();
if (store) {
store.lastModified = _lastModified;
}
if (cacheData?.type === "route") {
return {
lastModified: _lastModified,
value: {
kind: globalThis.isNextAfter15 ? "APP_ROUTE" : "ROUTE",
body: Buffer.from(cacheData.body ?? Buffer.alloc(0), isBinaryContentType(String(meta?.headers?.["content-type"])) ? "base64" : "utf8"),
status: meta?.status,
headers: meta?.headers
}
};
}
if (cacheData?.type === "page" || cacheData?.type === "app") {
if (globalThis.isNextAfter15 && cacheData?.type === "app") {
return {
lastModified: _lastModified,
value: {
kind: "APP_PAGE",
html: cacheData.html,
rscData: Buffer.from(cacheData.rsc),
status: meta?.status,
headers: meta?.headers,
postponed: meta?.postponed
}
};
}
return {
lastModified: _lastModified,
value: {
kind: globalThis.isNextAfter15 ? "PAGES" : "PAGE",
html: cacheData.html,
pageData: cacheData.type === "page" ? cacheData.json : cacheData.rsc,
status: meta?.status,
headers: meta?.headers
}
};
}
if (cacheData?.type === "redirect") {
return {
lastModified: _lastModified,
value: {
kind: "REDIRECT",
props: cacheData.props
}
};
}
warn("Unknown cache type", cacheData);
return null;
} catch (e) {
debug("Failed to get body cache", e);
return null;
}
}
async set(key, data, ctx) {
if (globalThis.openNextConfig.dangerous?.disableIncrementalCache) {
return;
}
const detachedPromise = globalThis.__openNextAls.getStore()?.pendingPromiseRunner.withResolvers();
try {
if (data === null || data === void 0) {
await globalThis.incrementalCache.delete(key);
} else {
const revalidate = this.extractRevalidateForSet(ctx);
switch (data.kind) {
case "ROUTE":
case "APP_ROUTE": {
const { body, status, headers } = data;
await globalThis.incrementalCache.set(key, {
type: "route",
body: body.toString(isBinaryContentType(String(headers["content-type"])) ? "base64" : "utf8"),
meta: {
status,
headers
},
revalidate
}, "cache");
break;
}
case "PAGE":
case "PAGES": {
const { html, pageData, status, headers } = data;
const isAppPath = typeof pageData === "string";
if (isAppPath) {
await globalThis.incrementalCache.set(key, {
type: "app",
html,
rsc: pageData,
meta: {
status,
headers
},
revalidate
}, "cache");
} else {
await globalThis.incrementalCache.set(key, {
type: "page",
html,
json: pageData,
revalidate
}, "cache");
}
break;
}
case "APP_PAGE": {
const { html, rscData, headers, status } = data;
await globalThis.incrementalCache.set(key, {
type: "app",
html,
rsc: rscData.toString("utf8"),
meta: {
status,
headers
},
revalidate
}, "cache");
break;
}
case "FETCH":
await globalThis.incrementalCache.set(key, data, "fetch");
break;
case "REDIRECT":
await globalThis.incrementalCache.set(key, {
type: "redirect",
props: data.props,
revalidate
}, "cache");
break;
case "IMAGE":
break;
}
}
await this.updateTagsOnSet(key, data, ctx);
debug("Finished setting cache");
} catch (e) {
error("Failed to set cache", e);
} finally {
detachedPromise?.resolve();
}
}
async revalidateTag(tags) {
const config = globalThis.openNextConfig.dangerous;
if (config?.disableTagCache || config?.disableIncrementalCache) {
return;
}
const _tags = Array.isArray(tags) ? tags : [tags];
if (_tags.length === 0) {
return;
}
try {
if (globalThis.tagCache.mode === "nextMode") {
const paths = await globalThis.tagCache.getPathsByTags?.(_tags) ?? [];
await writeTags(_tags);
if (paths.length > 0) {
await globalThis.cdnInvalidationHandler.invalidatePaths(paths.map((path) => ({
initialPath: path,
rawPath: path,
resolvedRoutes: [
{
route: path,
// TODO: ideally here we should check if it's an app router page or route
type: "app"
}
]
})));
}
return;
}
for (const tag of _tags) {
debug("revalidateTag", tag);
const paths = await globalThis.tagCache.getByTag(tag);
debug("Items", paths);
const toInsert = paths.map((path) => ({
path,
tag
}));
if (tag.startsWith("_N_T_/")) {
for (const path of paths) {
const _tags2 = await globalThis.tagCache.getByPath(path);
const hardTags = _tags2.filter((t) => !t.startsWith("_N_T_/"));
for (const hardTag of hardTags) {
const _paths = await globalThis.tagCache.getByTag(hardTag);
debug({ hardTag, _paths });
toInsert.push(..._paths.map((path2) => ({
path: path2,
tag: hardTag
})));
}
}
}
await writeTags(toInsert);
const uniquePaths = Array.from(new Set(toInsert.filter((t) => t.tag.startsWith("_N_T_/")).map((t) => `/${t.path}`)));
if (uniquePaths.length > 0) {
await globalThis.cdnInvalidationHandler.invalidatePaths(uniquePaths.map((path) => ({
initialPath: path,
rawPath: path,
resolvedRoutes: [
{
route: path,
// TODO: ideally here we should check if it's an app router page or route
type: "app"
}
]
})));
}
}
} catch (e) {
error("Failed to revalidate tag", e);
}
}
// TODO: We should delete/update tags in this method
// This will require an update to the tag cache interface
async updateTagsOnSet(key, data, ctx) {
if (globalThis.openNextConfig.dangerous?.disableTagCache || globalThis.tagCache.mode === "nextMode" || // Here it means it's a delete
!data) {
return;
}
const derivedTags = data?.kind === "FETCH" ? (
//@ts-expect-error - On older versions of next, ctx was a number, but for these cases we use data?.data?.tags
ctx?.tags ?? data?.data?.tags ?? []
) : data?.kind === "PAGE" ? data.headers?.["x-next-cache-tags"]?.split(",") ?? [] : [];
debug("derivedTags", derivedTags);
const storedTags = await globalThis.tagCache.getByPath(key);
const tagsToWrite = derivedTags.filter((tag) => !storedTags.includes(tag));
if (tagsToWrite.length > 0) {
await writeTags(tagsToWrite.map((tag) => ({
path: key,
tag,
// In case the tags are not there we just need to create them
// but we don't want them to return from `getLastModified` as they are not stale
revalidatedAt: 1
})));
}
}
extractRevalidateForSet(ctx) {
if (ctx === void 0) {
return void 0;
}
if (typeof ctx === "number" || ctx === false) {
return ctx;
}
if ("revalidate" in ctx) {
return ctx.revalidate;
}
if ("cacheControl" in ctx) {
return ctx.cacheControl?.revalidate;
}
return void 0;
}
};

View File

@@ -0,0 +1,169 @@
globalThis.disableIncrementalCache = false;globalThis.disableDynamoDBCache = false;globalThis.isNextAfter15 = true;globalThis.openNextDebug = false;globalThis.openNextVersion = "3.7.0";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// ../../node_modules/@opennextjs/aws/dist/adapters/composable-cache.js
var composable_cache_exports = {};
__export(composable_cache_exports, {
default: () => composable_cache_default
});
module.exports = __toCommonJS(composable_cache_exports);
// ../../node_modules/@opennextjs/aws/dist/adapters/logger.js
function debug(...args) {
if (globalThis.openNextDebug) {
console.log(...args);
}
}
// ../../node_modules/@opennextjs/aws/dist/utils/cache.js
function getTagKey(tag) {
if (typeof tag === "string") {
return tag;
}
return JSON.stringify({
tag: tag.tag,
path: tag.path
});
}
async function writeTags(tags) {
const store = globalThis.__openNextAls.getStore();
debug("Writing tags", tags, store);
if (!store || globalThis.openNextConfig.dangerous?.disableTagCache) {
return;
}
const tagsToWrite = tags.filter((t) => {
const tagKey = getTagKey(t);
const shouldWrite = !store.writtenTags.has(tagKey);
if (shouldWrite) {
store.writtenTags.add(tagKey);
}
return shouldWrite;
});
if (tagsToWrite.length === 0) {
return;
}
await globalThis.tagCache.writeTags(tagsToWrite);
}
// ../../node_modules/@opennextjs/aws/dist/utils/stream.js
var import_node_stream = require("node:stream");
function fromReadableStream(stream, base64) {
const reader = stream.getReader();
const chunks = [];
return new Promise((resolve, reject) => {
function pump() {
reader.read().then(({ done, value }) => {
if (done) {
resolve(Buffer.concat(chunks).toString(base64 ? "base64" : "utf8"));
return;
}
chunks.push(value);
pump();
}).catch(reject);
}
pump();
});
}
function toReadableStream(value, isBase64) {
return import_node_stream.Readable.toWeb(import_node_stream.Readable.from(Buffer.from(value, isBase64 ? "base64" : "utf8")));
}
// ../../node_modules/@opennextjs/aws/dist/adapters/composable-cache.js
var pendingWritePromiseMap = /* @__PURE__ */ new Map();
var composable_cache_default = {
async get(cacheKey) {
try {
if (pendingWritePromiseMap.has(cacheKey)) {
return pendingWritePromiseMap.get(cacheKey);
}
const result = await globalThis.incrementalCache.get(cacheKey, "composable");
if (!result?.value?.value) {
return void 0;
}
debug("composable cache result", result);
if (globalThis.tagCache.mode === "nextMode" && result.value.tags.length > 0) {
const hasBeenRevalidated = await globalThis.tagCache.hasBeenRevalidated(result.value.tags, result.lastModified);
if (hasBeenRevalidated)
return void 0;
} else if (globalThis.tagCache.mode === "original" || globalThis.tagCache.mode === void 0) {
const hasBeenRevalidated = await globalThis.tagCache.getLastModified(cacheKey, result.lastModified) === -1;
if (hasBeenRevalidated)
return void 0;
}
return {
...result.value,
value: toReadableStream(result.value.value)
};
} catch (e) {
debug("Cannot read composable cache entry");
return void 0;
}
},
async set(cacheKey, pendingEntry) {
pendingWritePromiseMap.set(cacheKey, pendingEntry);
const entry = await pendingEntry.finally(() => {
pendingWritePromiseMap.delete(cacheKey);
});
const valueToStore = await fromReadableStream(entry.value);
await globalThis.incrementalCache.set(cacheKey, {
...entry,
value: valueToStore
}, "composable");
if (globalThis.tagCache.mode === "original") {
const storedTags = await globalThis.tagCache.getByPath(cacheKey);
const tagsToWrite = entry.tags.filter((tag) => !storedTags.includes(tag));
if (tagsToWrite.length > 0) {
await writeTags(tagsToWrite.map((tag) => ({ tag, path: cacheKey })));
}
}
},
async refreshTags() {
return;
},
async getExpiration(...tags) {
if (globalThis.tagCache.mode === "nextMode") {
return globalThis.tagCache.getLastRevalidated(tags);
}
return 0;
},
async expireTags(...tags) {
if (globalThis.tagCache.mode === "nextMode") {
return writeTags(tags);
}
const tagCache = globalThis.tagCache;
const revalidatedAt = Date.now();
const pathsToUpdate = await Promise.all(tags.map(async (tag) => {
const paths = await tagCache.getByTag(tag);
return paths.map((path) => ({
path,
tag,
revalidatedAt
}));
}));
const setToWrite = /* @__PURE__ */ new Set();
for (const entry of pathsToUpdate.flat()) {
setToWrite.add(entry);
}
await writeTags(Array.from(setToWrite));
},
// This one is necessary for older versions of next
async receiveExpiredTags(...tags) {
return;
}
};

View File

@@ -0,0 +1,13 @@
---
title: Introduction
---
Better-T-Stack is a modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations.
# Why Better-T-Stack?
Better-T-Stack lets you scaffold your projects for frontend, native apps, and backend with a single CLI command.
# Features
<Features />

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,205 @@
// ../../node_modules/@opennextjs/cloudflare/dist/api/cloudflare-context.js
var cloudflareContextSymbol = Symbol.for("__cloudflare-context__");
function getCloudflareContext(options = { async: false }) {
return options.async ? getCloudflareContextAsync() : getCloudflareContextSync();
}
function getCloudflareContextFromGlobalScope() {
const global = globalThis;
return global[cloudflareContextSymbol];
}
function inSSG() {
const global = globalThis;
return global.__NEXT_DATA__?.nextExport === true;
}
function getCloudflareContextSync() {
const cloudflareContext = getCloudflareContextFromGlobalScope();
if (cloudflareContext) {
return cloudflareContext;
}
if (inSSG()) {
throw new Error(`
ERROR: \`getCloudflareContext\` has been called in sync mode in either a static route or at the top level of a non-static one, both cases are not allowed but can be solved by either:
- make sure that the call is not at the top level and that the route is not static
- call \`getCloudflareContext({async: true})\` to use the \`async\` mode
- avoid calling \`getCloudflareContext\` in the route
`);
}
throw new Error(initOpenNextCloudflareForDevErrorMsg);
}
async function getCloudflareContextAsync() {
const cloudflareContext = getCloudflareContextFromGlobalScope();
if (cloudflareContext) {
return cloudflareContext;
}
const inNodejsRuntime = process.env.NEXT_RUNTIME === "nodejs";
if (inNodejsRuntime || inSSG()) {
const cloudflareContext2 = await getCloudflareContextFromWrangler();
addCloudflareContextToNodejsGlobal(cloudflareContext2);
return cloudflareContext2;
}
throw new Error(initOpenNextCloudflareForDevErrorMsg);
}
function addCloudflareContextToNodejsGlobal(cloudflareContext) {
const global = globalThis;
global[cloudflareContextSymbol] = cloudflareContext;
}
async function getCloudflareContextFromWrangler(options) {
const { getPlatformProxy } = await import(
/* webpackIgnore: true */
`${"__wrangler".replaceAll("_", "")}`
);
const environment = options?.environment ?? process.env.NEXT_DEV_WRANGLER_ENV;
const { env, cf, ctx } = await getPlatformProxy({
...options,
environment
});
return {
env,
cf,
ctx
};
}
var initOpenNextCloudflareForDevErrorMsg = `
ERROR: \`getCloudflareContext\` has been called without having called \`initOpenNextCloudflareForDev\` from the Next.js config file.
You should update your Next.js config file as shown below:
\`\`\`
// next.config.mjs
import { initOpenNextCloudflareForDev } from "@opennextjs/cloudflare";
initOpenNextCloudflareForDev();
const nextConfig = { ... };
export default nextConfig;
\`\`\`
`;
// ../../node_modules/@opennextjs/cloudflare/dist/api/overrides/asset-resolver/index.js
var resolver = {
name: "cloudflare-asset-resolver",
async maybeGetAssetResult(event) {
const { ASSETS } = getCloudflareContext().env;
if (!ASSETS || !isUserWorkerFirst(globalThis.__ASSETS_RUN_WORKER_FIRST__, event.rawPath)) {
return void 0;
}
const { method, headers } = event;
if (method !== "GET" && method != "HEAD") {
return void 0;
}
const url = new URL(event.rawPath, "https://assets.local");
const response = await ASSETS.fetch(url, {
headers,
method
});
if (response.status === 404) {
return void 0;
}
return {
type: "core",
statusCode: response.status,
headers: Object.fromEntries(response.headers.entries()),
// Workers and Node types differ.
// eslint-disable-next-line @typescript-eslint/no-explicit-any
body: response.body || new ReadableStream(),
isBase64Encoded: false
};
}
};
function isUserWorkerFirst(runWorkerFirst, pathname) {
if (!Array.isArray(runWorkerFirst)) {
return runWorkerFirst ?? false;
}
let hasPositiveMatch = false;
for (let rule of runWorkerFirst) {
let isPositiveRule = true;
if (rule.startsWith("!")) {
rule = rule.slice(1);
isPositiveRule = false;
} else if (hasPositiveMatch) {
continue;
}
const match = new RegExp(`^${rule.replace(/([[\]().*+?^$|{}\\])/g, "\\$1").replace("\\*", ".*")}$`).test(pathname);
if (match) {
if (isPositiveRule) {
hasPositiveMatch = true;
} else {
return false;
}
}
}
return hasPositiveMatch;
}
var asset_resolver_default = resolver;
// ../../node_modules/@opennextjs/cloudflare/dist/api/config.js
function defineCloudflareConfig(config = {}) {
const { incrementalCache, tagCache, queue, cachePurge, enableCacheInterception = false, routePreloadingBehavior = "none" } = config;
return {
default: {
override: {
wrapper: "cloudflare-node",
converter: "edge",
proxyExternalRequest: "fetch",
incrementalCache: resolveIncrementalCache(incrementalCache),
tagCache: resolveTagCache(tagCache),
queue: resolveQueue(queue),
cdnInvalidation: resolveCdnInvalidation(cachePurge)
},
routePreloadingBehavior
},
// node:crypto is used to compute cache keys
edgeExternals: ["node:crypto"],
cloudflare: {
useWorkerdCondition: true
},
dangerous: {
enableCacheInterception
},
middleware: {
external: true,
override: {
wrapper: "cloudflare-edge",
converter: "edge",
proxyExternalRequest: "fetch",
incrementalCache: resolveIncrementalCache(incrementalCache),
tagCache: resolveTagCache(tagCache),
queue: resolveQueue(queue)
},
assetResolver: () => asset_resolver_default
}
};
}
function resolveIncrementalCache(value = "dummy") {
if (typeof value === "string") {
return value;
}
return typeof value === "function" ? value : () => value;
}
function resolveTagCache(value = "dummy") {
if (typeof value === "string") {
return value;
}
return typeof value === "function" ? value : () => value;
}
function resolveQueue(value = "dummy") {
if (typeof value === "string") {
return value;
}
return typeof value === "function" ? value : () => value;
}
function resolveCdnInvalidation(value = "dummy") {
if (typeof value === "string") {
return value;
}
return typeof value === "function" ? value : () => value;
}
// open-next.config.ts
var open_next_config_default = defineCloudflareConfig();
export {
open_next_config_default as default
};

View File

@@ -0,0 +1,57 @@
{
"name": "web",
"version": "0.0.0",
"private": true,
"scripts": {
"prebuild": "bun run generate-analytics && bun run generate-schema",
"build": "next build",
"dev": "next dev --turbopack",
"start": "next start",
"check": "biome check --write .",
"postinstall": "fumadocs-mdx",
"preview": "opennextjs-cloudflare build && opennextjs-cloudflare preview",
"deploy": "opennextjs-cloudflare build && opennextjs-cloudflare deploy",
"cf-typegen": "wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts",
"generate-analytics": "bun scripts/generate-analytics.ts",
"generate-schema": "bun scripts/generate-schema.ts"
},
"dependencies": {
"@opennextjs/cloudflare": "^1.5.1",
"babel-plugin-react-compiler": "^19.1.0-rc.2",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
"fumadocs-core": "15.5.1",
"fumadocs-mdx": "11.6.7",
"fumadocs-ui": "15.5.1",
"lucide-react": "^0.513.0",
"motion": "^12.18.1",
"next": "15.3.3",
"next-themes": "^0.4.6",
"nuqs": "^2.4.3",
"papaparse": "^5.5.3",
"posthog-js": "^1.257.0",
"radix-ui": "^1.4.2",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-tweet": "^3.2.2",
"recharts": "^2.15.4",
"sonner": "^2.0.5",
"tailwind-merge": "^3.3.1"
},
"devDependencies": {
"@tailwindcss/postcss": "^4.1.10",
"@types/mdx": "^2.0.13",
"@types/node": "24.0.0",
"@types/papaparse": "^5.3.16",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"eslint": "^9.29.0",
"eslint-config-next": "15.3.3",
"postcss": "^8.5.6",
"tailwindcss": "^4.1.10",
"tw-animate-css": "^1.3.4",
"typescript": "^5.8.3",
"wrangler": "^4.24.3"
}
}

View File

@@ -0,0 +1,16 @@
"use strict";
//@ts-nocheck
const asyncStorage = require("next/dist/client/components/static-generation-async-storage.external.original");
const staticGenerationAsyncStorage = {
run: (store, cb, ...args) => asyncStorage.staticGenerationAsyncStorage.run(store, cb, ...args),
getStore: () => {
const store = asyncStorage.staticGenerationAsyncStorage.getStore();
if (store) {
store.isOnDemandRevalidate =
store.isOnDemandRevalidate &&
!globalThis.__openNextAls.getStore().isISRRevalidation;
}
return store;
},
};
exports.staticGenerationAsyncStorage = staticGenerationAsyncStorage;

View File

@@ -0,0 +1 @@
export { handler } from "./apps/web/handler.mjs";

View File

@@ -0,0 +1 @@
export { handler } from "./apps/web/index.mjs";

View File

@@ -0,0 +1,39 @@
{
"name": "better-t-stack",
"private": true,
"scripts": {
"build": "turbo build",
"dev": "turbo dev",
"dev:cli": "turbo run dev --filter=create-better-t-stack",
"cli": "cd apps/cli && node dist/index.js",
"dev:web": "turbo run dev --filter=web",
"build:web": "turbo run build --filter=web",
"build:cli": "turbo run build --filter=create-better-t-stack",
"check": "turbo check",
"format": "biome check --write .",
"publish-packages": "turbo run build --filter=create-better-t-stack && changeset publish",
"build:web:cloudflare": "bun install && bun run build:web",
"deploy:web": "bun run build:web:cloudflare && bunx wrangler pages deploy ./apps/web/out"
},
"devDependencies": {
"@biomejs/biome": "^2.0.2",
"@changesets/cli": "^2.29.5",
"husky": "^9.1.7",
"lint-staged": "^15.5.2",
"turbo": "^2.5.4",
"typescript": "5.7.3"
},
"lint-staged": {
"*": [
"bun biome check --write ."
]
},
"engines": {
"node": ">=20"
},
"packageManager": "bun@1.2.16",
"workspaces": [
"apps/*",
"packages/*"
]
}