UNPKG

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