Codemod - чтение файла в узле, который использует синтаксис экспорта

Работая над npmпакет, который запускает codemod в любом исходном репозитории. В рамках моего codemod я ищу замену определенных значений в исходном репозитории. Прежде чем заменить эти значения, мне нужно проверить значения в объекте, экспортируемом из определенного файла (назовем егоconstants.js) для существования этих значений. Проверка выше, которую мне нужно выполнить изconstants.jsусловно. Это условно, если пользователь codemod хочет найтиconstants.jsфайл. Вconstants.js файл использует import..export оператор для экспорта нужного мне объекта.

Любые указатели на то, как я могу извлечь объект из этого файла? Я действительно не могу использоватьbabel вариант здесь, поэтому я пытаюсь использовать fsметоды, чтобы получить то, что я хочу. Я использовалcreateReadStreamметод чтения файла, но его анализ для извлечения экспорта по умолчанию кажется очень хрупким. Есть ли чистый способ получить то, что мне нужно?

В приведенном ниже примере я хочу извлечь Messages так что я могу посмотреть termsOfUse для моих изменений codemod.

Constants.js

const Messages = {
      termsOfUse: locale => (locale === 'en' ? `TERMS OF USE` : `CONDITIONS`),
};

export default Messages;

Заранее спасибо за помощь.

0 ответов

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