UNPKG

react-native-builder-bob

Version:

CLI to build JavaScript files for React Native libraries

46 lines 1.84 kB
"use strict"; /* eslint-disable import-x/no-commonjs, no-undef */ const path = require('path'); const { loadConfig } = require('../utils/loadConfig.js'); /** * Get Babel configuration for the example project. * This sets up appropriate presets and plugins for the library. * It also aliases the library to the source directory. * * @param {import('@babel/core').TransformOptions} defaultConfig Default Babel configuration * @param {object} options Options to customize the configuration * @param {string} options.root Root directory of the monorepo * @param {object} options.pkg Content of package.json of the library * @returns {import('@babel/core').TransformOptions} Babel configuration */ const getConfig = (defaultConfig, { root }) => { const result = loadConfig(root); if (result == null) { throw new Error(`Couldn't find a valid configuration at ${root}.`); } const { source } = result.config; if (source == null) { throw new Error("Couldn't determine the source directory. Does your config specify a 'source' field?"); } return { ...defaultConfig, overrides: [ ...(defaultConfig.overrides == null ? [] : defaultConfig.overrides), { include: path.join(root, source), presets: [ [ require.resolve('./babel-preset.cjs'), { // Let the app's preset handle the commonjs transform // Otherwise this causes `export` statements in wrong places causing syntax error supportsStaticESM: true, }, ], ], }, ], }; }; exports.getConfig = getConfig; //# sourceMappingURL=babel-config.cjs.map