{"version":3,"sources":["../../src/lib/format-dynamic-import-path.ts"],"sourcesContent":["import path from 'path'\nimport { pathToFileURL, fileURLToPath } from 'url'\n\n/**\n * Converts a cache handler path to a filesystem path.\n * ESM's import.meta.resolve() returns file:// URLs which break when concatenated\n * with .next/ or used with path.join/path.relative.\n * @param filePath - Absolute path, relative path, or file:// URL (e.g. from import.meta.resolve)\n * @returns A filesystem path suitable for path operations\n */\nexport function resolveCacheHandlerPathToFilesystem(filePath: string): string {\n  if (filePath.startsWith('file://')) {\n    return fileURLToPath(filePath)\n  }\n  return filePath\n}\n\n/**\n * The path for a dynamic route must be URLs with a valid scheme.\n *\n * When an absolute Windows path is passed to it, it interprets the beginning of the path as a protocol (`C:`).\n * Therefore, it is important to always construct a complete path.\n * @param dir File directory\n * @param filePath Absolute or relative path, or file:// URL (e.g. from import.meta.resolve)\n */\nexport const formatDynamicImportPath = (dir: string, filePath: string) => {\n  const resolvedFilePath = resolveCacheHandlerPathToFilesystem(filePath)\n\n  const absoluteFilePath = path.isAbsolute(resolvedFilePath)\n    ? resolvedFilePath\n    : path.join(dir, resolvedFilePath)\n  const formattedFilePath = pathToFileURL(absoluteFilePath).toString()\n\n  return formattedFilePath\n}\n"],"names":["formatDynamicImportPath","resolveCacheHandlerPathToFilesystem","filePath","startsWith","fileURLToPath","dir","resolvedFilePath","absoluteFilePath","path","isAbsolute","join","formattedFilePath","pathToFileURL","toString"],"mappings":";;;;;;;;;;;;;;;IAyBaA,uBAAuB;eAAvBA;;IAfGC,mCAAmC;eAAnCA;;;6DAVC;qBAC4B;;;;;;AAStC,SAASA,oCAAoCC,QAAgB;IAClE,IAAIA,SAASC,UAAU,CAAC,YAAY;QAClC,OAAOC,IAAAA,kBAAa,EAACF;IACvB;IACA,OAAOA;AACT;AAUO,MAAMF,0BAA0B,CAACK,KAAaH;IACnD,MAAMI,mBAAmBL,oCAAoCC;IAE7D,MAAMK,mBAAmBC,aAAI,CAACC,UAAU,CAACH,oBACrCA,mBACAE,aAAI,CAACE,IAAI,CAACL,KAAKC;IACnB,MAAMK,oBAAoBC,IAAAA,kBAAa,EAACL,kBAAkBM,QAAQ;IAElE,OAAOF;AACT","ignoreList":[0]}