{"version":3,"file":"get-config-path.mjs","sources":["../../src/utils/get-config-path.ts"],"sourcesContent":["import path from 'node:path';\nimport * as ts from 'typescript';\n\nconst DEFAULT_TS_CONFIG_FILENAME = 'tsconfig.json';\n\ninterface GetConfigPathOptions {\n  filename?: string;\n  ancestorsLookup?: boolean;\n}\n\n/**\n * Get the path of the typescript config file for a given directory\n */\nexport const getConfigPath = (\n  dir: string,\n  { filename = DEFAULT_TS_CONFIG_FILENAME, ancestorsLookup = false }: GetConfigPathOptions = {}\n): string | undefined => {\n  const dirAbsolutePath = path.resolve(dir);\n  let configFilePath = ts.findConfigFile(dirAbsolutePath, ts.sys.fileExists, filename);\n\n  if (configFilePath) configFilePath = path.resolve(configFilePath);\n\n  if (!configFilePath || ancestorsLookup) {\n    return configFilePath;\n  }\n\n  return configFilePath.startsWith(dirAbsolutePath) ? configFilePath : undefined;\n};\n"],"names":["DEFAULT_TS_CONFIG_FILENAME","getConfigPath","dir","filename","ancestorsLookup","dirAbsolutePath","path","resolve","configFilePath","ts","findConfigFile","sys","fileExists","startsWith","undefined"],"mappings":";;;AAGA,MAAMA,0BAAAA,GAA6B,eAAA;AAOnC;;AAEC,IACM,MAAMC,aAAAA,GAAgB,CAC3BC,KACA,EAAEC,QAAAA,GAAWH,0BAA0B,EAAEI,eAAAA,GAAkB,KAAK,EAAwB,GAAG,EAAE,GAAA;IAE7F,MAAMC,eAAAA,GAAkBC,IAAAA,CAAKC,OAAO,CAACL,GAAAA,CAAAA;IACrC,IAAIM,cAAAA,GAAiBC,GAAGC,cAAc,CAACL,iBAAiBI,EAAAA,CAAGE,GAAG,CAACC,UAAU,EAAET,QAAAA,CAAAA;AAE3E,IAAA,IAAIK,cAAAA,EAAgBA,cAAAA,GAAiBF,IAAAA,CAAKC,OAAO,CAACC,cAAAA,CAAAA;IAElD,IAAI,CAACA,kBAAkBJ,eAAAA,EAAiB;QACtC,OAAOI,cAAAA;AACT,IAAA;AAEA,IAAA,OAAOA,cAAAA,CAAeK,UAAU,CAACR,eAAAA,CAAAA,GAAmBG,cAAAA,GAAiBM,SAAAA;AACvE;;;;"}