Skip to content

Releases: cmux/koot

v0.15.17

05 Jan 09:21
Compare
Choose a tag to compare

koot-electron

  • 确保开发环境中 package.json 会正确生成并被使用

v0.15.16

04 Jan 15:33
Compare
Choose a tag to compare

koot-electron

  • 不再将 SPA 的打包目标设定为 electron-renderer
    • Electron 最新版中,默认设置下,Renderer 进程无法直接调用 Node.js 模块和方法,需要通过 contextBridge 进行桥接,故不再需要 Webpacktarget 设置

v0.15.15

04 Jan 14:43
Compare
Choose a tag to compare

koot-electron

  • 进一步优化相关的打包流程
  • 更新文档,添加配置项和更多的开发 TIPS

v0.15.14

29 Dec 09:47
Compare
Choose a tag to compare

koot-electron

  • Electron 主文件 main.js 可以热更新了

v0.15.13

29 Nov 09:30
Compare
Choose a tag to compare

koot-webpack

  • 修正一处 SSR 项目中 Asset Module 引用地址错误的问题

v0.15.12

09 Aug 09:56
Compare
Choose a tag to compare

koot-webpack

  • 修正一处 SPA 项目开发环境中 Template Inject 失效的问题

v0.15.11

28 Jul 10:26
Compare
Choose a tag to compare

koot-webpack

  • 新配置项 qiankun.extraBase: 允许 Qiankun 子项目的路由响应更多前缀名

v0.15.9

25 Jul 15:33
Compare
Choose a tag to compare

[0.15.9] - 2022-07-25

koot-webpack

  • 针对 mode === 'development' 扩展 babel-loader 配置: generatorOps = { compact: false }
  • 针对 Qiankun 子项目优化 Webpack 配置

[0.15.5] - 2022-07-16

koot-qiankun

  • 现在可以通过 qiankun.entry 定制 Qiankun 子项目的 entry 脚本文件
  • 修正生产环境中没有添加路由 basename 的问题

[0.15.3] - 2022-07-15

koot

  • 修正 React SSR 项目开发环境不可用的问题

[0.15.0] - 2022-07-14

⚠ 重大改动 ⚠

  • 此次更新包含诸多重大改动,对于已有项目的升级,请参阅升级指南

  • Node.js 最低版本要求提升到 14.15.0

  • koot 直接引用 store history localeId 的方式已被完全弃用,请改用 getStore() getHistory() getLocaleId()

    • 0.14:
    import { store, history, localeId } from 'koot';
    if (localeId === 'zh') {
        console.log(store.getState());
        history.push('/index');
    }
    • 0.15:
    import { getStore, getHistory, getLocaleId } from 'koot';
    if (getLocaleId() === 'zh') {
        console.log(getStore().getState());
        getHistory().push('/index');
    }
  • 内置的多语言处理方式改为 Babel 插件,原 Webpack 插件现已弃用 (#215)

    • 原则上对已有项目不会造成影响。如遇问题请进行反馈
  • 重大依赖库版本更新。Koot.js 内部已存在部分兼容性处理,原则上对已有项目不会造成影响,如遇到相关问题可点击对应的问题链接进行反馈

  • 移除以下依赖包,现在不会默认安装。如有使用需要,请在项目中自行安装

    • @diablohu/hard-source-webpack-plugin
    • @hot-loader/react-dom
    • cache-loader
    • get-image-colors
    • isomorphic-fetch
    • react-hot-loader
    • yargs

新特性

  • 现已支持 Qiankun 微前端子项目开发。请参见文档 Qiankun
  • 现已支持全新的 JSX 转译引擎 (#282)
    • 该功能对从 0.15 之前版本升级而来的项目默认关闭,如需开启请参阅 React 官方文档
    • 使用 create-koot-app (koot-cli) 创建的新项目会使用该新特性
  • 新配置项 beforeBuild - 生命周期方法: 打包即将开始时 (#288)
  • 新配置项 afterBuild - 生命周期方法: 打包刚刚完成时 (#288)
  • 新配置项 reactLegacyRef - 如果发现更新后 Reactref 结果有变化,可以尝试打开该选项 - 详情请参见文档 React
  • 在进行打包、启动开发环境之前,现在会进行 Node.js 版本检查,如果不通过,会终止流程 (#274)
  • React 组件的热更新现在改用官方的 Fast Refresh 机制,理论上热更新效率会有提升,原则上对已有项目不会造成负面影响。相关信息请查阅 React 官方讨论帖
  • SSR 项目
    • 渲染缓存的 get()set() 方法现在均新增一个参数,值为本次请求的 KOA Context (#294)

优化

  • serviceWorkercacheFirst networkFirst networkOnly 扩展缓存策略选项,其数组 (Array) 内现在可以直接传入正则表达式和用以分析请求的函数,请参见文档 Service Worker/扩展缓存规则
  • SPA 项目
    • 打包结果中附带的简易服务器现在支持 serverBeforeserverAfter 生命周期 (#292)

错误修正

  • extend() 高阶组件的 pageinfo 方法没有返回 title 时,页面标题被清空的问题
  • SPA 项目中如果没有启用多语言,初次访问开发环境时会报告 Redux 相关错误,提示无法辨识的 Key 的问题 (#230)
  • SPA 项目中如果设定了 historyTypebrowser 同时 Webpack 配置中设定了 output.publicPath,后者不生效的问题 (#249)

各子包其他改动

  • koot

    • 更新依赖包 major 版本号
      • commander -> ^9.3.0
      • filesize -> ^9.0.11
      • fs-extra -> ^10.1.0
      • glob-promise -> ^4.2.2
      • execa -> ^5.1.1
      • filesize -> ^8.0.3
      • js-cookie -> ^3.0.0
      • koa-convert -> ^2.0.0
      • koa-helmet -> ^6.1.0
      • koa-router -> ^11.0.1
      • pm2 -> ^5.2.0
      • react -> ^17.0.2
      • react-dom -> ^17.0.2
      • react-redux -> ^8.0.2
      • sharp -> ^0.30.7
      • typescript -> ^4.7.4
    • 添加依赖包
      • cli-table
      • filesize
  • koot-electron

    • 更新依赖包 major 版本号
      • electron -> ^19.0.8
      • electron-builder -> ^23.1.0
  • koot-webpack

    • 移除 CSS 处理时的 universal-alias-loader 逻辑
      • 新版 Webpack 已默认支持 css-loader 使用 resolve.alias 配置,该 Loader 不再需要
    • 更新依赖包 major 版本号
      • compression-webpack-plugin -> ^10.0.0
      • copy-webpack-plugin -> ^11.0.0
      • css-loader -> ^6.7.1
      • less -> ^4.1.3
      • less-loader -> ^11.0.0
      • mini-css-extract-plugin -> ^2.6.1
      • postcss -> ^8.4.14 (#285)
      • postcss-loader -> ^7.0.1
      • sass-loader -> ^13.0.2
      • schema-utils -> ^4.0.0
      • style-loader -> ^3.3.1
      • thread-loader -> ^3.0.4
      • webpack -> ^5.73.0 (#215)
      • webpack-bundle-analyzer -> ^4.5.0
      • webpack-dev-middleware -> ^5.3.3
      • webpack-dev-server -> ^4.9.3 (#301) (官方升级指南)
      • workbox-webpack-plugin -> ^6.5.3
    • 添加依赖包
      • @babel/plugin-proposal-nullish-coalescing-operator
      • @babel/plugin-proposal-optional-chaining
      • @pmmmwh/react-refresh-webpack-plugin

0.14.12

17 Jan 15:52
Compare
Choose a tag to compare

koot

  • 修正: 无法正确的处理图标文件的问题

0.14.11

15 Jan 03:41
Compare
Choose a tag to compare

koot

  • 优化: SSR 服务器报错机制