ManifestJson

manifest.json 是 Esmx 框架在构建过程中生成的清单文件,用于记录服务构建的产物信息。它提供了统一的接口来管理构建产物、导出文件和资源统计。

类型定义

ManifestJson

interface ManifestJson {
  name: string;
  scopes: Record<string, Record<string, string>>;
  exports: ManifestJsonExports;
  files: string[];
  chunks: ManifestJsonChunks;
}

name

  • 类型: string
  • 描述: 模块名称,来自于模块配置中的名称

scopes

  • 类型: Record<string, Record<string, string>>
  • 描述: ImportMap 的作用域映射,key 为作用域前缀,value 为该作用域下的 specifier -> resolved 映射,用于运行时基于路径前缀匹配并解析依赖。

exports

  • 类型: ManifestJsonExports
  • 描述: 导出项配置映射,key为导出路径,value为导出项信息

files

  • 类型: string[]
  • 描述: 构建输出文件的完整清单,包含所有生成的文件路径

chunks

  • 类型: ManifestJsonChunks
  • 描述: 编译文件信息,key为源文件,value为编译信息

ManifestJsonExports

type ManifestJsonExports = Record<string, ManifestJsonExport>;

导出项配置映射,key为导出路径,value为导出项信息。

ManifestJsonExport

interface ManifestJsonExport {
  name: string;
  pkg: boolean;
  file: string;
  identifier: string;
}

name

  • 类型: string
  • 描述: 导出项名称

pkg

  • 类型: boolean
  • 描述: 是否是一个软件包

file

  • 类型: string
  • 描述: 导出项对应的文件路径

identifier

  • 类型: string
  • 描述: 导出项的唯一标识符

ManifestJsonChunks

type ManifestJsonChunks = Record<string, ManifestJsonChunk>;

编译文件信息映射,key为源文件,value为编译信息。

ManifestJsonChunk

interface ManifestJsonChunk {
  name: string;
  js: string;
  css: string[];
  resources: string[];
}

name

  • 类型: string
  • 描述: 当前源文件的标识符

js

  • 类型: string
  • 描述: 当前源文件编译后的 JS 文件路径

css

  • 类型: string[]
  • 描述: 当前源文件关联的 CSS 文件路径列表

resources

  • 类型: string[]
  • 描述: 当前源文件关联的其它资源文件路径列表