egg icon indicating copy to clipboard operation
egg copied to clipboard

4.0 Milestone

Open popomore opened this issue 5 years ago • 91 comments

Feature

  • [x] Support TypeScript by default
    • [x] https://github.com/eggjs/koa/pull/5
    • [x] @eggjs/core https://github.com/eggjs/egg-core/pull/265
    • [x] https://github.com/eggjs/egg-utils/pull/21
    • [x] @eggjs/router https://github.com/eggjs/egg-router/pull/10
    • [ ] refactor egg with ts https://github.com/eggjs/egg/pull/5328
    • [ ] use tegg by default
  • [x] Support cjs and esm both https://github.com/eggjs/egg/issues/5257
  • [x] Support Node >= 18.19.0 (diagnostics_channel.subscribe required)

    https://nodejs.org/api/esm.html#importmetaresolvespecifier import.meta.resolve required >= 18.19.0

  • [x] Only support Windows >= 10
  • [x] urllib@4 and undici@6 https://github.com/node-modules/urllib/pull/514
  • [ ] Better Single Process In Docker
  • [ ] Async Config Support
  • [ ] ~~CLI Plugin System~~
  • [ ] Release Egg Cloud
    • [ ] Support Cloudflare Workers https://developers.cloudflare.com/workers/

Breaking changes

Node.js

  • [x] Drop generator function support
  • [x] Drop Node.js < 18.19.0 support

HttpClient

  • [ ] Remove DNSCacheHttpClient
  • [ ] Remove HttpClientNext
  • [ ] upgrade urllib to v4

Logger

  • [ ] set config.logger.enablePerformanceTimer = true by default
  • [ ] set config.logger.enableFastContextLogger = true by default

Other

  • [x] Drop legacy feature.
  • [ ] New Docs Site.
  • [x] Auto release by https://github.com/node-modules/github-actions

Release

  • ~~Maybe October, 2019~~
  • ~~2022年8月8日发布全新的框架内核 Artus,发音「阿图斯」~~ 内核还是 egg-core,不会改动。
  • egg 4.0:正在 ts 重构中,预计 2024年下半年发布

popomore avatar Apr 24 '19 05:04 popomore

egg-mock / egg-bin / egg-scripts / egg-cluster drop support of Node 6.x genertor, use async function.

atian25 avatar May 06 '19 00:05 atian25

What is Egg Cloud, It sounds great! Can you make a briefly introduce for it ?

unclexiao avatar May 06 '19 10:05 unclexiao

What is Egg Cloud, It sounds great! Can you make a briefly introduce for it ?

you could image it as an upper framework for cloud, including some powerful plugins.

cc @gxcsoccer

atian25 avatar May 07 '19 00:05 atian25

  1. ES Modules is Experimental even if Node v12.2.0. So use babel or native support?
  2. Support Docker. Provide docker image in docker hub when release new egg version? Provide egg's health check mechanism for docker health check?

qingdengyue avatar May 10 '19 01:05 qingdengyue

Support ES Modules

I think is allow user to use egg module in ES Module way, but egg itself still common module by default.

fengmk2 avatar May 10 '19 01:05 fengmk2

Is this the Egg Cloud?

ZQun avatar Jul 17 '19 06:07 ZQun

hope more better ts support

beiyu98 avatar Aug 28 '19 01:08 beiyu98

I see the keywords: Cloud Native and ServerLess.

fengmk2 avatar Aug 29 '19 03:08 fengmk2

Existing versions of typescript often fail to make breakpoints for debugging, and the new version should consider optimizing typescript support.

xiaotan0305 avatar Sep 12 '19 01:09 xiaotan0305

Better Single Process In Docker <- cool! looking forward to this =]

alickmail avatar Sep 26 '19 08:09 alickmail

How long will it take for version 3.0?

GodsWati avatar Nov 14 '19 13:11 GodsWati

CLI插件系统 是什么?想要pm2的功能,想要更简化的日志系统

buzai avatar Dec 25 '19 09:12 buzai

How long will it take for version 3.0? @atian25

fengqy800 avatar Jan 04 '20 07:01 fengqy800

不上ts的话升级没意义,上了ts的话架构基本要重来,3.0应该是一个很远的目标了, 可笑坏了nestjs了吧

callmez avatar Jan 04 '20 10:01 callmez

原生的typescript没有吗?没有装饰器很遗憾啊

tong3jie avatar Feb 15 '20 13:02 tong3jie

ts重构一波啊!老弟!

echofly avatar Feb 27 '20 06:02 echofly

any update?

zcong1993 avatar Mar 10 '20 03:03 zcong1993

any progress?

xuxucode avatar Mar 10 '20 12:03 xuxucode

when they want start...

callmez avatar Mar 10 '20 13:03 callmez

"Maybe October, 2019" = No deadline, even never

xuxucode avatar Mar 10 '20 14:03 xuxucode

这项目现在还有人维护吗?feature里面的Better Single Process In Docker和我之前提的proposal https://github.com/eggjs/egg/issues/4190 描述的是一致的?何时可以支持?

shinji3887 avatar Mar 14 '20 05:03 shinji3887

维护呀 只是bug修复 功能性的就算了吧

callmez avatar Mar 15 '20 09:03 callmez

2020年了, egg 3.0有新进展了么?😂

muzaisimao avatar Mar 20 '20 07:03 muzaisimao

nestjs我也用过,个人觉得没什么太大意思,ts写起来比较啰嗦,类型对象、IOC等概念对于js开发者来说过于复杂,nodejs的开发就应该定位是小快灵(比如小程序、serverless),真要是企业级开发,我直接上spring boot了,也不会用node,后端的选择灵活性比前端大多了。nodejs中的开发es还是王道,真心希望eggjs能发展的更好,社区有良性发展(引入更多的外部参与者,而不是靠某家公司推动主导)

shinji3887 avatar Mar 21 '20 01:03 shinji3887

抱歉,还在内部孵化,有什么进展会同步的

popomore avatar Mar 22 '20 17:03 popomore

感觉ts很有必要

xiexingen avatar Apr 10 '20 01:04 xiexingen

nestjs我也用过,个人觉得没什么太大意思,ts写起来比较啰嗦,类型对象、IOC等概念对于js开发者来说过于复杂,nodejs的开发就应该定位是小快灵(比如小程序、serverless),真要是企业级开发,我直接上spring boot了,也不会用node,后端的选择灵活性比前端大多了。nodejs中的开发es还是王道,真心希望eggjs能发展的更好,社区有良性发展(引入更多的外部参与者,而不是靠某家公司推动主导)

但是很多前端人员对于spring boot不是很懂啊

darrenliuwei avatar Apr 10 '20 04:04 darrenliuwei

nestjs我也用过,个人觉得没什么太大意思,ts写起来比较啰嗦,类型对象、IOC等概念对于js开发者来说过于复杂,nodejs的开发就应该定位是小快灵(比如小程序、serverless),真要是企业级开发,我直接上spring boot了,也不会用node,后端的选择灵活性比前端大多了。nodejs中的开发es还是王道,真心希望eggjs能发展的更好,社区有良性发展(引入更多的外部参与者,而不是靠某家公司推动主导)

但是现实中还是有很多中小公司拿nodejs做真正的后端开发,这时候就有了很多真正的后端需求。nestjs也支持js模式,但是大部分人使用了ts就回不去了,而且ts类型也不是强制的,因此并没有麻烦多少,反正可维护性提高了不少。我觉得前端多去接触些后端成熟理念并不是一件坏事,反而会推进nodejs后端生态的发展,毕竟nodejs的发展还是要靠jser的,而不是其他语言的开发者

beiyu98 avatar Apr 10 '20 05:04 beiyu98

nestjs我也用过,个人觉得没什么太大意思,ts写起来比较啰嗦,类型对象、IOC等概念对于js开发者来说过于复杂,nodejs的开发就应该定位是小快灵(比如小程序、serverless),真要是企业级开发,我直接上spring boot了,也不会用node,后端的选择灵活性比前端大多了。nodejs中的开发es还是王道,真心希望eggjs能发展的更好,社区有良性发展(引入更多的外部参与者,而不是靠某家公司推动主导)

但是很多前端人员对于spring boot不是很懂啊

前端了解angular后,基本就很容易懂了

beiyu98 avatar Apr 10 '20 05:04 beiyu98

nestjs我也用过,个人觉得没什么太大意思,ts写起来比较啰嗦,类型对象、IOC等概念对于js开发者来说过于复杂,nodejs的开发就应该定位是小快灵(比如小程序、serverless),真要是企业级开发,我直接上spring boot了,也不会用node,后端的选择灵活性比前端大多了。nodejs中的开发es还是王道,真心希望eggjs能发展的更好,社区有良性发展(引入更多的外部参与者,而不是靠某家公司推动主导)

但是现实中还是有很多中小公司拿nodejs做真正的后端开发,这时候就有了很多真正的后端需求。nestjs也支持js模式,但是大部分人使用了ts就回不去了,而且ts类型也不是强制的,因此并没有麻烦多少,反正可维护性提高了不少。我觉得前端多去接触些后端成熟理念并不是一件坏事,反而会推进nodejs后端生态的发展,毕竟nodejs的发展还是要靠jser的,而不是其他语言的开发者

我的意思是,真的纯后端开发的,一般都考虑java了,很少看到有公司以node为主的后端开发,node一般是用在bff中间层开发或者简单的管理端后台服务,所以node的优势就是js的优势,轻便,快速,语法对前端人员友好,ts那套类型对象的设计模式,对于前端人员来说学习成本就有点高了

shinji3887 avatar Apr 11 '20 00:04 shinji3887