I'm using node v15.0.1, and jest 26.6.0 on ubuntu 18.04.5.
I have setup a simple test case, and at the top of the file I'm trying to use an ES6 import statement:
import Color from './color.js' test("Initialized properly after construction", () => { expect(1 + 1).toBe(2); }); Additionally, here's the code for color.js:
class Color { constructor(r, g, b, a) { this.r = r; this.g = g; this.b = b; this.a = a; } } export { Color }; When I run jest I get the following error output:
FAIL src/modules/color.test.js ● Test suite failed to run Jest encountered an unexpected token This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript. By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules". Here's what you can do: • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config. • If you need a custom transformation specify a "transform" option in your config. • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option. You'll find more details and examples of these config options in the docs: https://jestjs.io/docs/en/configuration.html Details: /home/daniel/Documents/raycaster/src/modules/color.test.js:1 ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import Color from './color.js' ^^^^^^ SyntaxError: Cannot use import statement outside a module at new Script (node:vm:100:7) Test Suites: 1 failed, 1 total Tests: 0 total Snapshots: 0 total Time: 0.288 s Ran all test suites. npm ERR! code 1 Based on the Jest documentation https://jestjs.io/docs/en/ecmascript-modules, I have added the following to my package.json file:
"type": "module", "jest": { "testEnvironment": "jest-environment-node", "transform": {} } Despite these configurations it appears that jest is unable to run in an ES6 compliant mode. What configurations would I need to do to enable the import statements?