{
  "version": 3,
  "sources": ["../../../../src/packages/resolve-dependencies/safeIsInnerLink.ts"],
  "sourcesContent": ["import path from 'node:path';\nimport { logger } from '../logger/index.ts';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport isInnerLink from 'is-inner-link';\nimport isSubdir from 'is-subdir';\nimport renameOverwrite from 'rename-overwrite';\n\nexport async function safeIsInnerLink(\n  projectModulesDir: string,\n  depName: string,\n  opts: {\n    hideAlienModules: boolean;\n    projectDir: string;\n    virtualStoreDir: string;\n  }\n): Promise<true | string> {\n  try {\n    const link = await isInnerLink(projectModulesDir, depName);\n\n    // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n    if (link.isInner) {\n      return true;\n    }\n\n    if (isSubdir(opts.virtualStoreDir, link.target)) {\n      return true;\n    }\n\n    return link.target;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  } catch (err: any) {\n    if (err.code === 'ENOENT') {\n      return true;\n    }\n\n    if (opts.hideAlienModules) {\n      logger.warn({\n        message: `Moving ${depName} that was installed by a different package manager to \"node_modules/.ignored\"`,\n        prefix: opts.projectDir,\n      });\n\n      const ignoredDir = path.join(projectModulesDir, '.ignored', depName);\n\n      await renameOverwrite(path.join(projectModulesDir, depName), ignoredDir);\n    }\n\n    return true;\n  }\n}\n"],
  "mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,cAAc;AAGvB,OAAO,iBAAiB;AACxB,OAAO,cAAc;AACrB,OAAO,qBAAqB;AAE5B,eAAsB,gBACpB,mBACA,SACA,MAKwB;AACxB,MAAI;AACF,UAAM,OAAO,MAAM,YAAY,mBAAmB,OAAO;AAGzD,QAAI,KAAK,SAAS;AAChB,aAAO;AAAA,IACT;AAEA,QAAI,SAAS,KAAK,iBAAiB,KAAK,MAAM,GAAG;AAC/C,aAAO;AAAA,IACT;AAEA,WAAO,KAAK;AAAA,EAEd,SAAS,KAAU;AACjB,QAAI,IAAI,SAAS,UAAU;AACzB,aAAO;AAAA,IACT;AAEA,QAAI,KAAK,kBAAkB;AACzB,aAAO,KAAK;AAAA,QACV,SAAS,UAAU,OAAO;AAAA,QAC1B,QAAQ,KAAK;AAAA,MACf,CAAC;AAED,YAAM,aAAa,KAAK,KAAK,mBAAmB,YAAY,OAAO;AAEnE,YAAM,gBAAgB,KAAK,KAAK,mBAAmB,OAAO,GAAG,UAAU;AAAA,IACzE;AAEA,WAAO;AAAA,EACT;AACF;",
  "names": []
}
