diff --git a/packages/grafana-toolkit/src/cli/tasks/toolkit.build.ts b/packages/grafana-toolkit/src/cli/tasks/toolkit.build.ts index 2711425b2a4..4c4510545c0 100644 --- a/packages/grafana-toolkit/src/cli/tasks/toolkit.build.ts +++ b/packages/grafana-toolkit/src/cli/tasks/toolkit.build.ts @@ -30,6 +30,7 @@ const copyFiles = () => { 'src/config/tsconfig.plugin.local.json', 'src/config/eslint.plugin.js', 'src/config/styles.mock.js', + 'src/config/jest.babel.config.js', 'src/config/jest.plugin.config.local.js', 'src/config/matchMedia.js', 'src/config/react-inlinesvg.tsx', diff --git a/packages/grafana-toolkit/src/config/jest.babel.config.js b/packages/grafana-toolkit/src/config/jest.babel.config.js new file mode 100644 index 00000000000..58098923886 --- /dev/null +++ b/packages/grafana-toolkit/src/config/jest.babel.config.js @@ -0,0 +1,2 @@ +// Transform es modules to prevent `SyntaxError: Cannot use import statement outside a module` +module.exports = { presets: [['@babel/preset-env', { targets: { esmodules: false, node: 'current' } }]] }; diff --git a/packages/grafana-toolkit/src/config/jest.plugin.config.ts b/packages/grafana-toolkit/src/config/jest.plugin.config.ts index 8cb608c54d4..e5809e0aaec 100644 --- a/packages/grafana-toolkit/src/config/jest.plugin.config.ts +++ b/packages/grafana-toolkit/src/config/jest.plugin.config.ts @@ -83,7 +83,10 @@ export const jestConfig = (baseDir: string = process.cwd()) => { '/spec/**/*.{spec,test,jest}.{js,jsx,ts,tsx}', ], transform: { - '^.+\\.jsx?$': require.resolve('babel-jest'), + '^.+\\.(js|jsx|mjs)$': [ + require.resolve('babel-jest'), + { configFile: path.resolve(__dirname, './jest.babel.config.js') }, + ], '^.+\\.tsx?$': require.resolve('ts-jest'), }, transformIgnorePatterns: [