@kurly-growth/growthman 0.1.1 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +12 -0
- package/.next/build/chunks/8e02f_b5d23412._.js +6758 -0
- package/.next/build/chunks/8e02f_b5d23412._.js.map +47 -0
- package/.next/build/chunks/[root-of-the-server]__310ad51a._.js +206 -0
- package/.next/build/chunks/[root-of-the-server]__310ad51a._.js.map +8 -0
- package/.next/build/chunks/[root-of-the-server]__8e2c0d87._.js +500 -0
- package/.next/build/chunks/[root-of-the-server]__8e2c0d87._.js.map +11 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_5040861e._.js +13 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_5040861e._.js.map +5 -0
- package/.next/build/chunks/[turbopack]_runtime.js +795 -0
- package/.next/build/chunks/[turbopack]_runtime.js.map +10 -0
- package/.next/build/package.json +1 -0
- package/.next/build/postcss.js +6 -0
- package/.next/build/postcss.js.map +5 -0
- package/.next/build-manifest.json +19 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/export-marker.json +6 -0
- package/.next/fallback-build-manifest.json +12 -0
- package/.next/images-manifest.json +66 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +114 -0
- package/.next/required-server-files.js +163 -0
- package/.next/required-server-files.json +163 -0
- package/.next/routes-manifest.json +109 -0
- package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_global-error/page/build-manifest.json +16 -0
- package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_global-error/page.js +11 -0
- package/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +2 -0
- package/.next/server/app/_global-error.html +2 -0
- package/.next/server/app/_global-error.meta +15 -0
- package/.next/server/app/_global-error.rsc +13 -0
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +13 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_not-found/page/build-manifest.json +16 -0
- package/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_not-found/page.js +14 -0
- package/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +2 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +16 -0
- package/.next/server/app/_not-found.rsc +15 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +15 -0
- package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_index.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +4 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/api/endpoints/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/endpoints/[id]/route/build-manifest.json +11 -0
- package/.next/server/app/api/endpoints/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/endpoints/[id]/route.js +7 -0
- package/.next/server/app/api/endpoints/[id]/route.js.map +5 -0
- package/.next/server/app/api/endpoints/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/endpoints/[id]/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/endpoints/bulk/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/endpoints/bulk/route/build-manifest.json +11 -0
- package/.next/server/app/api/endpoints/bulk/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/endpoints/bulk/route.js +7 -0
- package/.next/server/app/api/endpoints/bulk/route.js.map +5 -0
- package/.next/server/app/api/endpoints/bulk/route.js.nft.json +1 -0
- package/.next/server/app/api/endpoints/bulk/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/endpoints/import/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/endpoints/import/route/build-manifest.json +11 -0
- package/.next/server/app/api/endpoints/import/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/endpoints/import/route.js +7 -0
- package/.next/server/app/api/endpoints/import/route.js.map +5 -0
- package/.next/server/app/api/endpoints/import/route.js.nft.json +1 -0
- package/.next/server/app/api/endpoints/import/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/endpoints/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/endpoints/route/build-manifest.json +11 -0
- package/.next/server/app/api/endpoints/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/endpoints/route.js +7 -0
- package/.next/server/app/api/endpoints/route.js.map +5 -0
- package/.next/server/app/api/endpoints/route.js.nft.json +1 -0
- package/.next/server/app/api/endpoints/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/endpoints/sync/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/endpoints/sync/route/build-manifest.json +11 -0
- package/.next/server/app/api/endpoints/sync/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/endpoints/sync/route.js +7 -0
- package/.next/server/app/api/endpoints/sync/route.js.map +5 -0
- package/.next/server/app/api/endpoints/sync/route.js.nft.json +1 -0
- package/.next/server/app/api/endpoints/sync/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/mock/[...slug]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/mock/[...slug]/route/build-manifest.json +11 -0
- package/.next/server/app/api/mock/[...slug]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/mock/[...slug]/route.js +8 -0
- package/.next/server/app/api/mock/[...slug]/route.js.map +5 -0
- package/.next/server/app/api/mock/[...slug]/route.js.nft.json +1 -0
- package/.next/server/app/api/mock/[...slug]/route_client-reference-manifest.js +2 -0
- package/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
- package/.next/server/app/favicon.ico/route/build-manifest.json +11 -0
- package/.next/server/app/favicon.ico/route.js +7 -0
- package/.next/server/app/favicon.ico/route.js.map +5 -0
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/.next/server/app/favicon.ico.meta +1 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +14 -0
- package/.next/server/app/index.rsc +21 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/index.segments/_full.segment.rsc +21 -0
- package/.next/server/app/index.segments/_head.segment.rsc +6 -0
- package/.next/server/app/index.segments/_index.segment.rsc +6 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +4 -0
- package/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/server/app/page/build-manifest.json +16 -0
- package/.next/server/app/page/next-font-manifest.json +11 -0
- package/.next/server/app/page/react-loadable-manifest.json +8 -0
- package/.next/server/app/page/server-reference-manifest.json +4 -0
- package/.next/server/app/page.js +16 -0
- package/.next/server/app/page.js.map +5 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +2 -0
- package/.next/server/app-paths-manifest.json +12 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_endpoints_[id]_route_actions_9be426d4.js +3 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_endpoints_[id]_route_actions_9be426d4.js.map +1 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_endpoints_bulk_route_actions_e28c0cd3.js +3 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_endpoints_bulk_route_actions_e28c0cd3.js.map +1 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_endpoints_import_route_actions_89a982f4.js +3 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_endpoints_import_route_actions_89a982f4.js.map +1 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_endpoints_route_actions_0c151162.js +3 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_endpoints_route_actions_0c151162.js.map +1 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_endpoints_sync_route_actions_3051349a.js +3 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_endpoints_sync_route_actions_3051349a.js.map +1 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_mock_[___slug]_route_actions_521def8c.js +3 -0
- package/.next/server/chunks/4c6d9__next-internal_server_app_api_mock_[___slug]_route_actions_521def8c.js.map +1 -0
- package/.next/server/chunks/8e02f_529f6098._.js +3 -0
- package/.next/server/chunks/8e02f_529f6098._.js.map +1 -0
- package/.next/server/chunks/8e02f_next_dist_esm_build_templates_app-route_2d5d7dcf.js +3 -0
- package/.next/server/chunks/8e02f_next_dist_esm_build_templates_app-route_2d5d7dcf.js.map +1 -0
- package/.next/server/chunks/[externals]__cf2ccb51._.js +3 -0
- package/.next/server/chunks/[externals]__cf2ccb51._.js.map +1 -0
- package/.next/server/chunks/[externals]_next_dist_8dbe5856._.js +3 -0
- package/.next/server/chunks/[externals]_next_dist_8dbe5856._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__05641340._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__05641340._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__40089159._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__40089159._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__84981507._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__84981507._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__88f1e82c._.js +21 -0
- package/.next/server/chunks/[root-of-the-server]__88f1e82c._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__9f34b8fa._.js +129 -0
- package/.next/server/chunks/[root-of-the-server]__9f34b8fa._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__a0785728._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__a0785728._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__c49c53b0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__c49c53b0._.js.map +1 -0
- package/.next/server/chunks/[turbopack]_runtime.js +795 -0
- package/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
- package/.next/server/chunks/ced06_growth-mock-server__next-internal_server_app_favicon_ico_route_actions_b931e89c.js +3 -0
- package/.next/server/chunks/ced06_growth-mock-server__next-internal_server_app_favicon_ico_route_actions_b931e89c.js.map +1 -0
- package/.next/server/chunks/ssr/3d860_Project_Web_growth-mock-server__next-internal_server_app_page_actions_a455ccb7.js +3 -0
- package/.next/server/chunks/ssr/3d860_Project_Web_growth-mock-server__next-internal_server_app_page_actions_a455ccb7.js.map +1 -0
- package/.next/server/chunks/ssr/4c6d9__next-internal_server_app__global-error_page_actions_386af4fb.js +3 -0
- package/.next/server/chunks/ssr/4c6d9__next-internal_server_app__global-error_page_actions_386af4fb.js.map +1 -0
- package/.next/server/chunks/ssr/8e02f_lucide-react_dist_esm_createLucideIcon_92babc87.js +3 -0
- package/.next/server/chunks/ssr/8e02f_lucide-react_dist_esm_createLucideIcon_92babc87.js.map +1 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_5f7af8e7._.js +3 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_5f7af8e7._.js.map +1 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_8b7d79d3._.js +6 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_8b7d79d3._.js.map +1 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_a79dfbb1._.js +4 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_a79dfbb1._.js.map +1 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_client_components_b780ac2a._.js +3 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_client_components_b780ac2a._.js.map +1 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_client_components_builtin_forbidden_8e6242aa.js +3 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_client_components_builtin_forbidden_8e6242aa.js.map +1 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_client_components_builtin_global-error_fef7daa4.js +3 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_client_components_builtin_global-error_fef7daa4.js.map +1 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_client_components_builtin_unauthorized_d6f465ad.js +3 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_client_components_builtin_unauthorized_d6f465ad.js.map +1 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_esm_build_templates_app-page_aefc7b05.js +4 -0
- package/.next/server/chunks/ssr/8e02f_next_dist_esm_build_templates_app-page_aefc7b05.js.map +1 -0
- package/.next/server/chunks/ssr/Desktop_Project_Web_growth-mock-server_192f26a7._.js +3 -0
- package/.next/server/chunks/ssr/Desktop_Project_Web_growth-mock-server_192f26a7._.js.map +1 -0
- package/.next/server/chunks/ssr/Desktop_Project_Web_growth-mock-server_4d3bfee7._.js +4 -0
- package/.next/server/chunks/ssr/Desktop_Project_Web_growth-mock-server_4d3bfee7._.js.map +1 -0
- package/.next/server/chunks/ssr/Desktop_Project_Web_growth-mock-server_app_734cd624._.js +3 -0
- package/.next/server/chunks/ssr/Desktop_Project_Web_growth-mock-server_app_734cd624._.js.map +1 -0
- package/.next/server/chunks/ssr/Desktop_Project_Web_growth-mock-server_e3bf5efe._.js +7 -0
- package/.next/server/chunks/ssr/Desktop_Project_Web_growth-mock-server_e3bf5efe._.js.map +1 -0
- package/.next/server/chunks/ssr/[externals]_next_dist_server_app-render_work-async-storage_external_1f8eeae7.js +3 -0
- package/.next/server/chunks/ssr/[externals]_next_dist_server_app-render_work-async-storage_external_1f8eeae7.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__04e2ab43._.js +10 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__04e2ab43._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0715ef20._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0715ef20._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0c263e23._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0c263e23._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__5d3307e0._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__5d3307e0._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__6f5c427b._.js +4 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__6f5c427b._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__a41353a2._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__a41353a2._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__c6e8de01._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__c6e8de01._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__c9e25af2._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__c9e25af2._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__caa92361._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__caa92361._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__d0f18aa0._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__d0f18aa0._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__e5032d8c._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__e5032d8c._.js.map +1 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +795 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
- package/.next/server/chunks/ssr/ced06_growth-mock-server__next-internal_server_app__not-found_page_actions_41a9defd.js +3 -0
- package/.next/server/chunks/ssr/ced06_growth-mock-server__next-internal_server_app__not-found_page_actions_41a9defd.js.map +1 -0
- package/.next/server/functions-config-manifest.json +4 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +20 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +15 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +2 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +5 -0
- package/.next/static/17-ALhiWger7Ahids28qF/_buildManifest.js +11 -0
- package/.next/static/17-ALhiWger7Ahids28qF/_clientMiddlewareManifest.json +1 -0
- package/.next/static/17-ALhiWger7Ahids28qF/_ssgManifest.js +1 -0
- package/.next/static/chunks/31523f3a41fdf0b5.js +1 -0
- package/.next/static/chunks/3a3338ff069e0977.js +5 -0
- package/.next/static/chunks/68c20af4dfeb36d0.js +1 -0
- package/.next/static/chunks/77942ffae83b12ce.js +1 -0
- package/.next/static/chunks/81faf4667437d774.js +1 -0
- package/.next/static/chunks/8c554104dfee37e0.js +5 -0
- package/.next/static/chunks/a6dad97d9634a72d.js +1 -0
- package/.next/static/chunks/a6dad97d9634a72d.js.map +1 -0
- package/.next/static/chunks/ab3bc4985a0e98d2.css +3 -0
- package/.next/static/chunks/d71bf6d63636cd19.js +1 -0
- package/.next/static/chunks/f32c6649a0ca2698.js +1 -0
- package/.next/static/chunks/turbopack-7ea3b444f61e390f.js +4 -0
- package/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
- package/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
- package/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
- package/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
- package/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
- package/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
- package/.next/static/media/favicon.de6b30f1.ico +0 -0
- package/.next/trace +1 -0
- package/.next/trace-build +1 -0
- package/.next/turbopack +0 -0
- package/.next/types/routes.d.ts +78 -0
- package/.next/types/validator.ts +124 -0
- package/README.md +24 -1
- package/package.json +20 -13
- package/prisma/schema.prisma +1 -0
- package/.claude/settings.local.json +0 -10
- package/CLAUDE.md +0 -58
- package/app/api/endpoints/[id]/route.ts +0 -63
- package/app/api/endpoints/bulk/route.ts +0 -23
- package/app/api/endpoints/import/route.ts +0 -52
- package/app/api/endpoints/route.ts +0 -39
- package/app/api/endpoints/sync/route.ts +0 -80
- package/app/api/mock/[...slug]/route.ts +0 -82
- package/app/globals.css +0 -125
- package/app/layout.tsx +0 -36
- package/app/page.tsx +0 -184
- package/components/endpoint-edit-dialog.tsx +0 -181
- package/components/endpoint-table.tsx +0 -133
- package/components/openapi-upload-dialog.tsx +0 -196
- package/components/ui/button.tsx +0 -62
- package/components/ui/checkbox.tsx +0 -32
- package/components/ui/dialog.tsx +0 -143
- package/components/ui/input.tsx +0 -21
- package/components/ui/label.tsx +0 -24
- package/components/ui/sonner.tsx +0 -37
- package/components/ui/table.tsx +0 -116
- package/components/ui/textarea.tsx +0 -18
- package/components.json +0 -22
- package/eslint.config.mjs +0 -18
- package/lib/openapi-parser.ts +0 -270
- package/lib/prisma.ts +0 -9
- package/lib/utils.ts +0 -6
- package/lib/validation.ts +0 -19
- package/next.config.ts +0 -7
- package/pnpm-workspace.yaml +0 -4
- package/postcss.config.mjs +0 -7
- package/prisma/seed.ts +0 -29
- package/tsconfig.json +0 -34
- package/types/endpoint.ts +0 -10
- /package/{app/favicon.ico → .next/server/app/favicon.ico.body} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,57534,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},34893,(e,t,r)=>{"use strict";function n(e,t={}){if(t.onlyHashChange)return void e();let r=document.documentElement;if("smooth"!==r.dataset.scrollBehavior)return void e();let a=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=a}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return n}}),e.r(57534)},80778,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return l}});let n=e.r(13549),a=e.r(53500),o=n._(e.r(42043)),i=e.r(95276),s=e.r(71255);e.r(57534);let c=e.r(77713);class u extends o.default.Component{constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}componentDidCatch(){}static getDerivedStateFromError(e){if((0,s.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,s.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:o}=this.state,i={[s.HTTPAccessErrorStatus.NOT_FOUND]:e,[s.HTTPAccessErrorStatus.FORBIDDEN]:t,[s.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(o){let c=o===s.HTTPAccessErrorStatus.NOT_FOUND&&e,u=o===s.HTTPAccessErrorStatus.FORBIDDEN&&t,l=o===s.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return c||u||l?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{name:"robots",content:"noindex"}),!1,i[o]]}):n}return n}}function l({notFound:e,forbidden:t,unauthorized:r,children:n}){let s=(0,i.useUntrackedPathname)(),l=(0,o.useContext)(c.MissingSlotContext);return e||t||r?(0,a.jsx)(u,{pathname:s,notFound:e,forbidden:t,unauthorized:r,missingSlots:l,children:n}):(0,a.jsx)(a.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},4427,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useRouterBFCache",{enumerable:!0,get:function(){return a}});let n=e.r(42043);function a(e,t){let[r,a]=(0,n.useState)(()=>({tree:e,stateKey:t,next:null}));if(r.tree===e)return r;let o={tree:e,stateKey:t,next:null},i=1,s=r,c=o;for(;null!==s&&i<1;){if(s.stateKey===t){c.next=s.next;break}{i++;let e={tree:s.tree,stateKey:s.stateKey,next:null};c.next=e,c=e}s=s.next}return a(o),o}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68402,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return w}});let n=e.r(17274),a=e.r(13549),o=e.r(53500),i=a._(e.r(42043)),s=n._(e.r(60710)),c=e.r(77713),u=e.r(52511),l=e.r(78731),d=e.r(1241),f=e.r(34893),p=e.r(43656),h=e.r(80778),m=e.r(67949),g=e.r(4427);e.r(31803);let y=e.r(80780),b=e.r(95907),P=e.r(31048),_=s.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,S=["bottom","height","left","right","top","width","x","y"];function v(e,t){let r=e.getBoundingClientRect();return r.top>=0&&r.top<=t}class O extends i.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,r)=>(0,d.matchSegment)(t,e[r]))))return;let r=null,n=e.hashFragment;if(n&&(r="top"===n?document.body:document.getElementById(n)??document.getElementsByName(n)[0]),r||(r="undefined"==typeof window?null:(0,_.findDOMNode)(this)),!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return S.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,f.disableSmoothScrollDuringRouteTransition)(()=>{if(n)return void r.scrollIntoView();let e=document.documentElement,t=e.clientHeight;!v(r,t)&&(e.scrollTop=0,v(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function R({segmentPath:e,children:t}){let r=(0,i.useContext)(c.GlobalLayoutRouterContext);if(!r)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,o.jsx)(O,{segmentPath:e,focusAndScrollRef:r.focusAndScrollRef,children:t})}function E({tree:e,segmentPath:t,debugNameContext:r,cacheNode:n,params:a,url:s,isActive:l}){let d,f=(0,i.useContext)(c.GlobalLayoutRouterContext);if((0,i.useContext)(y.NavigationPromisesContext),!f)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let p=null!==n?n:(0,i.use)(u.unresolvedThenable),h=null!==p.prefetchRsc?p.prefetchRsc:p.rsc,m=(0,i.useDeferredValue)(p.rsc,h);if((0,P.isDeferredRsc)(m)){let e=(0,i.use)(m);null===e&&(0,i.use)(u.unresolvedThenable),d=e}else null===m&&(0,i.use)(u.unresolvedThenable),d=m;let g=d;return(0,o.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:e,parentCacheNode:p,parentSegmentPath:t,parentParams:a,debugNameContext:r,url:s,isActive:l},children:g})}function j({name:e,loading:t,children:r}){let n;if(n="object"==typeof t&&null!==t&&"function"==typeof t.then?(0,i.use)(t):t){let t=n[0],a=n[1],s=n[2];return(0,o.jsx)(i.Suspense,{name:e,fallback:(0,o.jsxs)(o.Fragment,{children:[a,s,t]}),children:r})}return(0,o.jsx)(o.Fragment,{children:r})}function w({parallelRouterKey:e,error:t,errorStyles:r,errorScripts:n,templateStyles:a,templateScripts:s,template:d,notFound:f,forbidden:y,unauthorized:P,segmentViewBoundaries:_}){let S=(0,i.useContext)(c.LayoutRouterContext);if(!S)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:v,parentCacheNode:O,parentSegmentPath:w,parentParams:C,url:T,isActive:x,debugNameContext:A}=S,M=O.parallelRoutes,D=M.get(e);D||(D=new Map,M.set(e,D));let F=v[0],I=null===w?[e]:w.concat([F,e]),k=v[1][e];void 0===k&&(0,i.use)(u.unresolvedThenable);let N=k[0],U=(0,m.createRouterCacheKey)(N,!0),B=(0,g.useRouterBFCache)(k,U),L=[];do{let e=B.tree,i=B.stateKey,u=e[0],g=(0,m.createRouterCacheKey)(u),_=D.get(g)??null,S=C;if(Array.isArray(u)){let e=u[0],t=u[1],r=u[2],n=(0,b.getParamValueFromCacheKey)(t,r);null!==n&&(S={...C,[e]:n})}let v=function(e){if("/"===e)return"/";if("string"==typeof e)if("(slot)"===e)return;else return e+"/";return e[1]+"/"}(u),w=v??A,M=void 0===v?void 0:A,F=O.loading,k=(0,o.jsxs)(c.TemplateContext.Provider,{value:(0,o.jsxs)(R,{segmentPath:I,children:[(0,o.jsx)(l.ErrorBoundary,{errorComponent:t,errorStyles:r,errorScripts:n,children:(0,o.jsx)(j,{name:M,loading:F,children:(0,o.jsx)(h.HTTPAccessFallbackBoundary,{notFound:f,forbidden:y,unauthorized:P,children:(0,o.jsxs)(p.RedirectBoundary,{children:[(0,o.jsx)(E,{url:T,tree:e,params:S,cacheNode:_,segmentPath:I,debugNameContext:w,isActive:x&&i===U}),null]})})})}),null]}),children:[a,s,d]},i);L.push(k),B=B.next}while(null!==B)return L}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},1359,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(13549),a=e.r(53500),o=n._(e.r(42043)),i=e.r(77713);function s(){let e=(0,o.useContext)(i.TemplateContext);return(0,a.jsx)(a.Fragment,{children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},36505,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},33727,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(36505).createRenderSearchParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97911,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},77577,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(97911).createRenderParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},60982,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReflectAdapter",{enumerable:!0,get:function(){return n}});class n{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},85480,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return c}});let n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(e.r(42043));function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}let o={current:null},i="function"==typeof n.cache?n.cache:e=>e,s=console.warn;function c(e){return function(...t){s(e(...t))}}i(e=>{try{s(o.current)}finally{o.current=null}})},90127,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={describeHasCheckingStringProperty:function(){return s},describeStringPropertyAccess:function(){return i},wellKnownProperties:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function i(e,t){return o.test(t)?`\`${e}.${t}\``:`\`${e}[${JSON.stringify(t)}]\``}function s(e,t){let r=JSON.stringify(t);return`\`Reflect.has(${e}, ${r})\`, \`${r} in ${e}\`, or similar`}let c=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule"])},21059,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"afterTaskAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(38981).createAsyncLocalStorage)()},56279,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"afterTaskAsyncStorage",{enumerable:!0,get:function(){return n.afterTaskAsyncStorageInstance}});let n=e.r(21059)},29592,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={isRequestAPICallableInsideAfter:function(){return u},throwForSearchParamsAccessInUseCache:function(){return c},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(26619),i=e.r(56279);function s(e,t){throw Object.defineProperty(new o.StaticGenBailoutError(`Route ${e} with \`dynamic = "error"\` couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function c(e,t){let r=Object.defineProperty(Error(`Route ${e.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(r,t),e.invalidDynamicUsageError??=r,r}function u(){let e=i.afterTaskAsyncStorage.getStore();return(null==e?void 0:e.rootTaskSpawnPhase)==="action"}},81523,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a={RenderStage:function(){return c},StagedRenderingController:function(){return u}};for(var o in a)Object.defineProperty(r,o,{enumerable:!0,get:a[o]});let i=e.r(87721),s=e.r(53404);var c=((n={})[n.Before=1]="Before",n[n.Static=2]="Static",n[n.Runtime=3]="Runtime",n[n.Dynamic=4]="Dynamic",n[n.Abandoned=5]="Abandoned",n);class u{constructor(e=null,t){this.abortSignal=e,this.hasRuntimePrefetch=t,this.currentStage=1,this.staticInterruptReason=null,this.runtimeInterruptReason=null,this.staticStageEndTime=1/0,this.runtimeStageEndTime=1/0,this.runtimeStageListeners=[],this.dynamicStageListeners=[],this.runtimeStagePromise=(0,s.createPromiseWithResolvers)(),this.dynamicStagePromise=(0,s.createPromiseWithResolvers)(),this.mayAbandon=!1,e&&(e.addEventListener("abort",()=>{let{reason:t}=e;this.currentStage<3&&(this.runtimeStagePromise.promise.catch(l),this.runtimeStagePromise.reject(t)),(this.currentStage<4||5===this.currentStage)&&(this.dynamicStagePromise.promise.catch(l),this.dynamicStagePromise.reject(t))},{once:!0}),this.mayAbandon=!0)}onStage(e,t){if(this.currentStage>=e)t();else if(3===e)this.runtimeStageListeners.push(t);else if(4===e)this.dynamicStageListeners.push(t);else throw Object.defineProperty(new i.InvariantError(`Invalid render stage: ${e}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}canSyncInterrupt(){if(1===this.currentStage)return!1;let e=this.hasRuntimePrefetch?4:3;return this.currentStage<e}syncInterruptCurrentStageWithReason(e){if(1!==this.currentStage){if(this.mayAbandon)return this.abandonRenderImpl();switch(this.currentStage){case 2:this.staticInterruptReason=e,this.advanceStage(4);return;case 3:this.hasRuntimePrefetch&&(this.runtimeInterruptReason=e,this.advanceStage(4));return}}}getStaticInterruptReason(){return this.staticInterruptReason}getRuntimeInterruptReason(){return this.runtimeInterruptReason}getStaticStageEndTime(){return this.staticStageEndTime}getRuntimeStageEndTime(){return this.runtimeStageEndTime}abandonRender(){if(!this.mayAbandon)throw Object.defineProperty(new i.InvariantError("`abandonRender` called on a stage controller that cannot be abandoned."),"__NEXT_ERROR_CODE",{value:"E938",enumerable:!1,configurable:!0});this.abandonRenderImpl()}abandonRenderImpl(){let{currentStage:e}=this;switch(e){case 2:this.currentStage=5,this.resolveRuntimeStage();return;case 3:this.currentStage=5;return}}advanceStage(e){if(e<=this.currentStage)return;let t=this.currentStage;if(this.currentStage=e,t<3&&e>=3&&(this.staticStageEndTime=performance.now()+performance.timeOrigin,this.resolveRuntimeStage()),t<4&&e>=4){this.runtimeStageEndTime=performance.now()+performance.timeOrigin,this.resolveDynamicStage();return}}resolveRuntimeStage(){let e=this.runtimeStageListeners;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.runtimeStagePromise.resolve()}resolveDynamicStage(){let e=this.dynamicStageListeners;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.dynamicStagePromise.resolve()}getStagePromise(e){switch(e){case 3:return this.runtimeStagePromise.promise;case 4:return this.dynamicStagePromise.promise;default:throw Object.defineProperty(new i.InvariantError(`Invalid render stage: ${e}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){var n,a,o;let i,s=(n=this.getStagePromise(e),a=t,o=r,i=new Promise((e,t)=>{n.then(e.bind(null,o),t)}),void 0!==a&&(i.displayName=a),i);return this.abortSignal&&s.catch(l),s}}function l(){}},55882,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createPrerenderSearchParamsForClientPage:function(){return g},createSearchParamsFromClient:function(){return p},createServerSearchParamsForMetadata:function(){return h},createServerSearchParamsForServerPage:function(){return m},makeErroringSearchParamsForUseCache:function(){return S}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(60982),i=e.r(47990),s=e.r(70979),c=e.r(87721),u=e.r(56890),l=e.r(85480),d=e.r(90127),f=e.r(29592);function p(e,t){let r=s.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return y(t,r);case"prerender-runtime":throw Object.defineProperty(new c.InvariantError("createSearchParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E769",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createSearchParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E739",enumerable:!1,configurable:!0});case"request":return b(e,t,r)}(0,s.throwInvariantForMissingStore)()}e.r(81523);let h=m;function m(e,t){let r=s.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return y(t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createServerSearchParamsForServerPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E747",enumerable:!1,configurable:!0});case"prerender-runtime":var n,a;return n=e,a=r,(0,i.delayUntilRuntimeStage)(a,v(n));case"request":return b(e,t,r)}(0,s.throwInvariantForMissingStore)()}function g(e){if(e.forceStatic)return Promise.resolve({});let t=s.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"prerender":case"prerender-client":return(0,u.makeHangingPromise)(t.renderSignal,e.route,"`searchParams`");case"prerender-runtime":throw Object.defineProperty(new c.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E768",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createPrerenderSearchParamsForClientPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E746",enumerable:!1,configurable:!0});case"prerender-ppr":case"prerender-legacy":case"request":return Promise.resolve({})}(0,s.throwInvariantForMissingStore)()}function y(e,t){if(e.forceStatic)return Promise.resolve({});switch(t.type){case"prerender":case"prerender-client":var r=e,n=t;let a=P.get(n);if(a)return a;let s=(0,u.makeHangingPromise)(n.renderSignal,r.route,"`searchParams`"),c=new Proxy(s,{get(e,t,r){if(Object.hasOwn(s,t))return o.ReflectAdapter.get(e,t,r);switch(t){case"then":return(0,i.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",n),o.ReflectAdapter.get(e,t,r);case"status":return(0,i.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",n),o.ReflectAdapter.get(e,t,r);default:return o.ReflectAdapter.get(e,t,r)}}});return P.set(n,c),c;case"prerender-ppr":case"prerender-legacy":var l=e,d=t;let p=P.get(l);if(p)return p;let h=Promise.resolve({}),m=new Proxy(h,{get(e,t,r){if(Object.hasOwn(h,t))return o.ReflectAdapter.get(e,t,r);if("string"==typeof t&&"then"===t){let e="`await searchParams`, `searchParams.then`, or similar";l.dynamicShouldError?(0,f.throwWithStaticGenerationBailoutErrorWithDynamicError)(l.route,e):"prerender-ppr"===d.type?(0,i.postponeWithTracking)(l.route,e,d.dynamicTracking):(0,i.throwToInterruptStaticGeneration)(e,l,d)}return o.ReflectAdapter.get(e,t,r)}});return P.set(l,m),m;default:return t}}function b(e,t,r){return t.forceStatic?Promise.resolve({}):v(e)}let P=new WeakMap,_=new WeakMap;function S(e){let t=_.get(e);if(t)return t;let r=Promise.resolve({}),n=new Proxy(r,{get:function t(n,a,i){return Object.hasOwn(r,a)||"string"!=typeof a||"then"!==a&&d.wellKnownProperties.has(a)||(0,f.throwForSearchParamsAccessInUseCache)(e,t),o.ReflectAdapter.get(n,a,i)}});return _.set(e,n),n}function v(e){let t=P.get(e);if(t)return t;let r=Promise.resolve(e);return P.set(e,r),r}(0,l.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t){let r=e?`Route "${e}" `:"This route ";return Object.defineProperty(Error(`${r}used ${t}. \`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E848",enumerable:!1,configurable:!0})})},13650,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"dynamicAccessAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(38981).createAsyncLocalStorage)()},1929,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"dynamicAccessAsyncStorage",{enumerable:!0,get:function(){return n.dynamicAccessAsyncStorageInstance}});let n=e.r(13650)},70198,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createParamsFromClient:function(){return h},createPrerenderParamsForClientSegment:function(){return b},createServerParamsForMetadata:function(){return m},createServerParamsForRoute:function(){return g},createServerParamsForServerSegment:function(){return y}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(38908),i=e.r(60982),s=e.r(47990),c=e.r(70979),u=e.r(87721),l=e.r(90127),d=e.r(56890),f=e.r(85480),p=e.r(1929);function h(e,t){let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E736",enumerable:!1,configurable:!0});case"prerender-runtime":throw Object.defineProperty(new u.InvariantError("createParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E770",enumerable:!1,configurable:!0});case"request":return O(e)}(0,c.throwInvariantForMissingStore)()}e.r(81523);let m=y;function g(e,t){let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createServerParamsForRoute should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E738",enumerable:!1,configurable:!0});case"prerender-runtime":return _(e,r);case"request":return O(e)}(0,c.throwInvariantForMissingStore)()}function y(e,t){let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createServerParamsForServerSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E743",enumerable:!1,configurable:!0});case"prerender-runtime":return _(e,r);case"request":return O(e)}(0,c.throwInvariantForMissingStore)()}function b(e){let t=o.workAsyncStorage.getStore();if(!t)throw Object.defineProperty(new u.InvariantError("Missing workStore in createPrerenderParamsForClientSegment"),"__NEXT_ERROR_CODE",{value:"E773",enumerable:!1,configurable:!0});let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":let n=r.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return(0,d.makeHangingPromise)(r.renderSignal,t.route,"`params`")}break;case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createPrerenderParamsForClientSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E734",enumerable:!1,configurable:!0})}return Promise.resolve(e)}function P(e,t,r){switch(r.type){case"prerender":case"prerender-client":{let n=r.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return function(e,t,r){let n=S.get(e);if(n)return n;let a=new Proxy((0,d.makeHangingPromise)(r.renderSignal,t.route,"`params`"),v);return S.set(e,a),a}(e,t,r)}break}case"prerender-ppr":{let n=r.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return function(e,t,r,n){let a=S.get(e);if(a)return a;let o={...e},i=Promise.resolve(o);return S.set(e,i),Object.keys(e).forEach(e=>{l.wellKnownProperties.has(e)||t.has(e)&&Object.defineProperty(o,e,{get(){let t=(0,l.describeStringPropertyAccess)("params",e);"prerender-ppr"===n.type?(0,s.postponeWithTracking)(r.route,t,n.dynamicTracking):(0,s.throwToInterruptStaticGeneration)(t,r,n)},enumerable:!0})}),i}(e,n,t,r)}}}return O(e)}function _(e,t){return(0,s.delayUntilRuntimeStage)(t,O(e))}let S=new WeakMap,v={get:function(e,t,r){if("then"===t||"catch"===t||"finally"===t){let n=i.ReflectAdapter.get(e,t,r);return({[t]:(...t)=>{let r=p.dynamicAccessAsyncStorage.getStore();return r&&r.abortController.abort(Object.defineProperty(Error("Accessed fallback `params` during prerendering."),"__NEXT_ERROR_CODE",{value:"E691",enumerable:!1,configurable:!0})),new Proxy(n.apply(e,t),v)}})[t]}return i.ReflectAdapter.get(e,t,r)}};function O(e){let t=S.get(e);if(t)return t;let r=Promise.resolve(e);return S.set(e,r),r}(0,f.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t){let r=e?`Route "${e}" `:"This route ";return Object.defineProperty(Error(`${r}used ${t}. \`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E834",enumerable:!1,configurable:!0})})},91060,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientPageRoot",{enumerable:!0,get:function(){return u}});let n=e.r(53500),a=e.r(87721),o=e.r(77713),i=e.r(42043),s=e.r(95907),c=e.r(80780);function u({Component:t,serverProvidedParams:r}){let u,l;if(null!==r)u=r.searchParams,l=r.params;else{let e=(0,i.use)(o.LayoutRouterContext);l=null!==e?e.parentParams:{},u=(0,s.urlSearchParamsToParsedUrlQuery)((0,i.use)(c.SearchParamsContext))}if("undefined"==typeof window){let r,o,{workAsyncStorage:i}=e.r(38908),s=i.getStore();if(!s)throw Object.defineProperty(new a.InvariantError("Expected workStore to exist when handling searchParams in a client Page."),"__NEXT_ERROR_CODE",{value:"E564",enumerable:!1,configurable:!0});let{createSearchParamsFromClient:c}=e.r(55882);r=c(u,s);let{createParamsFromClient:d}=e.r(70198);return o=d(l,s),(0,n.jsx)(t,{params:o,searchParams:r})}{let{createRenderSearchParamsFromClient:r}=e.r(33727),a=r(u),{createRenderParamsFromClient:o}=e.r(77577),i=o(l);return(0,n.jsx)(t,{params:i,searchParams:a})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},48344,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientSegmentRoot",{enumerable:!0,get:function(){return s}});let n=e.r(53500),a=e.r(87721),o=e.r(77713),i=e.r(42043);function s({Component:t,slots:r,serverProvidedParams:s}){let c;if(null!==s)c=s.params;else{let e=(0,i.use)(o.LayoutRouterContext);c=null!==e?e.parentParams:{}}if("undefined"==typeof window){let o,{workAsyncStorage:i}=e.r(38908),s=i.getStore();if(!s)throw Object.defineProperty(new a.InvariantError("Expected workStore to exist when handling params in a client segment such as a Layout or Template."),"__NEXT_ERROR_CODE",{value:"E600",enumerable:!1,configurable:!0});let{createParamsFromClient:u}=e.r(70198);return o=u(c,s),(0,n.jsx)(t,{...r,params:o})}{let{createRenderParamsFromClient:a}=e.r(77577),o=a(c);return(0,n.jsx)(t,{...r,params:o})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18521,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"IconMark",{enumerable:!0,get:function(){return a}});let n=e.r(53500),a=()=>"undefined"!=typeof window?null:(0,n.jsx)("meta",{name:"«nxt-icon»"})}]);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/68c20af4dfeb36d0.js","static/chunks/d71bf6d63636cd19.js","static/chunks/8c554104dfee37e0.js"],runtimeModuleIds:[63435]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=(self.TURBOPACK_CHUNK_SUFFIX??document?.currentScript?.getAttribute?.("src")?.replace(/^(.*(?=\?)|^.*$)/,""))||"",n=new WeakMap;function o(e,t){this.m=e,this.e=t}let l=o.prototype,i=Object.prototype.hasOwnProperty,s="undefined"!=typeof Symbol&&Symbol.toStringTag;function u(e,t,r){i.call(e,t)||Object.defineProperty(e,t,r)}function c(e,t){let r=e[t];return r||(r=a(t),e[t]=r),r}function a(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function f(e,t){u(e,"__esModule",{value:!0}),s&&u(e,s,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)u(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?u(e,n,{get:o,set:t[r++],enumerable:!0}):u(e,n,{get:o,enumerable:!0})}Object.seal(e)}l.s=function(e,t){let r,n;null!=t?n=(r=c(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,f(n,e)},l.j=function(e,t){var r,o;let l,s,u;null!=t?s=(l=c(this.c,t)).exports:(l=this.m,s=this.e);let a=(r=l,o=s,(u=n.get(r))||(n.set(r,u=[]),r.exports=r.namespaceObject=new Proxy(o,{get(e,t){if(i.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of u){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of u)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),u);"object"==typeof e&&null!==e&&a.push(e)},l.v=function(e,t){(null!=t?c(this.c,t):this.m).exports=e},l.n=function(e,t){let r;(r=null!=t?c(this.c,t):this.m).exports=r.namespaceObject=e};let p=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d=[null,p({}),p([]),p(p)];function h(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!d.includes(t);t=p(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),f(t,n),t}function m(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=h(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function b(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function y(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}l.i=m,l.A=function(e){return this.r(e)(m.bind(this))},l.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},l.r=function(e){return B(e,this.m).exports},l.f=function(e){function t(t){if(t=b(t),i.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=b(t),i.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let O=Symbol("turbopack queues"),g=Symbol("turbopack exports"),w=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}l.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:l,reject:i,promise:s}=y(),u=Object.assign(s,{[g]:r.exports,[O]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),c={get:()=>u,set(e){e!==u&&(u[g]=e)}};Object.defineProperty(r,"exports",c),Object.defineProperty(r,"namespaceObject",c),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(O in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[g]:{},[O]:e=>e(t)};return e.then(e=>{r[g]=e,C(t)},e=>{r[w]=e,C(t)}),r}}return{[g]:e,[O]:()=>{}}}),r=()=>t.map(e=>{if(e[w])throw e[w];return e[g]}),{promise:l,resolve:i}=y(),s=Object.assign(()=>i(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[O](u)),s.queueCount?l:r()},function(e){e?i(u[w]=e):l(u[g]),C(n)}),n&&-1===n.status&&(n.status=0)};let U=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}U.prototype=URL.prototype,l.U=U,l.z=function(e){throw Error("dynamic usage of require is not supported")},l.g=globalThis;let j=o.prototype;var _,k=((_=k||{})[_.Runtime=0]="Runtime",_[_.Parent=1]="Parent",_[_.Update=2]="Update",_);let v=new Map;l.M=v;let $=new Map,P=new Map;async function S(e,t,r){let n;if("string"==typeof r)return E(e,t,K(r));let o=r.included||[],l=o.map(e=>!!v.has(e)||$.get(e));if(l.length>0&&l.every(e=>e))return void await Promise.all(l);let i=r.moduleChunks||[],s=i.map(e=>P.get(e)).filter(e=>e);if(s.length>0){if(s.length===i.length)return void await Promise.all(s);let r=new Set;for(let e of i)P.has(e)||r.add(e);for(let n of r){let r=E(e,t,K(n));P.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=E(e,t,K(r.path)),i))P.has(o)||P.set(o,n)}for(let e of o)$.has(e)||$.set(e,n);await n}j.l=function(e){return S(1,this.m.id,e)};let T=Promise.resolve(void 0),A=new WeakMap;function E(t,r,n){let o=e.loadChunkCached(t,n),l=A.get(o);if(void 0===l){let e=A.set.bind(A,o,T);l=o.then(e).catch(e=>{let o;switch(t){case 0:o=`as a runtime dependency of chunk ${r}`;break;case 1:o=`from module ${r}`;break;case 2:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),A.set(o,l)}return l}function K(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}j.L=function(e){return E(1,this.m.id,e)},j.R=function(e){let t=this.r(e);return t?.default??t},j.P=function(e){return`/ROOT/${e??""}`},j.b=function(e){let t=new Blob([`self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)};
|
|
2
|
+
self.TURBOPACK_CHUNK_SUFFIX = ${JSON.stringify(r)};
|
|
3
|
+
self.TURBOPACK_NEXT_CHUNK_URLS = ${JSON.stringify(e.reverse().map(K),null,2)};
|
|
4
|
+
importScripts(...self.TURBOPACK_NEXT_CHUNK_URLS.map(c => self.TURBOPACK_WORKER_LOCATION + c).reverse());`],{type:"text/javascript"});return URL.createObjectURL(t)};let x=/\.js(?:\?[^#]*)?(?:#.*)?$/,N=/\.css(?:\?[^#]*)?(?:#.*)?$/;function M(e){return N.test(e)}l.w=function(t,r,n){return e.loadWebAssembly(1,this.m.id,t,r,n)},l.u=function(t,r){return e.loadWebAssemblyModule(1,this.m.id,t,r)};let L={};l.c=L;let B=(e,t)=>{let r=L[e];if(r){if(r.error)throw r.error;return r}return q(e,k.Parent,t.id)};function q(e,t,r){let n=v.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let l=a(e),i=l.exports;L[e]=l;let s=new o(l,i);try{n(s,l,i)}catch(e){throw l.error=e,e}return l.namespaceObject&&l.exports!==l.namespaceObject&&h(l.exports,l.namespaceObject),l}function I(r){let n,o=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(("undefined"!=typeof TURBOPACK_NEXT_CHUNK_URLS?TURBOPACK_NEXT_CHUNK_URLS.pop():e.getAttribute("src")).replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(r[0]);return 2===r.length?n=r[1]:(n=void 0,!function(e,t,r,n){let o=1;for(;o<e.length;){let t=e[o],n=o+1;for(;n<e.length&&"function"!=typeof e[n];)n++;if(n===e.length)throw Error("malformed chunk format, expected a factory function");if(!r.has(t)){let l=e[n];for(Object.defineProperty(l,"name",{value:"module evaluation"});o<n;o++)t=e[o],r.set(t,l)}o=n+1}}(r,0,v)),e.registerChunk(o,n)}let W=new Map;function H(e){let t=W.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},W.set(e,t)}return t}e={async registerChunk(e,t){if(H(K(e)).resolve(),null!=t){for(let e of t.otherChunks)H(K("string"==typeof e?e:e.path));if(await Promise.all(t.otherChunks.map(t=>S(0,e,t))),t.runtimeModuleIds.length>0)for(let r of t.runtimeModuleIds)!function(e,t){let r=L[t];if(r){if(r.error)throw r.error;return}q(t,k.Runtime,e)}(e,r)}},loadChunkCached:(e,t)=>(function(e,t){let r=H(t);if(r.loadingStarted)return r.promise;if(e===k.Runtime)return r.loadingStarted=!0,M(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(M(t));else if(x.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(TURBOPACK_WORKER_LOCATION+t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(M(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(x.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let l=fetch(K(r)),{instance:i}=await WebAssembly.instantiateStreaming(l,o);return i.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(K(r));return await WebAssembly.compileStreaming(o)}};let F=globalThis.TURBOPACK;globalThis.TURBOPACK={push:I},F.forEach(I)})();
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/.next/trace
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"name":"generate-buildid","duration":74,"timestamp":1732191397361,"id":4,"parentId":1,"tags":{},"startTime":1767603634333,"traceId":"fac73b8835a67ef7"},{"name":"load-custom-routes","duration":106,"timestamp":1732191397466,"id":5,"parentId":1,"tags":{},"startTime":1767603634333,"traceId":"fac73b8835a67ef7"},{"name":"create-dist-dir","duration":570,"timestamp":1732191397579,"id":6,"parentId":1,"tags":{},"startTime":1767603634333,"traceId":"fac73b8835a67ef7"},{"name":"clean","duration":40421,"timestamp":1732191398771,"id":7,"parentId":1,"tags":{},"startTime":1767603634334,"traceId":"fac73b8835a67ef7"},{"name":"create-pages-mapping","duration":103,"timestamp":1732191444539,"id":8,"parentId":1,"tags":{},"startTime":1767603634380,"traceId":"fac73b8835a67ef7"},{"name":"collect-app-files","duration":1236,"timestamp":1732191444657,"id":9,"parentId":1,"tags":{},"startTime":1767603634380,"traceId":"fac73b8835a67ef7"},{"name":"create-app-mapping","duration":940,"timestamp":1732191445905,"id":10,"parentId":1,"tags":{},"startTime":1767603634382,"traceId":"fac73b8835a67ef7"},{"name":"create-app-layouts","duration":53,"timestamp":1732191446858,"id":11,"parentId":1,"tags":{},"startTime":1767603634383,"traceId":"fac73b8835a67ef7"},{"name":"collect-default-files","duration":605,"timestamp":1732191447788,"id":13,"parentId":1,"tags":{},"startTime":1767603634383,"traceId":"fac73b8835a67ef7"},{"name":"generate-route-types","duration":7736,"timestamp":1732191447476,"id":12,"parentId":1,"tags":{},"startTime":1767603634383,"traceId":"fac73b8835a67ef7"},{"name":"public-dir-conflict-check","duration":26,"timestamp":1732191455231,"id":14,"parentId":1,"tags":{},"startTime":1767603634391,"traceId":"fac73b8835a67ef7"},{"name":"generate-routes-manifest","duration":970,"timestamp":1732191455279,"id":15,"parentId":1,"tags":{},"startTime":1767603634391,"traceId":"fac73b8835a67ef7"},{"name":"run-turbopack","duration":1963852,"timestamp":1732191460663,"id":17,"parentId":1,"tags":{},"startTime":1767603634396,"traceId":"fac73b8835a67ef7"},{"name":"run-typescript","duration":1006773,"timestamp":1732193437652,"id":19,"parentId":1,"tags":{},"startTime":1767603636373,"traceId":"fac73b8835a67ef7"},{"name":"generate-required-server-files","duration":372,"timestamp":1732194445874,"id":21,"parentId":1,"tags":{},"startTime":1767603637381,"traceId":"fac73b8835a67ef7"},{"name":"check-static-error-page","duration":5157,"timestamp":1732194455246,"id":23,"parentId":22,"tags":{},"startTime":1767603637391,"traceId":"fac73b8835a67ef7"},{"name":"is-page-static","duration":213351,"timestamp":1732194462674,"id":35,"parentId":25,"tags":{},"startTime":1767603637398,"traceId":"fac73b8835a67ef7"},{"name":"check-page","duration":215946,"timestamp":1732194460159,"id":25,"parentId":22,"tags":{"page":"/_global-error"},"startTime":1767603637396,"traceId":"fac73b8835a67ef7"},{"name":"is-page-static","duration":252854,"timestamp":1732194462537,"id":34,"parentId":24,"tags":{},"startTime":1767603637398,"traceId":"fac73b8835a67ef7"},{"name":"check-page","duration":255651,"timestamp":1732194459771,"id":24,"parentId":22,"tags":{"page":"/_not-found"},"startTime":1767603637395,"traceId":"fac73b8835a67ef7"},{"name":"is-page-static","duration":263919,"timestamp":1732194462759,"id":36,"parentId":26,"tags":{},"startTime":1767603637398,"traceId":"fac73b8835a67ef7"},{"name":"check-page","duration":266460,"timestamp":1732194460245,"id":26,"parentId":22,"tags":{"page":"/api/endpoints/[id]"},"startTime":1767603637396,"traceId":"fac73b8835a67ef7"},{"name":"is-page-static","duration":267533,"timestamp":1732194462795,"id":37,"parentId":27,"tags":{},"startTime":1767603637398,"traceId":"fac73b8835a67ef7"},{"name":"check-page","duration":270071,"timestamp":1732194460285,"id":27,"parentId":22,"tags":{"page":"/api/endpoints/bulk"},"startTime":1767603637396,"traceId":"fac73b8835a67ef7"},{"name":"is-page-static","duration":267895,"timestamp":1732194462832,"id":38,"parentId":28,"tags":{},"startTime":1767603637398,"traceId":"fac73b8835a67ef7"},{"name":"check-page","duration":270439,"timestamp":1732194460302,"id":28,"parentId":22,"tags":{"page":"/api/endpoints/import"},"startTime":1767603637396,"traceId":"fac73b8835a67ef7"},{"name":"is-page-static","duration":266380,"timestamp":1732194464407,"id":43,"parentId":33,"tags":{},"startTime":1767603637400,"traceId":"fac73b8835a67ef7"},{"name":"check-page","duration":270419,"timestamp":1732194460386,"id":33,"parentId":22,"tags":{"page":"/"},"startTime":1767603637396,"traceId":"fac73b8835a67ef7"},{"name":"is-page-static","duration":269138,"timestamp":1732194463144,"id":42,"parentId":32,"tags":{},"startTime":1767603637399,"traceId":"fac73b8835a67ef7"},{"name":"check-page","duration":271931,"timestamp":1732194460370,"id":32,"parentId":22,"tags":{"page":"/favicon.ico"},"startTime":1767603637396,"traceId":"fac73b8835a67ef7"},{"name":"is-page-static","duration":273069,"timestamp":1732194462871,"id":39,"parentId":29,"tags":{},"startTime":1767603637398,"traceId":"fac73b8835a67ef7"},{"name":"check-page","duration":275638,"timestamp":1732194460329,"id":29,"parentId":22,"tags":{"page":"/api/endpoints"},"startTime":1767603637396,"traceId":"fac73b8835a67ef7"},{"name":"is-page-static","duration":278596,"timestamp":1732194462903,"id":40,"parentId":30,"tags":{},"startTime":1767603637399,"traceId":"fac73b8835a67ef7"},{"name":"check-page","duration":281179,"timestamp":1732194460344,"id":30,"parentId":22,"tags":{"page":"/api/endpoints/sync"},"startTime":1767603637396,"traceId":"fac73b8835a67ef7"},{"name":"is-page-static","duration":281877,"timestamp":1732194463025,"id":41,"parentId":31,"tags":{},"startTime":1767603637399,"traceId":"fac73b8835a67ef7"},{"name":"check-page","duration":284565,"timestamp":1732194460355,"id":31,"parentId":22,"tags":{"page":"/api/mock/[...slug]"},"startTime":1767603637396,"traceId":"fac73b8835a67ef7"},{"name":"static-check","duration":289912,"timestamp":1732194455025,"id":22,"parentId":1,"tags":{},"startTime":1767603637391,"traceId":"fac73b8835a67ef7"},{"name":"write-routes-manifest","duration":651,"timestamp":1732194746120,"id":45,"parentId":1,"tags":{},"startTime":1767603637682,"traceId":"fac73b8835a67ef7"},{"name":"load-dotenv","duration":11,"timestamp":1732194751102,"id":48,"parentId":47,"tags":{},"startTime":1767603637687,"traceId":"fac73b8835a67ef7"},{"name":"run-export-path-map","duration":177,"timestamp":1732194752706,"id":49,"parentId":47,"tags":{},"startTime":1767603637688,"traceId":"fac73b8835a67ef7"},{"name":"next-export","duration":199706,"timestamp":1732194750716,"id":47,"parentId":1,"tags":{},"startTime":1767603637686,"traceId":"fac73b8835a67ef7"},{"name":"move-exported-app-not-found-","duration":511,"timestamp":1732194951088,"id":50,"parentId":46,"tags":{},"startTime":1767603637887,"traceId":"fac73b8835a67ef7"},{"name":"move-exported-app-global-error-","duration":375,"timestamp":1732194951634,"id":51,"parentId":46,"tags":{},"startTime":1767603637887,"traceId":"fac73b8835a67ef7"},{"name":"static-generation","duration":204294,"timestamp":1732194748724,"id":46,"parentId":1,"tags":{},"startTime":1767603637684,"traceId":"fac73b8835a67ef7"},{"name":"write-routes-manifest","duration":225,"timestamp":1732194953082,"id":52,"parentId":1,"tags":{},"startTime":1767603637889,"traceId":"fac73b8835a67ef7"},{"name":"print-tree-view","duration":711,"timestamp":1732194964146,"id":53,"parentId":1,"tags":{},"startTime":1767603637900,"traceId":"fac73b8835a67ef7"},{"name":"telemetry-flush","duration":495096,"timestamp":1732194964864,"id":54,"parentId":1,"tags":{},"startTime":1767603637900,"traceId":"fac73b8835a67ef7"},{"name":"next-build","duration":4148009,"timestamp":1732191312005,"id":1,"tags":{"buildMode":"default","version":"16.1.1","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1767603634248,"traceId":"fac73b8835a67ef7"}]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"name":"run-turbopack","duration":1963852,"timestamp":1732191460663,"id":17,"parentId":1,"tags":{},"startTime":1767603634396,"traceId":"fac73b8835a67ef7"},{"name":"run-typescript","duration":1006773,"timestamp":1732193437652,"id":19,"parentId":1,"tags":{},"startTime":1767603636373,"traceId":"fac73b8835a67ef7"},{"name":"static-check","duration":289912,"timestamp":1732194455025,"id":22,"parentId":1,"tags":{},"startTime":1767603637391,"traceId":"fac73b8835a67ef7"},{"name":"static-generation","duration":204294,"timestamp":1732194748724,"id":46,"parentId":1,"tags":{},"startTime":1767603637684,"traceId":"fac73b8835a67ef7"},{"name":"telemetry-flush","duration":495096,"timestamp":1732194964864,"id":54,"parentId":1,"tags":{},"startTime":1767603637900,"traceId":"fac73b8835a67ef7"},{"name":"next-build","duration":4148009,"timestamp":1732191312005,"id":1,"tags":{"buildMode":"default","version":"16.1.1","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1767603634248,"traceId":"fac73b8835a67ef7"}]
|
package/.next/turbopack
ADDED
|
File without changes
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// This file is generated automatically by Next.js
|
|
2
|
+
// Do not edit this file manually
|
|
3
|
+
|
|
4
|
+
type AppRoutes = "/"
|
|
5
|
+
type AppRouteHandlerRoutes = "/api/endpoints" | "/api/endpoints/[id]" | "/api/endpoints/bulk" | "/api/endpoints/import" | "/api/endpoints/sync" | "/api/mock/[...slug]"
|
|
6
|
+
type PageRoutes = never
|
|
7
|
+
type LayoutRoutes = "/"
|
|
8
|
+
type RedirectRoutes = never
|
|
9
|
+
type RewriteRoutes = never
|
|
10
|
+
type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes | AppRouteHandlerRoutes
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
interface ParamMap {
|
|
14
|
+
"/": {}
|
|
15
|
+
"/api/endpoints": {}
|
|
16
|
+
"/api/endpoints/[id]": { "id": string; }
|
|
17
|
+
"/api/endpoints/bulk": {}
|
|
18
|
+
"/api/endpoints/import": {}
|
|
19
|
+
"/api/endpoints/sync": {}
|
|
20
|
+
"/api/mock/[...slug]": { "slug": string[]; }
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
export type ParamsOf<Route extends Routes> = ParamMap[Route]
|
|
25
|
+
|
|
26
|
+
interface LayoutSlotMap {
|
|
27
|
+
"/": never
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
export type { AppRoutes, PageRoutes, LayoutRoutes, RedirectRoutes, RewriteRoutes, ParamMap, AppRouteHandlerRoutes }
|
|
32
|
+
|
|
33
|
+
declare global {
|
|
34
|
+
/**
|
|
35
|
+
* Props for Next.js App Router page components
|
|
36
|
+
* @example
|
|
37
|
+
* ```tsx
|
|
38
|
+
* export default function Page(props: PageProps<'/blog/[slug]'>) {
|
|
39
|
+
* const { slug } = await props.params
|
|
40
|
+
* return <div>Blog post: {slug}</div>
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
interface PageProps<AppRoute extends AppRoutes> {
|
|
45
|
+
params: Promise<ParamMap[AppRoute]>
|
|
46
|
+
searchParams: Promise<Record<string, string | string[] | undefined>>
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Props for Next.js App Router layout components
|
|
51
|
+
* @example
|
|
52
|
+
* ```tsx
|
|
53
|
+
* export default function Layout(props: LayoutProps<'/dashboard'>) {
|
|
54
|
+
* return <div>{props.children}</div>
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
type LayoutProps<LayoutRoute extends LayoutRoutes> = {
|
|
59
|
+
params: Promise<ParamMap[LayoutRoute]>
|
|
60
|
+
children: React.ReactNode
|
|
61
|
+
} & {
|
|
62
|
+
[K in LayoutSlotMap[LayoutRoute]]: React.ReactNode
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Context for Next.js App Router route handlers
|
|
67
|
+
* @example
|
|
68
|
+
* ```tsx
|
|
69
|
+
* export async function GET(request: NextRequest, context: RouteContext<'/api/users/[id]'>) {
|
|
70
|
+
* const { id } = await context.params
|
|
71
|
+
* return Response.json({ id })
|
|
72
|
+
* }
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
interface RouteContext<AppRouteHandlerRoute extends AppRouteHandlerRoutes> {
|
|
76
|
+
params: Promise<ParamMap[AppRouteHandlerRoute]>
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
// This file is generated automatically by Next.js
|
|
2
|
+
// Do not edit this file manually
|
|
3
|
+
// This file validates that all pages and layouts export the correct types
|
|
4
|
+
|
|
5
|
+
import type { AppRoutes, LayoutRoutes, ParamMap, AppRouteHandlerRoutes } from "./routes.js"
|
|
6
|
+
import type { ResolvingMetadata, ResolvingViewport } from "next/types.js"
|
|
7
|
+
import type { NextRequest } from 'next/server.js'
|
|
8
|
+
|
|
9
|
+
type AppPageConfig<Route extends AppRoutes = AppRoutes> = {
|
|
10
|
+
default: React.ComponentType<{ params: Promise<ParamMap[Route]> } & any> | ((props: { params: Promise<ParamMap[Route]> } & any) => React.ReactNode | Promise<React.ReactNode> | never | void | Promise<void>)
|
|
11
|
+
generateStaticParams?: (props: { params: ParamMap[Route] }) => Promise<any[]> | any[]
|
|
12
|
+
generateMetadata?: (
|
|
13
|
+
props: { params: Promise<ParamMap[Route]> } & any,
|
|
14
|
+
parent: ResolvingMetadata
|
|
15
|
+
) => Promise<any> | any
|
|
16
|
+
generateViewport?: (
|
|
17
|
+
props: { params: Promise<ParamMap[Route]> } & any,
|
|
18
|
+
parent: ResolvingViewport
|
|
19
|
+
) => Promise<any> | any
|
|
20
|
+
metadata?: any
|
|
21
|
+
viewport?: any
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
type LayoutConfig<Route extends LayoutRoutes = LayoutRoutes> = {
|
|
25
|
+
default: React.ComponentType<LayoutProps<Route>> | ((props: LayoutProps<Route>) => React.ReactNode | Promise<React.ReactNode> | never | void | Promise<void>)
|
|
26
|
+
generateStaticParams?: (props: { params: ParamMap[Route] }) => Promise<any[]> | any[]
|
|
27
|
+
generateMetadata?: (
|
|
28
|
+
props: { params: Promise<ParamMap[Route]> } & any,
|
|
29
|
+
parent: ResolvingMetadata
|
|
30
|
+
) => Promise<any> | any
|
|
31
|
+
generateViewport?: (
|
|
32
|
+
props: { params: Promise<ParamMap[Route]> } & any,
|
|
33
|
+
parent: ResolvingViewport
|
|
34
|
+
) => Promise<any> | any
|
|
35
|
+
metadata?: any
|
|
36
|
+
viewport?: any
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRoutes> = {
|
|
40
|
+
GET?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
|
|
41
|
+
POST?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
|
|
42
|
+
PUT?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
|
|
43
|
+
PATCH?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
|
|
44
|
+
DELETE?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
|
|
45
|
+
HEAD?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
|
|
46
|
+
OPTIONS?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
// Validate ../../app/page.tsx
|
|
51
|
+
{
|
|
52
|
+
type __IsExpected<Specific extends AppPageConfig<"/">> = Specific
|
|
53
|
+
const handler = {} as typeof import("../../app/page.js")
|
|
54
|
+
type __Check = __IsExpected<typeof handler>
|
|
55
|
+
// @ts-ignore
|
|
56
|
+
type __Unused = __Check
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Validate ../../app/api/endpoints/[id]/route.ts
|
|
60
|
+
{
|
|
61
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/endpoints/[id]">> = Specific
|
|
62
|
+
const handler = {} as typeof import("../../app/api/endpoints/[id]/route.js")
|
|
63
|
+
type __Check = __IsExpected<typeof handler>
|
|
64
|
+
// @ts-ignore
|
|
65
|
+
type __Unused = __Check
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Validate ../../app/api/endpoints/bulk/route.ts
|
|
69
|
+
{
|
|
70
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/endpoints/bulk">> = Specific
|
|
71
|
+
const handler = {} as typeof import("../../app/api/endpoints/bulk/route.js")
|
|
72
|
+
type __Check = __IsExpected<typeof handler>
|
|
73
|
+
// @ts-ignore
|
|
74
|
+
type __Unused = __Check
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Validate ../../app/api/endpoints/import/route.ts
|
|
78
|
+
{
|
|
79
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/endpoints/import">> = Specific
|
|
80
|
+
const handler = {} as typeof import("../../app/api/endpoints/import/route.js")
|
|
81
|
+
type __Check = __IsExpected<typeof handler>
|
|
82
|
+
// @ts-ignore
|
|
83
|
+
type __Unused = __Check
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// Validate ../../app/api/endpoints/route.ts
|
|
87
|
+
{
|
|
88
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/endpoints">> = Specific
|
|
89
|
+
const handler = {} as typeof import("../../app/api/endpoints/route.js")
|
|
90
|
+
type __Check = __IsExpected<typeof handler>
|
|
91
|
+
// @ts-ignore
|
|
92
|
+
type __Unused = __Check
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Validate ../../app/api/endpoints/sync/route.ts
|
|
96
|
+
{
|
|
97
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/endpoints/sync">> = Specific
|
|
98
|
+
const handler = {} as typeof import("../../app/api/endpoints/sync/route.js")
|
|
99
|
+
type __Check = __IsExpected<typeof handler>
|
|
100
|
+
// @ts-ignore
|
|
101
|
+
type __Unused = __Check
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Validate ../../app/api/mock/[...slug]/route.ts
|
|
105
|
+
{
|
|
106
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/mock/[...slug]">> = Specific
|
|
107
|
+
const handler = {} as typeof import("../../app/api/mock/[...slug]/route.js")
|
|
108
|
+
type __Check = __IsExpected<typeof handler>
|
|
109
|
+
// @ts-ignore
|
|
110
|
+
type __Unused = __Check
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
// Validate ../../app/layout.tsx
|
|
118
|
+
{
|
|
119
|
+
type __IsExpected<Specific extends LayoutConfig<"/">> = Specific
|
|
120
|
+
const handler = {} as typeof import("../../app/layout.js")
|
|
121
|
+
type __Check = __IsExpected<typeof handler>
|
|
122
|
+
// @ts-ignore
|
|
123
|
+
type __Unused = __Check
|
|
124
|
+
}
|
package/README.md
CHANGED
|
@@ -2,7 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
로컬 개발용 Mock API 서버. UI에서 엔드포인트를 등록하고 가짜 응답을 설정할 수 있습니다.
|
|
4
4
|
|
|
5
|
-
## 실행
|
|
5
|
+
## 설치 및 실행
|
|
6
|
+
|
|
7
|
+
### npx로 바로 실행 (권장)
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx growthman
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### 전역 설치 후 실행
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install -g @kurly-growth/growthman
|
|
17
|
+
growthman
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### 프로젝트에 설치
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install @kurly-growth/growthman
|
|
24
|
+
# 또는
|
|
25
|
+
pnpm add @kurly-growth/growthman
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 로컬 개발
|
|
6
29
|
|
|
7
30
|
```bash
|
|
8
31
|
pnpm install # 의존성 설치 + DB 자동 생성
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kurly-growth/growthman",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Local mock API server with UI dashboard",
|
|
5
5
|
"bin": {
|
|
6
6
|
"growthman": "./bin/cli.js"
|
|
@@ -8,17 +8,14 @@
|
|
|
8
8
|
"publishConfig": {
|
|
9
9
|
"access": "public"
|
|
10
10
|
},
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
"db:seed": "npx prisma db seed",
|
|
20
|
-
"db:reset": "rm -f prisma/dev.db && npx prisma db push && npx prisma db seed"
|
|
21
|
-
},
|
|
11
|
+
"files": [
|
|
12
|
+
"bin",
|
|
13
|
+
".next",
|
|
14
|
+
"!.next/cache",
|
|
15
|
+
"!.next/dev",
|
|
16
|
+
"prisma/schema.prisma",
|
|
17
|
+
"public"
|
|
18
|
+
],
|
|
22
19
|
"prisma": {
|
|
23
20
|
"seed": "npx tsx prisma/seed.ts"
|
|
24
21
|
},
|
|
@@ -52,5 +49,15 @@
|
|
|
52
49
|
"tsx": "^4.21.0",
|
|
53
50
|
"tw-animate-css": "^1.4.0",
|
|
54
51
|
"typescript": "^5"
|
|
52
|
+
},
|
|
53
|
+
"scripts": {
|
|
54
|
+
"postinstall": "prisma generate && prisma db push",
|
|
55
|
+
"dev": "next dev",
|
|
56
|
+
"dev:clean": "npx prisma db seed && next dev",
|
|
57
|
+
"build": "next build",
|
|
58
|
+
"start": "next start",
|
|
59
|
+
"lint": "eslint",
|
|
60
|
+
"db:seed": "npx prisma db seed",
|
|
61
|
+
"db:reset": "rm -f prisma/dev.db && npx prisma db push && npx prisma db seed"
|
|
55
62
|
}
|
|
56
|
-
}
|
|
63
|
+
}
|
package/prisma/schema.prisma
CHANGED
package/CLAUDE.md
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# CLAUDE.md
|
|
2
|
-
|
|
3
|
-
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
-
|
|
5
|
-
## Development Commands
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
pnpm dev # Start dev server (http://localhost:3000)
|
|
9
|
-
pnpm dev:clean # Reset DB with seed data and start dev server
|
|
10
|
-
pnpm build # Build for production
|
|
11
|
-
pnpm lint # Run ESLint
|
|
12
|
-
pnpm db:seed # Seed the database
|
|
13
|
-
pnpm db:reset # Reset database with migrations
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Architecture Overview
|
|
17
|
-
|
|
18
|
-
This is a **Mock Server Dashboard** - a Next.js 16 application that allows users to create, manage, and serve mock API endpoints stored in PostgreSQL via Prisma.
|
|
19
|
-
|
|
20
|
-
### Core Concept
|
|
21
|
-
|
|
22
|
-
1. Users define mock endpoints (path, method, status code, response body) through a web UI
|
|
23
|
-
2. These endpoints are stored in the `MockEndpoint` table
|
|
24
|
-
3. Requests to `/api/mock/*` are dynamically matched against stored endpoints using `path-to-regexp`
|
|
25
|
-
|
|
26
|
-
### Key Components
|
|
27
|
-
|
|
28
|
-
- **`/app/api/mock/[...slug]/route.ts`** - Catch-all route that handles all mock requests. Matches incoming requests against stored endpoints using pattern matching (supports path parameters like `:id`)
|
|
29
|
-
|
|
30
|
-
- **`/app/api/endpoints/`** - CRUD API for managing mock endpoints
|
|
31
|
-
- `route.ts` - GET (list all), POST (create)
|
|
32
|
-
- `[id]/route.ts` - PUT (update), DELETE
|
|
33
|
-
- `import/route.ts` - Bulk import from OpenAPI spec
|
|
34
|
-
- `sync/route.ts` - Sync endpoints with external spec
|
|
35
|
-
|
|
36
|
-
- **`/lib/openapi-parser.ts`** - Parses OpenAPI 3.x specs and generates mock response data based on schema definitions. Handles `$ref`, `allOf`, `oneOf`, `anyOf`, and generates type-appropriate mock values.
|
|
37
|
-
|
|
38
|
-
- **`/components/`** - React components for the dashboard UI
|
|
39
|
-
- `endpoint-table.tsx` - Display list of endpoints
|
|
40
|
-
- `endpoint-edit-dialog.tsx` - Create/edit endpoint with Monaco editor for JSON
|
|
41
|
-
- `openapi-upload-dialog.tsx` - Import endpoints from OpenAPI spec
|
|
42
|
-
|
|
43
|
-
### Database Schema
|
|
44
|
-
|
|
45
|
-
Single table `MockEndpoint` with unique constraint on `(path, method)`:
|
|
46
|
-
- `path` - Express-style route (e.g., `/v1/users/:id`)
|
|
47
|
-
- `method` - HTTP method
|
|
48
|
-
- `statusCode` - Response status code
|
|
49
|
-
- `responseBody` - JSON response data
|
|
50
|
-
|
|
51
|
-
### Tech Stack
|
|
52
|
-
|
|
53
|
-
- Next.js 16 (App Router)
|
|
54
|
-
- React 19
|
|
55
|
-
- Prisma with PostgreSQL
|
|
56
|
-
- Tailwind CSS 4
|
|
57
|
-
- Radix UI + shadcn/ui components
|
|
58
|
-
- Monaco Editor for JSON editing
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { NextRequest, NextResponse } from 'next/server'
|
|
2
|
-
import { prisma } from '@/lib/prisma'
|
|
3
|
-
import { validatePath, validateMethod, validateStatusCode } from '@/lib/validation'
|
|
4
|
-
|
|
5
|
-
type RouteParams = {
|
|
6
|
-
params: Promise<{ id: string }>
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
// GET: 단일 엔드포인트 조회
|
|
10
|
-
export async function GET(_request: NextRequest, { params }: RouteParams) {
|
|
11
|
-
const { id } = await params
|
|
12
|
-
|
|
13
|
-
const endpoint = await prisma.mockEndpoint.findUnique({
|
|
14
|
-
where: { id },
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
if (!endpoint) {
|
|
18
|
-
return NextResponse.json({ error: 'Endpoint not found' }, { status: 404 })
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return NextResponse.json(endpoint)
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// PUT: 엔드포인트 수정
|
|
25
|
-
export async function PUT(request: NextRequest, { params }: RouteParams) {
|
|
26
|
-
const { id } = await params
|
|
27
|
-
const body = await request.json()
|
|
28
|
-
const { path, method, description, statusCode, responseBody } = body
|
|
29
|
-
|
|
30
|
-
if (path !== undefined && !validatePath(path)) {
|
|
31
|
-
return NextResponse.json({ error: 'Invalid path' }, { status: 400 })
|
|
32
|
-
}
|
|
33
|
-
if (method !== undefined && !validateMethod(method)) {
|
|
34
|
-
return NextResponse.json({ error: 'Invalid method' }, { status: 400 })
|
|
35
|
-
}
|
|
36
|
-
if (!validateStatusCode(statusCode)) {
|
|
37
|
-
return NextResponse.json({ error: 'Invalid status code' }, { status: 400 })
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const endpoint = await prisma.mockEndpoint.update({
|
|
41
|
-
where: { id },
|
|
42
|
-
data: {
|
|
43
|
-
path,
|
|
44
|
-
method: method?.toUpperCase(),
|
|
45
|
-
description,
|
|
46
|
-
statusCode,
|
|
47
|
-
responseBody,
|
|
48
|
-
},
|
|
49
|
-
})
|
|
50
|
-
|
|
51
|
-
return NextResponse.json(endpoint)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// DELETE: 엔드포인트 삭제
|
|
55
|
-
export async function DELETE(_request: NextRequest, { params }: RouteParams) {
|
|
56
|
-
const { id } = await params
|
|
57
|
-
|
|
58
|
-
await prisma.mockEndpoint.delete({
|
|
59
|
-
where: { id },
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
return NextResponse.json({ success: true })
|
|
63
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { NextRequest, NextResponse } from 'next/server'
|
|
2
|
-
import { prisma } from '@/lib/prisma'
|
|
3
|
-
|
|
4
|
-
// DELETE: 여러 엔드포인트 일괄 삭제
|
|
5
|
-
export async function DELETE(request: NextRequest) {
|
|
6
|
-
const body = await request.json()
|
|
7
|
-
const { ids } = body
|
|
8
|
-
|
|
9
|
-
if (!Array.isArray(ids) || ids.length === 0) {
|
|
10
|
-
return NextResponse.json(
|
|
11
|
-
{ error: 'ids must be a non-empty array' },
|
|
12
|
-
{ status: 400 }
|
|
13
|
-
)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const result = await prisma.mockEndpoint.deleteMany({
|
|
17
|
-
where: {
|
|
18
|
-
id: { in: ids },
|
|
19
|
-
},
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
return NextResponse.json({ deleted: result.count })
|
|
23
|
-
}
|