Zhengqbbb / cz-git

cz-git | czg 🛠️ DX first and more engineered, lightweight, customizable, standard output format Commitizen adapter and CLI
https://cz-git.qbb.sh
MIT License
1.13k stars 41 forks source link

[Bug report] ERROR: require() of ES Module | configure rename to `commitlint.config.cjs` #159

Closed xiangshu233 closed 8 months ago

xiangshu233 commented 8 months ago

✅ Checklist

📄 System Info

😀💬 ~ cz
cz-cli@4.3.0, cz-git@1.8.0

require() of ES Module F:\Project\vue3-vant4-mobile\commitlint.config.js from F:\Project\vue3-vant4-mobile\node_modules\.pnpm\cz-git@1.8.0\node_modules\cz-git\lib\index.js not supported.
Instead change the require of commitlint.config.js in F:\Project\vue3-vant4-mobile\node_modules\.pnpm\cz-git@1.8.0\node_modules\cz-git\lib\index.js to a dynamic import() which is available in all CommonJS modules.

🔎 Description

Concise Description

commitlint.config.js 改为 ES 模块后,cz 命令报错提示 cz-git 不支持 ES

Expected behavior

commitlint.config.js 改为 ES 模块后 cz 可以正常拉起 cz-git

Steps to reproduce

commitlint.config.js 改为 ES Module,执行 cz 报错

Screenshots or Screen Recording(if possible)

image

🔗 Reproduction link / repo:

No response

Zhengqbbb commented 8 months ago

CleanShot 2024-02-23 at 21 44 19@2x

xiangshu233 commented 8 months ago

不好意思后面忘记描述了,我现在就是改成了 commitlint.config.cjs,继续使用 CommonJS 语法,换成 Vite5,每次启动会有警告弹出,虽然功能是正常的,但是有点强迫症😂 image

Zhengqbbb commented 8 months ago

image


蛤!??,是任何命令启动还是说用 vite 命令会发出

xiangshu233 commented 8 months ago

使用 vite5 版本的命令会提示这个警告 https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated

Vite Node API 的 CJS 版本已弃用,并将在 Vite 6 中删除。有关更多上下文,请参阅 GitHub 讨论。您应该更新您的文件或框架以> 导入 Vite 的 ESM 版本。

Zhengqbbb commented 8 months ago

使用 vite5 版本的命令会提示这个警告 https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated

Vite Node API 的 CJS 版本已弃用,并将在 Vite 6 中删除。有关更多上下文,请参阅 GitHub 讨论。您应该更新您的文件或框架以> 导入 Vite 的 ESM 版本。

感觉你可以使用这个命令看看是什么文件或者其他依赖被依赖到处警告发出

VITE_CJS_TRACE=true pnpm dev

如果是因为根目录存在 .cjs 文件导致警告发出那就太不应该了...

xiangshu233 commented 8 months ago

@Zhengqbbb 感谢大佬,尝试了一下这个命令。启动后原来警告直接没有了😂,定位不到问题,而且如果 cz-git 的话 必须停掉项目才能运行 cz 命令拉起,所以这个命令在这个情况下似乎没有意义

https://github.com/Zhengqbbb/cz-git/assets/49575330/c700907b-08e9-4c78-9f81-24b658b7b12b

看来我只能先忽略这个警告了

Zhengqbbb commented 8 months ago

看来我只能先忽略这个警告了

如果存在 .cjs 文件就警告是吧...他们不应该这样做的 🙃 可以试试删除 commitlint..config.cjs,然后启动定位一下就知道是不是这个问题

xiangshu233 commented 8 months ago

不知道是不是这样使用命令,我在 stackoverflow 搜的😂,也有写在 .env 里的,但是我卸载 .env 的忽略警告似乎也不起作用

image

Zhengqbbb commented 8 months ago

我看你使用了 set 命令, 是 Windows 用户

确实没有像 .zshrc .bashrc 那样容易设置

可以看看这个: https://chenjuefei.com:444/167.html

xiangshu233 commented 8 months ago

好的,感谢大佬的回复,打扰了,元宵节快乐

Zhengqbbb commented 2 weeks ago

Hi there, I plan to add support for loading ESM configuration files in v1.11.0 next weekend. I have released a next pre-release version 🌟(v1.11.0-beta.1)🌟 for testing. Welcome to try it out! 👀 Let me know if there are still any issues. 🎉

Docs preview link: https://deploy-preview-197--cz-git.netlify.app/config/ Example: https://github.com/Zhengqbbb/czgit-playground/tree/commitizen-esm

Zhengqbbb commented 1 week ago

Hi there 👋 The latest version 🌟(v1.11.0)🌟 released and supported ESM configure loading. Docs Link: https://cz-git.qbb.sh/config/ 💪 Please have a try. 👀 Let me know if there are still any issues. 🎉