偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

你給開源項(xiàng)目提過 PR 嗎?

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

[[415495]]

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

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

為什么要給開源項(xiàng)目提 PR?

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

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

[[415496]]

在使用這個插件的過程中,發(fā)現(xiàn)和 Webpack 對應(yīng)的插件 eslint-webpack-plugin 還是有一些差距的。我在使用 Webpack 的 eslint-webpack-plugin 時候,只需要配置 fix 屬性,就能夠在保存代碼的時候,自動對代碼進(jìn)行 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 的時候,看文檔上,好像沒有提到這個選項(xiàng),也就是說 rollup-plugin-eslint 根本不支持這個功能。然后,搜索了一下 Issues,不搜不要緊,一搜嚇一跳,發(fā)現(xiàn)有人在 2016 年就提出了這個疑問😳。

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

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

于是,我就把 eslint-webpack-plugin 的代碼 clone 下來一頓搜索,發(fā)現(xiàn)它實(shí)現(xiàn)這個功能就用了三行代碼。

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

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

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

關(guān)鍵是,作者都沒想到這個東西居然這么簡單就實(shí)現(xiàn)了。

如何在 GitHub 上提 PR?

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

對開源項(xiàng)目進(jìn)行 Fork

首先把你要提交 PR 的項(xiàng)目 Fork 到自己的倉庫。

然后到自己的倉庫中,將 Fork 的項(xiàng)目 clone 到本地。

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

切換到新分支,提交變更,推送到遠(yuǎn)程

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

  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" 

最后將新的分支推送到遠(yuǎn)程:

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

新建 PR

在自己的 GitHub 倉庫中找到對應(yīng)項(xiàng)目,打開 Pull requests Tab,點(diǎn)擊 New pull request 按鈕,新建一個 PR。

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

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

 

責(zé)任編輯:姜華 來源: 自然醒的筆記本
相關(guān)推薦

2022-06-21 09:26:28

開源項(xiàng)目PR

2023-12-22 08:13:39

業(yè)務(wù)review流程

2018-03-07 06:37:14

開源項(xiàng)目源代碼云計(jì)算

2019-01-22 15:37:01

GitHub代碼開發(fā)者

2020-11-17 10:07:06

開源starPR

2021-08-04 09:33:22

Go 性能優(yōu)化

2015-07-30 09:22:49

開源項(xiàng)目

2022-03-30 08:36:32

Node.jsPRHTTP

2019-05-29 13:59:03

GitHub開源搜索功能

2020-05-15 09:50:08

GitHub開源項(xiàng)目

2024-03-29 12:50:00

項(xiàng)目分層模型

2021-03-16 05:42:39

開源工具技術(shù)干貨

2021-07-30 16:42:53

開源工具開發(fā)

2022-01-04 12:46:56

LinearB開發(fā)者PR

2020-10-28 11:20:55

vue項(xiàng)目技

2015-12-25 15:16:28

開源github開源項(xiàng)目

2019-11-14 15:56:18

開源技術(shù) 軟件

2017-02-27 11:06:28

Github開源項(xiàng)目

2021-09-07 14:36:53

DevSecOps開源項(xiàng)目

2018-12-20 14:28:45

程序員開源支付系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號