fix: handle babel 7 absolute paths#199
Conversation
|
Awesome, thanks @adamjmcgrath! |
* Update CHANGELOG for 0.3.12. * 0.3.12 * Improve ES7 error message This messaging was confusing to me so I took a stab at clarifying the intent. * add mocha support and fix pretender bug * [Fixes #111] Update dependencies, get babel instrumenter working (#115) babel 6 fix * test * test * add mocha support and fix pretender bug [Fixes #111] Update dependencies, get babel instrumenter working (#115) babel 6 fix * 0.4.0 * update changelog v0.4.0 * Fixes the hanging issue of #88 (#90) * Refactor onload to onreadystatechange onreadystatechange is more reliable, chromium doesnt trigger onload * Fix PhantomJS honoring responseType issue * 0.4.1 * update changelog v0.4.1 * Suggest using `posttest` hook for `ember coverage-merge` It might be helpful to suggest how/where to run `coverage-merge` for people looking to set this up in a CI environment. The only other thing I might add is that you need to run `npm test` and have the appropriate configuration there for `posttest` to trigger, but I'm not sure if that's overkill since that should be common knowledge. * Resolve addon file paths correctly in CLI >= 2.12 * Spelling Fix * support nested coverageFolder * fix test * Update minimum version of ember-cli-babel. The previously locked version was not compatible with `node@8` (due to `engines` shenanigans). * Add babel-plugin-istanbul dep. * Use babel-plugin-istanbul instead of custom instrumenter. This has some negative effects still: * Does not re-write the paths to match "real" on disk paths * Does not instrument dummy app files (I think) Even with these negative side-effects, it has massive upside: * Massively less overall code to maintain * Does not require us to parse babel config (and therefore avoids issues around parallelism in broccoli-babel-transpiler) * Significantly faster when used (e.g. no longer has to double parse and process files) * Refactor middleware to use new istanbul API. * Refactor coverage-merge command to work with new istanbul-api. * Add node badge Figured it would be nice to have a badge for the node version, so people can quickly see what the latest release is. * 0.4.2 * Fix paths for istanbul report and remove parallel logic for impicit parallel support * Delete uneeded files * Remove component fixtures and add tests for 'excludes' config * Add support for in-repo-addons #120 * Revert parallel changes (TODO: move to another PR) * Only include test fixtures when testing the addon. * Add index.js unit tests * Update some docs * Add comment about .istanbul.yml to README * Fix typo * Bump ember, fix lint * Adjust some deps * Bump ember-cli-release * Add ember-cli-changelog * Released v1.0.0-beta.0 * Add back "Avoid throwing errors while requiring files for coverage" #64 See #63 Fixes #150 * Upgrade out-of-date deps * Update sinon * Setup travis ci to release on pushed tag, add lerna-changelog - Documented in RELEASE.md * Add v1.0.0-beta.1 to CHANGELOG [ci skip] * 1.0.0-beta.1 * Don't restrict travis to particular branches * Try using travis stages * Reformat .travis.yml and do not require sudo * Pin auto-dist-tag and add --no-sandbox to chrome args if on travis * Split out script for use with matrix build * Adjust deploy config * Make fixtures external (#156) * Start moving test files to separate addon * First pass at ember-cli-addon-tests * Fix test * Remove addon test, fix lint * Remove treeFor * Try sudo required * Remove no sandbox * Drop node 4 from travis, use npm instead of yarn * Add 8 * Add filter * Add testem.js to fixtures * Add eslint * Remove eslint plugins * Start in-repo addon tests (#158) * Start in-repo addon tests * Update per Adam's suggestion * Fix import paths * fix babel-plugin-istanbul caching issue (#159) * fix babel-plugin-istanbul caching issue * - Refactor instrumentation logic given `babel-plugin-istanbul` constraints - Fix Unit tests * Update app-coverage-test.js * Update in-repo-addon-coverage-test.js * Try setting path to process.cwd * Fix tests to workaround tomdale/ember-cli-addon-tests#176 * Update CHANGELOG for v1.0.0-beta.2. * 1.0.0-beta.2 * Support for addon-test-support (#160) * Start on support for addon-test-support * Remove only so all tests run * Try adding test-support prefix * Ensure addon-test-support coverage * Add tests for in-repo engines (#162) * First attempt at in-repo-engine * Fix engine coverage test * Fix lint * Update CHANGELOG for v1.0.0-beta.3. * 1.0.0-beta.3 * Remove merge-coverage and explicit parallel option (#163) * Remove merge-coverage and explicit parallel option * fix lint * Update README.md Describe how parallel works * Revert "Remove merge-coverage and explicit parallel option (#163)" This reverts commit 0592f5f. * Keep implicit and explicit parallel logic * Update babel-plugin-istanbul (#169) * Use the parent registry for determining JS extensions (#164) * Removing unused dependency exists-sync which fixes the deprecation warning from ember-cli (#179) * Update CHANGELOG for v1.0.0-beta.4. * 1.0.0-beta.4 * Fix fileLookup is null in testemMiddleware (#182) * upgrade istanbul-api to 2.0.1 (#186) istanbul-api@2.0.1 was released on June 6, 2018 and tagged as "next" on npm. The breaking change is pretty straightforward: https://github.com/istanbuljs/istanbuljs/blob/master/packages/istanbul-api/CHANGELOG.md#breaking-changes * Filter out in-repo addons that could not be found (#188) * Ember 3.4 (#190) * Bump deps (#191) * Bump deps * Reset engine test versions * Update CHANGELOG for v1.0.0-beta.5 * 1.0.0-beta.5 * Do not publish coverage, tests, or .idea to npm (#192) * Update babel-plugin-istanbul (#194) * Update CHANGELOG for v1.0.0-beta.6 * 1.0.0-beta.6 * TypeScript integration (howto) (#196) * TypeScript integration (howto) * removed some abstraction * 1.0.0-beta.6 * fix: handle babel 7 absolute paths (#199)
|
@kategengler @rwwagner90 looks like this is the needed piece for making this work with Babel 7. would it be possible to get a new beta release including this PR? |
|
@Turbo87 yeah, we can do a new release. I've been hesitant because I don't know if it will be compatible with both babel 6 and 7 and if it'll cause issues for people. Do you have any insights into that? |
|
hmm, haven't tried it on a Babel 6 project yet, but for Babel 7 it seemed to work very well |
|
@Turbo87 if you have the time to confirm compatibility across versions, I would be glad to release, but I will not have a chance to check myself for a couple days probably. |
|
Any chance to get this into a new release? Currently, getting the coverage for our apps doesn't work at all, sadly. |
|
@mydea you can use the master branch. I'm still not sure if coverage works with both babel 6 and 7 with the changes. @Turbo87 @adamjmcgrath do you guys know if this babel 7 compatibility is going to break babel 6 compatibility? |
|
haven't had time to test it yet... 😞 |
|
Just tested and babel 6 and 7 work for me on master $ ember --version
ember-cli: 3.5.1
node: 8.4.0
os: darwin x64
$ ember new cov-test
installing app
...
$ cd cov-test/
$ npm list ember-cli-babel
cov-test@0.0.0 /../cov-test
├── ember-cli-babel@6.17.2
$ ember install kategengler/ember-cli-code-coverage#master
$ echo "module.exports = { reporters: ['text'] }" > config/coverage.js
$ COVERAGE=true ember t
...
-------------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
-------------|----------|----------|----------|----------|-------------------|
All files | 100 | 100 | 0 | 100 | |
app.js | 100 | 100 | 100 | 100 | |
resolver.js | 0 | 0 | 0 | 0 | |
router.js | 100 | 100 | 0 | 100 | |
-------------|----------|----------|----------|----------|-------------------|
...
# ok
$ ember install ember-cli-babel@7
$ npm list ember-cli-babel
├── ember-cli-babel@7.1.3
$ COVERAGE=true ember t
...
-------------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
-------------|----------|----------|----------|----------|-------------------|
All files | 100 | 100 | 0 | 100 | |
app.js | 100 | 100 | 100 | 100 | |
resolver.js | 0 | 0 | 0 | 0 | |
router.js | 100 | 100 | 0 | 100 | |
-------------|----------|----------|----------|----------|-------------------|
....
# okThe tests should also prove this |
|
FYI, 1.0.0-beta.7 is not on npm - not sure if that is on purpose? :) |
|
@mydea travis is supposed to release builds, but the build broke, I just manually published to npm |
* Update CHANGELOG for 0.3.12. * 0.3.12 * Improve ES7 error message This messaging was confusing to me so I took a stab at clarifying the intent. * add mocha support and fix pretender bug * [Fixes ember-cli-code-coverage#111] Update dependencies, get babel instrumenter working (ember-cli-code-coverage#115) babel 6 fix * test * test * add mocha support and fix pretender bug [Fixes ember-cli-code-coverage#111] Update dependencies, get babel instrumenter working (ember-cli-code-coverage#115) babel 6 fix * 0.4.0 * update changelog v0.4.0 * Fixes the hanging issue of ember-cli-code-coverage#88 (ember-cli-code-coverage#90) * Refactor onload to onreadystatechange onreadystatechange is more reliable, chromium doesnt trigger onload * Fix PhantomJS honoring responseType issue * 0.4.1 * update changelog v0.4.1 * Suggest using `posttest` hook for `ember coverage-merge` It might be helpful to suggest how/where to run `coverage-merge` for people looking to set this up in a CI environment. The only other thing I might add is that you need to run `npm test` and have the appropriate configuration there for `posttest` to trigger, but I'm not sure if that's overkill since that should be common knowledge. * Resolve addon file paths correctly in CLI >= 2.12 * Spelling Fix * support nested coverageFolder * fix test * Update minimum version of ember-cli-babel. The previously locked version was not compatible with `node@8` (due to `engines` shenanigans). * Add babel-plugin-istanbul dep. * Use babel-plugin-istanbul instead of custom instrumenter. This has some negative effects still: * Does not re-write the paths to match "real" on disk paths * Does not instrument dummy app files (I think) Even with these negative side-effects, it has massive upside: * Massively less overall code to maintain * Does not require us to parse babel config (and therefore avoids issues around parallelism in broccoli-babel-transpiler) * Significantly faster when used (e.g. no longer has to double parse and process files) * Refactor middleware to use new istanbul API. * Refactor coverage-merge command to work with new istanbul-api. * Add node badge Figured it would be nice to have a badge for the node version, so people can quickly see what the latest release is. * 0.4.2 * Fix paths for istanbul report and remove parallel logic for impicit parallel support * Delete uneeded files * Remove component fixtures and add tests for 'excludes' config * Add support for in-repo-addons ember-cli-code-coverage#120 * Revert parallel changes (TODO: move to another PR) * Only include test fixtures when testing the addon. * Add index.js unit tests * Update some docs * Add comment about .istanbul.yml to README * Fix typo * Bump ember, fix lint * Adjust some deps * Bump ember-cli-release * Add ember-cli-changelog * Released v1.0.0-beta.0 * Add back "Avoid throwing errors while requiring files for coverage" ember-cli-code-coverage#64 See ember-cli-code-coverage#63 Fixes ember-cli-code-coverage#150 * Upgrade out-of-date deps * Update sinon * Setup travis ci to release on pushed tag, add lerna-changelog - Documented in RELEASE.md * Add v1.0.0-beta.1 to CHANGELOG [ci skip] * 1.0.0-beta.1 * Don't restrict travis to particular branches * Try using travis stages * Reformat .travis.yml and do not require sudo * Pin auto-dist-tag and add --no-sandbox to chrome args if on travis * Split out script for use with matrix build * Adjust deploy config * Make fixtures external (ember-cli-code-coverage#156) * Start moving test files to separate addon * First pass at ember-cli-addon-tests * Fix test * Remove addon test, fix lint * Remove treeFor * Try sudo required * Remove no sandbox * Drop node 4 from travis, use npm instead of yarn * Add 8 * Add filter * Add testem.js to fixtures * Add eslint * Remove eslint plugins * Start in-repo addon tests (ember-cli-code-coverage#158) * Start in-repo addon tests * Update per Adam's suggestion * Fix import paths * fix babel-plugin-istanbul caching issue (ember-cli-code-coverage#159) * fix babel-plugin-istanbul caching issue * - Refactor instrumentation logic given `babel-plugin-istanbul` constraints - Fix Unit tests * Update app-coverage-test.js * Update in-repo-addon-coverage-test.js * Try setting path to process.cwd * Fix tests to workaround tomdale/ember-cli-addon-tests#176 * Update CHANGELOG for v1.0.0-beta.2. * 1.0.0-beta.2 * Support for addon-test-support (ember-cli-code-coverage#160) * Start on support for addon-test-support * Remove only so all tests run * Try adding test-support prefix * Ensure addon-test-support coverage * Add tests for in-repo engines (ember-cli-code-coverage#162) * First attempt at in-repo-engine * Fix engine coverage test * Fix lint * Update CHANGELOG for v1.0.0-beta.3. * 1.0.0-beta.3 * Remove merge-coverage and explicit parallel option (ember-cli-code-coverage#163) * Remove merge-coverage and explicit parallel option * fix lint * Update README.md Describe how parallel works * Revert "Remove merge-coverage and explicit parallel option (ember-cli-code-coverage#163)" This reverts commit 0592f5f. * Keep implicit and explicit parallel logic * Update babel-plugin-istanbul (ember-cli-code-coverage#169) * Use the parent registry for determining JS extensions (ember-cli-code-coverage#164) * Removing unused dependency exists-sync which fixes the deprecation warning from ember-cli (ember-cli-code-coverage#179) * Update CHANGELOG for v1.0.0-beta.4. * 1.0.0-beta.4 * Fix fileLookup is null in testemMiddleware (ember-cli-code-coverage#182) * upgrade istanbul-api to 2.0.1 (ember-cli-code-coverage#186) istanbul-api@2.0.1 was released on June 6, 2018 and tagged as "next" on npm. The breaking change is pretty straightforward: https://github.com/istanbuljs/istanbuljs/blob/master/packages/istanbul-api/CHANGELOG.md#breaking-changes * Filter out in-repo addons that could not be found (ember-cli-code-coverage#188) * Ember 3.4 (ember-cli-code-coverage#190) * Bump deps (ember-cli-code-coverage#191) * Bump deps * Reset engine test versions * Update CHANGELOG for v1.0.0-beta.5 * 1.0.0-beta.5 * Do not publish coverage, tests, or .idea to npm (ember-cli-code-coverage#192) * Update babel-plugin-istanbul (ember-cli-code-coverage#194) * Update CHANGELOG for v1.0.0-beta.6 * 1.0.0-beta.6 * TypeScript integration (howto) (ember-cli-code-coverage#196) * TypeScript integration (howto) * removed some abstraction * 1.0.0-beta.6 * fix: handle babel 7 absolute paths (ember-cli-code-coverage#199)
Updated
app-coverage-test.jsto test with babel 7 (in-repo-addon and in-repo-engine tests still use babel 6)fixes #189