CodebaseCore
What the code Codebase itself uses (its views, mirrors, provided packages, kept values, placement) needs of
a codebase, as an interface the class has. That code takes this, not the class: a type naming the class would make
the two refer to each other, and they'd be hashed as one cycle, every change to one a change to all of them.
import type { SaltFor } from "#codebase/tcmts/cli/codebase"; import type { Mirror } from "#codebase/tcmts/cli/mirror"; import type { ProjectAnalysis } from "#codebase/tcmts/core/analyze"; import type { CompilerOptions } from "#codebase/tcmts/core/program"; import type { DefRecord } from "#codebase/tcmts/core/types"; import type { DefSource, Layout } from "#codebase/tcmts/loader"; import type { Store } from "#codebase/tcmts/store"; export interface CodebaseCore { readonly lay: Layout; readonly store: Store; /** a session's own directory (`TCM_BRANCH`): its scratch files, `#codebase` shim and views */ readonly sessionDir?: string | undefined; source(overlay?: DefRecord[], nameAt?: (hash: string) => string | undefined): DefSource; adoptMirror?: (m: Mirror) => boolean; compilerOptions(dir?: string, mode?: "scratch" | "import"): CompilerOptions; analyzeProject( files: string[], saltFor: SaltFor | undefined, ignoreDiagnostics?: number[], compilerOptions?: CompilerOptions, ): ProjectAnalysis; lineageSalt(path: string): string; lookup(target: string): string[]; displayRef(ref: string): string; }
uses
- tcmts.cli.codebase.SaltFor
- tcmts.cli.mirror.Mirror
- tcmts.core.analyze.ProjectAnalysis
- tcmts.core.program.CompilerOptions
- tcmts.core.types.DefRecord
- tcmts.loader.DefSource
- tcmts.loader.Layout
- tcmts.store.Store
used by
- tcmts.cli.effects.reaches
- tcmts.cli.files.fileContent
- tcmts.cli.files.fileDefinition
- tcmts.cli.files.filesIn
- tcmts.cli.files.linkedCode
- tcmts.cli.files.testHiddenFilesKeepTheirDot
- tcmts.cli.kept.keepValues
- tcmts.cli.kept.keptValue
- tcmts.cli.mirror.Spelling
- tcmts.cli.mirror.checkMirror
- tcmts.cli.mirror.loadMirror
- tcmts.cli.mirror.namesIn
- tcmts.cli.mirror.onMirrorBranch
- tcmts.cli.mirror.renameEverywhere
- tcmts.cli.mirror.saveMirror
- tcmts.cli.mirror.syncMirror
- tcmts.cli.mirror.untextual
- tcmts.cli.placement.Placement
- tcmts.cli.provided.providePackages
- tcmts.cli.provided.rangeFor
- tcmts.cli.provided.recordForEditor
- tcmts.cli.suites.quietLoad
- tcmts.cli.test.shapes.codebaseOf
- tcmts.cli.views.hashesOfViewFile
- tcmts.cli.views.rewriteViews
- tcmts.cli.views.srcDir
- tcmts.cli.views.viewFile
- tcmts.cli.views.viewOf
- tcmts.cli.views.viewText
- tcmts.cli.views.viewsBranchOf
- tcmts.cli.views.viewsCurrent
- tcmts.cli.views.viewsKey
- tcmts.cli.views.writeAllViews
- tcmts.cli.views.writeView
- tcmts.cli.views.writeViews
- tcmts.cli.views.writeViewsConfig
- tcmts.cli.web.cacheableComponents