Less.js: Números de linha errados nos seletores do mapa de origem - o cromo informa a posição do primeiro elemento, não do último elemento

Criado em 14 ago. 2013  ·  5Comentários  ·  Fonte: less/less.js

O seguinte less apontaria para a linha de html>body form embora a definição fosse explicitamente para input .
No entanto, isso funcionaria corretamente ao usar o operador & , mas é uma dor alterar todas as definições menos como essa

html>body form  {

    input {
        color: cyan !important;
    }

    & input {
        background: yellow !important;
    }
}

line bug

Acho que isso pode ser estendido a outros operadores suportados em menos, mas nunca menos, vazio ou quaisquer operadores devem ser suportados corretamente pelos mapas de origem, uma vez que é menos válido código.

bug medium priority

Comentários muito úteis

Observação: a alternativa de # 1715 é controlar e clicar na propriedade, não no seletor.
nota 2: o chrome não vai consertar, então ele teria que ser endereçado em menos, provavelmente encontrando o índice do último elemento? em um seletor

Todos 5 comentários

Acho que isso ocorre porque o menos marca partes diferentes dos seletores vindos de lugares diferentes .. então ele diz ao Chrome que a primeira parte do seletor vem da linha 3 e a segunda parte da linha 9. Quando menos usa & realmente quebra a implementação e menos apenas informa ao Chrome sobre a 2ª parte.

No entanto, como as informações no cromo são muito incompletas, provavelmente devemos mostrar apenas as informações da última parte do seletor.

este bug está agora nos bugs do chromium: https://code.google.com/p/chromium/issues/detail?id=287382

nota para si mesmo: poderia ser resolvido substituindo o fileinfo antes de cada caminho ser gerado. também é preciso pensar em extensões onde o seletor do meio é substituído - o caminho é criado por causa da extensão, portanto, a extensão é o importante.

marcando isso o mais baixo agora, pois você sempre pode rolar para baixo .. pelo menos dá a você um ponteiro .. a menos que @dotnetwise você tenha um motivo pelo qual isso está causando um grande problema.

Observação: a alternativa de # 1715 é controlar e clicar na propriedade, não no seletor.
nota 2: o chrome não vai consertar, então ele teria que ser endereçado em menos, provavelmente encontrando o índice do último elemento? em um seletor

Testei o código de exemplo de: http://stackoverflow.com/questions/27983598/css-source-maps-doesnt-report-the-correct-line-when-using-nested-selectors

#main {
max-width: 500px;
color: white;
.sub-container {
color: blue;
}
}

Descobri que o problema não acontece apenas no cromo, mas também no firefox. Em seguida, tentei compilar o código com gulp-less e gulp-sourcemap (onde espero que gulp-sourcemap use um gerador de mapa de origem diferente). O gulp build também não resolveu o problema.
Quando eu compilo o mesmo código com sass, o mapa de origem gerado aponta corretamente para 4 no cromo e no FF.

Por outro lado, Less tem os números de linha corretos em algum ponto (com --line-numbers = comments):

/* line 1, /t.less */
#main {
  max-width: 500px;
  color: white;
}
/* line 4, /t.less */
#main .sub-container {
  color: blue;
}

Sim, mas apenas para "regras aninhadas"

Se você aninhar qualquer coisa em uma regra grande, todas as linhas do mapa de origem apontarão para seu topo.

Esta página foi útil?
0 / 5 - 0 avaliações