Skip to content

Latest commit

 

History

History
41 lines (28 loc) · 1.09 KB

README.md

File metadata and controls

41 lines (28 loc) · 1.09 KB

babel-file-loader

Load files into memory to be parsed & traversed using Babylon/Babel

import {loadImportSync} from 'babel-file-loader';

export function plugin() {
  return {
    visitor: {
      ImportDefaultDeclaration(path) {
        let file = loadImportSync(path);

        file.path.traverse({
          ExportDefaultDeclaration() {
            console.log('Found matching export default');
          },
        });
      },
    },
  },
};

API

resolveFilePath{Async,Sync}(path, filePath, resolveOpts)

Resolve a filePath relative to the file a path belongs to. Returns string.

resolveImportFilePath{Async,Sync}(path, resolveOpts)

Resolve an import declaration path to extract a file path. Returns string.

loadFile{Async,Sync}(filePath, parserOpts)

Load and parse a file from a filePath. Returns File.

loadImport{Async,Sync}(path, resolveOpts, parserOpts)

Load and parse a file from an import declaration path. Returns File.