/
karma.ts
38 lines (34 loc) · 959 Bytes
/
karma.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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': '~4.0.0',
'karma-jasmine-html-reporter': '~1.7.0',
'jasmine-core': '~3.10.0',
'jasmine-spec-reporter': '~5.0.0',
'@types/jasmine': '~3.5.0',
}
);
}
export default karmaGenerator;