jaredpalmer / cypress-image-snapshot

Catch visual regressions in Cypress
MIT License
887 stars 160 forks source link

Property 'matchImageSnapshot' does not exist on type 'cy & EventEmitter' #220

Open iten74 opened 3 years ago

iten74 commented 3 years ago

Configured the plugin as outlined but cypress does not recognize it. The plugin works if I add @ts-ignore in front of the line cy.matchImageSnapshot();, but I'd rather be able to configure the framework correctly so cypress doesn't complain. Any idea?

index.js:

const cucumber = require('cypress-cucumber-preprocessor').default;
const browserify = require('@cypress/browserify-preprocessor');
const resolve = require('resolve');
const { addMatchImageSnapshotPlugin } = require('cypress-image-snapshot/plugin');

module.exports = (on, config) => {
    const options = {
        ...browserify.defaultOptions,
        typescript: resolve.sync('typescript', { baseDir: config.projectRoot })
    };
    on('file:preprocessor', cucumber(options));
    addMatchImageSnapshotPlugin(on, config);
};

commands.js

import { addMatchImageSnapshotCommand } from 'cypress-image-snapshot/command';
addMatchImageSnapshotCommand();
ma-bourassa commented 2 years ago

Try to run npm i @types/cypress-image-snapshot -D

DCzajkowski commented 2 years ago

Solved it for me. Thanks @ma-bourassa!

jake-nz commented 2 years ago

I also needed /// <reference types="cypress-image-snapshot" />

dhakalsamundra commented 2 years ago

@ma-bourassa, even I add the @types/cypress-image-snapshot, there is same error. But if i add this: /// , it will resolved. I do not want to add this reference in all of my test file. is there is way to fix without writing reference?