BuildManifest

tcmts.cli.web.BuildManifest · #ybgym4vy · type

export interface BuildManifest {
  app: string;
  /** what the build is named by ({@link buildKey}): the app's hash, or with a PWA, the app's and its `pwa`'s */
  hash: string;
  endpoints: string[];
  /** its browser assets, in the directory builds share (`assetsDir`) */
  assets: string[];
  /** the endpoints that are server components, and what they send to the browser by reference (`sentByReference`) */
  components?: string[];
  clientRefs?: string[];
  /** the server functions they give the browser (`serverRefs`) */
  serverRefs?: string[];
  /** the chunks of code only an `import()` reaches, by the module (its component's hash) importing them, as paths
   * under `/_app/` (`lazyChunks`) */
  chunks?: Record<string, string[]>;
  /** the packages' browser components the server's modules (by their components' hashes) render (`packageImports`) */
  packageImports?: Record<string, string[]>;
  /** the server components that render the same for the same props (`cacheableComponents`): their trees are kept */
  cacheable?: string[];
  /** the server-rendering bundle (component apps), relative to the build */
  ssr?: string;
  /** its pages' shells render the same every time (its browser code reads no clock or randomness): they're kept */
  shells?: boolean;
  /** the app is a PWA: its service worker is the build's `sw.js`, which opens it from its cache first (`offlineFirst`) */
  pwa?: { offlineFirst: boolean };
  /** the tcm that made it (the hash of what makes a build): another builds it again */
  tcm?: string;
  builtAt: string;
}

used by