2017-08-21 27 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

相关问题