{"version":3,"file":"normalizePath.cjs","names":["path"],"sources":["../../src/utils/normalizePath.ts"],"sourcesContent":["import { posix as path } from \"./browser-primitives.js\";\n\n/**\n * Normalize a path and make it relative to `params.extractDir` for inclusion\n * in our tar archives.\n *\n * Relative paths are first resolved to `params.cwd`.\n * Absolute paths are normalized and resolved relative to `params.extractDir`.\n *\n * In addition, paths are normalized so consecutive slashes are removed and\n * stuff like `../..` is resolved appropriately.\n *\n * This function always returns a path relative to `params.extractDir`.\n */\nexport function normalizePath(params: {\n  filePath: string;\n  cwd: string;\n  extractDir: string;\n}) {\n  if (!path.isAbsolute(params.cwd)) {\n    throw new Error(\"cwd dir must be absolute\");\n  }\n\n  if (!path.isAbsolute(params.extractDir)) {\n    throw new Error(\"extractDir must be absolute\");\n  }\n\n  const basePath = path.isAbsolute(params.filePath)\n    ? path.normalize(params.filePath)\n    : path.join(params.cwd, params.filePath);\n\n  return path.relative(params.extractDir, basePath);\n}\n"],"mappings":";;;;;;;;;;;;;;;AAcA,SAAgB,cAAc,QAI3B;AACD,KAAI,CAACA,iCAAK,WAAW,OAAO,IAAI,CAC9B,OAAM,IAAI,MAAM,2BAA2B;AAG7C,KAAI,CAACA,iCAAK,WAAW,OAAO,WAAW,CACrC,OAAM,IAAI,MAAM,8BAA8B;CAGhD,MAAM,WAAWA,iCAAK,WAAW,OAAO,SAAS,GAC7CA,iCAAK,UAAU,OAAO,SAAS,GAC/BA,iCAAK,KAAK,OAAO,KAAK,OAAO,SAAS;AAE1C,QAAOA,iCAAK,SAAS,OAAO,YAAY,SAAS"}