tempDir
uses node:fs
A new empty directory, resolved through symlinks; the space in its name catches quoting bugs.
import fs from "node:fs"; import os from "node:os"; import path from "node:path"; export const tempDir = (name: string): string => fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), `tcm ${name} `)))
used by
- tcmts.cli.codebase.test.testLockEntriesAreInTheirRanges
- tcmts.cli.sync.test.testFetchesAreCappedAndOnlyWhatsAsked
- tcmts.cli.sync.test.testUnconfiguredUrlsGetNoToken
- tcmts.cli.test.e2e.builds.testAgentRunsAnOlderBuild
- tcmts.cli.test.e2e.builds.testMakeABuildFromHistory
- tcmts.cli.test.e2e.builds.testRunAnOlderBuild
- tcmts.cli.test.e2e.cli.testABadArgumentShowsTheUsage
- tcmts.cli.test.e2e.cli.testCompact
- tcmts.cli.test.e2e.cli.testDirectoryOption
- tcmts.cli.test.e2e.cli.testDoubledHashAndGrep
- tcmts.cli.test.e2e.cli.testEditAddsToTheScratchFile
- tcmts.cli.test.e2e.cli.testHelp
- tcmts.cli.test.e2e.cli.testHistoryCountsDependents
- tcmts.cli.test.e2e.cli.testHistoryNamesAndLimits
- tcmts.cli.test.e2e.cli.testMovedCodebaseFindsNodeTypes
- tcmts.cli.test.e2e.cli.testNamespaceSections
- tcmts.cli.test.e2e.cli.testOtherLayoutRefused
- tcmts.cli.test.e2e.cli.testPatchTakesOldAndNewAsWritten
- tcmts.cli.test.e2e.cli.testReadingAnotherBranch
- tcmts.cli.test.e2e.cli.testSearchTakesPatternsAsGrepDoes
- tcmts.cli.test.e2e.cli.testSessionPageIsSavedByItsName
- tcmts.cli.test.e2e.cli.testStatusAtPatchAndFiles
- tcmts.cli.test.e2e.cli.testTodoCountsWhatsBroken
- tcmts.cli.test.e2e.cli.testUsageErrors
- tcmts.cli.test.e2e.cli.withEcho
- tcmts.cli.test.e2e.contributions.testContributeReviewMerge
- tcmts.cli.test.e2e.contributions.testContributionMergesAsText
- tcmts.cli.test.e2e.contributions.testContributorsAndPublicRead
- tcmts.cli.test.e2e.contributions.testIllTypedContributionIsRefusedAtMerge
- tcmts.cli.test.e2e.contributions.testPublicServerStartsTheWebUiAhead
- tcmts.cli.test.e2e.contributions.testServeShowsOtherCodebasesForges
- tcmts.cli.test.e2e.contributions.testWebUi
- tcmts.cli.test.e2e.contributions.testWebUiStopsWithTheServer
- tcmts.cli.test.e2e.cycles.testClassEditedAlone
- tcmts.cli.test.e2e.cycles.testCycleMateImportsDontClash
- tcmts.cli.test.e2e.cycles.testCycleUpdatedWhole
- tcmts.cli.test.e2e.cycles.testCyclesAreWarnedAbout
- tcmts.cli.test.e2e.cycles.testNoCircularImports
- tcmts.cli.test.e2e.cycles.testUpdateMakingACycle
- tcmts.cli.test.e2e.data.testMigrationsUniqueIndexesUpdates
- tcmts.cli.test.e2e.data.testTableWithoutRowType
- tcmts.cli.test.e2e.data.testTransactions
- tcmts.cli.test.e2e.data.testTypedTables
- tcmts.cli.test.e2e.debug.testEachBranchHasItsOwnViews
- tcmts.cli.test.e2e.debug.testStackTracesPointAtDefinitions
- tcmts.cli.test.e2e.docs.testDocsFollowRenamesAndUpdates
- tcmts.cli.test.e2e.e2e.fixture
- tcmts.cli.test.e2e.e2e.testCommentOnlyEditsSave
- tcmts.cli.test.e2e.e2e.testPatchCodeAndPagesTogether
- tcmts.cli.test.e2e.e2e.testPatchSeveralAsTheyAreViewed
- tcmts.cli.test.e2e.e2e.testPatchSeveralAtOnce
- tcmts.cli.test.e2e.e2e.testPatchSeveralKeepsTheirImports
- tcmts.cli.test.e2e.e2e.testRemoveWhatUsesItTogether
- tcmts.cli.test.e2e.e2e.testShimFollowsNames
- tcmts.cli.test.e2e.e2e.testTypeChangeThroughAName
- tcmts.cli.test.e2e.e2e.testTypeKeptUpdatesRehashDependents
- tcmts.cli.test.e2e.e2e.testUsesFinalVersionOfRederived
- tcmts.cli.test.e2e.editing.testAddImportsWhatItUses
- tcmts.cli.test.e2e.editing.testChangeWhatImportsUseInOneSave
- tcmts.cli.test.e2e.editing.testCheckImportsWhatItUses
- tcmts.cli.test.e2e.editing.testCycleMatesKeepTheirFunctionNames
- tcmts.cli.test.e2e.editing.testEditAddsWhereItChecks
- tcmts.cli.test.e2e.editing.testEditNeverRenamesAFunction
- tcmts.cli.test.e2e.editing.testEditSeveralSavesEachAsItReadsAlone
- tcmts.cli.test.e2e.editing.testImportRenamedIsSavedAsText
- tcmts.cli.test.e2e.editing.testImportsUsingWhatChangesSavedWithIt
- tcmts.cli.test.e2e.editing.testNothingLeftToFixAfterGoingBack
- tcmts.cli.test.e2e.editing.testPatchAddsImportsItsGiven
- tcmts.cli.test.e2e.editing.testPatchSaysPlacesAsTheViewNumbersThem
- tcmts.cli.test.e2e.editing.testPatchSeveralInDependencyOrder
- tcmts.cli.test.e2e.editing.testPatchSeveralRenamesOnlyNames
- tcmts.cli.test.e2e.editing.testPatchTakesTemplateLiteralEscapesEitherWay
- tcmts.cli.test.e2e.editing.testSaveTakesOutUnusedImports
- tcmts.cli.test.e2e.editing.testSyntaxErrorIsSaidAlone
- tcmts.cli.test.e2e.editing.testTodoIsEditedAgainstWhatReplacedItsUses
- tcmts.cli.test.e2e.effects.testKeptConstantsFollowARename
- tcmts.cli.test.e2e.effects.testPackagesArePureByTheirCode
- tcmts.cli.test.e2e.effects.testPureConstantsAreKept
- tcmts.cli.test.e2e.effects.testResultsKeptForWhatTheyDependOn
- tcmts.cli.test.e2e.examples.exampleDir
- tcmts.cli.test.e2e.examples.testGeometryExample
- tcmts.cli.test.e2e.examples.testNotesExample
- tcmts.cli.test.e2e.examples.testPollsExample
- tcmts.cli.test.e2e.examples.testRemindersExample
- tcmts.cli.test.e2e.examples.testUserinputExample
- tcmts.cli.test.e2e.files.testCodeFilesSavedAsWritten
- tcmts.cli.test.e2e.files.testEditDoesNotOverwriteTheCodebasesConfig
- tcmts.cli.test.e2e.files.testFileNamedWithADashIsImported
- tcmts.cli.test.e2e.files.testFilesInAMirror
- tcmts.cli.test.e2e.files.testFilesWithoutAnExtension
- tcmts.cli.test.e2e.files.testMirroredCodeImportsAPage
- tcmts.cli.test.e2e.files.testPagesAreDefinitions
- tcmts.cli.test.e2e.files.testPatchAFile
- tcmts.cli.test.e2e.find.testFindByType
- tcmts.cli.test.e2e.find.testSignaturesFollowRenames
- tcmts.cli.test.e2e.fmt.testFmtKeepsWhatFormattingWouldChange
- tcmts.cli.test.e2e.fmt.testFmtRestylesWithNoHashChanging
- tcmts.cli.test.e2e.harness.testServersStopWhenTheirTestDoes
- tcmts.cli.test.e2e.history.testEntriesByHashOrDistance
- tcmts.cli.test.e2e.history.testHistorySameInEveryCodebase
- tcmts.cli.test.e2e.history.testMergesFollowHistory
- tcmts.cli.test.e2e.history.testMessagesSayWhatEntriesAreFor
- tcmts.cli.test.e2e.import.testImportFollowsPackageNamespaceReexports
- tcmts.cli.test.e2e.import.testImportGenericCallsBetweenFiles
- tcmts.cli.test.e2e.import.testImportGlobalAugmentation
- tcmts.cli.test.e2e.import.testImportLibrary
- tcmts.cli.test.e2e.import.testImportModuleAugmentation
- tcmts.cli.test.e2e.import.testImportTestsCachedByHash
- tcmts.cli.test.e2e.import.testProjectTypesFound
- tcmts.cli.test.e2e.jobs.testBackgroundJobs
- tcmts.cli.test.e2e.lint.setUp
- tcmts.cli.test.e2e.lsp.testAppsAndDataInEditor
- tcmts.cli.test.e2e.lsp.testChangesInEditor
- tcmts.cli.test.e2e.lsp.testCodeSearchInEditor
- tcmts.cli.test.e2e.lsp.testCodebaseInEditor
- tcmts.cli.test.e2e.lsp.testDebugging
- tcmts.cli.test.e2e.lsp.testLanguageServer
- tcmts.cli.test.e2e.lsp.testPackagesInEditor
- tcmts.cli.test.e2e.lsp.testPages
- tcmts.cli.test.e2e.lsp.testReleasesInEditor
- tcmts.cli.test.e2e.lsp.testScratchQuickFixes
- tcmts.cli.test.e2e.mcp.testASessionWhoseBranchIsGoneGoesOn
- tcmts.cli.test.e2e.mcp.testAgentWorksThroughMcp
- tcmts.cli.test.e2e.mcp.testJobsOutliveTheirServer
- tcmts.cli.test.e2e.mcp.testMcpSessionsAndUpgrades
- tcmts.cli.test.e2e.mcp.testSearchAndFindFollowTheSessionsBranch
- tcmts.cli.test.e2e.mcp.testSessionSaysWhereItsScratchFilesAre
- tcmts.cli.test.e2e.mcp.testSessionsGoOnAfterARestart
- tcmts.cli.test.e2e.mcp.testSessionsLeftBehindAreClearedAway
- tcmts.cli.test.e2e.mcp.testSessionsReadOtherBranches
- tcmts.cli.test.e2e.mcp.testSessionsStartingTogetherKeepTheirBranches
- tcmts.cli.test.e2e.mcp.testSessionsWorkApart
- tcmts.cli.test.e2e.mcp.testSupervisedRestartsKeepTheBranch
- tcmts.cli.test.e2e.mcp.testToolsRunInAWorker
- tcmts.cli.test.e2e.mcp.testUnknownToolOptionsAreRefused
- tcmts.cli.test.e2e.merge.testACommentChangeStaysOnItsBranch
- tcmts.cli.test.e2e.merge.testAMergeNotFinishedIsntPushed
- tcmts.cli.test.e2e.merge.testCommentChangeMergesWithCodeChange
- tcmts.cli.test.e2e.merge.testConflictFileImportsWhatItsCodeUses
- tcmts.cli.test.e2e.merge.testConflictUsingAnotherConflict
- tcmts.cli.test.e2e.merge.testConflictedDefinitionsAreRederived
- tcmts.cli.test.e2e.merge.testCrissCrossMerge
- tcmts.cli.test.e2e.merge.testDeletedNameStillUsedIsKept
- tcmts.cli.test.e2e.merge.testLandingKeepsTheHistoryOfItsReleases
- tcmts.cli.test.e2e.merge.testLandingMergesMainIntoTheBranchFirst
- tcmts.cli.test.e2e.merge.testMergeAfterASquashedLandingLeavesNothingStale
- tcmts.cli.test.e2e.merge.testMergeOfAChangeBothSidesMadeLeavesNothingStale
- tcmts.cli.test.e2e.merge.testPageConflictMarkers
- tcmts.cli.test.e2e.merge.testPageConflictWithImporter
- tcmts.cli.test.e2e.merge.testResolveRepointsDependents
- tcmts.cli.test.e2e.merge.testRevertUndoesOneLanding
- tcmts.cli.test.e2e.merge.testSharedDependencyChangedOnBothSides
- tcmts.cli.test.e2e.merge.testSquashedLandingKeepsItsStepsOwn
- tcmts.cli.test.e2e.merge.testTextMergeThatDoesntTypecheckIsQuiet
- tcmts.cli.test.e2e.merge.testThreeWayMerge
- tcmts.cli.test.e2e.merge.testViewNamesWhatTheOtherSideUses
- tcmts.cli.test.e2e.merge.withConflicts
- tcmts.cli.test.e2e.migrate.testMigrateMovesAnOlderLayout
- tcmts.cli.test.e2e.migrate.v1Codebase
- tcmts.cli.test.e2e.mirror.testMirrorCycleEdit
- tcmts.cli.test.e2e.mirror.testMirrorJsxMakesTheFileTsx
- tcmts.cli.test.e2e.mirror.testMirrorMoves
- tcmts.cli.test.e2e.mirror.testMirrorNewNamespacesAndNearbyRenames
- tcmts.cli.test.e2e.mirror.testMirrorReleasesInGit
- tcmts.cli.test.e2e.mirror.testMirrorWholeRepository
- tcmts.cli.test.e2e.mirror.testMirrorWritesBack
- tcmts.cli.test.e2e.pack.setUp
- tcmts.cli.test.e2e.pack.testPackForAnEditor
- tcmts.cli.test.e2e.pack.testPackIntoPackage
- tcmts.cli.test.e2e.packages.setUp
- tcmts.cli.test.e2e.packages.testPackagesLockedTarballTravels
- tcmts.cli.test.e2e.prod.setUp
- tcmts.cli.test.e2e.prod.testAppUnderABase
- tcmts.cli.test.e2e.prod.testPagesShellsAreKept
- tcmts.cli.test.e2e.prod.testPushDeploys
- tcmts.cli.test.e2e.prod.testReactCacheLastsARequest
- tcmts.cli.test.e2e.prod.testServerComponentsKeptAndRenderedAhead
- tcmts.cli.test.e2e.prod.testStaticSitesRenderEveryPage
- tcmts.cli.test.e2e.react.testComponentsAreCompiled
- tcmts.cli.test.e2e.react.testLazyChunksLoadWithThePage
- tcmts.cli.test.e2e.react.testPackageComponentsRenderInTheBrowser
- tcmts.cli.test.e2e.react.testPagesKeepAndRenderAhead
- tcmts.cli.test.e2e.react.testReactPlacementStreamingHydration
- tcmts.cli.test.e2e.react.testRolesAndHostProtocols
- tcmts.cli.test.e2e.react.testServerComponentsAreDebuggable
- tcmts.cli.test.e2e.react.testServerFunctionsAsProps
- tcmts.cli.test.e2e.registry.registryOn
- tcmts.cli.test.e2e.releases.codebase
- tcmts.cli.test.e2e.releases.onFakeNetwork
- tcmts.cli.test.e2e.server.testServerFunctions
- tcmts.cli.test.e2e.suites.slowSuites
- tcmts.cli.test.e2e.suites.testBuildsWaitForASlot
- tcmts.cli.test.e2e.suites.testRunKeepsACommandTheCallerSet
- tcmts.cli.test.e2e.suites.testStoppedTcmStillReportsWhatItRan
- tcmts.cli.test.e2e.suites.testSuiteRunKeepsWhatASaveReplacedMeanwhile
- tcmts.cli.test.e2e.suites.testSuiteSlotsAreSharedByEveryRun
- tcmts.cli.test.e2e.suites.testSuitesAgainstPackedBuild
- tcmts.cli.test.e2e.suites.testSuitesFollowMethodsAndConstantsTheyRead
- tcmts.cli.test.e2e.suites.testSuitesOrDefinitionsAlone
- tcmts.cli.test.e2e.suites.testSuitesRunAgainOnlyWhenCodeTheyRanChanged
- tcmts.cli.test.e2e.suites.testUnreadComputedConstantsKeepResults
- tcmts.cli.test.e2e.suites.testWaitingForSlotsIsSaidBriefly
- tcmts.cli.test.e2e.sync.testBigPushesTravelCompressed
- tcmts.cli.test.e2e.sync.testCommentChangesTravel
- tcmts.cli.test.e2e.sync.testFilesTravel
- tcmts.cli.test.e2e.sync.testHistoryFromBeforeTheLibrariesTravels
- tcmts.cli.test.e2e.sync.testParallelChecksMatchOneAtATime
- tcmts.cli.test.e2e.sync.testPullPushDivergence
- tcmts.cli.test.e2e.sync.testReceivedConstantsArentRun
- tcmts.cli.test.e2e.sync.testReceivedSignaturesFollowRenames
- tcmts.cli.test.e2e.sync.testResultsTravel
- tcmts.cli.test.e2e.sync.testResultsTravelThroughAServer
- tcmts.cli.test.e2e.sync.testServeRunOn
- tcmts.cli.test.e2e.sync.testServeSite
- tcmts.cli.test.e2e.sync.testServeTlsPinning
- tcmts.cli.test.e2e.ts_plugin.testPluginDropsGeneratedDefinitions
- tcmts.cli.test.e2e.ts_plugin.testPluginResolvesProvidedPackages
- tcmts.cli.test.e2e.ts_plugin.vscodePlugin
- tcmts.cli.test.e2e.vitest.setUp
- tcmts.cli.test.e2e.watch.setUp
- tcmts.cli.test.e2e.web.testDevPlacementAndCallsByHash
- tcmts.registry.test.codebaseHolding
- tcmts.registry.test.testRegistryChecksAttestations
- tcmts.registry.test.testRegistryCountsStars
- tcmts.registry.test.testRegistryMirrorsSignedReleases