jest-preset-angular
Advanced tools
Changelog
9.0.0 (2021-05-27)
moduleNameMapper
config (#910) (df482bc), closes #908exports
field to package.json
, see https://nodejs.org/api/packages.html#packages_package_entry_pointspresets
entry point (#801) (e4ff0c0)replace-resources
AST transformer from Angular (#708) (1b20c19)downlevel-ctor
AST transformer from Angular (#730) (1f964c3)cacheFS
from jest to reduce file system reading (#679) (f5d9d4b)skipLibCheck: true
if not defined in tsconfig (#678) (0df3ce1)import 'jest-preset-angular'
should change to import 'jest-preset-angular/setup-jest'
InlineFilesTransformer
and StripStylesTransformer
are REMOVED and
default jest-preset-angular
uses AST transformers from @angular/compiler-cli
and @ngtools/webpack
.
One should remove the old transformers from the jest config.jest-preset-angular
now switches to default to use its own transformer which wraps around ts-jest
to transform codes.Users who are currently doing in jest config
// jest.config.js
module.exports = {
// [...]
transform: {
'^.+\\.(ts|js|html)$': 'ts-jest',
},
}
should change to
// jest.config.js
module.exports = {
// [...]
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
},
}
'jest-preset-angular/build/AngularNoNgAttributesSnapshotSerializer.js'
is changed to 'jest-preset-angular/build/serializers/no-ng-attributes
.'jest-preset-angular/build/AngularSnapshotSerializer.js'
is changed to 'jest-preset-angular/build/serializers/ng-snapshot
.'jest-preset-angular/build/HTMLCommentSerializer.js'
is changed to 'jest-preset-angular/build/serializers/html-comment
.tsconfig.json
doesn't contain any path mappings
hence removing moduleNameMapper
from preset will make sure that the preset works in pair with tsconfig.json
.
Ones who are relying on the value of moduleNameMapper
from the preset should create their own moduleNameMapper
config manually or via ts-jest
util https://kulshekhar.github.io/ts-jest/docs/getting-started/paths-mapping.If you wish to reuse the old configuration of moduleNameMapper
, you can put this into your Jest config
moduleNameMapper: {
'^src/(.*)$': '<rootDir>/src/$1',
'^app/(.*)$': '<rootDir>/src/app/$1',
'^assets/(.*)$': '<rootDir>/src/assets/$1',
'^environments/(.*)$': '<rootDir>/src/environments/$1',
}
skipLibCheck
is not defined in tsconfig, jest-preset-angular
will set it to true
. If one wants to have it as false
, one can set explicitly in tsconfig.jest-preset-angular
now switches to default to use its own transformer which wraps around ts-jest
to transform codes.Users who are currently doing in jest config
// jest.config.js
module.exports = {
// [...]
transform: {
'^.+\\.(ts|js|html)$': 'ts-jest',
},
}
should change to
// jest.config.js
module.exports = {
// [...]
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
},
}
Changelog
9.0.0-next.14 (2021-05-05)
When generating a new project from Angular CLI, by default the tsconfig.json
doesn't contain any path mappings hence removing moduleNameMapper
from preset will make sure that the preset works in pair with tsconfig.json
.
Ones who are relying on the value of moduleNameMapper
from the preset should create their own moduleNameMapper
config manually or via ts-jest
util https://kulshekhar.github.io/ts-jest/docs/getting-started/paths-mapping
Changelog
9.0.0-next.13 (2021-04-18)
Changelog
9.0.0-next.11 (2021-03-21)
exports
field to package.json
, see https://nodejs.org/api/packages.html#packages_package_entry_points