index.js 1.1 KB

123456789101112131415161718192021222324252627282930
  1. import path from "path";
  2. import { declare } from "@babel/helper-plugin-utils";
  3. /**
  4. * @babel/preset-modules produces clean, minimal output for ES Modules-supporting browsers.
  5. * @param {Object} [options]
  6. * @param {boolean} [options.loose=false] Loose mode skips seldom-needed transforms that increase output size.
  7. */
  8. export default declare((api, opts) => {
  9. api.assertVersion(7);
  10. const loose = opts.loose === true;
  11. return {
  12. plugins: [
  13. path.resolve(__dirname, "./plugins/transform-edge-default-parameters"),
  14. path.resolve(__dirname, "./plugins/transform-tagged-template-caching"),
  15. path.resolve(__dirname, "./plugins/transform-jsx-spread"),
  16. path.resolve(__dirname, "./plugins/transform-safari-for-shadowing"),
  17. path.resolve(__dirname, "./plugins/transform-safari-block-shadowing"),
  18. path.resolve(__dirname, "./plugins/transform-async-arrows-in-class"),
  19. !loose &&
  20. path.resolve(__dirname, "./plugins/transform-edge-function-name"),
  21. // Proposals
  22. require.resolve("@babel/plugin-proposal-unicode-property-regex"),
  23. require.resolve("@babel/plugin-transform-dotall-regex"),
  24. ].filter(Boolean),
  25. };
  26. });