Если использовать символические ссылки, как я могу сопоставить имена файлов, полученные в результате преобразования browserify, с именами, полученными после этапа конвейера `sort`?

Я делаю плагин для browserify (называемый postcssify), который позволяет вам запрашивать стили из вашего кода JavaScript, используя require('./some.css'), Плагин может затем создать bundle.css со всеми необходимыми стилями, объединенными вместе, а также позволяет вам указать некоторые плагины postcss для запуска с ними (отсюда и название).

Как это работает, путем добавления (глобального) преобразования, которое "игнорирует" .css файлы и хранит их в отдельной структуре данных. Затем, когда Browserify завершается, проходя через граф потребности (когда wrap шаг в сбрасывании конвейера browserify), он объединяет файлы стилей в правильном порядке (который он определяет благодаря метаинформации, полученной путем добавления к sort шаг конвейера browserify) и производит связку.

Все это работает довольно хорошо, но ломается, если я добавляю npm-ссылки (или символические ссылки) для микширования (вариант использования, который я хочу поддерживать). Вернее, он работает со ссылками npm (я что-то взломал вместе), но не с вложенными ссылками npm (у моего хака есть свои пределы)... Суть проблемы в том, что преобразование получает ссылку, тогда как более поздняя часть процесса вместо этого получает разрешенный файл (файл, на который указывает ссылка), поэтому они не совпадают... Я проиллюстрировал эту проблему в отдельном проекте, чтобы прояснить это: https://github.com/shawninder/browserify-links

Как сопоставить имена файлов, полученные в преобразовании, с именами, полученными после sort шаг конвейера?

0 ответов

Другие вопросы по тегам