angular / protractor

E2E test framework for Angular apps

Home Page:http://www.protractortest.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Is protractor no longer working when using Angular 13?

Heines1983 opened this issue · comments

I'm using protractor and recently upgraded from Angular 12 to Angular 13. I now get an error while starting the e2e tests.

Error: Error [ERR_REQUIRE_ESM]: require() of ES Module C:\git\ClientApp\node_modules@angular\cdk\fesm2015\testing.mjs not supported. Instead change the require of C:\git\ClientApp\node_modules@angular\cdk\fesm2015\testing.mjs to a dynamic import() which is available in all CommonJS modules.

Is this something caused by protractor, angular/cdk or something else?

I think this question should be addressed in angular/angular project.

Hi @Heines1983,
I think this must be a problem with your e2e/tsconfig.json file.
Please check the module attribute in your configuration.

Here's an example:

{ "extends": "../tsconfig.json", "compilerOptions": { "outDir": "../out-tsc/e2e", "module": "commonjs", "types": [ "jasmine", "node" ] } }

Or you can see the file in my project with Angular 13 and Protractor :
https://github.com/andredesousa/angular-linters/blob/main/e2e/tsconfig.json

The issue is that you are trying to use an ES Module lib but you are running protractor with CommonJS which does not support it. I had the same problem updating to ang13. Our libs no longer generate UMD modules and we can no longer run protractor with them. Need to build our libs with a different tool than ng-packagr that still support UMD.

@rbirkgit Yes, cannot import Angular libs for Protractor tests after Angular 13.

The issue is that you are trying to use an ES Module lib but you are running protractor with CommonJS which does not support it. I had the same problem updating to ang13. Our libs no longer generate UMD modules and we can no longer run protractor with them. Need to build our libs with a different tool than ng-packagr that still support UMD.

@rbirkgit did you manage to find a fix?

I changed to build our lib with rollup which supports CommonJS/UMD