in src/implementationGuides/IGCompiler.ts [127:151]
private async extractIgInfo(igDir: PathLike): Promise<IGInfo> {
const packagePath = path.join(igDir.toString(), 'package.json');
if (!existsSync(packagePath)) {
throw new Error(`'package.json' not found in ${igDir}`);
}
console.log(`checking ${packagePath}`);
const packageJson: any = await loadJson(packagePath);
const dependencies: string[] = [];
const igInfo = {
id: this.createIGKey(packageJson.name, packageJson.version),
url: packageJson.url,
name: packageJson.name,
version: packageJson.version,
path: igDir.toString(),
dependencies,
};
const packageDeps: { [key: string]: string } = packageJson.dependencies;
if (packageDeps) {
for (const [name, version] of Object.entries(packageDeps)) {
const igId: string = this.createIGKey(name, version);
dependencies.push(igId);
}
}
return igInfo;
}