Code analysé comme du commentaires JS et supprimé ?
Sur l’IRC, Pourrito a une erreur semble t’il issue de la compression JS, sur un SPIP 4.1.1
Il se retrouve avec un fichier local/cache-js/...
contenant :
(j’ai ajouté les sauts de lignes là où est l’erreur)
function createDisabledPseudo(disabled){
//Known:disabled false positives:fieldset[disabled]>legend:nth-of-type(n+2):can-disable
return function(elem){
//Only certain elements can match:enabled or:disabled
//https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
//https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
if("form"in elem){
//Check for inherited disabledness on relevant non-disabled elements:
/,
rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,
//#7653,#8125,#8152:local protocol detection
rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
rnoContent=/^(?:GET|HEAD)$/,
rprotocol=/^\/\//,
prefilters={},
transports={},
//Avoid comment-prolog char sequence(#10098);must appease lint and evade compression
Ce code est issue de jquery.js.
La partie //Check for inherited disabledness on relevant non-disabled elements:
est en ligne 1033
// Check for inherited disabledness on relevant non-disabled elements:
// * listed form-associated elements in a disabled fieldset
La partie rheaders
en ligne 9013
rantiCache = /([?&])_=[^&]*/,
rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
Entre les deux, tout a été coupé.
On peut voir que le code sous // Check
est // * ...
ce qui sans l’espace pourrait être perçu comme un début de commentaire
On peut voir que la regex rantiCache
contient le code */
qui pourrait être perçu aussi comme une fin de commentaire.
Par ailleur, son fichier de cache indique en entête
/* compact [
local/cache-js/84a429e0a6bb290a4c764abed366dd8b.js?1652858900
] 65.1% */
Comme s’il compactait un fichier déjà compacté. Ce qui sous-entendrait que 2 compactages successifs engendrent un bug.