Skip to main content
Glama
nrwl

Nx MCP Server

Official
by nrwl
view-diff.ts1.55 kB
import { getNxWorkspacePath } from '@nx-console/vscode-configuration'; import { getGitApi } from '@nx-console/vscode-utils'; import type { MigrationDetailsWithId } from 'nx/src/config/misc-interfaces'; import { join } from 'path'; import { commands, TextDocumentShowOptions, Uri, window } from 'vscode'; import { readMigrationsJsonMetadata } from '../commands/utils'; export async function viewPackageJsonDiff() { await viewDiff('package.json', 'HEAD'); } export function viewDiffForMigration( path: string, migration: MigrationDetailsWithId, ) { const completedMigration = readMigrationsJsonMetadata()?.completedMigrations[migration.id]; if (completedMigration.type === 'successful') { const toRef = completedMigration.ref; const fromRef = `${toRef}^1`; viewDiff(path, fromRef, toRef); } } export async function viewDiff(path: string, fromRef?: string, toRef?: string) { if (!fromRef) { fromRef = readMigrationsJsonMetadata()?.initialGitRef.ref; } const api = getGitApi(); if (!api) { window.showErrorMessage( 'Unable to utilize Git for this instance of VS Code', ); return; } const fullPath = join(getNxWorkspacePath(), path); const toGitUri = toRef ? api.toGitUri(Uri.file(fullPath), toRef) : Uri.file(fullPath); const fromGitUri = api.toGitUri(toGitUri, fromRef); commands.executeCommand('vscode.diff', fromGitUri, toGitUri, null, { preview: true, preserveFocus: true, } as TextDocumentShowOptions); commands.executeCommand('nxMigrate.focus'); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nrwl/nx-console'

If you have feedback or need assistance with the MCP directory API, please join our Discord server