MCPcopy Create free account
hub / github.com/microsoft/typescript-go / logProjectChanges

Method logProjectChanges

internal/project/session.go:1458–1488  ·  view source on GitHub ↗

logProjectChanges logs information about projects that have changed between snapshots

(oldSnapshot *Snapshot, newSnapshot *Snapshot)

Source from the content-addressed store, hash-verified

1456
1457// logProjectChanges logs information about projects that have changed between snapshots
1458func (s *Session) logProjectChanges(oldSnapshot *Snapshot, newSnapshot *Snapshot) {
1459 var loggedProjectChanges bool
1460 logProject := func(project *Project) {
1461 var builder strings.Builder
1462 project.print(s.logger.IsVerbose() /*writeFileNames*/, s.logger.IsVerbose() /*writeFileExplanation*/, &builder)
1463 s.logger.Log(builder.String())
1464 loggedProjectChanges = true
1465 }
1466 collections.DiffOrderedMaps(
1467 oldSnapshot.ProjectCollection.ProjectsByPath(),
1468 newSnapshot.ProjectCollection.ProjectsByPath(),
1469 func(path tspath.Path, addedProject *Project) {
1470 // New project added
1471 logProject(addedProject)
1472 },
1473 func(path tspath.Path, removedProject *Project) {
1474 // Project removed
1475 s.logger.Logf("\nProject '%s' removed\n%s", removedProject.Name(), hr)
1476 },
1477 func(path tspath.Path, oldProject, newProject *Project) {
1478 // Project updated
1479 if newProject.ProgramUpdateKind == ProgramUpdateKindNewFiles {
1480 logProject(newProject)
1481 }
1482 },
1483 )
1484
1485 if loggedProjectChanges || s.logger.IsVerbose() {
1486 s.logCacheStats(newSnapshot)
1487 }
1488}
1489
1490func (s *Session) logCacheStats(snapshot *Snapshot) {
1491 var parseCacheSize int

Callers 1

updateSnapshotMethod · 0.95

Calls 9

logCacheStatsMethod · 0.95
DiffOrderedMapsFunction · 0.92
ProjectsByPathMethod · 0.80
printMethod · 0.65
IsVerboseMethod · 0.65
LogMethod · 0.65
StringMethod · 0.65
LogfMethod · 0.65
NameMethod · 0.65

Tested by

no test coverage detected