{"id":31970669,"url":"https://github.com/winjs-dev/winjs-plugin-web-update-notification","last_synced_at":"2025-10-14T19:18:08.949Z","repository":{"id":313832886,"uuid":"1052652065","full_name":"winjs-dev/winjs-plugin-web-update-notification","owner":"winjs-dev","description":null,"archived":false,"fork":false,"pushed_at":"2025-10-06T10:08:26.000Z","size":467,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-06T12:12:04.789Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/winjs-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-08T11:04:47.000Z","updated_at":"2025-10-06T10:07:36.000Z","dependencies_parsed_at":"2025-09-09T03:31:31.000Z","dependency_job_id":"e4f059f6-a82b-49dd-8739-d85f6657377d","html_url":"https://github.com/winjs-dev/winjs-plugin-web-update-notification","commit_stats":null,"previous_names":["winjs-dev/winjs-plugin-web-update-notification"],"tags_count":3,"template":false,"template_full_name":"winjs-dev/winjs-plugin-template","purl":"pkg:github/winjs-dev/winjs-plugin-web-update-notification","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winjs-dev%2Fwinjs-plugin-web-update-notification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winjs-dev%2Fwinjs-plugin-web-update-notification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winjs-dev%2Fwinjs-plugin-web-update-notification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winjs-dev%2Fwinjs-plugin-web-update-notification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/winjs-dev","download_url":"https://codeload.github.com/winjs-dev/winjs-plugin-web-update-notification/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winjs-dev%2Fwinjs-plugin-web-update-notification/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279020655,"owners_count":26086895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-14T19:18:07.565Z","updated_at":"2025-10-14T19:18:08.942Z","avatar_url":"https://github.com/winjs-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# winjs-plugin-web-update-notification\n\n🚀 **Web应用更新通知插件** - 为 WinJS 应用提供智能的版本更新检测和用户友好的更新提醒\n\n\u003cp\u003e\n  \u003ca href=\"https://npmjs.com/package/@winner-fed/plugin-web-update-notification\"\u003e\n   \u003cimg src=\"https://img.shields.io/npm/v/@winner-fed/plugin-web-update-notification?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"npm version\" /\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"license\" /\u003e\n  \u003ca href=\"https://npmcharts.com/compare/@winner-fed/plugin-web-update-notification?minimal=true\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/dm/@winner-fed/plugin-web-update-notification.svg?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"downloads\" /\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-ready-blue.svg?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"TypeScript\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Production-Only-green.svg?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"Production Only\" /\u003e\n\u003c/p\u003e\n\n## ✨ 特性\n\n- 🔄 **自动检测** - 智能检测 Web 应用版本更新\n- 🎯 **多种策略** - 支持多种版本检测策略（时间戳、版本号、Git哈希等）\n- 💬 **友好提醒** - 美观的更新通知界面，提升用户体验\n- 🎨 **高度定制** - 支持自定义通知样式、文案和行为\n- 🌍 **国际化** - 内置多语言支持，支持自定义语言包\n- ⚡ **轻量级** - 最小化打包体积，不影响应用性能\n- 🛡️ **生产专用** - 仅在生产环境生效，开发环境自动禁用\n- 📱 **响应式** - 完美适配移动端和桌面端\n\n## 🎯 应用场景\n\n- **SPA应用** - 单页应用版本更新提醒\n- **PWA应用** - 渐进式Web应用更新通知\n- **企业内部系统** - 内部管理系统版本升级提醒\n- **电商平台** - 商城系统功能更新通知\n- **在线工具** - 在线编辑器、设计工具等更新提醒\n\n## 📦 安装\n\n```bash\n# npm\nnpm install @winner-fed/plugin-web-update-notification @plugin-web-update-notification/core -D\n\n# yarn\nyarn add @winner-fed/plugin-web-update-notification @plugin-web-update-notification/core -D\n\n# pnpm\npnpm add @winner-fed/plugin-web-update-notification @plugin-web-update-notification/core -D\n```\n\n## 🚀 快速开始\n\n### 1. 配置插件\n\n在 `.winrc.ts` 中启用插件：\n\n```typescript\n// .winrc.ts\nimport { defineConfig } from '@winner-fed/winjs';\nimport type { Options as WebUpdateNotificationOptions } from '@winner-fed/plugin-web-update-notification';\n\nexport default defineConfig({\n  plugins: ['@winner-fed/plugin-web-update-notification'],\n  webUpdateNotification: {\n    // 检测间隔（毫秒）\n    checkInterval: 10 * 60 * 1000, // 10分钟\n    // 版本检测策略\n    versionType: 'build_timestamp',\n    // 通知文案\n    notificationProps: {\n      title: '发现新版本',\n      description: '系统已更新，请刷新页面获取最新功能。',\n      buttonText: '立即刷新',\n      dismissButtonText: '稍后提醒'\n    }\n  } as WebUpdateNotificationOptions\n});\n```\n\n### 2. 构建部署\n\n```bash\n# 构建应用（仅在生产环境生效）\nnpm run build\n\n# 部署到服务器\n# 插件会自动生成版本检测文件和更新通知功能\n```\n\n### 3. 效果预览\n\n用户访问应用时，插件会：\n1. 定期检测服务器上的版本信息\n2. 发现新版本时显示更新通知\n3. 用户点击刷新按钮后重新加载页面\n\n## ⚙️ 配置选项\n\n### 基础配置\n\n| 参数              | 类型                      | 默认值            | 描述                       |\n| ----------------- | ------------------------- | ----------------- | -------------------------- |\n| `versionType`   | `string`                | `'build_timestamp'` | 版本检测策略               |\n| `customVersion` | `string`                | -                 | 自定义版本号               |\n| `checkInterval` | `number`                | `600000`        | 检测间隔（毫秒）           |\n| `logVersion`    | `boolean`               | `false`         | 是否在控制台输出版本信息   |\n| `silence`       | `boolean`               | `false`         | 静默模式，不显示通知       |\n\n### 检测行为配置\n\n| 参数                    | 类型        | 默认值    | 描述                     |\n| ----------------------- | ----------- | --------- | ------------------------ |\n| `checkOnWindowFocus`  | `boolean` | `true`  | 窗口获得焦点时检测       |\n| `checkImmediately`    | `boolean` | `true`  | 页面加载后立即检测       |\n| `checkOnLoadFileError` | `boolean` | `false` | 资源加载失败时检测       |\n\n### 通知界面配置\n\n| 参数                         | 类型        | 默认值    | 描述               |\n| ---------------------------- | ----------- | --------- | ------------------ |\n| `hiddenDefaultNotification` | `boolean` | `false` | 隐藏默认通知界面   |\n| `hiddenDismissButton`       | `boolean` | `false` | 隐藏忽略按钮       |\n| `customNotificationHTML`    | `string`  | -         | 自定义通知HTML内容 |\n\n### 通知文案配置\n\n```typescript\ninterface NotificationProps {\n  title?: string;           // 通知标题\n  description?: string;     // 通知描述\n  buttonText?: string;      // 刷新按钮文本\n  dismissButtonText?: string; // 忽略按钮文本\n}\n```\n\n### 样式配置\n\n```typescript\ninterface NotificationConfig {\n  primaryColor?: string;    // 主色调\n  secondaryColor?: string;  // 辅助色\n  placement?: 'top' | 'bottom' | 'left' | 'right'; // 显示位置\n}\n```\n\n### 国际化配置\n\n| 参数           | 类型       | 默认值 | 描述           |\n| -------------- | ---------- | ------ | -------------- |\n| `locale`     | `string` | `'zh'` | 语言设置       |\n| `localeData` | `object` | -      | 自定义语言包   |\n\n## 📝 使用示例\n\n### 基础配置\n\n```typescript\n// .winrc.ts\nexport default defineConfig({\n  plugins: ['@winner-fed/plugin-web-update-notification'],\n  webUpdateNotification: {\n    checkInterval: 5 * 60 * 1000, // 5分钟检测一次\n    versionType: 'build_timestamp', // 使用构建时间戳\n    logVersion: true, // 控制台输出版本信息\n    notificationProps: {\n      title: '系统更新',\n      description: '发现新版本，建议立即更新以获得最佳体验。',\n      buttonText: '立即更新',\n      dismissButtonText: '稍后'\n    }\n  }\n});\n```\n\n### 自定义版本号\n\n```typescript\n// .winrc.ts\nexport default defineConfig({\n  plugins: ['@winner-fed/plugin-web-update-notification'],\n  webUpdateNotification: {\n    versionType: 'custom',\n    customVersion: '2.1.0', // 自定义版本号\n    checkInterval: 2 * 60 * 1000, // 2分钟检测一次\n    notificationProps: {\n      title: 'v2.1.0 版本更新',\n      description: '新增了用户反馈功能，修复了已知问题。',\n      buttonText: '更新到 v2.1.0'\n    }\n  }\n});\n```\n\n### 自定义样式\n\n```typescript\n// .winrc.ts\nexport default defineConfig({\n  plugins: ['@winner-fed/plugin-web-update-notification'],\n  webUpdateNotification: {\n    notificationConfig: {\n      primaryColor: '#007aff',\n      secondaryColor: '#f0f0f0',\n      placement: 'top'\n    },\n    notificationProps: {\n      title: '🎉 发现新版本',\n      description: '系统已升级，点击更新体验新功能！',\n      buttonText: '🔄 立即更新',\n      dismissButtonText: '⏰ 稍后提醒'\n    }\n  }\n});\n```\n\n### 多语言配置\n\n```typescript\n// .winrc.ts\nexport default defineConfig({\n  plugins: ['@winner-fed/plugin-web-update-notification'],\n  webUpdateNotification: {\n    locale: 'en',\n    localeData: {\n      en: {\n        title: 'New Version Available',\n        description: 'A new version is available. Please refresh to get the latest features.',\n        buttonText: 'Refresh Now',\n        dismissButtonText: 'Later'\n      },\n      zh: {\n        title: '发现新版本',\n        description: '系统已更新，请刷新页面获取最新功能。',\n        buttonText: '立即刷新',\n        dismissButtonText: '稍后提醒'\n      }\n    }\n  }\n});\n```\n\n### 静默模式\n\n```typescript\n// .winrc.ts - 仅检测版本，不显示通知\nexport default defineConfig({\n  plugins: ['@winner-fed/plugin-web-update-notification'],\n  webUpdateNotification: {\n    silence: true, // 静默模式\n    logVersion: true, // 仅在控制台输出\n    checkInterval: 30 * 1000 // 30秒检测一次\n  }\n});\n```\n\n### 自定义通知界面\n\n```typescript\n// .winrc.ts\nexport default defineConfig({\n  plugins: ['@winner-fed/plugin-web-update-notification'],\n  webUpdateNotification: {\n    hiddenDefaultNotification: true, // 隐藏默认通知\n    customNotificationHTML: `\n      \u003cdiv id=\"custom-update-notice\" style=\"\n        position: fixed;\n        top: 20px;\n        right: 20px;\n        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n        color: white;\n        padding: 16px 20px;\n        border-radius: 8px;\n        box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n        z-index: 99999;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n      \"\u003e\n        \u003cdiv style=\"font-weight: 600; margin-bottom: 8px;\"\u003e🎉 更新可用\u003c/div\u003e\n        \u003cdiv style=\"font-size: 14px; opacity: 0.9; margin-bottom: 12px;\"\u003e\n          发现新版本，点击更新获取最新功能\n        \u003c/div\u003e\n        \u003cbutton onclick=\"window.location.reload()\" style=\"\n          background: rgba(255,255,255,0.2);\n          border: 1px solid rgba(255,255,255,0.3);\n          color: white;\n          padding: 6px 12px;\n          border-radius: 4px;\n          cursor: pointer;\n          font-size: 12px;\n          margin-right: 8px;\n        \"\u003e立即更新\u003c/button\u003e\n        \u003cbutton onclick=\"this.parentElement.style.display='none'\" style=\"\n          background: transparent;\n          border: 1px solid rgba(255,255,255,0.3);\n          color: white;\n          padding: 6px 12px;\n          border-radius: 4px;\n          cursor: pointer;\n          font-size: 12px;\n        \"\u003e稍后\u003c/button\u003e\n      \u003c/div\u003e\n    `\n  }\n});\n```\n\n## 🎯 版本检测策略\n\n### 1. 构建时间戳（推荐）\n\n```typescript\nwebUpdateNotification: {\n  versionType: 'build_timestamp'\n}\n```\n\n**原理**：使用构建时的时间戳作为版本标识\n**优点**：简单可靠，每次构建都会生成新版本\n**适用**：大多数场景\n\n### 2. 自定义版本号\n\n```typescript\nwebUpdateNotification: {\n  versionType: 'custom',\n  customVersion: '1.2.3'\n}\n```\n\n**原理**：使用自定义的版本号\n**优点**：语义化版本，便于管理\n**适用**：需要精确控制版本的场景\n\n### 3. Git 提交哈希\n\n```typescript\nwebUpdateNotification: {\n  versionType: 'commit_hash'\n}\n```\n\n**原理**：使用 Git 提交的哈希值\n**优点**：与代码变更直接关联\n**适用**：Git 管理的项目\n\n### 4. 包版本号\n\n```typescript\nwebUpdateNotification: {\n  versionType: 'package_version'\n}\n```\n\n**原理**：使用 package.json 中的版本号\n**优点**：与项目版本同步\n**适用**：规范的版本管理流程\n\n## 🔧 高级用法\n\n### 编程式控制\n\n```typescript\n// 在运行时控制更新检测\ndeclare global {\n  interface Window {\n    pluginWebUpdateNotice_version?: string;\n  }\n}\n\n// 获取当前版本\nconsole.log('当前版本:', window.pluginWebUpdateNotice_version);\n\n// 手动触发版本检测\nif (window.webUpdateNoticeInstance) {\n  window.webUpdateNoticeInstance.checkUpdate();\n}\n```\n\n### 事件监听\n\n```typescript\n// 监听版本更新事件\nwindow.addEventListener('web-update-notice', (event) =\u003e {\n  console.log('检测到新版本:', event.detail);\n  \n  // 自定义处理逻辑\n  if (event.detail.hasUpdate) {\n    // 显示自定义更新提示\n    showCustomUpdateDialog();\n  }\n});\n```\n\n### 条件更新\n\n```typescript\n// 根据用户角色决定是否显示更新通知\nwebUpdateNotification: {\n  silence: getUserRole() !== 'admin', // 仅管理员看到通知\n  checkInterval: 60 * 1000, // 1分钟检测一次\n  notificationProps: {\n    title: '管理员更新通知',\n    description: '系统后台已更新，请刷新页面。'\n  }\n}\n```\n\n## 📱 移动端适配\n\n### 响应式设计\n\n插件自动适配移动端显示：\n\n```css\n/* 自动适配的样式 */\n@media (max-width: 768px) {\n  .web-update-notice {\n    left: 16px !important;\n    right: 16px !important;\n    width: auto !important;\n  }\n}\n```\n\n### 移动端优化配置\n\n```typescript\n// 移动端优化配置\nwebUpdateNotification: {\n  checkInterval: 5 * 60 * 1000, // 移动端降低检测频率\n  notificationConfig: {\n    placement: 'bottom', // 底部显示更适合移动端\n    primaryColor: '#007aff'\n  },\n  notificationProps: {\n    title: '📱 更新可用',\n    description: '发现新版本，轻触更新。',\n    buttonText: '更新',\n    dismissButtonText: '稍后'\n  }\n}\n```\n\n## 🎨 自定义样式\n\n### CSS 变量覆盖\n\n```css\n/* 在全局样式中覆盖默认样式 */\n:root {\n  --web-update-notice-primary-color: #007aff;\n  --web-update-notice-secondary-color: #f0f0f0;\n  --web-update-notice-border-radius: 12px;\n  --web-update-notice-box-shadow: 0 8px 32px rgba(0,0,0,0.1);\n}\n```\n\n### 主题定制\n\n```typescript\n// 深色主题\nwebUpdateNotification: {\n  notificationConfig: {\n    primaryColor: '#0a84ff',\n    secondaryColor: '#1c1c1e',\n    placement: 'top'\n  }\n}\n\n// 品牌主题\nwebUpdateNotification: {\n  notificationConfig: {\n    primaryColor: '#ff6b35', // 品牌色\n    secondaryColor: '#ffeaa7',\n    placement: 'bottom'\n  }\n}\n```\n\n## 🔍 常见问题\n\n### Q: 为什么更新通知没有显示？\n\nA: 请检查以下几点：\n1. 确保当前环境是生产环境（`NODE_ENV=production`）\n2. 确认已正确安装 `@plugin-web-update-notification/core` 依赖\n3. 检查版本检测策略是否正确配置\n4. 查看浏览器控制台是否有错误信息\n\n### Q: 如何在开发环境中测试更新通知？\n\nA: 开发环境默认不启用更新通知。如需测试，可以：\n\n```typescript\n// 临时启用开发环境检测\napi.describe({\n  enableBy() {\n    return true; // 强制启用\n  }\n});\n```\n\n### Q: 如何自定义检测逻辑？\n\nA: 可以使用静默模式，然后通过事件监听实现自定义逻辑：\n\n```typescript\nwebUpdateNotification: {\n  silence: true, // 不显示默认通知\n  checkInterval: 30 * 1000\n}\n\n// 自定义检测逻辑\nwindow.addEventListener('web-update-notice', (event) =\u003e {\n  if (event.detail.hasUpdate) {\n    // 实现自定义更新提示\n    myCustomUpdateHandler(event.detail);\n  }\n});\n```\n\n### Q: 如何处理更新检测失败？\n\nA: 插件会自动处理网络错误，但你可以监听错误事件：\n\n```typescript\nwindow.addEventListener('web-update-notice-error', (event) =\u003e {\n  console.error('版本检测失败:', event.detail);\n  // 实现错误处理逻辑\n});\n```\n\n### Q: 支持哪些浏览器？\n\nA: 支持所有现代浏览器：\n- Chrome 60+\n- Firefox 60+\n- Safari 12+\n- Edge 79+\n- 移动端浏览器\n\n## 📋 最佳实践\n\n### 1. 版本策略选择\n\n- **开发迭代频繁**：使用 `build_timestamp`\n- **版本管理规范**：使用 `package_version`\n- **Git 工作流**：使用 `commit_hash`\n- **精确控制**：使用 `custom`\n\n### 2. 检测频率建议\n\n```typescript\n// 不同应用类型的建议配置\nconst configs = {\n  // 高频更新应用（如在线工具）\n  highFrequency: {\n    checkInterval: 2 * 60 * 1000, // 2分钟\n    checkOnWindowFocus: true,\n    checkImmediately: true\n  },\n  \n  // 一般业务应用\n  normal: {\n    checkInterval: 10 * 60 * 1000, // 10分钟\n    checkOnWindowFocus: true,\n    checkImmediately: false\n  },\n  \n  // 低频更新应用\n  lowFrequency: {\n    checkInterval: 30 * 60 * 1000, // 30分钟\n    checkOnWindowFocus: false,\n    checkImmediately: false\n  }\n};\n```\n\n### 3. 用户体验优化\n\n```typescript\n// 用户友好的配置\nwebUpdateNotification: {\n  // 适中的检测频率\n  checkInterval: 8 * 60 * 1000,\n  \n  // 友好的提示文案\n  notificationProps: {\n    title: '🎉 新功能来了',\n    description: '我们为您准备了新功能和体验优化，建议立即更新。',\n    buttonText: '✨ 立即体验',\n    dismissButtonText: '⏰ 稍后提醒'\n  },\n  \n  // 不要过于打扰用户\n  checkOnWindowFocus: false, // 避免频繁切换窗口时检测\n  hiddenDismissButton: false // 允许用户选择稍后更新\n}\n```\n\n### 4. 性能优化\n\n```typescript\n// 性能优化配置\nwebUpdateNotification: {\n  // 合理的检测间隔\n  checkInterval: 15 * 60 * 1000, // 15分钟\n  \n  // 避免不必要的检测\n  checkOnLoadFileError: false,\n  \n  // 静默模式减少UI开销\n  silence: shouldSilentMode(),\n  \n  // 仅在必要时输出日志\n  logVersion: process.env.NODE_ENV === 'development'\n}\n```\n\n## 🛠️ 开发调试\n\n### 调试模式\n\n```typescript\n// 开启详细日志\nwebUpdateNotification: {\n  logVersion: true,\n  checkInterval: 10 * 1000, // 10秒快速测试\n  notificationProps: {\n    title: '[DEBUG] 更新测试',\n    description: '这是调试模式的更新通知'\n  }\n}\n```\n\n### 版本信息查看\n\n```javascript\n// 在浏览器控制台中查看版本信息\nconsole.log('当前版本:', window.pluginWebUpdateNotice_version);\n\n// 查看检测状态\nconsole.log('更新实例:', window.webUpdateNoticeInstance);\n```\n\n## 📄 许可证\n\n[MIT](./LICENSE).\n\n## 🔗 相关链接\n\n- [@plugin-web-update-notification/core](https://github.com/GreatAuk/plugin-web-update-notification)\n- [Web App 更新策略最佳实践](https://web.dev/app-update-strategies/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinjs-dev%2Fwinjs-plugin-web-update-notification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwinjs-dev%2Fwinjs-plugin-web-update-notification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinjs-dev%2Fwinjs-plugin-web-update-notification/lists"}