quasar
33 строки · 1.1 Кб
1const { addSideEffect } = require('@babel/helper-module-imports')2
3// slightly modified from @babel/preset-env/src/utils
4// use an absolute path for core-js modules, to fix conflicts of different core-js versions
5// TODO: remove the `useAbsolutePath` option in v5,
6// because `core-js` is sure to be present in newer projects;
7// we only need absolute path for babel runtime helpers, not for polyfills
8function getModulePath (mod, useAbsolutePath) {9const modPath =10mod === 'regenerator-runtime'11? 'regenerator-runtime/runtime'12: `core-js/modules/${mod}`13return useAbsolutePath ? require.resolve(modPath) : modPath14}
15
16// add polyfill imports to the first file encountered.
17module.exports = ({}, { polyfills, useAbsolutePath }) => {18return {19name: 'quasar-cli-inject-polyfills',20visitor: {21Program (path) {22// imports are injected in reverse order23polyfills
24.slice()25.reverse()26.forEach(mod => {27// create import28addSideEffect(path, getModulePath(mod, useAbsolutePath))29})30}31}32}33}
34