成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

你給開源項目提過 PR 嗎?

開源
你有給開源的庫或者框架提過 PR 嗎?如果沒有,那么今天的文章會教你怎么給開源庫提 PR。

[[415495]]

你有給開源的庫或者框架提過 PR 嗎?

如果沒有,那么今天的文章會教你怎么給開源庫提 PR。

為什么要給開源項目提 PR?

這件事還得從好幾年前(2019年)說起,那時候在折騰一個虛擬 DOM 的玩具(參考之前的文章:🔗虛擬DOM到底是什么?),作為一個標準的前端工程,構建工具、Lint 工具、代碼格式化都是必不可少的。

在構建工具上我選擇了 Rollup,希望每次構建的時候都能自動進行代碼的 Lint,所以引入了 Rollup 的一個插件:rollup-plugin-eslint。 

[[415496]]

在使用這個插件的過程中,發現和 Webpack 對應的插件 eslint-webpack-plugin 還是有一些差距的。我在使用 Webpack 的 eslint-webpack-plugin 時候,只需要配置 fix 屬性,就能夠在保存代碼的時候,自動對代碼進行 fix。

  1. // webpack.config.js 
  2. const ESLintPlugin = require('eslint-webpack-plugin'); 
  3.  
  4. module.exports = { 
  5.   // ... 
  6.   plugins: [ 
  7.     new ESLintPlugin({ 
  8.       fix: true
  9.       extensions: ['js''jsx'
  10.     }) 
  11. }; 

而在使用 rollup-plugin-eslint 的時候,看文檔上,好像沒有提到這個選項,也就是說 rollup-plugin-eslint 根本不支持這個功能。然后,搜索了一下 Issues,不搜不要緊,一搜嚇一跳,發現有人在 2016 年就提出了這個疑問😳。

作者的回復也很簡單,歡迎提交 PR。

我當時心想,這個功能這么久了都沒人實現想必很難吧。但是隔壁的 eslint-webpack-plugin 明明支持這個功能,我去看看它怎么實現的不就行了🐶。

于是,我就把 eslint-webpack-plugin 的代碼 clone 下來一頓搜索,發現它實現這個功能就用了三行代碼。

  1. if (options.fix) { 
  2.   await ESLint.outputFixes(results); 

激動的心,顫抖的手,我趕忙就去 rollup-plugin-eslint 那里提了個 PR。

  • 🔗PR: https://github.com/TrySound/rollup-plugin-eslint/pull/27

關鍵是,作者都沒想到這個東西居然這么簡單就實現了。

如何在 GitHub 上提 PR?

上面是我第一次提 PR 的一個心路歷程,如果你也發現了你現在使用的什么開源框架有待優化的地方,這里再教大家怎么在 GitHub 上提交一個 PR。

對開源項目進行 Fork

首先把你要提交 PR 的項目 Fork 到自己的倉庫。

然后到自己的倉庫中,將 Fork 的項目 clone 到本地。

  1. $ git clone git@github.com:Shenfq/rollup-plugin-eslint.git 

切換到新分支,提交變更,推送到遠程

代碼 clone 到本地之后,先切換一個新的分支,分支名最好緊貼這次更新的內容。

  1. $ git checkout -b feature/add-fix-option 

在新分支修改代碼:

  1. +  if (options.fix && report) { 
  2. +    CLIEngine.outputFixes(report); 
  3. +  } 

提交變更:

  1. $ git add . 
  2. $ git commit -m "feat: add options.fix" 

最后將新的分支推送到遠程:

  1. $ git push --set-upstream origin feature/add-fix-option 

新建 PR

在自己的 GitHub 倉庫中找到對應項目,打開 Pull requests Tab,點擊 New pull request 按鈕,新建一個 PR。

然后,在下面的界面中,選擇剛剛提交的分支,最后點擊 Create pull request 即可。

點擊之后,就在對應的項目中提交了一個屬于你的 PR 了。如果順利的話,你就能『混』 到一個開源項目貢獻者的頭銜。

 

責任編輯:姜華 來源: 自然醒的筆記本
相關推薦

2022-06-21 09:26:28

開源項目PR

2023-12-22 08:13:39

業務review流程

2018-03-07 06:37:14

開源項目源代碼云計算

2019-01-22 15:37:01

GitHub代碼開發者

2020-11-17 10:07:06

開源starPR

2021-08-04 09:33:22

Go 性能優化

2015-07-30 09:22:49

開源項目

2022-03-30 08:36:32

Node.jsPRHTTP

2019-05-29 13:59:03

GitHub開源搜索功能

2020-05-15 09:50:08

GitHub開源項目

2024-03-29 12:50:00

項目分層模型

2021-03-16 05:42:39

開源工具技術干貨

2021-07-30 16:42:53

開源工具開發

2022-01-04 12:46:56

LinearB開發者PR

2015-12-25 15:16:28

開源github開源項目

2019-11-14 15:56:18

開源技術 軟件

2017-02-27 11:06:28

Github開源項目

2021-09-07 14:36:53

DevSecOps開源項目

2018-12-20 14:28:45

程序員開源支付系統

2020-10-28 11:20:55

vue項目技
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色视频在线播放 | 欧美区在线 | 无码一区二区三区视频 | 久久久www成人免费无遮挡大片 | 四虎最新| 精品无码久久久久久国产 | 91在线电影 | 欧美成人一区二区 | 日韩区 | 亚洲精品无人区 | 亚洲一区二区三区免费视频 | 在线播放一区二区三区 | 在线观看中文字幕dvd播放 | 欧美色999 | 粉嫩一区二区三区性色av | 久草在线青青草 | 91精产国品一二三区 | 日韩国产一区二区三区 | 一区二区三区亚洲精品国 | 永久免费在线观看 | 日韩一区在线播放 | 国产一区在线看 | 精品一区二区三区四区五区 | 久久免费资源 | 欧美精品一二三区 | 二区在线视频 | 综合色播 | 精品一区二区三区在线视频 | 成人午夜电影在线观看 | 夜夜爽99久久国产综合精品女不卡 | 欧美一区成人 | 黄网站免费在线观看 | 特黄色毛片 | 欧美一级欧美三级在线观看 | 国产精品免费一区二区三区四区 | 日韩免费福利视频 | 日韩高清国产一区在线 | 国产原创在线观看 | 9191成人精品久久 | 武道仙尊动漫在线观看 | 日本成人在线网址 |