{"version":3,"file":"index.cjs","sources":["../src/babel-preset/index.ts"],"sourcesContent":["import babelPresetEnv from \"@babel/preset-env\";\nimport babelTransformRuntime from \"@babel/plugin-transform-runtime\";\nimport babelPresetTypescript from \"@babel/preset-typescript\";\n\n/**\n * Provides shared configuration for Vis family of packages for Babel.\n * @param _context - The context provided by Babel, unused here.\n * @param [options] - The options object.\n * @param [options.ts] - Indicates if TypeScript is being used.\n * @returns Babel config.\n */\nexport default function (_context: unknown, { ts = false } = {}) {\n  return {\n    presets: [\n      [\n        babelPresetEnv,\n        {\n          targets: {\n            // A browser is polyfilled if it is supported by it's maintainers\n            // and if it is used by at least one in every thousand of users.\n            browsers: \"> 0.1% and not dead\",\n            // This forces Babel to polyfill ESM as if it was UMD. The reason\n            // behind this is that that Babel doesn't include IE 11 polyfills\n            // in ESM builds since IE 11 can't even load them. However many of\n            // our users use bundlers to bundle ESM builds into IE 11\n            // compatible UMD builds. Therefore even ESM builds need IE 11\n            // polyfills.\n            esmodules: false,\n          },\n          // This would pollute global scope. Babel's Transform Runtime plugin\n          // is used instead.\n          useBuiltIns: false,\n        },\n      ],\n      ...(ts ? [babelPresetTypescript] : []),\n    ],\n    plugins: [\n      [\n        babelTransformRuntime,\n        {\n          // Force corejs 3. The default corejs 2 is deprecated and doesn't\n          // contain some polyfills.\n          corejs: 3,\n        },\n      ],\n    ],\n    env: {\n      test: {\n        presets: [\n          [\n            babelPresetEnv,\n            {\n              // Tests run in Node so there's no need to include any other\n              // polyfills (we're testing our code, not the polyfills).\n              targets: \"maintained node versions\",\n            },\n          ],\n        ],\n      },\n      \"test-cov\": {\n        presets: [\n          [\n            babelPresetEnv,\n            {\n              // dtto\n              targets: \"maintained node versions\",\n            },\n          ],\n        ],\n        // This instruments the code to record coverage. It's more reliable if\n        // done through Babel plugin.\n        plugins: [\"istanbul\"],\n      },\n    },\n  };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,cAAA,CAAyB,UAAmB,EAAE,EAAA,GAAK,KAAA,EAAM,GAAI,EAAC,EAAG;AAC/D,EAAA,OAAO;AAAA,IACL,OAAA,EAAS;AAAA,MACP;AAAA,QACE,cAAA;AAAA,QACA;AAAA,UACE,OAAA,EAAS;AAAA;AAAA;AAAA,YAGP,QAAA,EAAU,qBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAOV,SAAA,EAAW;AAAA,WACb;AAAA;AAAA;AAAA,UAGA,WAAA,EAAa;AAAA;AACf,OACF;AAAA,MACA,GAAI,EAAA,GAAK,CAAC,qBAAqB,IAAI;AAAC,KACtC;AAAA,IACA,OAAA,EAAS;AAAA,MACP;AAAA,QACE,qBAAA;AAAA,QACA;AAAA;AAAA;AAAA,UAGE,MAAA,EAAQ;AAAA;AACV;AACF,KACF;AAAA,IACA,GAAA,EAAK;AAAA,MACH,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS;AAAA,UACP;AAAA,YACE,cAAA;AAAA,YACA;AAAA;AAAA;AAAA,cAGE,OAAA,EAAS;AAAA;AACX;AACF;AACF,OACF;AAAA,MACA,UAAA,EAAY;AAAA,QACV,OAAA,EAAS;AAAA,UACP;AAAA,YACE,cAAA;AAAA,YACA;AAAA;AAAA,cAEE,OAAA,EAAS;AAAA;AACX;AACF,SACF;AAAA;AAAA;AAAA,QAGA,OAAA,EAAS,CAAC,UAAU;AAAA;AACtB;AACF,GACF;AACF;;;;"}