import type { ExcludedKind, FileRole } from "#types/source.types"; export const ROLE_BY_EXT: ReadonlyMap = new Map([ [".ts", "source"], [".css", "source"], [".html", "source"], [".md", "prose"], [".json", "data"], [".jsonc", "data"], [".jsonl", "data"], [".yaml", "data"], [".yml", "data"], ]); export const AUTHORED_ROLES: readonly FileRole[] = ["source", "prose"]; export const EXCLUDED_ORDER: readonly ExcludedKind[] = ["generated", "ingested", "binary"]; export const EXTENSION_DOT = "."; export const NO_EXTENSION = "(no extension)"; export const ROOT_AREA = "(root files)"; export const LINE_BREAK = "\n"; export const INLINE_BLANKS: ReadonlySet = new Set([" ", "\t", "\r"]); export const KIBIBYTE = 1024; export const MAX_TEXT_BYTES = 8 * KIBIBYTE * KIBIBYTE; export const SNIFF_BYTES = 8192; export const LARGEST_KEEP = 200; export const TEST_NAME_MARKERS: readonly string[] = [".test.", ".spec."]; export const TEST_NAME_SUFFIX = "_test.go"; export const TEST_FOLDER = "__tests__"; export const MANIFEST_FILE = "_manifest.json"; export const GENERATED_NAME_MARKER = ".generated."; export const GENERATED_SEGMENT_MARKER = "generated"; export const README_FILE = "readme.md"; export const LOCKFILES: ReadonlySet = new Set([ "package-lock.json", "npm-shrinkwrap.json", "yarn.lock", "pnpm-lock.yaml", ]); export const HEAD_BYTES = 400; export const HEAD_MARKERS: readonly string[] = ["do not edit", "auto-generated", "autogenerated", "@generated"];