Skip to content

Commit ca3c0e2

Browse files
committed
fix: integrate the logic with excludedPeerDependencies with the new testInitialization service
1 parent 1d7d27d commit ca3c0e2

File tree

4 files changed

+11
-10
lines changed

4 files changed

+11
-10
lines changed

config/test-dependencies.json

+4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
{
66
"name": "karma-nativescript-launcher"
77
},
8+
{
9+
"name": "karma-webpack",
10+
"excludedPeerDependencies": ["webpack"]
11+
},
812
{
913
"name": "mocha",
1014
"framework": "mocha"

lib/commands/test-init.ts

+3-5
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,11 @@ class TestInitCommand implements ICommand {
3636
const dependencies = this.$testInitializationService.getDependencies(frameworkToInstall);
3737
const dependenciesVersions = this.$testInitializationService.getDependenciesVersions();
3838
modulesToInstall = dependencies.map(dependency => {
39-
const dependencyVersion = dependenciesVersions[dependency];
40-
if (!dependencyVersion) {
39+
dependency.version = dependenciesVersions[dependency.name];
40+
if (!dependency.version) {
4141
this.$errors.failWithoutHelp(`'${dependency}' is not a registered dependency.`);
4242
}
43-
44-
45-
return { name: dependency, version: dependencyVersion };
43+
return dependency;
4644
});
4745
} catch (err) {
4846
this.$errors.failWithoutHelp(`Unable to install the unit testing dependencies. Error: '${err.message}'`);

lib/definitions/project.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ interface ITestExecutionService {
482482
}
483483

484484
interface ITestInitializationService {
485-
getDependencies(framework: string): string[];
485+
getDependencies(framework: string): IDependencyInformation[];
486486
getDependenciesVersions(): IDictionary<string>;
487487
}
488488

lib/services/test-initialization-service.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@ export class TestInitializationService implements ITestInitializationService {
77
constructor(private $fs: IFileSystem) { }
88

99
@cache()
10-
public getDependencies(selectedFramework: string): string[] {
10+
public getDependencies(selectedFramework: string): IDependencyInformation[] {
1111
const dependenciesPath = path.join(this.configsPath, "test-dependencies.json");
1212
const allDependencies: { name: string, framework: string }[] = this.$fs.readJson(dependenciesPath);
13-
const targetFrameworkDependencies: string[] = allDependencies
14-
.filter(dependency => !dependency.framework || dependency.framework === selectedFramework)
15-
.map(dependency => dependency.name);
13+
const targetFrameworkDependencies: IDependencyInformation[] = allDependencies
14+
.filter(dependency => !dependency.framework || dependency.framework === selectedFramework);
1615

1716
return targetFrameworkDependencies;
1817
}

0 commit comments

Comments
 (0)