index.common.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. 'use strict';
  2. function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
  3. var path = _interopDefault(require('path'));
  4. var index = function (context, ref) {
  5. if ( ref === void 0 ) ref = {};
  6. var useBuiltIns = ref.useBuiltIns;
  7. var targets = ref.targets;
  8. var env = process.env.BABEL_ENV || process.env.NODE_ENV;
  9. if (typeof targets === 'undefined') {
  10. targets = env === 'test' ? { node: 'current' } : { ie: 9, uglify: true };
  11. }
  12. var presets = [
  13. env === 'test' ?
  14. [require('babel-preset-env').default, {
  15. useBuiltIns: useBuiltIns,
  16. targets: targets
  17. }] :
  18. [require('babel-preset-env').default, {
  19. useBuiltIns: useBuiltIns,
  20. targets: targets,
  21. modules: false
  22. }],
  23. // vue jsx
  24. require.resolve('babel-preset-vue')
  25. ];
  26. var plugins = [
  27. // Polyfills the runtime needed for async/await and generators
  28. [require.resolve('babel-plugin-transform-runtime'), {
  29. helpers: !useBuiltIns,
  30. polyfill: !useBuiltIns,
  31. regenerator: true,
  32. // Resolve the Babel runtime relative to the config.
  33. moduleName: path.dirname(require.resolve('babel-runtime/package'))
  34. }],
  35. [require('babel-plugin-transform-object-rest-spread'), {
  36. useBuiltIns: useBuiltIns
  37. }],
  38. // For dynamic import that you will use a lot in code-split
  39. require.resolve('babel-plugin-syntax-dynamic-import')
  40. ];
  41. return {
  42. presets: presets,
  43. plugins: plugins
  44. }
  45. };
  46. module.exports = index;