1.0.12 • Published 11 months ago

npm2cjs v1.0.12

Weekly downloads
-
License
ISC
Repository
github
Last release
11 months ago

npm2cjs

将常见的其它格式的npm包转成cjs的npm包的cli.

在开发cjs包时, 如果想使用esm包 (如inquirer最新版本chalk等), 难免需要配置复杂的打包配置来支持. 但也可以另辟蹊径, 用cli的方式自动将这些包转换为cjs包, 并用自己的账户存到npm仓库上. 同时也便于以后的开发.

注意: 打包后npm包的README文件会自动加上来源信息, 以表示对原作者产权的尊重

Install

npm i npm2cjs -g or yarn global add npm2cjs

Usage

设置要发布的包的包名

npm2cjs config set reformNameType=suffix reformNameValue=-cjs 给包名添加-cjs的后缀, 如: 要打包的包名为chalk, 发布之后的npm包即为chalk-cjs

更多配置项请使用npm2cjs config -h查看

npm to cjs

npm2cjs do <pkg-name> 将包名为<pkg-name>的包转换为cjs, 并发布

也可 npm2cjs do <pkg-name@version>

npm2cjs do <pkg-name> -d <output-dir> --no-publish 将包名为<pkg-name>的包转换为cjs, 并保存到<output-dir>目录下, 不发布

更多配置

请使用npm2cjs -h查看

两个问题尚未解决

  1. 目标包不能用top-level-await, babel不会解析top-level-await且直接保留代码, webpack解析top-level-await会有bug. 需要单独的解析器(详细看文章mjs转译为cjs(快来造轮子)), 尚未开始开发, 欢迎一起搞

  2. 不支持多个入口文件, 目前是只打算支持一个入口文件的转换

  3. 不支持多个导出文件, 功能尚未完成