private async extractIgInfo()

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;
    }