Skip to content
This repository has been archived by the owner on Apr 16, 2024. It is now read-only.

feat: optional realIP #863

Merged
merged 2 commits into from
Aug 8, 2020
Merged

feat: optional realIP #863

merged 2 commits into from
Aug 8, 2020

Conversation

greenhat616
Copy link
Contributor

使用情景

模块引用项目时有需要设置 X-Real-IP 的情况

做了些什么?

  • 为所有模块增加了 realIP 选项
  • realIP 被设定,则在 request 中添加 X-Real-IP
  • 使用 prettier 格式化了一波模块文件(感觉有些模块有点乱,而且格式不太统一)

@greenhat616
Copy link
Contributor Author

greenhat616 commented Aug 4, 2020

@Binaryify 此外,建议使用 Renovate 来管理依赖。

原因

  • 目前项目缺乏 lockfile,如果有依赖出现破坏性修改时,使用者这时候可能取得破坏性变更的依赖版本,导致程序错误。
  • Node.js 包依赖锁文件杂七杂八,比如 yarn.lock(yarn 1 & 2), package-lock.json (npm >= 5), shrinkwrap.yaml (pnpm),人工维护成本过大

它能做什么?

  • 启用后,针对 Node.js 项目,他会进行 pin 操作(即使用确切版本的依赖,并提交 PR)。
  • 当有依赖更新时,它能自动提交 PR,敦促管理者审核。

好处

  • 用户能够使用和仓库版本一致的依赖
  • 不受包管理器影响,能使所有的用户使用一致的版本。(缺陷也是有的,没有哈希验证)

示范

@Binaryify
Copy link
Owner

Renovate 已加上,确实方便

@greenhat616
Copy link
Contributor Author

@Binaryify 好像有点奇怪,我的项目:https://github.com/hitokoto-osc/hitokoto-api/blob/master/package.json 的话 ,dependencies 中的版本号也被固定了。

我看了下此项目,和 nodebb 那个项目,发现 dependencies 都没固定。简单排查,发现缺乏包锁文件(lockfile),推测可能因为这个原因导致没有把依赖包一起固定。

我看了看 .gitignore 的历史,曾经因锁文件的问题出现过运行时问题,移除了锁文件。

我觉得,作者您如果方便,乐意的话可以尝试添加锁文件,然后看看能不能让它把 dependencies 也一起固定,这样其他一些包管理器也能受益。

@Binaryify
Copy link
Owner

package-lock.json 吗

@greenhat616
Copy link
Contributor Author

greenhat616 commented Aug 9, 2020 via email

@Binaryify
Copy link
Owner

我试试

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants