Skip to content

Commit

Permalink
feat(devkit): add method to read installed Nx version
Browse files Browse the repository at this point in the history
  • Loading branch information
AgentEnder committed Jan 27, 2023
1 parent d5332b4 commit 05923aa
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 0 deletions.
28 changes: 28 additions & 0 deletions docs/generated/devkit/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ It only uses language primitives and immutable objects
- [generateFiles](../../devkit/documents/index#generatefiles)
- [getDependentPackagesForProject](../../devkit/documents/index#getdependentpackagesforproject)
- [getImportPath](../../devkit/documents/index#getimportpath)
- [getInstalledNxVersion](../../devkit/documents/index#getinstallednxversion)
- [getNpmPackageSharedConfig](../../devkit/documents/index#getnpmpackagesharedconfig)
- [getOutputsForTargetAndConfiguration](../../devkit/documents/index#getoutputsfortargetandconfiguration)
- [getPackageManagerCommand](../../devkit/documents/index#getpackagemanagercommand)
Expand All @@ -175,6 +176,7 @@ It only uses language primitives and immutable objects
- [parseTargetString](../../devkit/documents/index#parsetargetstring)
- [readAllWorkspaceConfiguration](../../devkit/documents/index#readallworkspaceconfiguration)
- [readCachedProjectGraph](../../devkit/documents/index#readcachedprojectgraph)
- [readInstalledPackageVersion](../../devkit/documents/index#readinstalledpackageversion)
- [readJson](../../devkit/documents/index#readjson)
- [readJsonFile](../../devkit/documents/index#readjsonfile)
- [readNxJson](../../devkit/documents/index#readnxjson)
Expand Down Expand Up @@ -1347,6 +1349,16 @@ Prefixes project name with npm scope

---

### getInstalledNxVersion

**getInstalledNxVersion**(): `string` \| `null`

#### Returns

`string` \| `null`

---

### getNpmPackageSharedConfig

**getNpmPackageSharedConfig**(`pkgName`, `version`): [`SharedLibraryConfig`](../../devkit/documents/index#sharedlibraryconfig) \| `undefined`
Expand Down Expand Up @@ -1797,6 +1809,22 @@ Synchronously reads the latest cached copy of the workspace's ProjectGraph.

---

### readInstalledPackageVersion

**readInstalledPackageVersion**(`pkg`): `string` \| `null`

#### Parameters

| Name | Type |
| :---- | :------- |
| `pkg` | `string` |

#### Returns

`string` \| `null`

---

### readJson

**readJson**<`T`\>(`tree`, `path`, `options?`): `T`
Expand Down
28 changes: 28 additions & 0 deletions docs/generated/packages/devkit/documents/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ It only uses language primitives and immutable objects
- [generateFiles](../../devkit/documents/index#generatefiles)
- [getDependentPackagesForProject](../../devkit/documents/index#getdependentpackagesforproject)
- [getImportPath](../../devkit/documents/index#getimportpath)
- [getInstalledNxVersion](../../devkit/documents/index#getinstallednxversion)
- [getNpmPackageSharedConfig](../../devkit/documents/index#getnpmpackagesharedconfig)
- [getOutputsForTargetAndConfiguration](../../devkit/documents/index#getoutputsfortargetandconfiguration)
- [getPackageManagerCommand](../../devkit/documents/index#getpackagemanagercommand)
Expand All @@ -175,6 +176,7 @@ It only uses language primitives and immutable objects
- [parseTargetString](../../devkit/documents/index#parsetargetstring)
- [readAllWorkspaceConfiguration](../../devkit/documents/index#readallworkspaceconfiguration)
- [readCachedProjectGraph](../../devkit/documents/index#readcachedprojectgraph)
- [readInstalledPackageVersion](../../devkit/documents/index#readinstalledpackageversion)
- [readJson](../../devkit/documents/index#readjson)
- [readJsonFile](../../devkit/documents/index#readjsonfile)
- [readNxJson](../../devkit/documents/index#readnxjson)
Expand Down Expand Up @@ -1347,6 +1349,16 @@ Prefixes project name with npm scope

---

### getInstalledNxVersion

**getInstalledNxVersion**(): `string` \| `null`

#### Returns

`string` \| `null`

---

### getNpmPackageSharedConfig

**getNpmPackageSharedConfig**(`pkgName`, `version`): [`SharedLibraryConfig`](../../devkit/documents/index#sharedlibraryconfig) \| `undefined`
Expand Down Expand Up @@ -1797,6 +1809,22 @@ Synchronously reads the latest cached copy of the workspace's ProjectGraph.

---

### readInstalledPackageVersion

**readInstalledPackageVersion**(`pkg`): `string` \| `null`

#### Parameters

| Name | Type |
| :---- | :------- |
| `pkg` | `string` |

#### Returns

`string` \| `null`

---

### readJson

**readJson**<`T`\>(`tree`, `path`, `options?`): `T`
Expand Down
2 changes: 2 additions & 0 deletions packages/devkit/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,8 @@ export {
addDependenciesToPackageJson,
ensurePackage,
removeDependenciesFromPackageJson,
getInstalledNxVersion,
readInstalledPackageVersion,
} from './src/utils/package-json';

/**
Expand Down
9 changes: 9 additions & 0 deletions packages/devkit/src/utils/package-json.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { clean, coerce, gt, satisfies } from 'semver';
import { getPackageManagerCommand } from 'nx/src/utils/package-manager';
import { execSync } from 'child_process';
import { readModulePackageJson } from 'nx/src/utils/package-json';
import { workspaceRoot } from 'nx/src/utils/workspace-root';

const NON_SEMVER_TAGS = {
'*': 2,
Expand Down Expand Up @@ -381,3 +382,11 @@ export async function ensurePackage(
}
}
}

export function readInstalledPackageVersion(pkg: string): string | null {
return readModulePackageJson(pkg).packageJson?.version;
}

export function getInstalledNxVersion(): string | null {
return readInstalledPackageVersion('nx');
}

0 comments on commit 05923aa

Please sign in to comment.