UMF 计划浏览器
版本 2.1.0 国家 项目记录地图和结构比较
视频1.3.0 并使用其公开的Lini渲染器 在一个奉献的工人.
见 迁移记录
范围核查.
直接地图消费者可以等待 handle.ready 财务报告和审定财务报表 handle.update(model); 服务
visual-worker.js 财务报告和审定财务报表 lini/ 除了他们的捆绑入内。 准确的包裹
assets/ 复制为 iframe 探索者提供这些资源.
用于 UMF 文档的可重用、框架中立的浏览器, TableSpec 表格, 域包、原始文物收藏和肿瘤图。 这是 uMF微站台使用的同一种渲染器. 2.1.0版船舶编译浏览器 ESM, TypeScript申报和静态资产. 没有Bun,节点运行时间,框架, 需要将公共实体或网络连接到UMF微站.
安装和嵌入
安装公共 npm 软件包 :
npm install @documentdrivendx/[email protected]
对于本地发行审查,从已建软件包目录中安装. 一个网站 消费者必须贴上准确的已公布的软件包并验证其安装 部署前分发.
1.1.0版本 添加 版本主机合同,发表 分类计划、选择/导航/错误事件、自定义类别、说明、, 主题、有界限的懒惰源、修订历史和结构比较。 可重复使用 属性/映射/diff组件在主机DOM中直接工作。 JSON 启动用途固定 在严格的CSP下建立时间验证器,有懒惰的YAML和本土恢复. 微站安装了精确的完整锁放,并检查完整 运行时间资产关闭和工作空间标记。 见 变动。 。 。 .
2.0.0版本 运行 UMF 站点的本体学,对象参考和模型目录 通过一个主机,同时保持独立和嵌入包表面. 软件包使用已清点的可选本地-schema 校验符 组群,仍与UMF核心相分离.
复制 node_modules/@documentdrivendx/umf-schema-browser/assets/ 到您的静态
例如,服务器 /schema-browser/。对导出的 API 使用捆绑器,或者
服务软件包 index.js 直接作为浏览器的ESM.
import {mountSchemaBrowser} from '@documentdrivendx/umf-schema-browser';
const browser = mountSchemaBrowser(document.getElementById('schema-view')!, {
assetsUrl: '/schema-browser/',
catalogUrl: '/my-schema-catalog.json',
assetBaseUrl: '/my-domain-packs/',
height: '850px',
});
await browser.ready;
// When unmounting a React/Vue/Svelte component:
browser.destroy();
改为 catalogUrl,通过 entries: Entry[]. 入口用品 id, (中文(简体) ), title, (中文(简体) ),
category (呼号), path一个 text 或懒惰的 HTTP( S) url,以及
format: 'json' | 'yaml'可选 pack, (中文(简体) ), packVersion, (中文(简体) ), schemaFormat, (中文(简体) ), aliases
财务报告和审定财务报表 assets 描述链接的包图和已核实的源下载。 这个
导出类型描述完整的结构。 为一包,提供其清单,
已申报的表格/肿瘤图和文物收集条目一起使用
身份证 pack:<id>@<version>, (中文(简体) ), schema:<id>@<version>:<schema-id> 财务报告和审定财务报表
artifact:<id>@<version>:<collection-id>就像微站目录那样.
initialRoute 使用 URLSearchParams 语法(schema=...&definition=...) (中文(简体) ). 每个
挂载自有 iframe: CSS、散列路线、过滤器和下载被隔离
父母和从其他山上. iframe 可用在返回的控点上
用于主机大小/可访问性. ready 指目录和UI已初始化. 目录失败拒绝承诺
并通知 onCatalogError· ; select(selection) 在源渲染后解决。 通话 destroy 在此之前
装入拒绝 ready,因此在提前卸载时处理拒绝.
独立
服务 assets/ 超过 HTTP( S) 并打开 assets/index.html替换空的
assets/schema-catalog.json 与 { "version": 1, "entries": [...] },或使用
开放本地计划. 使用 ?catalogUrl=<encoded-http-url> 以不更改软件包文件而提供目录,或使用HOST CONTRACT.md中原产地检查的配置协议。 来源停留在浏览器中. 相对下载 URL 解析
相对于独立页面中的目录主机基础,或 assetBaseUrl 在一个
内嵌 只获取明确提供的目录; 原始来源为
链接供用户下载,而不是自动获取.
东道国和边界
服务JavaScript作为JavaScript,CSS作为CSS. 同一来源的东道国资产, 或配置模块/目录请求的CORS。 您的内容安全政策 对同一来源资产和目录(只添加您主机需要的来源)使用此经过测试的严格政策 :
default-src 'none'; base-uri 'none'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self'; frame-src 'self' about:; connect-src 'self'; worker-src 'self'
母页否认 JavaScript unsafe-eval 和内置可执行脚本。 它允许WebAssembly为Rust比较运行时间和Lini地图的同源工人进行汇编。 服务 visual-worker.js hOST CONTRACT.md中说明了其单独的执行政策。 srcdoc 挂载会继承主机策略; 没有插入基准元素 。 固定验证器在制作者建造期间编译. 任意的本地语义汇编是有条件的,而不是通过削弱CSP来实现的. 使用独立的页面作为普通的 Iframe 源
当你的政策禁止srcdoc。 软件包没有外部字体要求.
这一政策是两种嵌入式的测试基线,而不是通用的
起码 可选图像显示、 跨源主机和 Iframe 沙盒/下载
权限解释如下: 机场浏览器
下载不需要 Blob 获取字节读取测试所使用的允许 .
Catalogs 是调用者选中的数据; 计划源字符串从未作为 HTML 或执行 。 这是源/源检查,不是 PDF/DICOM 查看器, 收集器、本体学解释器或本地执行引擎。 验证和出口 范围在UI中仍然是限定的. 未知元数据,原始源文本, 许可证/再分配声明和原始/衍生区别依然存在 可用。 已宣布的下载 URL 必须解决到 HTTP( S); 其他方案被拒绝 。 网络抓取和本地浏览器内存没有未设定资源 服务; 本地文件拾取器保留其4 MB 限制 . 懒包清单和肿瘤学同伴在选定之前一直被卸下. 元数据依赖的细节在尚未加载时链接到其源概览 .
构建
当前源默认制作人构建所需的比较 WASM from 然后用浏览器包捆绑:
bun run build:schema-browser /tmp/schema-browser-a
它使用Bun,并要求预先安装的Rust 1.90.0工具链及其
wasm32-unknown-unknown 目标,并预设 wasm-bindgen 0.2.100
CLI 打开 PATH。该建筑已下线,不安装工具或目标.
生成的货运产出保持在 target/schema-browser-rust-wasm/; 数据
构建验证工具版本, 生成文件和 WASM 头
替换目的地。 包出处记录了建筑的散列
包装,货物清单/锁文件,WASM绑定和核心Rust源. 这个
装货船和资产船在货包入境点和 assets/双方
公共API模块和浏览器渲染器使用顶级等待初始化;
当模块导入解析后,它们的比较功能仍然同步.
缺少或无效的资产拒绝模块加载而无需TypeScript倒置.
下级 build.ts 执行细节,要求
包装出WASM输出. 正常消费者应使用上述命令;
没有呼叫器提供的 WASM 软件包覆盖 .
构建一个孤立的软件包目录并用:
npm pack /tmp/schema-browser-a
可重复使用的软件包中没有样本数据集档案;用户提供 目录和原始资产.
出厂的2.1.0生产商使用了1.4.2号舱,并投入使用 build.ts
进入点。 重复其来源的释放;当前来源
上面的"生锈"建设指令描述了后期的工作树.
npm 发布
新释放用途 release-schema-browser.yml
将确切的承付来源与被冻结的依赖关系加以限定.
它比较了两个干净的建筑, 验证记录的源关闭
将归档装入一个新鲜的消费者, 检查 TypeScript 模块模式和
在严格-CSP Chromium中运行已安装的示例。 只有在那些门经过之后
是否在草稿中附上完整的归档/显示/检查和/接收组
GitHub 发布, 发布不可改变的发布并发送主 npm
确切来源和存档针的出版社。 明确的主分支发送
选择源和新发布标记; 私有 SDK 和站点的分隔
已安装的浏览器针位于此路径之外.
如果创作草稿后升级停止,通过草稿的数字
draft_release_id 使用相同的标记和源。 动作重运行完成
要求现有草案的确切标记、源码和全部四
发布前匹配的资产摘要。 它不取代资产草案.
由于 GitHub 的标签搜索不可用, 校验草稿使用释放的 ID
返回未公布的草稿.
公共软件包 @documentdrivendx/umf-schema-browser 仅由
动作工作流程 publish-schema-browser-npm.yml。 。 。 .
出版核实准确公开的GitHub发布, 不可改变的标签目标,
包装出处, SHA256SUMS字节
使用 npm OIDC。 它接受不可改变的发布后自动运行
或带有明确来源和消化针的默认分支手动回填. 遗产
释放没有 GitHub 不可改变的旗帜 需要所有手动标记,源,
SHA256SUMS 和焦油弹针。 登记册的版本必须不存在或载有
相同的 tarball; 已经匹配的版本跳过上传并记录为
已存在的精确字节。 从公共npm和
导入软件包条目.
GitHub 释放不可改变性被允许用于未来的释放. 附加所有资产
在发布之前, 现有释放保留其
原始状态; schema-browser-v2.0.0 因此,使用精确的本位手册
倒满。 见 GitHub 的发布设置。 。 。 .
仅限主机 npm 环境和精确的软件包 信任的出版商现在
配置,包括 允许 npm 发布编辑
页:1 行动出版物
通过了完整的生产者资格、OIDC上传、准确的公共字节
校验和新的公共-npm安装/进口。 成功上传于
2026-10-26 22:35:51 世界协调时 在其出版前验证了待出版的
2026-10-28 19:22 UTC截止日期. 独立 npm 签名和出处检查
也通过了。 历史 2.0.0 核查
仍然是一个不变的匹配字节跳过,而不是 OIDC 上传请求 .
工作流程唯一的发布身份是主要唯一的 GitHub npm
环境和 npm 信任的出版商 DocumentDrivenDX/umf工作流程
publish-schema-browser-npm.yml启用可信任的出版商 允许 npm
发布 允许; npm 将其与相机出版分开处理。 见
npm 信任的出版无 npm
符号被存储 。 私人 @umf/core 开发软件包及其 GitHub SDK
存档不是此出版物的一部分 .
要复制一个候选人,请将它分两次编成单独的输出目录,其中
1.4.2号舱,然后比较 release-manifest.json, (中文(简体) ), asset-manifest.json 财务报告和审定财务报表
provenance.json 字节的字节。 将审查的产出包成 npm pack
并核对档案 SHA256SUMS 并公开宣布。 这个
证明该来源候选人的可复制性,而不是出版物或消费者
针.
许可证
麻省理工学院提供这种分布中的UMF授权软件
许可证或 Apache 许可证 2.0, 由您选择 (MIT OR Apache-2.0) (中文(简体) ). 装入了第三个
政党软件保留自己的许可证;见 THIRD_PARTY_NOTICES.md。 。 。 .
嵌入控制包括 hideHero, (中文(简体) ), readOnlyLocalFiles, (中文(简体) ), theme, (中文(简体) ), themeVariables, (中文(简体) ), categories, (中文(简体) ), focus() 财务报告和审定财务报表 onContentHeight。 。 。 . height: '100%' 将容器装入明确高度。 运行 bun docs/helix/05-deploy/schema-browser/example-host.ts <package-directory> 用于通用可执行集成主机.
装有的货包也装有船 examples/index.html:在HTTP(S)上服务软件包目录,并打开该页面,用于不构建,严格-CSP主机,并带有内线条目,选择回调,暗模式跟随和焦点控制. 它包含一个微小的作者计划,没有公共数据集.