@start/plugin-lib-babel
Version:
🏭 Transform files using Babel
52 lines (42 loc) • 1.37 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _interopRequireWildcard2 = _interopRequireDefault(require("@babel/runtime/helpers/interopRequireWildcard"));
var _plugin = _interopRequireDefault(require("@start/plugin"));
var _default = userOptions => (0, _plugin.default)('babel', ({
logPath
}) => async ({
files
}) => {
const {
transform
} = await Promise.resolve().then(() => (0, _interopRequireWildcard2.default)(require('@babel/core')));
return {
files: await Promise.all(files.reduce((result, file) => {
const options = { ...userOptions,
ast: false,
inputSourceMap: file.map != null ? file.map : false,
filename: file.path
};
const transformed = transform(file.data, options);
if (transformed !== null) {
if (typeof transformed.code !== 'string' || transformed.code === '') {
return result;
}
const dataFile = {
path: file.path,
data: transformed.code
};
if (options.sourceMaps && transformed.map) {
dataFile.map = transformed.map;
}
logPath(file.path);
result.push(dataFile);
}
return result;
}, []))
};
});
exports.default = _default;