Skip to content

feat!: v3 - require Node.js >= 24, migrate to ESM, modernize toolchain#579

Merged
mapleeit merged 5 commits into
masterfrom
v3
Apr 16, 2026
Merged

feat!: v3 - require Node.js >= 24, migrate to ESM, modernize toolchain#579
mapleeit merged 5 commits into
masterfrom
v3

Conversation

@mapleeit

@mapleeit mapleeit commented Apr 16, 2026

Copy link
Copy Markdown
Collaborator

Checklist:

close #572

BREAKING CHANGE: drop Node.js < 24 support, package is now ESM-only

- engines.node >= 24, .nvmrc and CI workflows aligned to Node 24
- CJS -> ESM: tsconfig module nodenext, package.json type module,
  all imports use node: prefix and .js extensions
- Monkey-patching uses createRequire for mutable CJS module objects
  (ESM namespaces are frozen in Node 24)
- Remove moment, replace with native formatTimestamp()
- Upgrade chalk v3 -> v5, ip v1 -> v2 (CVE fix), yargs v15 -> v17
- ESLint v8 -> v9 flat config (eslint.config.mjs), typescript-eslint v8
- Replace Jest with Vitest (native ESM, 4x faster)
- Update README with v3 migration guide, ESM examples, vitest badge

Made-with: Cursor
@tencent-adm

tencent-adm commented Apr 16, 2026

Copy link
Copy Markdown
Member

CLA assistant check
All committers have signed the CLA.

@mapleeit mapleeit merged commit 5a81835 into master Apr 16, 2026
3 checks passed
@mapleeit mapleeit deleted the v3 branch April 17, 2026 02:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

无法运行ES Module,文件为.mjs格式的入口

2 participants