🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@cxkit/version-core

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cxkit/version-core - npm Package Compare versions

Comparing version
0.0.1
to
0.0.2
+58
README.md
# @cxkit/version-core
核心的纯净运行时逻辑库,零前端框架依赖,由 TypeScript 保证类型安全。
它是整个 `@cxkit` 版本检测体系的心脏,负责接管轮询(Poller)、提取(Fetcher)和状态机(State Machine)流转。所有的 React、Vue 或 Vanilla 适配器其实都是基于对 `Checker` 事件总线的包装。
## 特色
- 🚀 **极小巧**:不包含任何 UI 或是繁杂的依赖。
- 🔧 **零耦合**:能够在 Node.js 或任何未知的框架中运行,只要宿主环境支持基础的 `fetch` 和事件。
- ⚡ **无感热更**:支持静默拦截 `version.json` 请求,解析 `buildId` 与 `buildTime`。
## 安装
```bash
npm install @cxkit/version-core
```
## API 概览
### `createVersionChecker(options: CheckerOptions)`
初始化一个版本检查器实例,它是全部单向数据流的源头。
```ts
import { createVersionChecker } from '@cxkit/version-core'
const checker = createVersionChecker({
pollInterval: 1000 * 60 * 5, // 轮询检查的时间间隔
remindDelay: 1000 * 60 * 60, // 稍后提醒的延迟时间
devMock: false, // 是否开启开发环境 Mock 模式
refreshStrategy: 'auto', // 触发更新后刷新页面的策略
baseUrl: '/', // version.json 的请求基地址
versionUrl: (env) => '...' // 高级:自定义推导版号路径
});
// 订阅事件:每当状态变更时触发
checker.on('state-change', (state) => {
console.log(state.hasPendingUpdate);
});
// 明确检测到了全新的版本发版
checker.on('update-detected', (manifest) => {
console.log("新版本来了!", manifest);
});
// 开启轮询
checker.start();
```
### 实例控制流方法
- `checker.check()`: 挂载立刻执行一次强制检查。
- `checker.confirm()`: 接受更新版本通知。通常这会执行你预设或默认的刷新策略并改写本地缓存存储记录。
- `checker.defer(delay?)`: 稍后提醒。在静默期内,`hasPendingUpdate` 将保持为假。
- `checker.destroy()`: 销毁事件总线及所有计时器轮询,回收内存(通常用于组件销毁生命周期)。
## 阅读完整文档
完整的 API 定义、高级用法与系统架构解析,请访问 [官方开发文档](https://github.com/chenx18_cn/cxkit)。
+1
-1
{
"name": "@cxkit/version-core",
"version": "0.0.1",
"version": "0.0.2",
"description": "Framework-agnostic runtime core for frontend version update detection and notification.",

@@ -5,0 +5,0 @@ "type": "module",