2016-11-11 4 views
3

Ich bin die folgenden Fehler, die beim Laufen JestJest nicht transpile node_modules

SyntaxError: node_modules/my_styleguide/src/components/blocks/SegmentSetting.jsx: Unexpected token (46:10) 
    44 |  ) { 
    45 |   return (
> 46 |   <p className="SettingDescr">{self.props.description}</p> 
    |   ^
    47 |  ) 
    48 |  } 
    49 |  } 

Die node_modules Abhängigkeit ist immer noch in seinem es6 Format. Jest scheint nicht die Möglichkeit zu bieten, deine node_module wie mit deiner tatsächlichen App zu übertragen. Stattdessen ignoriert Jest den Ordner node_modules.

Die Datei .bashrc sieht für mich ok:

{ 
    "presets": ["es2015", "react", "stage-0"] 
} 

Wie Sie Jest transpile Ihre node_modules zu machen? Es wäre das Äquivalent der "--ignore false" Flagge, die wir in Mokka haben.

+0

Haben Sie 'babel-jest' installiert? –

+0

@ AndreasKöberle Ja. Es überträgt die App gut. Es ist nur die node_modules-Abhängigkeit, die zu ignorieren scheint –

+1

Haben Sie versucht, die 'transformIgnorePatterns' in der Jest-Einstellung zurückzusetzen. 'node_modules' wird standardmäßig ignoriert. Setzen Sie es auf 'transformIgnorePatterns: []' vielleicht hilft. –

Antwort

0

Ich würde dies als eine Antwort markieren statt die Antwort.

Ich hatte ein ähnliches Problem, mehrere Komponenten in node_modules in ES2015 und in der Notwendigkeit der Übertragung.

I aktualisiert transformIgnorePatterns zu:

["/node_modules/(?!(our-react-components-.*?\\.js$))"]

Der negativer Vorgriff für Module in our-react-components-* Ordnern bedeutet Jest (und damit Babel) wird unsere gemeinsamen Komponenten finden und transpile.

Dies war in einem ausgeworfen Create React App-Projekt mit Jest 20.0.4.