Rocky_Mountain_Vending/.pnpm-store/v10/files/33/846893fd4badb14fb5aeaa85f97ad4a400c8a49ef7b045d872b32e2320a6db9ed2f9156a69a9695a8b32a645583d51b060fe772cc399cd370ef7cea5ef38e5
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
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>
2026-02-12 16:22:15 -07:00

1 line
No EOL
8.5 KiB
Text

{"version":3,"sources":["../../../../src/lib/metadata/resolvers/resolve-url.ts"],"sourcesContent":["import path from '../../../shared/lib/isomorphic/path'\nimport type { MetadataContext } from '../types/resolvers'\n\nexport type MetadataBaseURL = URL | null\n\nfunction isStringOrURL(icon: any): icon is string | URL {\n return typeof icon === 'string' || icon instanceof URL\n}\n\nfunction createLocalMetadataBase() {\n // Check if experimental HTTPS is enabled\n const isExperimentalHttps = Boolean(process.env.__NEXT_EXPERIMENTAL_HTTPS)\n const protocol = isExperimentalHttps ? 'https' : 'http'\n return new URL(`${protocol}://localhost:${process.env.PORT || 3000}`)\n}\n\nfunction getPreviewDeploymentUrl(): URL | undefined {\n const origin = process.env.VERCEL_BRANCH_URL || process.env.VERCEL_URL\n return origin ? new URL(`https://${origin}`) : undefined\n}\n\nfunction getProductionDeploymentUrl(): URL | undefined {\n const origin = process.env.VERCEL_PROJECT_PRODUCTION_URL\n return origin ? new URL(`https://${origin}`) : undefined\n}\n\n/**\n * Given an optional user-provided metadataBase, this determines what the metadataBase should\n * fallback to. Specifically:\n * - In dev, it should always be localhost\n * - In Vercel preview builds, it should be the preview build ID\n * - In start, it should be the user-provided metadataBase value. Otherwise,\n * it'll fall back to the Vercel production deployment, and localhost as a last resort.\n */\nexport function getSocialImageMetadataBaseFallback(\n metadataBase: MetadataBaseURL\n): URL {\n const defaultMetadataBase = createLocalMetadataBase()\n const previewDeploymentUrl = getPreviewDeploymentUrl()\n const productionDeploymentUrl = getProductionDeploymentUrl()\n\n let fallbackMetadataBase\n if (process.env.NODE_ENV === 'development') {\n fallbackMetadataBase = defaultMetadataBase\n } else {\n fallbackMetadataBase =\n process.env.NODE_ENV === 'production' &&\n previewDeploymentUrl &&\n process.env.VERCEL_ENV === 'preview'\n ? previewDeploymentUrl\n : metadataBase || productionDeploymentUrl || defaultMetadataBase\n }\n\n return fallbackMetadataBase\n}\n\nfunction resolveUrl(url: null | undefined, metadataBase: MetadataBaseURL): null\nfunction resolveUrl(url: string | URL, metadataBase: MetadataBaseURL): URL\nfunction resolveUrl(\n url: string | MetadataBaseURL | undefined,\n metadataBase: MetadataBaseURL\n): MetadataBaseURL\nfunction resolveUrl(\n url: string | MetadataBaseURL | undefined,\n metadataBase: MetadataBaseURL\n): MetadataBaseURL {\n if (url instanceof URL) return url\n if (!url) return null\n\n try {\n // If we can construct a URL instance from url, ignore metadataBase\n const parsedUrl = new URL(url)\n return parsedUrl\n } catch {}\n\n if (!metadataBase) {\n metadataBase = createLocalMetadataBase()\n }\n\n // Handle relative or absolute paths\n const pathname = metadataBase.pathname || ''\n const joinedPath = path.posix.join(pathname, url)\n\n return new URL(joinedPath, metadataBase)\n}\n\n// Resolve with `pathname` if `url` is a relative path.\nfunction resolveRelativeUrl(url: string | URL, pathname: string): string | URL {\n if (typeof url === 'string' && url.startsWith('./')) {\n return path.posix.resolve(pathname, url)\n }\n return url\n}\n\n// The regex is matching logic from packages/next/src/lib/load-custom-routes.ts\nconst FILE_REGEX =\n /^(?:\\/((?!\\.well-known(?:\\/.*)?)(?:[^/]+\\/)*[^/]+\\.\\w+))(\\/?|$)/i\nfunction isFilePattern(pathname: string): boolean {\n return FILE_REGEX.test(pathname)\n}\n\n// Resolve `pathname` if `url` is a relative path the compose with `metadataBase`.\nfunction resolveAbsoluteUrlWithPathname(\n url: string | URL,\n metadataBase: MetadataBaseURL,\n pathname: string,\n { trailingSlash }: MetadataContext\n): string {\n // Resolve url with pathname that always starts with `/`\n url = resolveRelativeUrl(url, pathname)\n\n // Convert string url or URL instance to absolute url string,\n // if there's case needs to be resolved with metadataBase\n let resolvedUrl = ''\n const result = metadataBase ? resolveUrl(url, metadataBase) : url\n if (typeof result === 'string') {\n resolvedUrl = result\n } else {\n resolvedUrl =\n result.pathname === '/' && result.searchParams.size === 0\n ? result.origin\n : result.href\n }\n\n // Add trailing slash if it's enabled for urls matches the condition\n // - Not external, same origin with metadataBase\n // - Doesn't have query\n if (trailingSlash && !resolvedUrl.endsWith('/')) {\n let isRelative = resolvedUrl.startsWith('/')\n let hasQuery = resolvedUrl.includes('?')\n let isExternal = false\n let isFileUrl = false\n\n if (!isRelative) {\n try {\n const parsedUrl = new URL(resolvedUrl)\n isExternal =\n metadataBase != null && parsedUrl.origin !== metadataBase.origin\n isFileUrl = isFilePattern(parsedUrl.pathname)\n } catch {\n // If it's not a valid URL, treat it as external\n isExternal = true\n }\n if (\n // Do not apply trailing slash for file like urls, aligning with the behavior with `trailingSlash`\n !isFileUrl &&\n !isExternal &&\n !hasQuery\n )\n return `${resolvedUrl}/`\n }\n }\n\n return resolvedUrl\n}\n\nexport {\n isStringOrURL,\n resolveUrl,\n resolveRelativeUrl,\n resolveAbsoluteUrlWithPathname,\n}\n"],"names":["path","isStringOrURL","icon","URL","createLocalMetadataBase","isExperimentalHttps","Boolean","process","env","__NEXT_EXPERIMENTAL_HTTPS","protocol","PORT","getPreviewDeploymentUrl","origin","VERCEL_BRANCH_URL","VERCEL_URL","undefined","getProductionDeploymentUrl","VERCEL_PROJECT_PRODUCTION_URL","getSocialImageMetadataBaseFallback","metadataBase","defaultMetadataBase","previewDeploymentUrl","productionDeploymentUrl","fallbackMetadataBase","NODE_ENV","VERCEL_ENV","resolveUrl","url","parsedUrl","pathname","joinedPath","posix","join","resolveRelativeUrl","startsWith","resolve","FILE_REGEX","isFilePattern","test","resolveAbsoluteUrlWithPathname","trailingSlash","resolvedUrl","result","searchParams","size","href","endsWith","isRelative","hasQuery","includes","isExternal","isFileUrl"],"mappings":"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","ignoreList":[0]}