Less.js: Los mapas de origen no tienen mapeo para un paréntesis de cierre

Creado en 1 mar. 2020  ·  4Comentarios  ·  Fuente: less/less.js

Cuando genero un mapa fuente para el siguiente archivo usando la versión 3.11.1

.example {
  display: grid;
  transition: all 0.5s;
  user-select: none;
  background: linear-gradient(to bottom, white, black);
}

<strong i="6">@color</strong>: "blue";

#my-div {
  color: @color;
}

con el siguiente comando en un script de nodo

less.render(lessFileContents, { sourceMap: { sourceMapFileInline: false } })
  .then(function (output) {},

Luego miro el mapa fuente y lo ejecuto en la herramienta https://sokra.github.io/source-map-visualization/#custom

{"version":3,"sources":["input"],"names":[],"mappings":"AAAA;EACE,aAAA;EACA,oBAAA;EACA,iBAAA;EACA,YAAY,wCAAZ;;AAKF;EACE,OAHM,MAGN"}

Puede ver la línea vacía entre estas dos asignaciones wCAAZ ;; AAKF donde debería estar la asignación para}. Esto se convierte en un problema cuando está haciendo un mapa de origen donde este mapa generado es un paso intermedio que está utilizando para volver al archivo Less original.

Como actualización, probé Stylus y node-sass y todos no tienen una asignación para los corchetes de cierre en el archivo generado de nuevo a los archivos originales. ¿Es esto solo una limitación de los preprocesadores en general?

stale

Comentario más útil

solo quería decir que Less es genial

Todos 4 comentarios

La respuesta simple es que Less (actualmente) tiene un analizador muy simple que solo rastrea el inicio de la fuente y no el final de la fuente, principalmente porque se creó antes de que los mapas de origen fueran un concepto.

He estado reescribiendo un analizador Less desde cero usando Chevrotain para usarlo en 4.x, y he trabajado mucho en él, pero sin apoyo financiero (al estilo de Open Collective ), realmente solo puedo trabajar en él. en tiempo libre limitado. Aún tengo la intención de hacerlo, pero puede que me lleve un tiempo.

eso tiene mucho sentido, gracias por la rápida respuesta. Haré una contribución al colectivo abierto el viernes. Estoy emocionado con el nuevo analizador ahora que sé que vendrá en el futuro. Me inscribí como colaborador mensual e hice un anuncio en el canal Meteor Slack y en LinkedIn. Seguiré tratando de obtener apoyo para LESS y seguir adelante. Es uno de mis proyectos favoritos.

solo quería decir que Less es genial

Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.

¿Fue útil esta página
0 / 5 - 0 calificaciones