ember-cli-code-coverage
ember-cli-code-coverage copied to clipboard
Transpilation issue with v2 beta
First of all, thanks a lot for the v2 refactor! It must be much more efficient because the build time of our large app in CI went down by many minutes❗ by upgrading to the v2 beta.
Unfortunately, we ran into a strange issue that we are only seeing when building with COVERAGE=true
.
I was able to reduce the reproduction to just this:
import { assign, merge } from '@ember/polyfills';
const test = assign || merge;
When building without coverage, this properly transpiles to:
const test = Ember.assign || Ember.merge;
However when building with coverage, it transpiles to:
const test = (cov_...().s[0]++, (cov_...().b[0][0]++, assign) || (cov_...().b[0][1]++, merge));
This doesn't work because assign
and merge
are undefined
.
However when using this line:
const test = assign;
It works fine as this transpiles correctly to:
cov_...();
const test = Ember.assign;
The issue is not related to assign
/merge
, because the same happens when using isPresent
/isEmpty
from @ember/utils
.
We can avoid the issue by not using any ||
operator with imported functions, but I wanted to report this anyway.