valk
valk

Reputation: 9894

Unable to test Lightweight-Charts in React app

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.

Upvotes: 3

Views: 1635

Answers (3)

Naruto Sempai
Naruto Sempai

Reputation: 7211

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.

Upvotes: 0

Till Kolter
Till Kolter

Reputation: 672

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)/)"
    ]

Upvotes: 2

timocov
timocov

Reputation: 1166

Currently it's impossible to use/import lightweight-charts in nodejs context. You can subscribe on https://github.com/tradingview/lightweight-charts/issues/488 to be notified when it'll be solved.

Upvotes: 2

Related Questions