@ockilson/ng-jest
Version:
Schematic to setup jest for angular/cli projects
59 lines • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const schematics_1 = require("@angular-devkit/schematics");
const schematics_utils_1 = require("@ockilson/schematics-utils");
const karma_1 = require("./karma");
const jest_1 = require("./jest");
const dependencies = [
{
type: schematics_utils_1.NodeDependencyType.Dev,
version: '^7.0.0',
name: '@angular-builders/jest'
},
{
type: schematics_utils_1.NodeDependencyType.Dev,
version: '^23.6.0',
name: 'jest'
},
{
type: schematics_utils_1.NodeDependencyType.Dev,
version: '^23.3.7',
name: '@types/jest'
}
];
const removeDeps = [
{
name: "karma",
type: schematics_utils_1.NodeDependencyType.Dev
},
{
name: "karma-chrome-launcher",
type: schematics_utils_1.NodeDependencyType.Dev
},
{
name: "karma-coverage-istanbul-reporter",
type: schematics_utils_1.NodeDependencyType.Dev
},
{
name: "karma-jasmine",
type: schematics_utils_1.NodeDependencyType.Dev
},
{
name: "karma-jasmine-html-reporter",
type: schematics_utils_1.NodeDependencyType.Dev
}
];
function jestSetup(_options) {
return (tree, _context) => {
return schematics_1.chain([
schematics_utils_1.removeDependenciesFromPackageJson(_options, removeDeps),
schematics_utils_1.addDependenciesToPackageJson(_options, dependencies),
karma_1.removeKarmaFilesFromProject(_options),
jest_1.addJestConfigToTsConfig(Object.assign({}, _options, { compilerOptionsModule: true }), '/src/tsconfig.spec.json'),
jest_1.addJestConfigToTsConfig(_options, '/tsconfig.json'),
jest_1.addBuilderToAngularProjectConfig(_options)
]);
};
}
exports.jestSetup = jestSetup;
//# sourceMappingURL=install.js.map