Если использовать символические ссылки, как я могу сопоставить имена файлов, полученные в результате преобразования 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
шаг конвейера?