Problem
I’ve configured my transpiled JS project for scanning, but some of the files are not showing up in the coverage report.
When enhanced logging is enabled, errors similar to the following appear in the log:
ERROR CIA: Failed to create signature for '/path/to/File.js'. Error 'Unexpected token (30:2)' (className=BuildDiffProcess)
Overview
This happens when some of the contents of the JS files trying to be scanned contain an unexpected formatting style. This usually happens after the code is transpiled or compiled.
Solution
Babylon (BabelJS)
Define the correct Babylon plugins used by your project:
Identify which Babylon plugins are in use in your project from the following list: https://babeljs.io/docs/en/6.26.3/babylon#plugins
Add the
--babylonPlugins
parameter with the name of the Babylon plugin to theslnodejs build
command. Some examples:slnodejs build <...> --babylonPlugins estree
slnodejs build <...> --babylonPlugins jsx