2017-08-21 51 views
6

(注意,這是爲了自我答案Q &一種用於一個問題,我遇到過)Mozilla附加組件拒絕的jQuery(儘管不被修改)

試圖提交WebExtension Mozilla的添加 - 後在公開列表中,提交被評論者拒絕,併發出以下消息:

您的加載項包含一個與我們已知的任何版本不匹配的JavaScript庫文件。我們要求所有附件都使用未經修改的發行版本。

我們接受從'ajax.googleapis.com','jquery.com'或'jqueryui.com'下載的JQuery/JQuery-UI庫;並沒有任何修改使用(下載和不復制粘貼)。縮小版本更好。 (文件名更改無關緊要)

抱歉,我們無法接受修改,重新配置或自定義的庫。

同樣的問題的另一個症狀:從未來的jQuery初步驗證幾個「不安全分配到innerHTML的」警告。

enter image description here

然而,問題的文件確實下載作爲釋放,從jquery.com精縮版,並沒有故意修改。那麼發生了什麼?

回答

7

原來,即使您沒有手動修改文件,也可能遇到git爲您執行此操作的情況。

具體來說,CRLF行結束的自動處理是修改jQuery的縮小的文件,從而導致失敗匹配在以下情況:

  • 下載的jQuery到回購。
  • 提交文件:此時可能會修改行結束符。
  • 爲AMO構建存檔;自文件被修改後,它在審查中被拒絕。

爲了防止發生這種情況,可以將jQuery文件標記爲二進制文件,以便Git在任何情況下都不會觸及它們,無論特定計算機/ repo上的設置如何。

  1. 在文件夾中的環比上升到jQuery是位於某處添加.gitattributes文件,並假設jquery.min.js是文件名:

    jquery.min.js -text 
    
  2. 與新鮮下載一個和替換的jQuery副本將其與.gitattributes一起提交。

對於所有縮小的庫,這可能是一個好主意。

如果庫版本被識別,驗證將顯示如下通知:

enter image description here

相關問題