Unable to test Lightweight-Charts in React app

Viewed 1125

In my Create React App when importing the lightweight-chars like so everything's working:

import { createChart } from 'lightweight-charts';

However, when running tests with:

yarn test --all

this error is shown:

ā— Test suite failed to run

.../node_modules/lightweight-charts/dist/lightweight-charts.esm.development.js:7
import { bindToDevicePixelRatio } from 'fancy-canvas/coordinate-space';
^^^^^^

SyntaxError: Cannot use import statement outside a module

  at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
  ...

Please suggest if looks familiar.

3 Answers

It might not be the perfect solution to fix the root cause, but I was able to fix the errors via jest option in package.json.

...
"transformIgnorePatterns": [
      "node_modules/(?!(lightweight-charts|fancy-canvas)/)"
    ]

This is the only thing that worked for me:

npm test -- --transformIgnorePatterns "node_modules/(?!(lightweight-charts|fancy-canvas)/)"

This worked for me because I have an unejected create react app project and therefore transformIgnorePatterns is not available via jest.config.js or the package.json.

Related