open-index/open-npm huggingface dataset:
npm package: @kookapp/compatibility
Description: Compatibility package
Latest version: 0.0.16

## Changelog

### 0.0.1

初始版本，新增 ItemStore 兼容层。

---

# Compatibility

当本体引入破坏性改变时，如删除了某个导出函数，则所有热更包都总需要考虑 2 种情况：

- 旧本体，只有旧实现，没有新实现；
- 新本体，只有新实现，没有旧实现；

此外:

- 本体与热更的放量不同步，谁先上或者谁后上都不行。

因此为了兼容，通常在热更代码中，会包含对新旧实现的抽象，从而避免代码太难看、总要处处照顾不同情况。

考虑到不同的热更项目代码不互通，为了统一抽象，建立了此 compatibility 包，专用于存放兼容用的抽象层。

## 适用范围

当以下条件满足，则应该考虑使用此包：

- 本体放量到一半
- 本体有破坏性改变，导致热更的放量必须至少覆盖新本体

不过，热更项目不应该一直依赖此包。等到对应本体全量后，就应该考虑去除对 compatibility 包的依赖了。

## 项目依赖

- radash

由于此包的特殊性，最好不要包含和本体相关的依赖，尤其不要反过来依赖本体。

## 项目迭代

兼容层在迭代的时候最好总是保持后向兼容，只做加法。
npm package: @kookapp/electron-builder-squirrel-windows
Description: Plugin for [electron-builder](https://github.com/electron-userland/electron-builder) to build Squirrel.Windows installer.
Author: Vladimir Krivosheev
Latest version: 23.3.1

# electron-builder-squirrel-windows

Plugin for [electron-builder](https://github.com/electron-userland/electron-builder) to build Squirrel.Windows installer.

本项目修改了 Update.exe 的来源，以在其中增加卸载相关功能