-
Notifications
You must be signed in to change notification settings - Fork 274
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Collecting father doctor rules #608
Comments
有没有发包权限,算不算? |
1、发包 registry 地址是否符合预期 |
PREFER_PACK_DEP_DUP: 检查 |
npm scope 是不是配置了 私有包是否指定了 registry |
之前有一个场景,一个类create-xxx cli工具 这种场景 doctor 能监测吗 |
借鉴 https://publint.dev 的规则并转换成 father doctor 的 rule,源码:https://github.com/bluwy/publint/blob/master/pkg/src/message.js#L13 |
针对 https://github.com/arethetypeswrong/arethetypeswrong.github.io |
是指 |
这个 背景现在 TS 5 的 因为这个行为的改变,社区很多库都类型爆炸失效了,参考 这条 反馈,这是因为人们并不知道真正规范的 问题关于 如何解这个问题:
综上,描述了 |
👍 get,感觉可以参考它拆一些 doctor 规则出来 |
我有两次发布意外删除或增加了很多文件,father doctor 要是能检测到多个文件被增加或删除就好了 |
收集
father doctor
命令计划考虑的 rules,持续更新:Error Level
PACK_FILES_MISSING
: 没把产物及源码中引入的目录配置到files
字段中EFFECTS_IN_SIDE_EFFECTS
:sideEffects
配置有误,例如产物里有引入 css 却配置了false
,或 rollup 不兼容的*.css
配法PHANTOM_DEPS
: 使用了某个依赖但却没在dependencies
中声明,导致幽灵依赖(取消,只检查项目自身的问题)NOT_OWNER
: 不是当前包的 owner,没有发布权限(未登录时不检查)CASE_SENSITIVE_PATHS
: 引入路径的文件大小写与磁盘上的大小写不符,作用于默认大小写不敏感的操作系统(比如 Windows 和 macOS)CJS_IMPORT_ESM
: 在 cjs 产物中引入了 esm 依赖,这会导致发包实际运行时出现ERR_REQUIRE_ESM
报错Warning Level
PREFER_PACK_FILES
: 建议指定files
字段、减小 NPM 产物体积PREFER_NO_CSS_MODULES
: 不建议使用 CSS Modules,使用者难以覆写样式,且会增加额外的编译成本PREFER_BABEL_RUNTIME
: 建议安装@babel/runtme
到dependencies
,以节省产物大小(仅 babel transformer 下检查)DUP_IN_PEER_DEPS
:peerDependencies
和dependencies
里有相同依赖(还没想好,有私有 npm 工具的存在不好实现)MISSING_REGISTRY
: 检查registry
是否符合预期PREFER_PEER_DEPS
: 有多实例风险的依赖应该放入peerDependencies
,比如react
、antd
The text was updated successfully, but these errors were encountered: