Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Instrumenting bundled code with TypeScript #518

Open
nicholaschiang opened this issue Nov 4, 2021 · 3 comments
Open

Instrumenting bundled code with TypeScript #518

nicholaschiang opened this issue Nov 4, 2021 · 3 comments

Comments

@nicholaschiang
Copy link

nicholaschiang commented Nov 4, 2021

Logs and screenshots
Please provide debug logs by running Cypress from the terminal with DEBUG=code-coverage environment variable set, see the Debugging section of the README file.

nchiang@garchomp ~/repos/thavma (master) $ DEBUG=code-coverage yarn cypress open
  code-coverage combined NYC options { 'report-dir': './coverage', reporter: [ 'html', 'json' ], extension: [ '.js', '.cjs', '.mjs', '.ts', '.tsx', '.jsx' ], excludeAfterRemap: false, all: true, extends: '@istanbuljs/nyc-config-typescript', include: [ 'pages/**', 'components/**', 'lib/**' ], exclude: [ 'pages/api/coverage.ts', '**/*.d.ts' ] } +0ms
Loaded env from /Users/nchiang/repos/thavma/.env.test.local
Loaded env from /Users/nchiang/repos/thavma/.env.local
Loaded env from /Users/nchiang/repos/thavma/.env.test
Loaded env from /Users/nchiang/repos/thavma/.env
GET /__/ 200 17.288 ms - -
GET /__cypress/runner/cypress_runner.css 200 18.783 ms - -
GET /__cypress/runner/cypress_runner.js 200 4.865 ms - -
GET /__cypress/runner/favicon.ico 200 1.298 ms - -
GET /__cypress/runner/fonts/fa-solid-900.woff2 200 1.584 ms - 76120
GET /__cypress/runner/fonts/mulish-latin-400-normal.woff2 200 1.354 ms - 31176
GET /__cypress/runner/fonts/mulish-latin-500-normal.woff2 200 1.916 ms - 31176
GET /__cypress/runner/fonts/open-sans-latin-400-normal.woff2 200 15.233 ms - 14380
GET /__cypress/iframes/__all 200 20.262 ms - -
Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/support/index.ts
GET /__cypress/tests?p=cypress/support/index.ts 200 26.500 ms - 674
Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/tests/api/handle.spec.ts
Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/tests/api/users.spec.ts
Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/tests/index.spec.ts
Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/tests/join.spec.ts
GET /__cypress/tests?p=cypress/tests/api/handle.spec.ts 200 22.968 ms - 682
GET /__cypress/tests?p=cypress/tests/api/users.spec.ts 200 21.953 ms - 681
GET /__cypress/tests?p=cypress/tests/index.spec.ts 200 20.687 ms - 677
GET /__cypress/tests?p=cypress/tests/join.spec.ts 200 20.259 ms - 676

Versions

  • What is this plugin's version? If this is NOT the latest released version can you try the latest version, please? 3.9.11
  • If the plugin worked before in version X, but stopped after upgrading to version Y, please try the released versions between X and Y to see where the breaking change was.
  • What is Cypress version?
Cypress package version: 8.7.0
Cypress binary version: 8.7.0
Electron version: 14.1.0
Bundled Node version: 14.17.0
  • What is your operating system? MacOS Big Sur
  • What is the shell? Bash
  • What is the Node version? 16.13.0
  • What is the NPM version? 8.1.0
  • How do you instrument your application? Cypress does not instrument web application code, so you need to do it yourself. Yes! But I can't seem to instrument the bundled Cypress test code.
  • When running tests, if you open the web application in regular browser, and open DevTools, do you see window.__coverage__ object? Can you paste a screenshot?
  • Is there .nyc_output folder? Is there .nyc_output/out.json file. Is it empty? Can you paste at least part of it so we can see the keys and file paths?
  • Do you have any custom NYC settings in package.json (nyc object) or in other NYC config files
// nyc.config.js
/**
 * Code coverage configuration for use with Cypress and Typescript.
 * @see {@link https://docs.cypress.io/guides/tooling/code-coverage.html}
 * @see {@link https://github.com/istanbuljs/nyc#selecting-files-for-coverage}
 */
module.exports = {
  all: true,
  extends: '@istanbuljs/nyc-config-typescript',
  reporter: ['html', 'json'],
  include: ['pages/**', 'components/**', 'lib/**'],
  exclude: ['pages/api/coverage.ts', '**/*.d.ts'],
};
  • Do you run Cypress tests in a Docker container? No.

Describe the bug
A clear and concise description of what the bug is.

I've been trying to follow your guide on achieving 100% code coverage by combining unit tests with E2E integration tests. But, all my application code is written in TypeScript and when I use the @cypress/code-coverage/use-babelrc package, I get the following error:

Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/support/index.ts

Link to the repo
Bugs with a reproducible example, like an open source repo showing the bug, are the most likely to be resolved.

thavmaclub/thavma illustrates this issue; the test coverage reports that lib/api/handle.ts wasn't covered entirely, but I have unit tests just for that. However, those unit tests aren't included in the test coverage because they're not instrumented because of this bug.

Example
See #217 that is an excellent bug report example

@nicholaschiang
Copy link
Author

nicholaschiang commented Nov 4, 2021

@bahmutov perhaps I can compete for the issue example link? 🙃

@bahmutov
Copy link
Contributor

bahmutov commented Nov 4, 2021 via email

@t1v1
Copy link

t1v1 commented Jan 3, 2022

Any updates on this? I'm experiencing the same thing myself...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants