MCPcopy Create free account
hub / github.com/Snapchat/Valdi / processTsConfigDir

Function processTsConfigDir

npm_modules/cli/src/commands/projectsync.ts:306–338  ·  view source on GitHub ↗
(
  tsConfigDir: TsConfigDir,
  baseTsConfigFilePath: string | undefined,
  baseTsFiles: readonly string[],
)

Source from the content-addressed store, hash-verified

304}
305
306async function processTsConfigDir(
307 tsConfigDir: TsConfigDir,
308 baseTsConfigFilePath: string | undefined,
309 baseTsFiles: readonly string[],
310): Promise<void> {
311 const tsConfigPath = path.join(tsConfigDir.dir, 'tsconfig.json');
312
313 let tsConfigFile: JSONCFile<any>;
314 if (fsSync.existsSync(tsConfigPath)) {
315 const fileContent = await fs.readFile(tsConfigPath);
316 tsConfigFile = JSONCFile.parse(fileContent.toString('utf8'));
317 } else {
318 tsConfigFile = JSONCFile.fromObject({});
319 }
320
321 const tsCompilerOptions = computeTsCompilerOptions(
322 tsConfigFile?.value?.compilerOptions,
323 tsConfigDir.dir,
324 tsConfigDir.matchedTargets,
325 baseTsFiles,
326 );
327
328 if (baseTsConfigFilePath) {
329 const resolvedBaseTsConfigFilePath = relativePathTo(tsConfigDir.dir, baseTsConfigFilePath);
330 if (tsConfigFile?.value?.extends !== resolvedBaseTsConfigFilePath) {
331 tsConfigFile = updateTsConfigFile(tsConfigFile, ['extends'], resolvedBaseTsConfigFilePath);
332 }
333 }
334
335 tsConfigFile = updateTsConfigFile(tsConfigFile, ['compilerOptions'], tsCompilerOptions);
336
337 await fs.writeFile(tsConfigPath, tsConfigFile.toJSONString());
338}
339
340function computeSourceMapPathOverrides(
341 bazelWorkspaceRoot: string,

Callers 1

runProjectSyncFunction · 0.85

Calls 10

relativePathToFunction · 0.90
computeTsCompilerOptionsFunction · 0.85
updateTsConfigFileFunction · 0.85
fromObjectMethod · 0.80
toJSONStringMethod · 0.80
readFileMethod · 0.65
toStringMethod · 0.65
writeFileMethod · 0.65
joinMethod · 0.45
parseMethod · 0.45

Tested by

no test coverage detected