var babel = require("babel-core"); var envPreset = require("babel-preset-env"); var classPropsPlugin = require("babel-plugin-transform-class-properties"); var jestPreset = require("babel-preset-jest"); var reactPreset = require("babel-preset-react"); module.exports = { process: function (src, filename) { // Ignore all files within node_modules (but don't ignore our libraries) // babel files can be .js, .es, .jsx or .es6 var isNotNodeModules = filename.indexOf("node_modules") === -1; var isLibrary1 = filename.indexOf("library1") !== -1; var isLibrary2 = filename.indexOf("library2") !== -1; if ((isNotNodeModules || isLibrary1 || isLibrary2) && babel.util.canCompile(filename)) { return babel.transform(src, { filename: filename, retainLines: true, plugins: [classPropsPlugin], presets: [envPreset, jestPreset, reactPreset] }).code; } return src; } };