@nx-dotnet/core
Version:
- Have an existing nx workspace. For creating this, see [nrwl's documentation](https://nx.dev/latest/angular/getting-started/nx-setup). - .NET SDK is installed, and `dotnet` is available on the path. For help on this, see [Microsoft's documentation](https
36 lines • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
const devkit_1 = require("@nx/devkit");
const dotnet_1 = require("@nx-dotnet/dotnet");
const utils_1 = require("@nx-dotnet/utils");
const resolve_version_mismatch_1 = require("../utils/resolve-version-mismatch");
const update_dependency_version_1 = require("../utils/update-dependency-version");
async function default_1(host, options, dotnetClient = new dotnet_1.DotNetClient((0, dotnet_1.dotnetFactory)())) {
const { packageName, project: projectName, allowVersionMismatch, ...params } = options;
const project = (0, devkit_1.readProjectConfiguration)(host, projectName);
const projectFilePath = await (0, utils_1.getProjectFileForNxProject)(project);
const config = (0, utils_1.readConfig)(host);
config.nugetPackages ?? (config.nugetPackages = {});
const configuredPkgVersion = config.nugetPackages[packageName];
const resolvedVersion = await (0, resolve_version_mismatch_1.resolveVersionMismatch)(options.version, configuredPkgVersion, allowVersionMismatch, packageName);
config.nugetPackages[packageName] = resolvedVersion;
if (resolvedVersion !== options.version &&
resolvedVersion !== utils_1.ALLOW_MISMATCH) {
params.version = resolvedVersion;
}
try {
dotnetClient.addPackageReference(projectFilePath, packageName, params);
(0, utils_1.updateConfig)(host, config);
if (resolvedVersion !== utils_1.ALLOW_MISMATCH &&
resolvedVersion !== configuredPkgVersion &&
resolvedVersion) {
(0, update_dependency_version_1.updateDependencyVersions)(host, packageName, resolvedVersion);
}
}
catch (e) {
console.warn('Config not updated since dotnet failed to add dependency!');
throw e;
}
}
//# sourceMappingURL=generator.js.map