@clean-jsdoc-theme/utils

中文文档
5.2.1发布于 2026/10/24MITTypeScriptESM + CJS构建来源已验证近 30 天下载 2.2万

共同类型和计划

中文使用文档
文档目录8 节
  1. 里面的东西
  2. 公共 API
  3. 阻塞帮助
  4. 选择验证+报告 config/ (中文(简体) )
  5. I18n/建筑合同
  6. 为什么它存在
  7. 贡献者
  8. 许可证

@ clean-jsdoc-主题/用途

每种其他包装进口的共享核心:界定 战地边界和双方使用的弹道规则,加上 纯 运行时逻辑——选择验证,构建报告和诊断 脊椎骨 脊椎骨 脊椎骨 它保持浏览器安全( 刚导入到浏览器中) : 注射数字 : 网络fetch)和 node:zlib gzip 尺寸器由呼叫者传递, 从来没有进口到这里.

里面的东西

src/
├── doclet-schema.ts   # JSDoc doclet shape (TDoclet, kinds, params, meta, …)
├── salty.ts           # salty (taffy) collection helpers + types
├── site/              # the setu↔dwar contract (types-first)
│   ├── page.ts        # Page (+ PageKind, 'source' body), Frontmatter, Heading
│   ├── manifest.ts    # SiteManifest, NavNode, SearchEntry, ExtractManifest, BuildSpec
│   ├── render.ts      # OutputFile, RenderOptions, RenderResult, RenderError, RenderWarning
│   ├── theme.ts       # ThemeTokens, ThemeColors, ThemeConfig, ComponentOverrides
│   ├── site-name.ts   # SiteName (text | logo set) + siteNameText / resolveSiteLogo
│   ├── islands.ts     # IslandName union + IslandPropsMap
│   └── slug-rules.ts  # slugifyHeading / slugifyPath / slugifySourcePath
└── config/            # PURE opts validation + build report (network/zlib injected)
    ├── diagnostics.ts # Diagnostic model + DiagnosticBag + formatDiagnostics
    ├── opts-schema.ts # zod schemas + THEME_OPT_KEYS
    ├── validate-opts.ts # validateThemeOpts → { value, diagnostics }
    ├── site-name.ts   # validateSiteName (shape only)
    ├── fonts.ts       # validateFonts (heading/body existence-checked; per-locale keys)
    ├── locales.ts     # validateLocales (opts.locales/defaultLocale → ValidatedLocales)
    ├── google-fonts.ts# createGoogleFontResolver (injectable fetch; fail-open)
    ├── suggest.ts     # near-miss "did you mean X?" key suggestions
    ├── report.ts      # formatBuildReport (per-route sizes + optional gzip)
    └── format.ts      # humanFileSize, byteLength, ANSI helpers

公共 API

包件为型号一等;从管子再出出:

import type {
  SiteManifest,
  Page,
  PageKind,
  NavNode,
  SearchEntry,
  Frontmatter,
  Heading,
  OutputFile,
  RenderOptions,
  RenderResult,
  RenderError,
  ThemeConfig,
  ThemeTokens,
  ThemeColors,
  ComponentOverrides,
  SiteName,
  IslandName,
  IslandPropsMap,
  TDoclet,
} from '@clean-jsdoc-theme/utils';

import {
  // slug rules (shared by setu + dwar)
  slugifyHeading,
  slugifyPath,
  slugifySourcePath,
  // opts validation + build report (the bridges call these)
  validateThemeOpts,
  formatBuildReport,
  DiagnosticBag,
  formatDiagnostics,
  // the i18n contract (setu emits, aadesh reads)
  toExtractManifest,
} from '@clean-jsdoc-theme/utils';

阻塞帮助

  • slugifyHeading(text, registry?) ——标题正文 锚地编号. 通过共享 Map 以解析页面上的 ids 相撞(-1, (中文(简体) ), -2) (中文(简体) ).
  • slugifyPath(parts) 长名部件 URL 路径段 .
  • slugifySourcePath(path) 源文件路径 – 其 source/<file> slug.

选择验证+报告config/(中文(简体) )

  • validateThemeOpts(input) → { value, diagnostics } ——正常化+验证 主题选项(zod schemas,一个活的 Google-Font 存在检查,未知密钥) "你的意思是?"建议). 桥很早就叫这个, 字体/ typo 不好 警告,除非 strict 升级.
  • formatBuildReport(input) – Next.js 风格的每行大小表(gzip 缩放器) 注入,因此本模块保持浏览器安全.
  • DiagnosticBag 编号 : formatDiagnostics 诊断脊椎被setu重用, 和bhasha的验证原始.

I18n/建筑合同

ExtractManifest + 键 toExtractManifest(manifest) (aadish在摘录中的内容) 模式)和 BuildSpec (每个地方都会变光) 住在这里 所以setu,the 桥,和aadish都同意的形状.

为什么它存在

Setu-ddwar合同就住在这里一次 所以双方都一样 形状和永远不能漂移。 弹道规则共享的原因相同: setu 生成导航/TOC锚地,并释放导出的标题代号——使用一个 执行保证双方同意。 这个 config/ 逻辑住在这里( 而非 因此 JSDoc 和 TypeDoc 验证选项并打印报告 同样的.

贡献者

感谢所有帮助建立干净的jsdoc主题的人.

Contributors

许可证

麻省理工学院.

版本与发布记录

@clean-jsdoc-theme/utils 共发布 18 个版本,首次发布于 2026/06/10;过去 12 个月发布了 18 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
5.2.1latest2026/10/2416 天前
5.2.02026/08/282 个月前
5.1.12026/07/293 个月前
5.1.02026/07/243 个月前
5.0.82026/07/183 个月前
5.0.72026/07/074 个月前

其他发布通道:next → 5.0.0-alpha.0。

关于 @clean-jsdoc-theme/utils 的常见问题

@clean-jsdoc-theme/utils 是什么?

共同类型和计划

如何安装 @clean-jsdoc-theme/utils?

在项目目录运行 npm install @clean-jsdoc-theme/utils,或使用 pnpm add / yarn add / bun add。

@clean-jsdoc-theme/utils 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@clean-jsdoc-theme/utils 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@clean-jsdoc-theme/utils 可以商用吗?

@clean-jsdoc-theme/utils 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@clean-jsdoc-theme/utils 的下载量有多少?

根据 npm 官方下载统计,@clean-jsdoc-theme/utils 在 2026/10/10 – 2026/11/08 这 30 天内被下载 21,801 次,日均约 727 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@clean-jsdoc-theme/utils 还在维护吗?

最新版本 5.2.1 发布于 2026/10/24(16 天前);至今共发布 18 个版本,其中过去 12 个月发布了 18 个;首次发布于 2026/06/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。