function config()

in packages/metro-babel-register/src/babel-register.js [37:82]


function config(onlyList, options) {
  _only = _only.concat(onlyList);
  return {
    babelrc: false,
    compact: false,
    configFile: false,
    browserslistConfigFile: false,
    ignore: null,
    only: _only,
    plugins: [
      [require('@babel/plugin-transform-flow-strip-types').default],
      [
        require('@babel/plugin-transform-modules-commonjs').default,
        {
          lazy: options && options.lazy,
        },
      ],
      [require('@babel/plugin-proposal-nullish-coalescing-operator').default],
      [require('@babel/plugin-proposal-optional-chaining').default],
      [require('@babel/plugin-syntax-class-properties').default],
    ],
    presets: [],
    retainLines: true,
    sourceMaps: 'inline',
    overrides: [
      {
        test: /\.tsx?$/,
        plugins: [
          require('babel-plugin-replace-ts-export-assignment'),
          require('./plugins/babel-plugin-metro-replace-ts-require-assignment'),
        ],
        presets: [
          [
            require('@babel/preset-typescript').default,
            {
              // will be the default in Babel 8, so let's just turn it on now
              allowDeclareFields: true,
              // will be default in the future, but we don't want to use it
              allowNamespaces: false,
            },
          ],
        ],
      },
    ],
  };
}