@playlyfe/babel-loader
Version:
babel module loader for webpack
36 lines (28 loc) • 1.08 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = findFileImports;
var _babelPluginFindImports = _interopRequireWildcard(require("./babel-plugin-find-imports"));
var babel = _interopRequireWildcard(require("@babel/core"));
var _fs = _interopRequireDefault(require("fs"));
function findFileImports(filepath) {
const code = _fs.default.readFileSync(filepath, 'utf-8');
const {
metadata
} = babel.transformSync(code, {
filename: filepath,
babelrc: false,
parserOpts: {
plugins: ['jsx', 'flow', 'doExpressions', 'objectRestSpread', 'classProperties', 'exportExtensions', 'asyncGenerators', 'functionBind', 'functionSent', 'dynamicImport']
},
plugins: [[_babelPluginFindImports.default, {}]]
});
const imports = (0, _babelPluginFindImports.getImportsFromMetadata)(metadata);
return {
imports,
code
};
}