@kurly-growth/growthman 0.1.2 → 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.
Files changed (107) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/fallback-build-manifest.json +2 -2
  4. package/.next/server/app/_global-error/page.js +2 -2
  5. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  6. package/.next/server/app/_global-error.html +2 -2
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found/page.js +2 -2
  14. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  23. package/.next/server/app/api/endpoints/[id]/route.js +2 -1
  24. package/.next/server/app/api/endpoints/[id]/route.js.nft.json +1 -1
  25. package/.next/server/app/api/endpoints/bulk/route.js +2 -1
  26. package/.next/server/app/api/endpoints/bulk/route.js.nft.json +1 -1
  27. package/.next/server/app/api/endpoints/import/route.js +2 -1
  28. package/.next/server/app/api/endpoints/import/route.js.nft.json +1 -1
  29. package/.next/server/app/api/endpoints/route.js +2 -1
  30. package/.next/server/app/api/endpoints/route.js.nft.json +1 -1
  31. package/.next/server/app/api/endpoints/sync/route.js +2 -1
  32. package/.next/server/app/api/endpoints/sync/route.js.nft.json +1 -1
  33. package/.next/server/app/api/mock/[...slug]/route.js +3 -2
  34. package/.next/server/app/api/mock/[...slug]/route.js.nft.json +1 -1
  35. package/.next/server/app/index.html +1 -1
  36. package/.next/server/app/index.rsc +1 -1
  37. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  38. package/.next/server/app/index.segments/_full.segment.rsc +1 -1
  39. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  40. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  41. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  42. package/.next/server/app/page.js +2 -2
  43. package/.next/server/app/page.js.nft.json +1 -1
  44. package/.next/server/chunks/{[root-of-the-server]__094b2f2b._.js → [externals]__cf2ccb51._.js} +2 -2
  45. package/.next/server/chunks/[externals]__cf2ccb51._.js.map +1 -0
  46. package/.next/server/chunks/[root-of-the-server]__05641340._.js +3 -0
  47. package/.next/server/chunks/[root-of-the-server]__05641340._.js.map +1 -0
  48. package/.next/server/chunks/[root-of-the-server]__40089159._.js +3 -0
  49. package/.next/server/chunks/[root-of-the-server]__40089159._.js.map +1 -0
  50. package/.next/server/chunks/[root-of-the-server]__84981507._.js +3 -0
  51. package/.next/server/chunks/[root-of-the-server]__84981507._.js.map +1 -0
  52. package/.next/server/chunks/[root-of-the-server]__9f34b8fa._.js +129 -0
  53. package/.next/server/chunks/[root-of-the-server]__9f34b8fa._.js.map +1 -0
  54. package/.next/server/chunks/[root-of-the-server]__a0785728._.js +3 -0
  55. package/.next/server/chunks/{[root-of-the-server]__5d7c02da._.js.map → [root-of-the-server]__a0785728._.js.map} +1 -1
  56. package/.next/server/chunks/[root-of-the-server]__c49c53b0._.js +3 -0
  57. package/.next/server/chunks/[root-of-the-server]__c49c53b0._.js.map +1 -0
  58. package/.next/server/chunks/ssr/[root-of-the-server]__04e2ab43._.js +10 -0
  59. package/.next/server/chunks/ssr/{[root-of-the-server]__2cf79de7._.js.map → [root-of-the-server]__04e2ab43._.js.map} +1 -1
  60. package/.next/server/chunks/ssr/[root-of-the-server]__a41353a2._.js +3 -0
  61. package/.next/server/chunks/ssr/{[root-of-the-server]__7f083271._.js.map → [root-of-the-server]__a41353a2._.js.map} +1 -1
  62. package/.next/server/chunks/ssr/{[root-of-the-server]__88eba3a3._.js → [root-of-the-server]__d0f18aa0._.js} +2 -2
  63. package/.next/server/chunks/ssr/{[root-of-the-server]__88eba3a3._.js.map → [root-of-the-server]__d0f18aa0._.js.map} +1 -1
  64. package/.next/server/pages/404.html +1 -1
  65. package/.next/server/pages/500.html +2 -2
  66. package/.next/trace +1 -1
  67. package/.next/trace-build +1 -1
  68. package/.next/types/validator.ts +124 -0
  69. package/README.md +24 -1
  70. package/package.json +20 -13
  71. package/prisma/schema.prisma +1 -0
  72. package/.claude/settings.local.json +0 -10
  73. package/.next/server/chunks/[root-of-the-server]__094b2f2b._.js.map +0 -1
  74. package/.next/server/chunks/[root-of-the-server]__0ecd8530._.js +0 -3
  75. package/.next/server/chunks/[root-of-the-server]__0ecd8530._.js.map +0 -1
  76. package/.next/server/chunks/[root-of-the-server]__5b9c1ed8._.js +0 -3
  77. package/.next/server/chunks/[root-of-the-server]__5b9c1ed8._.js.map +0 -1
  78. package/.next/server/chunks/[root-of-the-server]__5d7c02da._.js +0 -3
  79. package/.next/server/chunks/[root-of-the-server]__a413808a._.js +0 -3
  80. package/.next/server/chunks/[root-of-the-server]__a413808a._.js.map +0 -1
  81. package/.next/server/chunks/[root-of-the-server]__fbfc7922._.js +0 -3
  82. package/.next/server/chunks/[root-of-the-server]__fbfc7922._.js.map +0 -1
  83. package/.next/server/chunks/ssr/[root-of-the-server]__2cf79de7._.js +0 -10
  84. package/.next/server/chunks/ssr/[root-of-the-server]__7f083271._.js +0 -3
  85. package/CLAUDE.md +0 -58
  86. package/app/favicon.ico +0 -0
  87. package/app/globals.css +0 -125
  88. package/app/layout.tsx +0 -36
  89. package/app/page.tsx +0 -184
  90. package/components/endpoint-edit-dialog.tsx +0 -181
  91. package/components/endpoint-table.tsx +0 -133
  92. package/components/openapi-upload-dialog.tsx +0 -196
  93. package/components/ui/button.tsx +0 -62
  94. package/components/ui/checkbox.tsx +0 -32
  95. package/components/ui/dialog.tsx +0 -143
  96. package/components/ui/input.tsx +0 -21
  97. package/components/ui/label.tsx +0 -24
  98. package/components/ui/sonner.tsx +0 -37
  99. package/components/ui/table.tsx +0 -116
  100. package/components/ui/textarea.tsx +0 -18
  101. package/components.json +0 -22
  102. package/next-env.d.ts +0 -6
  103. package/pnpm-workspace.yaml +0 -4
  104. package/postcss.config.mjs +0 -7
  105. /package/.next/static/{xP3uHv1GK0YyrTIpyEo8D → 17-ALhiWger7Ahids28qF}/_buildManifest.js +0 -0
  106. /package/.next/static/{xP3uHv1GK0YyrTIpyEo8D → 17-ALhiWger7Ahids28qF}/_clientMiddlewareManifest.json +0 -0
  107. /package/.next/static/{xP3uHv1GK0YyrTIpyEo8D → 17-ALhiWger7Ahids28qF}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(a,b,c)=>{b.exports=a.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(a,b,c)=>{b.exports=a.x("path",()=>require("path"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},23596,(a,b,c)=>{"use strict";b.exports=a.r(18622)},73182,(a,b,c)=>{"use strict";b.exports=a.r(23596).vendored["react-rsc"].ReactJsxRuntime},35050,(a,b,c)=>{"use strict";b.exports=a.r(23596).vendored["react-rsc"].React},9454,(a,b,c)=>{"use strict";b.exports=a.r(23596).vendored["react-rsc"].ReactServerDOMTurbopackServer},60227,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(9454);a.n(d("[project]/Desktop/Project/Web/growth-mock-server/node_modules/next/dist/client/components/builtin/global-error.js <module evaluation>"))},85695,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(9454);a.n(d("[project]/Desktop/Project/Web/growth-mock-server/node_modules/next/dist/client/components/builtin/global-error.js"))},57890,a=>{"use strict";a.i(60227);var b=a.i(85695);a.n(b)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__a41353a2._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.ts","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react.ts","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.ts","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/dist/client/components/builtin/global-error.js/__nextjs-internal-proxy.cjs","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/client/components/builtin/global-error.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactServerDOMTurbopackServer\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[project]/Desktop/Project/Web/growth-mock-server/node_modules/next/dist/client/components/builtin/global-error.js\"));\n","'use client'\n\nimport { HandleISRError } from '../handle-isr-error'\n\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n text: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '28px',\n margin: '0 8px',\n },\n} as const\n\nexport type GlobalErrorComponent = React.ComponentType<{\n error: any\n}>\nfunction DefaultGlobalError({ error }: { error: any }) {\n const digest: string | undefined = error?.digest\n return (\n <html id=\"__next_error__\">\n <head></head>\n <body>\n <HandleISRError error={error} />\n <div style={styles.error}>\n <div>\n <h2 style={styles.text}>\n Application error: a {digest ? 'server' : 'client'}-side exception\n has occurred while loading {window.location.hostname} (see the{' '}\n {digest ? 'server logs' : 'browser console'} for more\n information).\n </h2>\n {digest ? <p style={styles.text}>{`Digest: ${digest}`}</p> : null}\n </div>\n </div>\n </body>\n </html>\n )\n}\n\n// Exported so that the import signature in the loaders can be identical to user\n// supplied custom global error signatures.\nexport default DefaultGlobalError\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","ReactServerDOMTurbopackServer","styles","error","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","text","fontSize","fontWeight","lineHeight","margin","DefaultGlobalError","digest","html","id","head","body","HandleISRError","div","style","h2","window","location","hostname","p"],"mappings":"wsCA0BQG,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,iCC1BjCF,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEC,eAAe,+BCFxCP,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEE,KAAK,8BCF9BR,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEG,6BAA6B,kBCDtD,GAAM,yBAAE,CAAuB,CAAE,CAAA,EAAA,CAAA,CAAA,MAEjC,EAAsB,CAAC,CAAC,EAAwB,2JAFhD,GAAM,yBAAE,CAAuB,CAAE,CAAA,EAAA,CAAA,CAAA,MAEjC,EAAsB,CAAC,CAAC,EAAwB","ignoreList":[0,1,2,3,4]}
1
+ {"version":3,"sources":["../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.ts","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react.ts","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.ts","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/dist/client/components/builtin/global-error.js/__nextjs-internal-proxy.cjs","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/client/components/builtin/global-error.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactServerDOMTurbopackServer\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[project]/Desktop/Project/Web/growth-mock-server/node_modules/next/dist/client/components/builtin/global-error.js\"));\n","'use client'\n\nimport { HandleISRError } from '../handle-isr-error'\n\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n text: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '28px',\n margin: '0 8px',\n },\n} as const\n\nexport type GlobalErrorComponent = React.ComponentType<{\n error: any\n}>\nfunction DefaultGlobalError({ error }: { error: any }) {\n const digest: string | undefined = error?.digest\n return (\n <html id=\"__next_error__\">\n <head></head>\n <body>\n <HandleISRError error={error} />\n <div style={styles.error}>\n <div>\n <h2 style={styles.text}>\n Application error: a {digest ? 'server' : 'client'}-side exception\n has occurred while loading {window.location.hostname} (see the{' '}\n {digest ? 'server logs' : 'browser console'} for more\n information).\n </h2>\n {digest ? <p style={styles.text}>{`Digest: ${digest}`}</p> : null}\n </div>\n </div>\n </body>\n </html>\n )\n}\n\n// Exported so that the import signature in the loaders can be identical to user\n// supplied custom global error signatures.\nexport default DefaultGlobalError\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","ReactServerDOMTurbopackServer","styles","error","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","text","fontSize","fontWeight","lineHeight","margin","DefaultGlobalError","digest","html","id","head","body","HandleISRError","div","style","h2","window","location","hostname","p"],"mappings":"mwCA0BQG,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,gCC1BjCF,GAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEC,eAAe,+BCFxCP,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEE,KAAK,8BCF9BR,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRI,QAAQ,CAAC,YAAY,CAAEG,6BAA6B,kBCDtD,GAAM,yBAAE,CAAuB,CAAE,CAAA,EAAA,CAAA,CAAA,MAEjC,EAAsB,CAAC,CAAC,EAAwB,2JAFhD,GAAM,yBAAE,CAAuB,CAAE,CAAA,EAAA,CAAA,CAAA,MAEjC,EAAsB,CAAC,CAAC,EAAwB","ignoreList":[0,1,2,3,4]}
@@ -1,3 +1,3 @@
1
- module.exports=[32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(a,b,c)=>{b.exports=a.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},9454,(a,b,c)=>{"use strict";b.exports=a.r(23596).vendored["react-rsc"].ReactServerDOMTurbopackServer},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},23596,(a,b,c)=>{"use strict";b.exports=a.r(18622)},73182,(a,b,c)=>{"use strict";b.exports=a.r(23596).vendored["react-rsc"].ReactJsxRuntime},35050,(a,b,c)=>{"use strict";b.exports=a.r(23596).vendored["react-rsc"].React}];
1
+ module.exports=[32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(a,b,c)=>{b.exports=a.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(a,b,c)=>{b.exports=a.x("path",()=>require("path"))},9454,(a,b,c)=>{"use strict";b.exports=a.r(23596).vendored["react-rsc"].ReactServerDOMTurbopackServer},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},23596,(a,b,c)=>{"use strict";b.exports=a.r(18622)},73182,(a,b,c)=>{"use strict";b.exports=a.r(23596).vendored["react-rsc"].ReactJsxRuntime},35050,(a,b,c)=>{"use strict";b.exports=a.r(23596).vendored["react-rsc"].React}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__88eba3a3._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__d0f18aa0._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.ts","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.ts","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react.ts"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactServerDOMTurbopackServer\n","if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.React\n"],"names":["module","exports","require","vendored","ReactServerDOMTurbopackServer","process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","ReactJsxRuntime","React"],"mappings":"i2BAAAA,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAEC,6BAA6B,qYCwB9CJ,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,iCC1BjCF,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAEQ,eAAe,+BCFxCX,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAES,KAAK","ignoreList":[0,1,2,3]}
1
+ {"version":3,"sources":["../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.ts","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.ts","../../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react.ts"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactServerDOMTurbopackServer\n","if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.React\n"],"names":["module","exports","require","vendored","ReactServerDOMTurbopackServer","process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","ReactJsxRuntime","React"],"mappings":"45BAAAA,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAEC,6BAA6B,qYCwB9CJ,EAAOC,OAAO,CAAGC,EAAQ,CAAA,CAAA,IAAA,iCC1BjCF,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAEQ,eAAe,+BCFxCX,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,YAAY,CAAES,KAAK","ignoreList":[0,1,2,3]}
@@ -1 +1 @@
1
- <!DOCTYPE html><!--xP3uHv1GK0YyrTIpyEo8D--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/ab3bc4985a0e98d2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/68c20af4dfeb36d0.js"/><script src="/_next/static/chunks/d71bf6d63636cd19.js" async=""></script><script src="/_next/static/chunks/8c554104dfee37e0.js" async=""></script><script src="/_next/static/chunks/turbopack-7ea3b444f61e390f.js" async=""></script><script src="/_next/static/chunks/f32c6649a0ca2698.js" async=""></script><script src="/_next/static/chunks/77942ffae83b12ce.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Growthman</title><meta name="description" content="Local mock API server with UI dashboard"/><link rel="icon" href="/favicon.ico?favicon.de6b30f1.ico" sizes="48x48" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/68c20af4dfeb36d0.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[68402,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n3:I[1359,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n4:I[47843,[\"/_next/static/chunks/77942ffae83b12ce.js\"],\"Toaster\"]\n5:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"ViewportBoundary\"]\na:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"MetadataBoundary\"]\nc:I[67656,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n:HL[\"/_next/static/chunks/ab3bc4985a0e98d2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"xP3uHv1GK0YyrTIpyEo8D\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/ab3bc4985a0e98d2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/77942ffae83b12ce.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[18521,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Growthman\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local mock API server with UI dashboard\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.de6b30f1.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"$Ld\",\"3\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--17_ALhiWger7Ahids28qF--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/ab3bc4985a0e98d2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/68c20af4dfeb36d0.js"/><script src="/_next/static/chunks/d71bf6d63636cd19.js" async=""></script><script src="/_next/static/chunks/8c554104dfee37e0.js" async=""></script><script src="/_next/static/chunks/turbopack-7ea3b444f61e390f.js" async=""></script><script src="/_next/static/chunks/f32c6649a0ca2698.js" async=""></script><script src="/_next/static/chunks/77942ffae83b12ce.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Growthman</title><meta name="description" content="Local mock API server with UI dashboard"/><link rel="icon" href="/favicon.ico?favicon.de6b30f1.ico" sizes="48x48" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/68c20af4dfeb36d0.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[68402,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n3:I[1359,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n4:I[47843,[\"/_next/static/chunks/77942ffae83b12ce.js\"],\"Toaster\"]\n5:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"ViewportBoundary\"]\na:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"MetadataBoundary\"]\nc:I[67656,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n:HL[\"/_next/static/chunks/ab3bc4985a0e98d2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"17-ALhiWger7Ahids28qF\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/ab3bc4985a0e98d2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/77942ffae83b12ce.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[18521,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Growthman\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local mock API server with UI dashboard\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.de6b30f1.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"$Ld\",\"3\",{}]]\n"])</script></body></html>
@@ -1,2 +1,2 @@
1
- <!DOCTYPE html><!--xP3uHv1GK0YyrTIpyEo8D--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/68c20af4dfeb36d0.js"/><script src="/_next/static/chunks/d71bf6d63636cd19.js" async=""></script><script src="/_next/static/chunks/8c554104dfee37e0.js" async=""></script><script src="/_next/static/chunks/turbopack-7ea3b444f61e390f.js" async=""></script><script src="/_next/static/chunks/f32c6649a0ca2698.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><link rel="icon" href="/favicon.ico?favicon.de6b30f1.ico" sizes="48x48" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
- @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/68c20af4dfeb36d0.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[68402,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n3:I[1359,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n4:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"ViewportBoundary\"]\n9:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"MetadataBoundary\"]\nb:I[67656,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"xP3uHv1GK0YyrTIpyEo8D\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:I[18521,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"IconMark\"]\n6:null\na:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.de6b30f1.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"$Lc\",\"1\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--17_ALhiWger7Ahids28qF--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/68c20af4dfeb36d0.js"/><script src="/_next/static/chunks/d71bf6d63636cd19.js" async=""></script><script src="/_next/static/chunks/8c554104dfee37e0.js" async=""></script><script src="/_next/static/chunks/turbopack-7ea3b444f61e390f.js" async=""></script><script src="/_next/static/chunks/f32c6649a0ca2698.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><link rel="icon" href="/favicon.ico?favicon.de6b30f1.ico" sizes="48x48" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
+ @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/68c20af4dfeb36d0.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[68402,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n3:I[1359,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n4:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"ViewportBoundary\"]\n9:I[10066,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"MetadataBoundary\"]\nb:I[67656,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"17-ALhiWger7Ahids28qF\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:I[18521,[\"/_next/static/chunks/f32c6649a0ca2698.js\"],\"IconMark\"]\n6:null\na:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.de6b30f1.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"$Lc\",\"1\",{}]]\n"])</script></body></html>
package/.next/trace CHANGED
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":73,"timestamp":1728970201848,"id":4,"parentId":1,"tags":{},"startTime":1767600413190,"traceId":"93baf715a1a53176"},{"name":"load-custom-routes","duration":104,"timestamp":1728970201950,"id":5,"parentId":1,"tags":{},"startTime":1767600413190,"traceId":"93baf715a1a53176"},{"name":"create-dist-dir","duration":553,"timestamp":1728970202062,"id":6,"parentId":1,"tags":{},"startTime":1767600413190,"traceId":"93baf715a1a53176"},{"name":"clean","duration":35454,"timestamp":1728970203088,"id":7,"parentId":1,"tags":{},"startTime":1767600413191,"traceId":"93baf715a1a53176"},{"name":"create-pages-mapping","duration":89,"timestamp":1728970243957,"id":8,"parentId":1,"tags":{},"startTime":1767600413232,"traceId":"93baf715a1a53176"},{"name":"collect-app-files","duration":1129,"timestamp":1728970244064,"id":9,"parentId":1,"tags":{},"startTime":1767600413232,"traceId":"93baf715a1a53176"},{"name":"create-app-mapping","duration":779,"timestamp":1728970245204,"id":10,"parentId":1,"tags":{},"startTime":1767600413233,"traceId":"93baf715a1a53176"},{"name":"create-app-layouts","duration":61,"timestamp":1728970246000,"id":11,"parentId":1,"tags":{},"startTime":1767600413234,"traceId":"93baf715a1a53176"},{"name":"collect-default-files","duration":562,"timestamp":1728970246904,"id":13,"parentId":1,"tags":{},"startTime":1767600413235,"traceId":"93baf715a1a53176"},{"name":"generate-route-types","duration":8175,"timestamp":1728970246636,"id":12,"parentId":1,"tags":{},"startTime":1767600413235,"traceId":"93baf715a1a53176"},{"name":"public-dir-conflict-check","duration":37,"timestamp":1728970254838,"id":14,"parentId":1,"tags":{},"startTime":1767600413243,"traceId":"93baf715a1a53176"},{"name":"generate-routes-manifest","duration":1026,"timestamp":1728970254906,"id":15,"parentId":1,"tags":{},"startTime":1767600413243,"traceId":"93baf715a1a53176"},{"name":"run-turbopack","duration":1858229,"timestamp":1728970258331,"id":17,"parentId":1,"tags":{},"startTime":1767600413246,"traceId":"93baf715a1a53176"},{"name":"run-typescript","duration":978180,"timestamp":1728972129609,"id":19,"parentId":1,"tags":{},"startTime":1767600415118,"traceId":"93baf715a1a53176"},{"name":"generate-required-server-files","duration":378,"timestamp":1728973110768,"id":21,"parentId":1,"tags":{},"startTime":1767600416099,"traceId":"93baf715a1a53176"},{"name":"check-static-error-page","duration":3891,"timestamp":1728973120348,"id":23,"parentId":22,"tags":{},"startTime":1767600416108,"traceId":"93baf715a1a53176"},{"name":"is-page-static","duration":228140,"timestamp":1728973127001,"id":34,"parentId":25,"tags":{},"startTime":1767600416115,"traceId":"93baf715a1a53176"},{"name":"check-page","duration":231143,"timestamp":1728973124040,"id":25,"parentId":22,"tags":{"page":"/_global-error"},"startTime":1767600416112,"traceId":"93baf715a1a53176"},{"name":"is-page-static","duration":262300,"timestamp":1728973127255,"id":36,"parentId":24,"tags":{},"startTime":1767600416115,"traceId":"93baf715a1a53176"},{"name":"check-page","duration":265904,"timestamp":1728973123680,"id":24,"parentId":22,"tags":{"page":"/_not-found"},"startTime":1767600416112,"traceId":"93baf715a1a53176"},{"name":"is-page-static","duration":269424,"timestamp":1728973127543,"id":42,"parentId":32,"tags":{},"startTime":1767600416116,"traceId":"93baf715a1a53176"},{"name":"check-page","duration":272783,"timestamp":1728973124208,"id":32,"parentId":22,"tags":{"page":"/favicon.ico"},"startTime":1767600416112,"traceId":"93baf715a1a53176"},{"name":"is-page-static","duration":270016,"timestamp":1728973127285,"id":37,"parentId":27,"tags":{},"startTime":1767600416115,"traceId":"93baf715a1a53176"},{"name":"check-page","duration":273214,"timestamp":1728973124138,"id":27,"parentId":22,"tags":{"page":"/api/endpoints/bulk"},"startTime":1767600416112,"traceId":"93baf715a1a53176"},{"name":"is-page-static","duration":273283,"timestamp":1728973127218,"id":35,"parentId":26,"tags":{},"startTime":1767600416115,"traceId":"93baf715a1a53176"},{"name":"check-page","duration":276448,"timestamp":1728973124120,"id":26,"parentId":22,"tags":{"page":"/api/endpoints/[id]"},"startTime":1767600416112,"traceId":"93baf715a1a53176"},{"name":"is-page-static","duration":273307,"timestamp":1728973127345,"id":39,"parentId":29,"tags":{},"startTime":1767600416115,"traceId":"93baf715a1a53176"},{"name":"check-page","duration":276509,"timestamp":1728973124174,"id":29,"parentId":22,"tags":{"page":"/api/endpoints"},"startTime":1767600416112,"traceId":"93baf715a1a53176"},{"name":"is-page-static","duration":274079,"timestamp":1728973127317,"id":38,"parentId":28,"tags":{},"startTime":1767600416115,"traceId":"93baf715a1a53176"},{"name":"check-page","duration":277262,"timestamp":1728973124152,"id":28,"parentId":22,"tags":{"page":"/api/endpoints/import"},"startTime":1767600416112,"traceId":"93baf715a1a53176"},{"name":"is-page-static","duration":278697,"timestamp":1728973128867,"id":43,"parentId":33,"tags":{},"startTime":1767600416117,"traceId":"93baf715a1a53176"},{"name":"check-page","duration":283384,"timestamp":1728973124222,"id":33,"parentId":22,"tags":{"page":"/"},"startTime":1767600416112,"traceId":"93baf715a1a53176"},{"name":"is-page-static","duration":281800,"timestamp":1728973127434,"id":41,"parentId":30,"tags":{},"startTime":1767600416115,"traceId":"93baf715a1a53176"},{"name":"check-page","duration":285070,"timestamp":1728973124186,"id":30,"parentId":22,"tags":{"page":"/api/endpoints/sync"},"startTime":1767600416112,"traceId":"93baf715a1a53176"},{"name":"is-page-static","duration":283845,"timestamp":1728973127377,"id":40,"parentId":31,"tags":{},"startTime":1767600416115,"traceId":"93baf715a1a53176"},{"name":"check-page","duration":287048,"timestamp":1728973124195,"id":31,"parentId":22,"tags":{"page":"/api/mock/[...slug]"},"startTime":1767600416112,"traceId":"93baf715a1a53176"},{"name":"static-check","duration":291149,"timestamp":1728973120107,"id":22,"parentId":1,"tags":{},"startTime":1767600416108,"traceId":"93baf715a1a53176"},{"name":"write-routes-manifest","duration":608,"timestamp":1728973412406,"id":45,"parentId":1,"tags":{},"startTime":1767600416400,"traceId":"93baf715a1a53176"},{"name":"load-dotenv","duration":11,"timestamp":1728973417617,"id":48,"parentId":47,"tags":{},"startTime":1767600416406,"traceId":"93baf715a1a53176"},{"name":"run-export-path-map","duration":177,"timestamp":1728973419015,"id":49,"parentId":47,"tags":{},"startTime":1767600416407,"traceId":"93baf715a1a53176"},{"name":"next-export","duration":185247,"timestamp":1728973417220,"id":47,"parentId":1,"tags":{},"startTime":1767600416405,"traceId":"93baf715a1a53176"},{"name":"move-exported-app-not-found-","duration":596,"timestamp":1728973603156,"id":50,"parentId":46,"tags":{},"startTime":1767600416591,"traceId":"93baf715a1a53176"},{"name":"move-exported-app-global-error-","duration":375,"timestamp":1728973603791,"id":51,"parentId":46,"tags":{},"startTime":1767600416592,"traceId":"93baf715a1a53176"},{"name":"static-generation","duration":189809,"timestamp":1728973415388,"id":46,"parentId":1,"tags":{},"startTime":1767600416403,"traceId":"93baf715a1a53176"},{"name":"write-routes-manifest","duration":241,"timestamp":1728973605291,"id":52,"parentId":1,"tags":{},"startTime":1767600416593,"traceId":"93baf715a1a53176"},{"name":"print-tree-view","duration":719,"timestamp":1728973615345,"id":53,"parentId":1,"tags":{},"startTime":1767600416603,"traceId":"93baf715a1a53176"},{"name":"telemetry-flush","duration":496873,"timestamp":1728973616071,"id":54,"parentId":1,"tags":{},"startTime":1767600416604,"traceId":"93baf715a1a53176"},{"name":"next-build","duration":3995722,"timestamp":1728970117281,"id":1,"tags":{"buildMode":"default","version":"16.1.1","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1767600413105,"traceId":"93baf715a1a53176"}]
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"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":1858229,"timestamp":1728970258331,"id":17,"parentId":1,"tags":{},"startTime":1767600413246,"traceId":"93baf715a1a53176"},{"name":"run-typescript","duration":978180,"timestamp":1728972129609,"id":19,"parentId":1,"tags":{},"startTime":1767600415118,"traceId":"93baf715a1a53176"},{"name":"static-check","duration":291149,"timestamp":1728973120107,"id":22,"parentId":1,"tags":{},"startTime":1767600416108,"traceId":"93baf715a1a53176"},{"name":"static-generation","duration":189809,"timestamp":1728973415388,"id":46,"parentId":1,"tags":{},"startTime":1767600416403,"traceId":"93baf715a1a53176"},{"name":"telemetry-flush","duration":496873,"timestamp":1728973616071,"id":54,"parentId":1,"tags":{},"startTime":1767600416604,"traceId":"93baf715a1a53176"},{"name":"next-build","duration":3995722,"timestamp":1728970117281,"id":1,"tags":{"buildMode":"default","version":"16.1.1","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1767600413105,"traceId":"93baf715a1a53176"}]
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"}]
@@ -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.2",
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
- "scripts": {
12
- "prepack": "next build",
13
- "postinstall": "prisma generate && prisma db push",
14
- "dev": "next dev",
15
- "dev:clean": "npx prisma db seed && next dev",
16
- "build": "next build",
17
- "start": "next start",
18
- "lint": "eslint",
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
+ }
@@ -1,5 +1,6 @@
1
1
  generator client {
2
2
  provider = "prisma-client-js"
3
+ output = "../generated/prisma"
3
4
  }
4
5
 
5
6
  datasource db {
@@ -1,10 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(pnpm add:*)",
5
- "Bash(pnpm dlx shadcn@latest add:*)",
6
- "Bash(npx prisma migrate:*)",
7
- "Bash(chmod:*)"
8
- ]
9
- }
10
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../Desktop/Project/Web/growth-mock-server/lib/prisma.ts"],"sourcesContent":["import { PrismaClient } from '@prisma/client'\n\nconst globalForPrisma = globalThis as unknown as {\n prisma: PrismaClient | undefined\n}\n\nexport const prisma = globalForPrisma.prisma ?? new PrismaClient()\n\nif (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma\n"],"names":[],"mappings":"omCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OAMO,IAAM,EAJW,AAIF,WAAgB,MAAM,EAAI,IAAI,EAAA,YAAY"}
@@ -1,3 +0,0 @@
1
- module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},19358,(e,t,r)=>{t.exports=e.x("@prisma/client-f90ec7ec1f886d89",()=>require("@prisma/client-f90ec7ec1f886d89"))},16267,e=>{"use strict";var t=e.i(19358);let r=globalThis.prisma??new t.PrismaClient;e.s(["prisma",0,r])},38799,e=>{"use strict";var t=e.i(90853),r=e.i(23778),a=e.i(27873),n=e.i(59784),s=e.i(75321),i=e.i(89306),o=e.i(93178),l=e.i(8007),d=e.i(78226),u=e.i(77688),p=e.i(11733),c=e.i(88075),h=e.i(11526),x=e.i(34033),R=e.i(44670),v=e.i(93695);e.i(71109);var m=e.i(15864),f=e.i(70388),g=e.i(16267);async function w(e){let{ids:t}=await e.json();if(!Array.isArray(t)||0===t.length)return f.NextResponse.json({error:"ids must be a non-empty array"},{status:400});let r=await g.prisma.mockEndpoint.deleteMany({where:{id:{in:t}}});return f.NextResponse.json({deleted:r.count})}e.s(["DELETE",()=>w],96389);var E=e.i(96389);let y=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/endpoints/bulk/route",pathname:"/api/endpoints/bulk",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/Desktop/Project/Web/growth-mock-server/app/api/endpoints/bulk/route.ts",nextConfigOutput:"",userland:E}),{workAsyncStorage:C,workUnitAsyncStorage:b,serverHooks:A}=y;function k(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:b})}async function T(e,t,a){y.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/endpoints/bulk/route";f=f.replace(/\/index$/,"")||"/";let g=await y.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:C,parsedUrl:b,isDraftMode:A,prerenderManifest:k,routerServerContext:T,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,resolvedPathname:j,clientReferenceManifest:q,serverActionsManifest:O}=g,_=(0,o.normalizeAppPath)(f),S=!!(k.dynamicRoutes[_]||k.routes[j]),H=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,b,!1):t.end("This page could not be found"),null);if(S&&!A){let e=!!k.routes[j],t=k.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await H();throw new v.NoFallbackError}}let U=null;!S||y.isDev||A||(U="/index"===(U=j)?"/":U);let D=!0===y.isDev||!S,I=S&&!D;O&&q&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:q,serverActionsManifest:O});let M=e.method||"GET",$=(0,s.getTracer)(),F=$.getActiveScopeSpan(),K={params:E,prerenderManifest:k,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>y.onRequestError(e,t,a,n,T)},sharedContext:{buildId:w}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(L,(0,d.signalFromNodeResponse)(t));try{let i=async e=>y.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${f}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&N&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!S)return await (0,c.sendResponse)(L,B,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:N})},!1,T),t}},u=await y.handleResponse({req:e,nextConfig:C,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!S)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&S||v.delete(R.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||v.get("Cache-Control")||v.set("Cache-Control",(0,x.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(L,B,new Response(u.value.body,{headers:v,status:u.value.status||200})),null};F?await l(F):await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof v.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:N})},!1,T),S)throw t;return await (0,c.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>k,"routeModule",()=>y,"serverHooks",()=>A,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>b],38799)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0ecd8530._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../Desktop/Project/Web/growth-mock-server/lib/prisma.ts","../../../../../../../Desktop/Project/Web/growth-mock-server/node_modules/next/dist/esm/build/templates/app-route.js","../../../../../../../Desktop/Project/Web/growth-mock-server/app/api/endpoints/bulk/route.ts"],"sourcesContent":["import { PrismaClient } from '@prisma/client'\n\nconst globalForPrisma = globalThis as unknown as {\n prisma: PrismaClient | undefined\n}\n\nexport const prisma = globalForPrisma.prisma ?? new PrismaClient()\n\nif (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/endpoints/bulk/route\",\n pathname: \"/api/endpoints/bulk\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/Desktop/Project/Web/growth-mock-server/app/api/endpoints/bulk/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/endpoints/bulk/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","import { NextRequest, NextResponse } from 'next/server'\nimport { prisma } from '@/lib/prisma'\n\n// DELETE: 여러 엔드포인트 일괄 삭제\nexport async function DELETE(request: NextRequest) {\n const body = await request.json()\n const { ids } = body\n\n if (!Array.isArray(ids) || ids.length === 0) {\n return NextResponse.json(\n { error: 'ids must be a non-empty array' },\n { status: 400 }\n )\n }\n\n const result = await prisma.mockEndpoint.deleteMany({\n where: {\n id: { in: ids },\n },\n })\n\n return NextResponse.json({ deleted: result.count })\n}\n"],"names":[],"mappings":"omCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OAMO,IAAM,EAAS,AAJE,WAIc,MAAM,EAAI,IAAI,EAAA,YAAY,6CCNhE,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,CAAA,CAAA,OAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OChBA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAGO,eAAe,EAAO,CAAoB,EAE/C,GAAM,KAAE,CAAG,CAAE,CADA,EACG,IADG,EAAQ,IAAI,GAG/B,GAAI,CAAC,MAAM,OAAO,CAAC,IAAuB,GAAG,CAAlB,EAAI,MAAM,CACnC,OAAO,EAAA,YAAY,CAAC,IAAI,CACtB,CAAE,MAAO,+BAAgC,EACzC,CAAE,OAAQ,GAAI,GAIlB,IAAM,EAAS,MAAM,EAAA,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAClD,MAAO,CACL,GAAI,CAAE,GAAI,CAAI,CAChB,CACF,GAEA,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,CAAE,QAAS,EAAO,KAAK,AAAC,EACnD,6BDLA,IAAA,EAAA,EAAA,CAAA,CAAA,OAIA,IAAM,EAAc,IAAI,EAAA,mBAAmB,CAAC,CACxC,WAAY,CACR,KAAM,EAAA,SAAS,CAAC,SAAS,CACzB,KAAM,4BACN,SAAU,sBACV,SAAU,QACV,WAAY,EAChB,EACA,QAAS,CAAA,OACT,IADiD,eACc,CAA3C,EACpB,iBAAkB,mFAClB,iBAZqB,GAarB,SAAA,CACJ,GAIM,kBAAE,CAAgB,sBAAE,CAAoB,aAAE,CAAW,CAAE,CAAG,EAChE,SAAS,IACL,MAAO,CAAA,EAAA,EAAA,UAAA,AAAW,EAAC,CACf,mBACA,sBACJ,EACJ,CAEO,eAAe,EAAQ,CAAG,CAAE,CAAG,CAAE,CAAG,EACnC,EAAY,KAAK,EAAE,AACnB,CAAA,EAAA,EAAA,cAAA,AAAc,EAAC,EAAK,+BAAgC,QAAQ,MAAM,CAAC,MAAM,IAE7E,IAAI,EAAU,4BAKV,EAAU,EAAQ,OAAO,CAAC,WAAY,KAAO,IAMjD,IAAM,EAAgB,MAAM,EAAY,OAAO,CAAC,EAAK,EAAK,CACtD,UACA,mBAHE,CAAA,CAIN,GACA,GAAI,CAAC,EAID,OAHA,EAAI,IADY,MACF,CAAG,IACjB,EAAI,GAAG,CAAC,eACS,MAAjB,CAAwB,CAApB,IAAyB,KAAhB,EAAoB,EAAI,SAAS,CAAC,IAAI,CAAC,EAAK,QAAQ,OAAO,IACjE,KAEX,GAAM,SAAE,CAAO,QAAE,CAAM,YAAE,CAAU,WAAE,CAAS,CAAE,aAAW,mBAAE,CAAiB,qBAAE,CAAmB,sBAAE,CAAoB,yBAAE,CAAuB,kBAAE,CAAgB,yBAAE,CAAuB,uBAAE,CAAqB,CAAE,CAAG,EACnN,EAAoB,CAAA,EAAA,EAAA,gBAAA,AAAgB,EAAC,GACvC,GAAQ,EAAQ,EAAkB,aAAa,CAAC,EAAkB,EAAI,EAAkB,MAAM,CAAC,EAAA,AAAiB,EAC9G,EAAY,WAEa,MAAvB,EAA8B,KAAK,EAAI,EAAoB,SAAA,AAAS,EAAE,AACtE,MAAM,EAAoB,SAAS,CAAC,EAAK,EAAK,GAAW,GAEzD,EAAI,GAAG,CAAC,gCAEL,MAEX,GAAI,GAAS,CAAC,EAAa,CACvB,IAAM,GAAgB,CAAQ,EAAkB,MAAM,CAAC,EAAiB,CAClE,EAAgB,EAAkB,aAAa,CAAC,EAAkB,CACxE,GAAI,IAC+B,IAA3B,EAAc,KADH,GACW,EAAc,CAAC,EAAe,CACpD,GAAI,EAAW,YAAY,CAAC,WAAW,CACnC,CADqC,MAC9B,MAAM,GAEjB,OAAM,IAAI,EAAA,eACd,AAD6B,CAGrC,CACA,IAAI,EAAW,MACX,GAAU,EAAY,IAAb,CAAkB,EAAK,EAAD,EAG/B,EAAW,AAAa,OAHqB,KAC7C,EAAW,CAAA,EAEwB,IAAM,CAAA,EAE7C,IAAM,GACgB,IAAtB,EAAY,EAAkB,GAAb,EAEjB,CAAC,EAKK,EAAqB,GAAS,CAAC,EAIjC,GAAyB,GACzB,CAAA,EAAA,EAAA,iBADkD,IAClD,AAAqB,EAAC,CAClB,KAAM,aAbqF,aAc3F,wBACA,CACJ,GAEJ,IAAM,EAAS,EAAI,MAAM,EAAI,MACvB,EAAS,CAAA,EAAA,EAAA,SAAA,AAAS,IAClB,EAAa,EAAO,kBAAkB,GACtC,EAAU,QACZ,oBACA,EACA,WAAY,CACR,aAAc,CACV,gBAAgB,CAAQ,EAAW,YAAY,CAAC,cAAc,AAClE,EACA,iBAAiB,CAAQ,EAAW,eAAe,yBACnD,EACA,iBAAkB,CAAA,EAAA,EAAA,cAAA,AAAc,EAAC,EAAK,oBACtC,kBAAmB,EAAW,SAAS,CACvC,UAAW,EAAI,SAAS,CACxB,QAAS,AAAC,IACN,EAAI,EAAE,CAAC,QAAS,EACpB,EACA,sBAAkB,EAClB,8BAA+B,CAAC,EAAO,EAAU,EAAc,IAAa,EAAY,cAAc,CAAC,EAAK,EAAO,EAAc,EAAY,EACjJ,EACA,cAAe,SACX,CACJ,CACJ,EACM,EAAc,IAAI,EAAA,eAAe,CAAC,GAClC,EAAc,IAAI,EAAA,gBAAgB,CAAC,GACnC,EAAU,EAAA,kBAAkB,CAAC,mBAAmB,CAAC,EAAa,CAAA,EAAA,EAAA,sBAAA,AAAsB,EAAC,IAC3F,GAAI,CACA,IAAM,EAAoB,MAAO,GACtB,EAAY,MAAM,CAAC,EAAS,GAAS,OAAO,CAAC,KAChD,GAAI,CAAC,EAAM,OACX,EAAK,aAAa,CAAC,CACf,mBAAoB,EAAI,UAAU,CAClC,YAAY,CAChB,GACA,IAAM,EAAqB,EAAO,qBAAqB,GAEvD,GAAI,CAAC,EACD,OAEJ,GAAI,EAAmB,GAAG,CAAC,EAHF,kBAGwB,EAAA,cAAc,CAAC,aAAa,CAAE,YAC3E,QAAQ,IAAI,CAAC,CAAC,2BAA2B,EAAE,EAAmB,GAAG,CAAC,kBAAkB,qEAAqE,CAAC,EAG9J,IAAM,EAAQ,EAAmB,GAAG,CAAC,cACrC,GAAI,EAAO,CACP,IAAM,EAAO,CAAA,EAAG,EAAO,CAAC,EAAE,EAAA,CAAO,CACjC,EAAK,aAAa,CAAC,CACf,aAAc,EACd,aAAc,EACd,iBAAkB,CACtB,GACA,EAAK,UAAU,CAAC,EACpB,MACI,CADG,CACE,UAAU,CAAC,CAAA,EAAG,EAAO,CAAC,EAAE,EAAA,CAAS,CAE9C,GAEE,GAAgB,CAAoC,CAAA,EAAA,EAAA,EAA5B,YAA4B,AAAc,EAAC,EAAK,eACxE,EAAiB,MAAO,QACtB,EA4FI,EA3FR,IAAM,EAAoB,MAAO,CAAE,oBAAkB,CAAE,IACnD,GAAI,CACA,GAAI,CAAC,GAAiB,GAAwB,GAA2B,CAAC,EAKtE,OAJA,EAAI,SADsF,CAC5E,CAAG,IAEjB,EAAI,SAAS,CAAC,iBAAkB,eAChC,EAAI,GAAG,CAAC,gCACD,KAEX,IAAM,EAAW,MAAM,EAAkB,GACzC,EAAI,YAAY,CAAG,EAAQ,UAAU,CAAC,YAAY,CAClD,IAAI,EAAmB,EAAQ,UAAU,CAAC,gBAAgB,CAGtD,GACI,EAAI,SAAS,EAAE,CACf,CAFc,CAEV,SAAS,CAAC,GACd,OAAmB,GAG3B,IAAM,EAAY,EAAQ,UAAU,CAAC,aAAa,CAGlD,IAAI,EA6BA,OADA,MAAM,CAAA,EAAA,EAAA,YAAA,AAAY,EAAC,EAAa,EAAa,EAAU,EAAQ,UAAU,CAAC,gBAAgB,EACnF,IA7BA,EACP,IAAM,EAAO,MAAM,EAAS,IAAI,GAE1B,EAAU,CAAA,EAAA,EAAA,yBAAA,AAAyB,EAAC,EAAS,OAAO,EACtD,IACA,CAAO,CAAC,EAAA,GADG,mBACmB,CAAC,CAAG,CAAA,EAElC,CAAC,CAAO,CAAC,eAAe,EAAI,EAAK,IAAI,EAAE,CACvC,CAAO,CAAC,eAAe,CAAG,EAAK,IAAA,AAAI,EAEvC,IAAM,EAAa,KAAkD,IAA3C,EAAQ,UAAU,CAAC,mBAAmB,IAAoB,EAAQ,UAAU,CAAC,mBAAmB,EAAI,EAAA,cAAc,AAAd,GAAiB,AAAQ,EAAQ,UAAU,CAAC,mBAAmB,CACvL,EAAS,KAA8C,IAAvC,EAAQ,UAAU,CAAC,eAAe,EAAoB,EAAQ,UAAU,CAAC,eAAe,EAAI,EAAA,cAAc,MAAG,EAAY,EAAQ,UAAU,CAAC,eAAe,CAcjL,MAZmB,CACf,AAWG,MAXI,CACH,KAAM,EAAA,eAAe,CAAC,SAAS,CAC/B,OAAQ,EAAS,MAAM,CACvB,KAAM,OAAO,IAAI,CAAC,MAAM,EAAK,WAAW,YACxC,CACJ,EACA,aAAc,YACV,SACA,CACJ,CACJ,CAEJ,CAKJ,CAAE,KALS,CAKF,EAAK,CAeV,MAZ0B,MAAtB,EAA6B,KAAK,EAAI,EAAmB,OAAA,AAAO,EAAE,CAElE,MAAM,EAAY,cAAc,CAAC,EAAK,EAAK,CACvC,WAAY,aACZ,UAAW,EACX,UAAW,QACX,iBAAkB,CAAA,EAAA,EAAA,mBAAA,AAAmB,EAAC,oBAClC,EACA,sBACJ,EACJ,GAAG,AATgB,EASJ,GAEb,CACV,CACJ,EACM,EAAa,MAAM,EAAY,cAAc,CAAC,KAChD,aACA,WACA,EACA,UAAW,EAAA,SAAS,CAAC,SAAS,CAC9B,YAAY,oBACZ,EACA,mBAAmB,uBACnB,0BACA,oBACA,EACA,UAAW,EAAI,SAAS,eACxB,CACJ,GAEA,GAAI,CAAC,EACD,KADQ,EACD,KAEX,GAAI,CAAe,MAAd,CAAqB,EAAS,AAA0C,GAA9C,IAAK,EAAoB,EAAW,KAAA,AAAK,EAAY,KAAK,EAAI,EAAkB,IAAI,IAAM,EAAA,eAAe,CAAC,SAAS,CAE9I,CAFgJ,KAE1I,OAAO,cAAc,CAAC,AAAI,MAAM,CAAC,kDAAkD,EAAgB,MAAd,CAAqB,EAAS,AAA2C,GAA/C,IAAK,EAAqB,EAAW,KAAA,AAAK,EAAY,KAAK,EAAI,EAAmB,IAAI,CAAA,CAAE,EAAG,oBAAqB,CACjO,MAAO,OACP,YAAY,EACZ,aAAc,EAClB,EAEA,CAAC,GACD,EAAI,SAAS,CADG,AACF,iBAAkB,EAAuB,cAAgB,EAAW,MAAM,CAAG,OAAS,EAAW,OAAO,CAAG,QAAU,OAGnI,GACA,EAAI,QADS,CACA,CAAC,gBAAiB,2DAEnC,IAAM,EAAU,CAAA,EAAA,EAAA,2BAA2B,AAA3B,EAA4B,EAAW,KAAK,CAAC,OAAO,EAcpE,OAbI,AAAE,CAAD,EAAkB,GACnB,EAAQ,AADgB,GAAG,GACb,CAAC,EAAA,sBAAsB,GAIrC,EAAW,YAAY,EAAK,EAAD,AAAK,SAAS,CAAC,kBAAqB,EAAD,AAAS,GAAG,CAAC,kBAAkB,AAC7F,EAAQ,GAAG,CAAC,gBAAiB,CAAA,EAAA,EAAA,qBAAqB,AAArB,EAAsB,EAAW,YAAY,GAE9E,MAAM,CAAA,EAAA,EAAA,YAAA,AAAY,EAAC,EAAa,EAChC,IAAI,SAAS,EAAW,KAAK,CAAC,IAAI,CAAE,SAChC,EACA,OAAQ,EAAW,KAAK,CAAC,MAAM,EAAI,GACvC,IACO,IACX,EAGI,EACA,MAAM,EAAe,EADT,CAGZ,MAAM,EAAO,qBAAqB,CAAC,EAAI,OAAO,CAAE,IAAI,EAAO,KAAK,CAAC,EAAA,cAAc,CAAC,aAAa,CAAE,CACvF,SAAU,CAAA,EAAG,EAAO,CAAC,EAAE,EAAA,CAAS,CAChC,KAAM,EAAA,QAAQ,CAAC,MAAM,CACrB,WAAY,CACR,cAAe,EACf,cAAe,EAAI,GAAG,AAC1B,CACJ,EAAG,GAEf,CAAE,MAAO,EAAK,CAeV,GAdM,aAAe,EAAA,eAAe,EAEhC,CAFmC,KAE7B,EAAY,cAAc,CAAC,EAAK,EAAK,CACvC,WAAY,aACZ,UAAW,EACX,UAAW,QACX,iBAAkB,CAAA,EAAA,EAAA,mBAAA,AAAmB,EAAC,oBAClC,uBACA,CACJ,EACJ,GAAG,AATgB,EASJ,GAIf,EAAO,MAAM,EAKjB,OAHA,MAAM,CAAA,EAAA,EAAA,YAAA,AAAY,EAAC,EAAa,EAAa,IAAI,SAAS,KAAM,CAC5D,OAAQ,GACZ,IACO,IACX,CACJ,EAEA,qCAAqC","ignoreList":[1]}