31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
import path from "path";
|
|
import { declare } from "@babel/helper-plugin-utils";
|
|
|
|
/**
|
|
* @babel/preset-modules produces clean, minimal output for ES Modules-supporting browsers.
|
|
* @param {Object} [options]
|
|
* @param {boolean} [options.loose=false] Loose mode skips seldom-needed transforms that increase output size.
|
|
*/
|
|
export default declare((api, opts) => {
|
|
api.assertVersion(7);
|
|
|
|
const loose = opts.loose === true;
|
|
|
|
return {
|
|
plugins: [
|
|
path.resolve(__dirname, "./plugins/transform-edge-default-parameters"),
|
|
path.resolve(__dirname, "./plugins/transform-tagged-template-caching"),
|
|
path.resolve(__dirname, "./plugins/transform-jsx-spread"),
|
|
path.resolve(__dirname, "./plugins/transform-safari-for-shadowing"),
|
|
path.resolve(__dirname, "./plugins/transform-safari-block-shadowing"),
|
|
path.resolve(__dirname, "./plugins/transform-async-arrows-in-class"),
|
|
!loose &&
|
|
path.resolve(__dirname, "./plugins/transform-edge-function-name"),
|
|
|
|
// Proposals
|
|
require.resolve("@babel/plugin-proposal-unicode-property-regex"),
|
|
require.resolve("@babel/plugin-transform-dotall-regex"),
|
|
].filter(Boolean),
|
|
};
|
|
});
|