跳转正文

External Installation 与 Runtime Packages ​

Yoyo Admin 的 public package set 由 @yoyoboot/yoyo-admin-runtime、Core、Schema、Kit 与 developer CLI 组成,并与公开 NuGet 共享 YoyoBoot 产品版本:

Package职责
@yoyoboot/yoyo-admin-runtime跨宿主平台会话、续期、路由/服务与公开子入口;具体业务生成客户端仍留在消费应用
@yoyoboot/yoyo-admin-coretransport-neutral 分页、错误、权限、mutation 与平台契约
@yoyoboot/yoyo-admin-schemaPage Schema 编译、linking、诊断与注册表
@yoyoboot/yoyo-admin-kitY* UI facade、Application UI 与 Data Workbench runtime
@yoyoboot/cli稳定 authoring contract、诊断与标准结构入口;不扩大 workspace eligibility

当前分发状态是 prepare-only / release candidate,尚不能把下面的包名当成 npm registry 中已存在的版本。经授权的正式发布完成前,仓库外验证使用同一次 preparation 生成的五个 .tgz:

powershell
pnpm add .\yoyoboot-yoyo-admin-runtime-<version>.tgz `
  .\yoyoboot-yoyo-admin-core-<version>.tgz `
  .\yoyoboot-yoyo-admin-schema-<version>.tgz `
  .\yoyoboot-yoyo-admin-kit-<version>.tgz `
  .\yoyoboot-cli-<version>.tgz `
  vue@^3.5.0

五个 tarball 必须来自同一个 release train,不能混用版本。正式发布状态与兼容规则见版本兼容与发布状态。

最小 package-root 使用 ​

ts
import { createPageQueryState } from '@yoyoboot/yoyo-admin-core'
import { compileYoyoPageSchema } from '@yoyoboot/yoyo-admin-schema'
import { YButton } from '@yoyoboot/yoyo-admin-kit'
import '@yoyoboot/yoyo-admin-kit/styles.css'
import '@yoyoboot/yoyo-admin-kit/theme.css'

const query = createPageQueryState({ page: 1, pageSize: 20 })
const page = compileYoyoPageSchema({
  schemaVersion: 1,
  pageKind: 'query',
  pageKey: 'external.example',
  title: 'External example',
  query: { datasource: 'external.example' },
  table: { rowKey: 'id', columns: [{ key: 'id', title: 'Id' }] },
})

console.log(query.pageSize, page.ir.pageKey, YButton)

只从 package root 和两个正式 CSS subpath 导入。生产代码仍应按具体职责选择需要的包;上面的最小示例只展示 Core / Schema / Kit 的 package-root 合同,不表示 runtime 或 CLI 必须被同一源码文件导入。src/**、dist/**、kit/**、ui/** 等内部路径不是公共合同;package exports 会拒绝这些 deep import。

边界 ​

  • Vue ^3.5.0 是 Admin Kit 的公开 peer;应用继续拥有 Vue runtime。
  • generated API、业务 DTO 与具体宿主状态留在消费应用本地;@yoyoboot/yoyo-admin-runtime 只提供其公开平台入口,不替代消费应用自己的 generated API。
  • yoyoboot admin 是 public developer tool;包根导入与 yoyoboot --help 可在干净 consumer 中运行,但 authoring recipe 仍按自身 workspace contract fail closed。
  • VitePress 只展示 canonical Markdown;它不拥有 package API、版本或 release status。

继续阅读:升级与迁移、Authoring、Application UI 与组件。

YoyoBoot · 从真实项目走向可复用能力