diff --git a/packages/nx-python/src/generators/release-version/release-version.ts b/packages/nx-python/src/generators/release-version/release-version.ts index 271453b..fb404ef 100644 --- a/packages/nx-python/src/generators/release-version/release-version.ts +++ b/packages/nx-python/src/generators/release-version/release-version.ts @@ -1,9 +1,12 @@ import { + ExpandedPluginConfiguration, + NxJsonConfiguration, ProjectGraphProjectNode, Tree, formatFiles, joinPathFragments, output, + readJson, } from '@nx/devkit'; import chalk from 'chalk'; import { exec } from 'node:child_process'; @@ -39,13 +42,26 @@ import { import { sortProjectsTopologically } from './utils/sort-projects-topologically'; import path, { dirname } from 'node:path'; import { getProvider } from '../../provider'; +import { PluginOptions } from '../../types'; export async function releaseVersionGenerator( tree: Tree, options: ReleaseVersionGeneratorSchema, ): Promise { let logger: ProjectLogger | undefined; - const provider = await getProvider('.', undefined, tree); + const nxJson = readJson(tree, 'nx.json'); + const pluginConfig = nxJson.plugins?.find( + (plugin): plugin is ExpandedPluginConfiguration => + typeof plugin === 'object' && plugin.plugin === '@nxlv/python', + ); + + const provider = await getProvider( + '.', + undefined, + tree, + undefined, + pluginConfig?.options as PluginOptions, + ); const updatedProjects: string[] = []; try { diff --git a/packages/nx-python/src/provider/uv/provider.ts b/packages/nx-python/src/provider/uv/provider.ts index 3634e15..43ff35a 100644 --- a/packages/nx-python/src/provider/uv/provider.ts +++ b/packages/nx-python/src/provider/uv/provider.ts @@ -94,9 +94,11 @@ export class UVProvider implements IProvider { ? readPyprojectToml(this.tree, pyprojectTomlPath) : getPyprojectData(pyprojectTomlPath); - const data = this.rootLockfile.package[projectData.project.name]; - console.log('data', data); + const lockData = this.isWorkspace + ? this.rootLockfile + : getUvLockfile(joinPathFragments(projectRoot, 'uv.lock'), this.tree); + const data = lockData.package[projectData.project.name]; const group = data?.dependencies?.find( (item) => item.name === dependencyName, ) @@ -106,8 +108,8 @@ export class UVProvider implements IProvider { )?.[0]; return { - name: this.rootLockfile.package[dependencyName].name, - version: this.rootLockfile.package[dependencyName].version, + name: lockData.package[dependencyName].name, + version: lockData.package[dependencyName].version, group, }; }