Работает над пакетом npm
, который запускает кодовый модуль в любом данном исходном репозитории. Как часть моего codemod, я ищу заменить определенные значения в исходном хранилище. Прежде чем заменить эти значения, мне нужно проверить значения в объекте, экспортируемом из определенного файла (назовем его constants.js
), чтобы эти значения существовали. Проверка выше, которую мне нужно выполнить с constants.js
, является условной. Условно, если пользователь codemod хочет посмотреть файл constants.js
. Файл constants.js
использует оператор import..export
для экспорта нужного мне объекта.
Есть какие-нибудь указатели на то, как я могу извлечь объект из этого файла? Я не могу использовать опцию babel
здесь, поэтому я пытаюсь использовать методы fs
, чтобы получить то, что я хочу. Я использовал метод createReadStream
для чтения файла, но анализ его для извлечения экспорта по умолчанию кажется очень хрупким. Есть ли чистый способ, которым я могу получить то, что мне нужно?
В приведенном ниже примере я хочу иметь возможность извлечь Messages
, чтобы я мог найти termsOfUse
для своих изменений кодов.
Constants.js
const Messages = {
termsOfUse: locale => (locale === 'en' ? `TERMS OF USE` : `CONDITIONS`),
};
export default Messages;
Заранее благодарим за помощь.