function installDynamicDependencies()

in core/dynamic-dependency.js [118:144]


function installDynamicDependencies() {
    /** @type {IDictionary.<IDynamicDependency>} */
    const dynamicDeps = utils.object.getPropertyValue(configs.packageJson, "dynamicDependencies");

    if (utils.isNullOrUndefined(dynamicDeps)) {
        return;
    }

    if (Array.isArray(dynamicDeps) || typeof dynamicDeps !== "object") {
        throw new Error("packageJson:dynamicDependencies is invalid.");
    }

    for (const depName in dynamicDeps) {
        const dep = dynamicDeps[depName];

        if (isModuleInstalled(depName)) {
            continue;
        }

        if (!areConditionsMatched(depName, dep)) {
            log.info(LogCategory, depName, `Skipped: conditions are not matched.`);
            continue;
        }

        installDynamicDependency(depName, dep);
    }
}