Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
1 line
No EOL
6.7 KiB
Text
1 line
No EOL
6.7 KiB
Text
{"version":3,"sources":["../../../src/export/routes/pages.ts"],"sourcesContent":["import type { ExportRouteResult } from '../types'\nimport type {\n PagesRenderContext,\n PagesSharedContext,\n RenderOpts,\n} from '../../server/render'\nimport type { LoadComponentsReturnType } from '../../server/load-components'\nimport type { NextParsedUrlQuery } from '../../server/request-meta'\nimport type { Params } from '../../server/request/params'\n\nimport RenderResult from '../../server/render-result'\nimport { join } from 'path'\nimport type {\n MockedRequest,\n MockedResponse,\n} from '../../server/lib/mock-request'\nimport {\n HTML_CONTENT_TYPE_HEADER,\n NEXT_DATA_SUFFIX,\n SERVER_PROPS_EXPORT_ERROR,\n} from '../../lib/constants'\nimport { isBailoutToCSRError } from '../../shared/lib/lazy-dynamic/bailout-to-csr'\nimport { lazyRenderPagesPage } from '../../server/route-modules/pages/module.render'\nimport type { MultiFileWriter } from '../../lib/multi-file-writer'\n\n/**\n * Renders & exports a page associated with the /pages directory\n */\nexport async function exportPagesPage(\n req: MockedRequest,\n res: MockedResponse,\n path: string,\n page: string,\n query: NextParsedUrlQuery,\n params: Params | undefined,\n htmlFilepath: string,\n htmlFilename: string,\n pagesDataDir: string,\n buildExport: boolean,\n isDynamic: boolean,\n sharedContext: PagesSharedContext,\n renderContext: PagesRenderContext,\n hasOrigQueryValues: boolean,\n renderOpts: RenderOpts,\n components: LoadComponentsReturnType,\n fileWriter: MultiFileWriter\n): Promise<ExportRouteResult | undefined> {\n if (components.getServerSideProps) {\n throw new Error(`Error for page ${page}: ${SERVER_PROPS_EXPORT_ERROR}`)\n }\n\n // for non-dynamic SSG pages we should have already\n // prerendered the file\n if (!buildExport && components.getStaticProps && !isDynamic) {\n return\n }\n\n // Pages router merges page params (e.g. [lang]) with query params\n // primarily to support them both being accessible on `useRouter().query`.\n // If we extracted dynamic params from the path, we need to merge them\n // back into the query object.\n const searchAndDynamicParams = {\n ...query,\n ...params,\n }\n\n if (components.getStaticProps && !htmlFilepath.endsWith('.html')) {\n // make sure it ends with .html if the name contains a dot\n htmlFilepath += '.html'\n htmlFilename += '.html'\n }\n\n let renderResult: RenderResult | undefined\n\n if (typeof components.Component === 'string') {\n renderResult = RenderResult.fromStatic(\n components.Component,\n HTML_CONTENT_TYPE_HEADER\n )\n\n if (hasOrigQueryValues) {\n throw new Error(\n `\\nError: you provided query values for ${path} which is an auto-exported page. These can not be applied since the page can no longer be re-rendered on the server. To disable auto-export for this page add \\`getInitialProps\\`\\n`\n )\n }\n } else {\n /**\n * This sets environment variable to be used at the time of SSR by head.tsx.\n * Using this from process.env allows targeting SSR by calling\n * `process.env.__NEXT_OPTIMIZE_CSS`.\n */\n if (renderOpts.optimizeCss) {\n process.env.__NEXT_OPTIMIZE_CSS = JSON.stringify(true)\n }\n try {\n renderResult = await lazyRenderPagesPage(\n req,\n res,\n page,\n searchAndDynamicParams,\n renderOpts,\n sharedContext,\n renderContext\n )\n } catch (err) {\n if (!isBailoutToCSRError(err)) throw err\n }\n }\n\n const ssgNotFound = renderResult?.metadata.isNotFound\n\n const html =\n renderResult && !renderResult.isNull ? renderResult.toUnchunkedString() : ''\n\n const metadata = renderResult?.metadata || {}\n if (metadata.pageData) {\n const dataFile = join(\n pagesDataDir,\n htmlFilename.replace(/\\.html$/, NEXT_DATA_SUFFIX)\n )\n\n fileWriter.append(dataFile, JSON.stringify(metadata.pageData))\n }\n\n if (!ssgNotFound) {\n // don't attempt writing to disk if getStaticProps returned not found\n fileWriter.append(htmlFilepath, html)\n }\n\n return {\n cacheControl: metadata.cacheControl ?? {\n revalidate: false,\n expire: undefined,\n },\n ssgNotFound,\n }\n}\n"],"names":["exportPagesPage","req","res","path","page","query","params","htmlFilepath","htmlFilename","pagesDataDir","buildExport","isDynamic","sharedContext","renderContext","hasOrigQueryValues","renderOpts","components","fileWriter","getServerSideProps","Error","SERVER_PROPS_EXPORT_ERROR","getStaticProps","searchAndDynamicParams","endsWith","renderResult","Component","RenderResult","fromStatic","HTML_CONTENT_TYPE_HEADER","optimizeCss","process","env","__NEXT_OPTIMIZE_CSS","JSON","stringify","lazyRenderPagesPage","err","isBailoutToCSRError","ssgNotFound","metadata","isNotFound","html","isNull","toUnchunkedString","pageData","dataFile","join","replace","NEXT_DATA_SUFFIX","append","cacheControl","revalidate","expire","undefined"],"mappings":";;;;+BA4BsBA;;;eAAAA;;;qEAlBG;sBACJ;2BASd;8BAC6B;8BACA;;;;;;AAM7B,eAAeA,gBACpBC,GAAkB,EAClBC,GAAmB,EACnBC,IAAY,EACZC,IAAY,EACZC,KAAyB,EACzBC,MAA0B,EAC1BC,YAAoB,EACpBC,YAAoB,EACpBC,YAAoB,EACpBC,WAAoB,EACpBC,SAAkB,EAClBC,aAAiC,EACjCC,aAAiC,EACjCC,kBAA2B,EAC3BC,UAAsB,EACtBC,UAAoC,EACpCC,UAA2B;IAE3B,IAAID,WAAWE,kBAAkB,EAAE;QACjC,MAAM,qBAAiE,CAAjE,IAAIC,MAAM,CAAC,eAAe,EAAEf,KAAK,EAAE,EAAEgB,oCAAyB,EAAE,GAAhE,qBAAA;mBAAA;wBAAA;0BAAA;QAAgE;IACxE;IAEA,mDAAmD;IACnD,uBAAuB;IACvB,IAAI,CAACV,eAAeM,WAAWK,cAAc,IAAI,CAACV,WAAW;QAC3D;IACF;IAEA,kEAAkE;IAClE,0EAA0E;IAC1E,sEAAsE;IACtE,8BAA8B;IAC9B,MAAMW,yBAAyB;QAC7B,GAAGjB,KAAK;QACR,GAAGC,MAAM;IACX;IAEA,IAAIU,WAAWK,cAAc,IAAI,CAACd,aAAagB,QAAQ,CAAC,UAAU;QAChE,0DAA0D;QAC1DhB,gBAAgB;QAChBC,gBAAgB;IAClB;IAEA,IAAIgB;IAEJ,IAAI,OAAOR,WAAWS,SAAS,KAAK,UAAU;QAC5CD,eAAeE,qBAAY,CAACC,UAAU,CACpCX,WAAWS,SAAS,EACpBG,mCAAwB;QAG1B,IAAId,oBAAoB;YACtB,MAAM,qBAEL,CAFK,IAAIK,MACR,CAAC,uCAAuC,EAAEhB,KAAK,mLAAmL,CAAC,GAD/N,qBAAA;uBAAA;4BAAA;8BAAA;YAEN;QACF;IACF,OAAO;QACL;;;;KAIC,GACD,IAAIY,WAAWc,WAAW,EAAE;YAC1BC,QAAQC,GAAG,CAACC,mBAAmB,GAAGC,KAAKC,SAAS,CAAC;QACnD;QACA,IAAI;YACFV,eAAe,MAAMW,IAAAA,iCAAmB,EACtClC,KACAC,KACAE,MACAkB,wBACAP,YACAH,eACAC;QAEJ,EAAE,OAAOuB,KAAK;YACZ,IAAI,CAACC,IAAAA,iCAAmB,EAACD,MAAM,MAAMA;QACvC;IACF;IAEA,MAAME,cAAcd,gCAAAA,aAAce,QAAQ,CAACC,UAAU;IAErD,MAAMC,OACJjB,gBAAgB,CAACA,aAAakB,MAAM,GAAGlB,aAAamB,iBAAiB,KAAK;IAE5E,MAAMJ,WAAWf,CAAAA,gCAAAA,aAAce,QAAQ,KAAI,CAAC;IAC5C,IAAIA,SAASK,QAAQ,EAAE;QACrB,MAAMC,WAAWC,IAAAA,UAAI,EACnBrC,cACAD,aAAauC,OAAO,CAAC,WAAWC,2BAAgB;QAGlD/B,WAAWgC,MAAM,CAACJ,UAAUZ,KAAKC,SAAS,CAACK,SAASK,QAAQ;IAC9D;IAEA,IAAI,CAACN,aAAa;QAChB,qEAAqE;QACrErB,WAAWgC,MAAM,CAAC1C,cAAckC;IAClC;IAEA,OAAO;QACLS,cAAcX,SAASW,YAAY,IAAI;YACrCC,YAAY;YACZC,QAAQC;QACV;QACAf;IACF;AACF","ignoreList":[0]} |