Closed ravivit9 closed 2 years ago
I am really stuck with this issue and unable to commit my code without test suites running. The mono repo contains around 100+ library modules and 8 apps consuming these libraries. Greatly appreciate your help on resolving this please.
Duplicate of #7844
Can you take a look at the workaround listed here: https://github.com/nrwl/nx/issues/7844#issuecomment-1008604688
Your jest config looks incorrect and manually edited to match jest-preset-angular
's suggestions, which isn't correct for Nx Workspaces.
The comments in the issue above should be able to resolve your issue. If not, reply to that issue above so that we can keep related items together :)
This issue has been closed for more than 30 days. If this issue is still occuring, please open a new issue with more recent context.
After nx migrating latest, started experiencing below unit test failures for all projects, libraries in mono repo.
Configurations
nx.json
`
package.json
` ``` "dependencies": { "@agm/core": "^3.0.0-beta.0", "@agm/markerclusterer": "^3.0.0-beta.0", "@angular/animations": "13.1.1", "@angular/cdk": "13.1.1", "@angular/common": "13.1.1", "@angular/compiler": "13.1.1", "@angular/core": "13.1.1", "@angular/forms": "13.1.1", "@angular/platform-browser": "13.1.1", "@angular/platform-browser-dynamic": "13.1.1", "@angular/router": "13.1.1", "@fortawesome/fontawesome-free": "^5.15.3", "@google/markerclustererplus": "^5.1.3", "@nestjs/common": "^8.0.0", "@nestjs/core": "^8.0.0", "@nestjs/jwt": "^7.2.0", "@nestjs/mongoose": "^7.2.4", "@nestjs/platform-express": "^8.0.0", "@ng-bootstrap/ng-bootstrap": "^9.1.0", "@ngx-pwa/local-storage": "^11.1.0", "@nrwl/angular": "13.4.3", "@types/bluebird": "^3.5.34", "@types/chart.js": "^2.9.31", "@types/jsonwebtoken": "^8.5.1", "@types/sequelize": "^4.28.10", "@types/validator": "^13.1.3", "agm-direction": "^0.8.9", "agm-overlays": "^2.0.0", "angular-bootstrap-md": "^11.1.0", "animate.css": "^4.1.1", "aws-sdk": "^2.905.0", "aws-sns-sms": "^1.0.2", "axios": "^0.24.0", "bcrypt": "^5.0.1", "bootstrap": "^5.0.0", "canvas": "^2.8.0", "chart.js": "^2.9.4", "crypto": "^1.0.1", "crypto-js": "^4.0.0", "esm": "^3.2.25", "hammerjs": "^2.0.8", "igniteui-angular": "^11.1.10", "jsonwebtoken": "^8.5.1", "jwt-decode": "^3.1.2", "libphonenumber-js": "^1.9.17", "mon": "0.0.8", "mongoose": "^5.12.8", "mysql2": "^2.3.3", "ng-pick-datetime": "^7.0.0", "ng2-charts": "^2.4.2", "ngx-auto-unsubscribe": "^3.0.1", "ngx-charts": "^3.0.2", "ngx-connection-service": "^7.0.3", "ngx-doc-viewer": "^2.0.2", "ngx-light-carousel": "^1.1.10", "ngx-material-timepicker": "^5.5.3", "ngx-snackbar": "^2.0.1", "ngx-swiper-wrapper": "^10.0.0", "node-gyp": "^8.0.0", "nodemailer": "^6.6.0", "otp-generator": "^2.0.0", "reflect-metadata": "^0.1.13", "rxjs": "^7.4.0", "sequelize": "^6.12.2", "sequelize-cli": "^6.3.0", "sequelize-typescript": "^2.1.1", "source-map-support": "^0.5.21", "stream": "0.0.2", "swiper": "^6.6.1", "tslib": "^2.2.0", "zone.js": "0.11.4" }, "devDependencies": { "@angular-devkit/build-angular": "13.1.2", "@angular-eslint/eslint-plugin": "13.0.1", "@angular-eslint/eslint-plugin-template": "13.0.1", "@angular-eslint/template-parser": "13.0.1", "@angular/cli": "13.1.2", "@angular/compiler-cli": "13.1.1", "@angular/language-service": "13.1.1", "@angularclass/hmr": "^3.0.0", "@compodoc/compodoc": "^1.1.14", "@nestjs/schematics": "^8.0.0", "@nestjs/testing": "^8.0.0", "@nrwl/cli": "13.4.3", "@nrwl/cypress": "13.4.3", "@nrwl/eslint-plugin-nx": "13.4.3", "@nrwl/jest": "13.4.3", "@nrwl/linter": "13.4.3", "@nrwl/nest": "13.4.3", "@nrwl/node": "13.4.3", "@nrwl/nx-cloud": "13.0.2", "@nrwl/tao": "13.4.3", "@nrwl/workspace": "13.4.3", "@types/crypto-js": "^4.0.1", "@types/cryptr": "^4.0.1", "@types/googlemaps": "^3.43.3", "@types/jest": "27.0.2", "@types/mongoose": "^5.10.5", "@types/node": "15.0.2", "@types/swiper": "^5.4.2", "@typescript-eslint/eslint-plugin": "5.3.1", "@typescript-eslint/parser": "5.3.1", "babel-eslint": "^10.1.0", "babel-preset-env": "^1.7.0", "codelyzer": "6.0.2", "cypress": "^7.3.0", "dotenv": "10.0.0", "eslint": "8.2.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-cypress": "^2.10.3", "husky": "^6.0.0", "install-peers": "^1.0.3", "jest": "27.0.3", "jest-preset-angular": "9.0.3", "parcel-bundler": "^1.9.4", "prettier": "2.3.2", "pretty-quick": "^3.1.0", "sass": "^1.45.1", "sass-lint": "^1.13.1", "scss-lint": "0.0.0", "ts-jest": "27.0.5", "ts-node": "9.1.1", "tslint": "6.1.3", "tslint-config-prettier": "^1.18.0", "typescript": "4.4.4" },
const { getJestProjects } = require('@nrwl/jest');
module.exports = { extensionsToTreatAsEsm: ['.ts'], // preset: 'ts-jest/presets/default-esm', // or other ESM presets preset: 'jest-preset-angular', globals: { 'ts-jest': { useESM: true, }, }, moduleNameMapper: { '^(\.{1,2}/.)\.js$': '$1', }, moduleFileExtensions: [ ...defaults.moduleFileExtensions, 'ts', 'html', 'js', 'json', 'mjs', ], resolver: 'jest-preset-angular/build/resolvers/ng-jest-resolver.js', transformIgnorePatterns: [ '/node_modules/(?!. \.mjs$)',
'/node_modules/(?!ngx-snackbar|igniteui-angular/).+\.js$',
],
transform: {
'^.+\.(ts|js|mjs|html|svg)$': 'jest-preset-angular',
},
projects: [ ...getJestProjects(), '',
'/libs/api-interfaces',
'/libs/apis/application',`
],
};
All tests are failing straight away with the above error.
Expected Behavior
All tests must pass or fail with a reason respective to unit test of component, library.
Steps to Reproduce
nx migrate latest
nx migrate --run-migrations=migrations.json
Failure Logs
Package subpath './src/ngtsc/reflection' is not defined by "exports" in /Users/ravindra/projects/gitlab/jopoworkspace/node_modules/@angular/compiler-cli/package.json
Environment
% nx report
Node : 16.10.0 OS : darwin x64 npm : 7.24.0
nx : 13.4.3 @nrwl/angular : 13.4.3 @nrwl/cli : 13.4.3 @nrwl/cypress : 13.4.3 @nrwl/devkit : 13.4.3 @nrwl/eslint-plugin-nx : 13.4.3 @nrwl/express : undefined @nrwl/jest : 13.4.3 @nrwl/linter : 13.4.3 @nrwl/nest : 13.4.3 @nrwl/next : undefined @nrwl/node : 13.4.3 @nrwl/nx-cloud : 13.0.2 @nrwl/react : undefined @nrwl/react-native : undefined @nrwl/schematics : undefined @nrwl/tao : 13.4.3 @nrwl/web : undefined @nrwl/workspace : 13.4.3 @nrwl/storybook : 13.4.3 @nrwl/gatsby : undefined typescript : 4.4.4 rxjs : 7.5.1
Community plugins: @angular/animations: 13.1.1 @angular/cdk: 13.1.1 @angular/common: 13.1.1 @angular/compiler: 13.1.1 @angular/core: 13.1.1 @angular/forms: 13.1.1 @angular/platform-browser: 13.1.1 @angular/platform-browser-dynamic: 13.1.1 @angular/router: 13.1.1 @ng-bootstrap/ng-bootstrap: 9.1.3 @ngx-pwa/local-storage: 11.1.0 angular-bootstrap-md: 11.1.0 igniteui-angular: 11.1.37 @angular-devkit/build-angular: 13.1.2 @angular/cli: 13.1.2 @angular/compiler-cli: 13.1.1 @angular/language-service: 13.1.1
workspace %(node:37048) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at /Users/username/projects/gitlab/workspace/node_modules/tslib/package.json. Update this package.json to use a subpath pattern like "./*". (Use
node --trace-deprecation ...
to show where the warning was created) workspace %