Добавить импорт в Babel, если он не был добавлен - PullRequest
0 голосов
/ 03 февраля 2020

Я хочу добавить именованный импорт, если он еще не был добавлен. Как это можно сделать? Приведенный ниже код работает, но только если он еще не был добавлен (в этом случае происходит сбой).

export default function ({types: t }) {
  return {
    visitor: {
      Program(path) {
        const identifier = t.identifier('foo');
        const importDefaultSpecifier = t.importDefaultSpecifier(identifier);
        const importDeclaration = t.importDeclaration([importDefaultSpecifier], t.stringLiteral('@mypackage/foo'));
        path.unshiftContainer('body', importDeclaration);
      }
    }
  };
}
...