Releases: web-infra-dev/modern.js
Releases · web-infra-dev/modern.js
v2.61.0
What's Changed
Performance Improvements ⚡
- perf(plugin-tailwind): reduce tailwindcss
hash()
overhead by @chenjiahan in #6471
New Features 🎉
- feat: passthrough body, when receiving an mf request by @yimingjfe in #6506
- feat: create tools and new command not support Module project by @caohuilin in #6493
- feat: splitting the code for _ROUTER_DATA initialisation by @targeral in #6463
Bug Fixes 🐞
- fix(bff): fix zod not found error by @keepview in #6468
- fix: hot reload problems for server by @yimingjfe in #6500
- fix: parse
routerDataFnArgs
inmergeLoaderData
function by @targeral in #6473 - fix: garfish plugin export path error by @caohuilin in #6499
Docs update 📄
- docs: remove Module from Modern.js introduction by @chenjiahan in #6491
Other Changes
- chore(docs): fix the documentation of source build error by @easy1090 in #6476
- chore(deps): bump webpack to 5.96.x by @9aoy in #6489
更新内容
新特性 🎉
- feat: 当收到一个 mf 请求时,透传 body 由 @yimingjfe 实现, 详情可查看 #6506
- feat: create 工具和 new 命令不再支持模块项目 由 @caohuilin 实现, 详情可查看 #6493
- feat: 拆分 _ROUTER_DATA 初始化的代码 由 @targeral 实现, 详情可查看 #6463
Bug 修复 🐞
- fix(bff): 修复无法找到 zod 错误 由 @keepview 实现, 详情可查看 #6468
- fix: 修复服务端热更新问题 由 @yimingjfe 实现, 详情可查看 #6500
- fix: 在
mergeLoaderData
函数中解析 routerDataFnArgs 由 @targeral 实现, 详情可查看 #6473 - fix: 修复 garfish 插件导出路径错误 由 @caohuilin 实现, 详情可查看 #6499
v2.60.6
What's Changed
New Features 🎉
- feat(deps): bump babel to 7.26 to support parse import attributes by default by @9aoy in #6453
- feat: delete unused hook api by @caohuilin in #6457
- feat(bff): integrated file upload call by @keepview in #6419
- feat: print ssg subprocess log by @caohuilin in #6440
- feat(router): support v7_startTransition configuration by @yimingjfe in #6461
Bug Fixes 🐞
- fix: support tools.htmlPlugin.minify false by @9aoy in #6439
- fix: router v5 baseUrl problem by @caohuilin in #6435
- fix: using node:fs with node polyfill will lead to an error by @yuyutaotao in #6431
- fix(server): handle the cases that res cannot be writable by @yimingjfe in #6430
- fix(runtime-utils): the normalizePathname should handles multiple slashes by @yimingjfe in #6441
更新内容
新特性 🎉
- feat: 删除没有使用的 hook api 由 @caohuilin 实现, 详情可查看 #6457
- feat(bff): 支持文件上传一体化调用 由 @keepview 实现, 详情可查看 #6419
- feat: 输出 ssg 子进程日志 由 @caohuilin 实现, 详情可查看 #6440
- feat(router): 支持 v7_startTransition 配置 由 @yimingjfe 实现, 详情可查看 #6461
Bug 修复 🐞
- fix: 修复 router v5 的 baseUrl 问题 由 @caohuilin 实现, 详情可查看 #6435
- fix(server): 处理 res 无法写入的情况 由 @yimingjfe 实现, 详情可查看 #6430
- fix(runtime-utils): normalizePathname 函数应该处理好多个 / 的情况 由 @yimingjfe 实现, 详情可查看 #6441
v2.60.5
What's Changed
New Features 🎉
- feat(deps): bump html-webpack-plugin to support getCompilationHooks by @9aoy in #6402
- feat: update @types/node version for template by @caohuilin in #6418
- feat: router plugin add beforeCreateRoutes hook by @caohuilin in #6417
- feat: generator upgrade tailwindcss version by @caohuilin in #6423
Bug Fixes 🐞
- fix: upgrade command get modern version error by @caohuilin in #6396
- fix: upgrade tools prepare generator error by @caohuilin in #6398
- fix: when the enableCustomEntry is set to true, the
entry.tsx
should be recognized first. by @caohuilin in #6420
更新内容
新特性 🎉
- feat: 更新生成器模板 @types/node 版本 由 @caohuilin 实现, 详情可查看 #6418
- feat: router 插件添加 beforeCreateRoutes 钩子 由 @caohuilin 实现, 详情可查看 #6417
- feat: 生成器升级 tailwindcss 版本 由 @caohuilin 实现, 详情可查看 #6423
Bug 修复 🐞
- fix: 修复 upgrade 命令获取 modern 版本失败的问题 由 @caohuilin 实现, 详情可查看 #6396
- fix: 修复 upgrade 工具准备阶段生成器失败的问题 由 @caohuilin 实现, 详情可查看 #6398
- fix: 开启 enableCustomEntry 后,
entry.tsx
入口应优先被识别 由 @caohuilin 实现, 详情可查看 #6420
v2.60.4
What's Changed
New Features 🎉
- feat: add
html.outputStructure
and doc by @spencerHT in #6375 - feat(server): add catch logic for ssrCache container operation by @targeral in #6390
- feat: optimize generator download by @caohuilin in #6377
- feat: config/public directory ignore .gitkeep file by @caohuilin in #6394
Bug Fixes 🐞
- fix(bff): should register esbuild for js projects by @yimingjfe in #6379
- fix: remove node_modules in watcher ignored list by @zllkjc in #6381
- fix(bff): zodError causing 500 error due to inconsistent zod versions by @keepview in #6384
- fix:
output.sourcemap
not work by @SoonIter in #6342 - fix: remove ssg stdout listener, only stderr by @zllkjc in #6387
- fix(server): should get context from unstable middleware correctly by @yimingjfe in #6391
- fix: upgrade react-router & log in debug mode only by @yimingjfe in #6388
- fix: should include files other than tsconfg.json by @caohuilin in #6343
- fix(ssr): we match all asset directly, it can be more faster by @GiveMe-A-Name in #6386
更新内容
新特性 🎉
- feat: 展示
html.outputStructure
并添加文档 由 @spencerHT 实现, 详情可查看 #6375 - feat(server): 为 ssr 缓存容器操作添加错误捕获逻辑 由 @targeral 实现, 详情可查看 #6390
- feat: 优化生成器下载 由 @caohuilin 实现, 详情可查看 #6377
- feat: config/public 目录忽略 .gitkeep 文件 由 @caohuilin 实现, 详情可查看 #6394
Bug 修复 🐞
- fix(bff): 应该为 js 项目注册 esbuild 由 @yimingjfe 实现, 详情可查看 #6379
- fix: 移除 watcher 忽略列表中的 node_modules 由 @zllkjc 实现, 详情可查看 #6381
- fix(bff): 修复由于 zod 版本不一致导致的 zodError 触发的 500 错误 由 @keepview 实现, 详情可查看 #6384
- fix:
output.sourcemap
不生效 由 @SoonIter 实现, 详情可查看 #6342 - fix: 移除 ssg 的 stdout 监听,只保留 stderr 由 @zllkjc 实现, 详情可查看 #6387
- fix(server): 应该正确地获取到 loaderContext 由 @yimingjfe 实现, 详情可查看 #6391
- fix: 更新 react-router 到最新版 & 只在 debug 模式下打印日志 由 @yimingjfe 实现, 详情可查看 #6388
- fix: 应该包含除了 tsconfig.json 以外的文件 由 @caohuilin 实现, 详情可查看 #6343
- fix(ssr): 我们一次性匹配出所有资源,这样性能更快 由 @GiveMe-A-Name 实现, 详情可查看 #6386
v2.60.3
What's Changed
New Features 🎉
- feat(deps): unpin Rsbuild patch version by @9aoy in #6286
- feat: support dev.watchFiles reload-server option by @9aoy in #6336
- feat(module-plugin-polyfill): support polyfill Node.js builtin modules starting with node: by @Timeless0911 in #6315
- feat(deps): bump rsbuild 1.0.11 by @9aoy in #6338
Bug Fixes 🐞
- fix: copy configuration should only works in main(web) environment by @9aoy in #6340
- fix: should load ts-node from project by @yimingjfe in #6341
Docs update 📄
- docs: link
output.copy
to Rsbuild by @chenjiahan in #6337
Other Changes
- chore(server): add
compiler
option forcreateDevServer
by @await-ovo in #6287
更新内容
新特性 🎉
- feat(module-plugin-polyfill): 支持对 node: 开头的 Node.js builtin modules 进行 polyfill 由 @Timeless0911 实现, 详情可查看 #6315
Bug 修复 🐞
- fix: 应该从项目中加载 ts-node 由 @yimingjfe 实现, 详情可查看 #6341
其他变更
- chore(server): 为
createDevServer
添加compiler
选项 由 @await-ovo 实现, 详情可查看 #6287
v2.60.2
What's Changed
New Features 🎉
- feat(deps): bump rsbuild 1.0.6 & rspack 1.0.7 by @9aoy in #6262
- feat: add timing log for mwa and module generator to get solution version by @caohuilin in #6259
- feat: create tools support --time option by @caohuilin in #6240
- feat(router): router plugin should use the App Component from other plugins & export the markRoutes method by @yimingjfe in #6228
- feat(deploy): support server plugin options for deploy by @yimingjfe in #6234
- feat(deps): bump Rsbuild v1.0.7 by @chenjiahan in #6270
- feat: Optimize generator log information by @caohuilin in #6240
- feat: support Component, only use ssr.mode='string' by @caohuilin in #6264
Bug Fixes 🐞
- fix(runtime): fix the alias problem on windows by @yimingjfe in #6233
- fix(module-tools): should distinguish sass and scss syntax by @fi3ework in #6267
- fix(runtime): alias @meta/runtime should be configured correctly by @yimingjfe in #6230
Docs update 📄
Other Changes
- chore: use module-tools from npm to speed up building by @chenjiahan in #6252
- serve command package component by @keepview in #6261
更新内容
新特性 🎉
- feat: 增加 mwa 和 module 生成器获取工程方案版本的耗时日志 由 @caohuilin 实现, 详情可查看 #6259
- feat: create 工具支持 --time 选项 由 @caohuilin 实现, 详情可查看 #6240
- feat(router): router plugin 应该使用 App Component from other plugins & 导出 markRoutes 方法 由 @yimingjfe 实现, 详情可查看 #6228
- feat(deploy): 支持生产环境消费 server 插件配置 由 @yimingjfe 实现, 详情可查看 #6234
- feat: 优化生成器日志信息 由 @caohuilin 实现, 详情可查看 #6240
- feat: 支持 组件, 仅在 ssr.mode 为 'string'的时候生效 由 @caohuilin 实现, 详情可查看 #6264
Bug 修复 🐞
- fix(runtime): 修复 windows 下 alias 的问题 由 @yimingjfe 实现, 详情可查看 #6233
- fix(module-tools): 区分 sass 与 scss 语法 由 @fi3ework 实现, 详情可查看 #6267
- fix(runtime): @meta/runtime 别名应该被正确地配置 由 @yimingjfe 实现, 详情可查看 #6230
文档更新 📄
v2.60.1
What's Changed
New Features 🎉
- feat: support config dev.liveReload in #5673
- feat: remove @modern-js/plugin-lint plugin by @caohuilin in #6216
Bug Fixes 🐞
- fix(server): should not include tsconfig.json by @yimingjfe in #6226
- fix: html minify error when tools.htmlPlugin false by @9aoy in #6225
- fix: the problem of NoSSR with Suspense by @yimingjfe in #6221
- fix: router plugin baseUrl not work by @caohuilin in #6220
Docs update 📄
- docs: add some deprecated warning in model docs and hidden generator docs by @zllkjc in #6227
- docs: refactor builder config doc by @caohuilin in #6182
更新内容
新特性 🎉
- feat: 移除 @modern-js/plugin-lint 插件 由 @caohuilin 实现, 详情可查看 #6216
Bug 修复 🐞
- fix(server): 不应该包含 tsconfig.json 由 @yimingjfe 实现, 详情可查看 #6226
- fix: 修复 NoSSR 在 suspense 下 的问题 由 @yimingjfe 实现, 详情可查看 #6221
- fix: router 插件 baseUrl 不生效 由 @caohuilin 实现, 详情可查看 #6220
文档更新 📄
- docs: 添加 Reduck 文档的废弃警告,隐藏的 generator 文档 由 @zllkjc 实现, 详情可查看 #6227
- docs: 重构 builder 配置文档 由 @caohuilin 实现, 详情可查看 #6182
v2.60.0
What's Changed
New Features 🎉
- feat: generator update json add endWithNewLine params by @caohuilin in #6189
- feat: bump Rsbuild 1.0.x stable by @9aoy in #6202
- feat: remove eslint config package by @caohuilin in #6191
- feat: add warn when transformLodash and transformImport for lodash library both exist by @caohuilin in #6176
- feat: generator template use biome for code lint by @caohuilin in #6181
- feat: generator replace husky to simple git hook by @caohuilin in #6180
Bug Fixes 🐞
- fix: we should not cache the html, if we can match the html is downgrading. by @GiveMe-A-Name in #6179
- fix(cli): correct process exit code by @chenjiahan in #6207
- fix: react's hook useId cause ssr hydrate failed by @GiveMe-A-Name in #6192
- fix: custom entry path in windows when use garfish plugin by @caohuilin in #6205
Docs update 📄
- docs: add deprecate eslint rules package doc by @caohuilin in #6209
Other Changes
- chore: rename serviceWorker environment name to workerSSR by @9aoy in #6210
- refactor(main-doc): improve bff docs by @zllkjc in #6186
更新内容
新特性 🎉
- feat: 生成器更新 json 文件增加 endWithNewLine 参数 由 @caohuilin 实现, 详情可查看 #6189
- feat: 移除 eslint 配置包 由 @caohuilin 实现, 详情可查看 #6191
- feat: 同时使用 source.transformImport 和 performance.transformLodash 优化 lodash 导入时添加警告信息 由 @caohuilin 实现, 详情可查看 #6176
- feat: 生成器模板使用 biome 进行代码 lint 由 @caohuilin 实现, 详情可查看 #6181
- feat: 生成器模板替换 husky 为 simple-git-hook 由 @caohuilin 实现, 详情可查看 #6180
Bug 修复 🐞
- fix: 在 ssr 降级时,我们不应该缓存 html 由 @GiveMe-A-Name 实现, 详情可查看 #6179
- fix(cli): 修正 process exit code 由 @chenjiahan 实现, 详情可查看 #6207
- fix: react's hook useId 导致 ssr hydrate 失败 由 @GiveMe-A-Name 实现, 详情可查看 #6192
- fix: 修复在 windows 下使用 garfish 插件时自定义入口路径 由 @caohuilin 实现, 详情可查看 #6205
文档更新 📄
- docs: 添加下线 eslint 规则包文档 由 @caohuilin 实现, 详情可查看 #6209
其他变更
v2.59.0
What's Changed
New Features 🎉
- feat: support for security.sri when using Rspack by @chenjiahan in #6157
- feat(deps): bump Rsbuild 1.0.1-rc.3 by @chenjiahan in #6171
- feat: add WithRouterProps params type by @zxs-1024 in #6172
- feat: bump Rsbuild 1.0-rc & Rspack 1.0.0 by @9aoy in #6142
- feat: mark rspack as stable and support enabling rspack build via
bundler:'rspack'
by @9aoy in #6167 - feat: enable Rspack by default in new project by @9aoy in #6167
Bug Fixes 🐞
- fix: typo and type for internalDirectory in server appContext by @zllkjc in #6160
- fix: app-tools import createServer.js to fix errors during HMR by @keepview in #6169
- fix: move parse window ssr data to createRoot by @caohuilin in #6146
- fix: node polyfill globals.js should use correct import order by @Timeless0911 in #6159
- fix: we should run runner.fallback when ssr fallback by @GiveMe-A-Name in #6151
- fix: server-core should not be import node api by @GiveMe-A-Name in #6152
- fix: entry detection not work when
src/xx/index.tsx
export a default function by @caohuilin in #6145 - fix: remove lib-lodash from experience chunks by @9aoy in #6150
- fix: serviceWorker default config by @9aoy in #6143
- fix: dev.setupMiddlewares not work by @caohuilin in #6166
Docs update 📄
- docs: update Rspack precautions by @chenjiahan in #6156
Other Changes
- chore: refeactor structure for basic features docs by @zllkjc in #6144
- chore(deps): bump Rsbuild 1.0.1-rc.4 by @chenjiahan in #6174
- refactor: improve framework routes,data-solutions,render docs by @zllkjc in #6126
更新内容
新特性 🎉
Bug 修复 🐞
- fix: 修复 internalDirectory 在 server appContext 中的类型错误 由 @zllkjc 实现, 详情可查看 #6160
- fix: 移动解析 window ssr data 到 createRoot 方法 由 @caohuilin 实现, 详情可查看 #6146
- fix: node polyfill 插件需要使用正确的引入顺序 由 @Timeless0911 实现, 详情可查看 #6159
- fix: 我们应该在 ssr 降级时运行 runn.fallback 由 @GiveMe-A-Name 实现, 详情可查看 #6151
- fix: server-core 不应该被引入 node api 由 @GiveMe-A-Name 实现, 详情可查看 #6152
- fix: 修复当存在
src/xx/index.tsx
并导出一个默认函数时,entry 检测不生效的问题 由 @caohuilin 实现, 详情可查看 #6145 - fix: 修复 dev.setupMiddlewares 不生效的问题 由 @caohuilin 实现, 详情可查看 #6166
其他变更
v2.58.3
What's Changed
Bug Fixes 🐞
- fix: should remove extensions for entry file in real entry file, cause developer may use [.server] for ssr bundle entry by @zllkjc in #6116
- fix: custom server hook context request.path should carray query str by @GiveMe-A-Name in #6127
- fix: remove ssr.preload config by @GiveMe-A-Name in #6062
- fix(data-loader): compatible with asyncEntry for data loader by @yimingjfe in #6131
- fix: modern-entry build rules not use array by @caohuilin in #6120
- fix(server): if res was piped, res should be treated as sent by @yimingjfe in #6123
- fix(runtime): status code should be controlled by data loader by @yimingjfe in #6122
- fix: filter entries by ssr or ssg should not apply the sigle entry by @GiveMe-A-Name in #6134
Other Changes
更新内容
Bug 修复 🐞
- fix: 需要移除入口文件的扩展名,因为开发者可能使用 [.server] 作为 ssr 产物的入口文件 由 @zllkjc 实现, 详情可查看 #6116
- fix: custom server hook context request.path 应该带上 query 字符串 由 @GiveMe-A-Name 实现, 详情可查看 #6127
- fix: 移除 ssr.preload 配置 由 @GiveMe-A-Name 实现, 详情可查看 #6062
- fix(data-loader): data loader 的导出兼容 asyncEntry 由 @yimingjfe 实现, 详情可查看 #6131
- fix: modern-entry 构建规则不使用数组 由 @caohuilin 实现, 详情可查看 #6120
- fix(server): 如果响应被 pipe,响应应该被当作已经发送 由 @yimingjfe 实现, 详情可查看 #6123
- fix(runtime): 状态码应该能被 data loader 控制 由 @yimingjfe 实现, 详情可查看 #6122
- fix: 筛选入口不应该应用于单入口情况 由 @GiveMe-A-Name 实现, 详情可查看 #6134