Less.js: Исходные карты не имеют сопоставления для закрывающей скобки

Созданный на 1 мар. 2020  ·  4Комментарии  ·  Источник: less/less.js

Когда я создаю исходную карту для следующего файла, используя версию 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;
}

с помощью следующей команды в скрипте узла

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

Затем я смотрю исходную карту и запускаю ее в инструменте 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"}

Вы можете увидеть пустую строку между этими двумя сопоставлениями wCAAZ ;; AAKF, где должно быть сопоставление для}. Это становится проблемой, когда вы создаете исходную карту, где эта сгенерированная карта является промежуточным шагом, который вы используете для возврата к исходному файлу Less.

В качестве обновления я попробовал Stylus и node-sass, и все они не имеют сопоставления закрывающих скобок в сгенерированном файле с исходными файлами. Это просто ограничение препроцессоров вообще?

Самый полезный комментарий

просто хотел сказать, что Less - это круто

Все 4 Комментарий

Простой ответ заключается в том, что Less (в настоящее время) имеет очень простой синтаксический анализатор, который отслеживает только начало исходного кода, а не его конец, в основном потому, что он был создан до того, как исходные карты были концепцией.

Я переписывал парсер Less с нуля, используя Chevrotain для использования в 4.x, и проделал значительный объем работы над ним, но без финансовой поддержки (а-ля Open Collective ) я действительно могу работать только над ним. в ограниченное свободное время. Я все еще собираюсь, но это может занять некоторое время.

в этом есть смысл, спасибо за быстрый ответ. В пятницу сделаю взнос в открытый коллектив. Я в восторге от нового парсера, потому что знаю, что он появится в будущем. Я зарегистрировался в качестве ежемесячного участника и сделал объявление на канале Meteor Slack и в LinkedIn. Я буду продолжать попытки заручиться поддержкой LESS, а также продвигаться вперед. Это один из моих любимых проектов

просто хотел сказать, что Less - это круто

Эта проблема была автоматически помечена как устаревшая, поскольку в последнее время не было активности. Он будет закрыт, если больше не будет активности. Спасибо за ваш вклад.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги