2022-06-03 10:23:09 -04:00

40 lines
990 B
TypeScript

import type { Tree } from '@nrwl/devkit';
import {
addDependenciesToPackageJson,
generateFiles,
joinPathFragments,
readJson,
} from '@nrwl/devkit';
import { GeneratorOptions } from './schema';
export function karmaGenerator(tree: Tree, options: GeneratorOptions) {
const packageJson = readJson(tree, 'package.json');
if (!tree.exists('karma.conf.js')) {
generateFiles(tree, joinPathFragments(__dirname, 'files'), '.', {
tmpl: '',
});
}
if (options.skipPackageJson || packageJson.devDependencies['karma']) {
return () => {};
}
return addDependenciesToPackageJson(
tree,
{},
{
karma: '~6.3.0',
'karma-chrome-launcher': '~3.1.0',
'karma-coverage': '~2.2.0',
'karma-jasmine': '~5.0.0',
'karma-jasmine-html-reporter': '~1.7.0',
'jasmine-core': '~4.1.0',
'jasmine-spec-reporter': '~7.0.0',
'@types/jasmine': '~4.0.0',
'@types/node': '16.11.7',
}
);
}
export default karmaGenerator;