Libsass: Mixins com seletores compostos "&" tornam os mapas de origem inválidos

Criado em 3 fev. 2017  ·  3Comentários  ·  Fonte: sass/libsass

Sob um conjunto específico de condições, os seletores compostos usando & , como &.mod-enabled ou &:after , fazem com que o gerador de mapa de origem produza mapas de origem com índices de coluna negativos.

As condições são:

  • A regra deve ser um seletor composto usando o seletor pai como acima
  • A regra deve estar na raiz de um mixin
  • O mixin deve ser incluído no documento pelo menos 6 vezes

Isso surgiu para mim quando gulp-sass mudou para a versão 4.0 de node-sass , que aumentou o LibSass para 3.4. O menor caso de teste reproduzível que eu poderia fazer está disponível aqui .

Erro de amostra:

Error: Invalid mapping: {"generated":{"line":1,"column":6},"source":"mixins.scss","original":{"line":3,"column":-4},"name":null}
    at SourceMapGenerator_validateMapping [as _validateMapping] (/Users/cepheus/break-gulp-sass/node_modules/source-map/lib/source-map-generator.js:277:13)
    at SourceMapGenerator_addMapping [as addMapping] (/Users/cepheus/break-gulp-sass/node_modules/source-map/lib/source-map-generator.js:101:12)
    at /Users/cepheus/break-gulp-sass/node_modules/concat-with-sourcemaps/index.js:60:28
    at Array.forEach (native)
    at SourceMapConsumer_eachMapping [as eachMapping] (/Users/cepheus/break-gulp-sass/node_modules/source-map/lib/source-map-consumer.js:155:14)
    at Concat.add (/Users/cepheus/break-gulp-sass/node_modules/concat-with-sourcemaps/index.js:58:18)
    at DestroyableTransform.bufferContents [as _transform] (/Users/cepheus/break-gulp-sass/node_modules/gulp-concat/index.js:68:12)
    at DestroyableTransform.Transform._read (/Users/cepheus/break-gulp-sass/node_modules/readable-stream/lib/_stream_transform.js:159:10)
    at DestroyableTransform.Transform._write (/Users/cepheus/break-gulp-sass/node_modules/readable-stream/lib/_stream_transform.js:147:83)
    at doWrite (/Users/cepheus/break-gulp-sass/node_modules/readable-stream/lib/_stream_writable.js:347:64)

Uma bissecção do caso de teste revelou que esse problema foi introduzido no commit de83d30.

Bug - Confirmed Bug - Sourcemaps

Comentários muito úteis

CCing em dlmanning / gulp-sass # 577, portanto, este problema está relacionado a esse.

Todos 3 comentários

CCing em dlmanning / gulp-sass # 577, portanto, este problema está relacionado a esse.

Obrigado pelo caso de teste, posso confirmar o problema ao vivo no seu repositório com meu inspetor de mapa de origem .

grafik

Obtendo um problema relacionado a isso combinado com estilos angular / material2. Comentando aqui para aumentar a conscientização sobre o assunto.

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