manifest

tcmts.manifest · #ewtqrosx · term · runs anywhere

Unison's content-addressed codebase model for plain TypeScript.

export const manifest = {
  name: "tcm-ts",
  exports: {
    "./core": ["core.analyze.analyzeFile", "core.analyze.analyzeProject", "core.hash.IR_VERSION"],
  },
  bin: { tcm: "cli.main.runCli", "tcm-ts": "cli.main.runCli" },
  // (and the tools tcm runs and its test runner, at the versions its tests ran: `SHIPPED`)
  with: [
    "@types/node@^24",
    "oxlint",
    "oxfmt",
    "oxc-transform-react",
    "vitest",
    "@vitest/browser-playwright",
    "playwright",
  ],
  files: ["../README.md", "docs"],
  // the web UI `tcm serve` shows (`/forge/`), and the registry `tcm registry` runs: each shipped as a codebase of
  // its own that `tcm start` runs
  apps: { share: "share.App", registry: "registry.App" },
  // the tcm libraries apps use, each its newest release, which `tcm lib add tcm <name>` mounts, offline
  libraries: ["react", "server"],
  // the end-to-end tests, run against the codebase's own tcm by `tcm test`
  suites: { tcm: ["cli.test.e2e"] },
}