Skip to content

Commit ae4f06b

Browse files
committed
refactor: streamline test runner dependency management using array mapping
This commit simplifies the `getTestRunnerDependencies` implementation.
1 parent 18f7894 commit ae4f06b

File tree

1 file changed

+15
-47
lines changed

1 file changed

+15
-47
lines changed

packages/schematics/angular/utility/dependencies.ts

Lines changed: 15 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -86,56 +86,24 @@ export function getTestRunnerDependencies(
8686
testRunner: TestRunner | undefined,
8787
skipInstall: boolean,
8888
): Rule[] {
89-
if (testRunner === TestRunner.Vitest) {
90-
return [
91-
addDependency('vitest', latestVersions['vitest'], {
92-
type: DependencyType.Dev,
93-
existing: ExistingBehavior.Skip,
94-
install: skipInstall ? InstallBehavior.None : InstallBehavior.Auto,
95-
}),
96-
addDependency('jsdom', latestVersions['jsdom'], {
97-
type: DependencyType.Dev,
98-
existing: ExistingBehavior.Skip,
99-
install: skipInstall ? InstallBehavior.None : InstallBehavior.Auto,
100-
}),
101-
];
102-
}
89+
const dependencies =
90+
testRunner === TestRunner.Vitest
91+
? ['vitest', 'jsdom']
92+
: [
93+
'karma',
94+
'karma-chrome-launcher',
95+
'karma-coverage',
96+
'karma-jasmine',
97+
'karma-jasmine-html-reporter',
98+
'jasmine-core',
99+
'@types/jasmine',
100+
];
103101

104-
return [
105-
addDependency('karma', latestVersions['karma'], {
106-
type: DependencyType.Dev,
107-
existing: ExistingBehavior.Skip,
108-
install: skipInstall ? InstallBehavior.None : InstallBehavior.Auto,
109-
}),
110-
addDependency('karma-chrome-launcher', latestVersions['karma-chrome-launcher'], {
111-
type: DependencyType.Dev,
112-
existing: ExistingBehavior.Skip,
113-
install: skipInstall ? InstallBehavior.None : InstallBehavior.Auto,
114-
}),
115-
addDependency('karma-coverage', latestVersions['karma-coverage'], {
116-
type: DependencyType.Dev,
117-
existing: ExistingBehavior.Skip,
118-
install: skipInstall ? InstallBehavior.None : InstallBehavior.Auto,
119-
}),
120-
addDependency('karma-jasmine', latestVersions['karma-jasmine'], {
121-
type: DependencyType.Dev,
122-
existing: ExistingBehavior.Skip,
123-
install: skipInstall ? InstallBehavior.None : InstallBehavior.Auto,
124-
}),
125-
addDependency('karma-jasmine-html-reporter', latestVersions['karma-jasmine-html-reporter'], {
126-
type: DependencyType.Dev,
127-
existing: ExistingBehavior.Skip,
128-
install: skipInstall ? InstallBehavior.None : InstallBehavior.Auto,
129-
}),
130-
addDependency('jasmine-core', latestVersions['jasmine-core'], {
131-
type: DependencyType.Dev,
132-
existing: ExistingBehavior.Skip,
133-
install: skipInstall ? InstallBehavior.None : InstallBehavior.Auto,
134-
}),
135-
addDependency('@types/jasmine', latestVersions['@types/jasmine'], {
102+
return dependencies.map((name) =>
103+
addDependency(name, latestVersions[name], {
136104
type: DependencyType.Dev,
137105
existing: ExistingBehavior.Skip,
138106
install: skipInstall ? InstallBehavior.None : InstallBehavior.Auto,
139107
}),
140-
];
108+
);
141109
}

0 commit comments

Comments
 (0)