成人免费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

2020-10-28 11:20:55

vue項目技

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

程序員開源支付系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美在线视频一区二区 | 亚洲欧洲成人 | 亚洲精品日韩精品 | 在线看91 | 国产三级精品三级在线观看四季网 | 欧美一区二区三区的 | 福利视频一区二区三区 | 精品中文视频 | 99热在线观看精品 | 日本久久www成人免 成人久久久久 | 成人午夜网站 | 亚洲毛片| 亚洲一区二区久久 | 成年网站在线观看 | 亚洲一区国产精品 | 国产精品毛片一区二区在线看 | 亚洲三区在线观看 | 国产精品久久网 | 久久久久久久久国产精品 | 国产精品久久久久久久久久不蜜臀 | 日韩久久精品 | 自拍第1页| 色播久久 | 日韩a v在线免费观看 | 欧美一级大片 | 成年人网站国产 | 老牛嫩草一区二区三区av | 91在线视频免费观看 | 日韩国产黄色片 | 欧美精品一区二区三区在线 | 一区二区视频在线 | 国产高清在线 | 国产精品一区二区三级 | 国产精品久久久久久久7电影 | 国产高清免费 | 日韩欧美二区 | 国产精品久久久久aaaa樱花 | 超碰在线播 | 国产精品久久久久久久久久免费 | 久久精品亚洲精品 | 日韩在线资源 |