From a539564c0ddd1e7ffbe2b8800dfbc68e5105cddb Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Fri, 22 Jul 2022 13:28:03 -0500 Subject: [PATCH 1/5] Added Backstage version to info command Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- .changeset/modern-shrimps-wave.md | 5 +++++ packages/cli/src/commands/info.ts | 12 ++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 .changeset/modern-shrimps-wave.md diff --git a/.changeset/modern-shrimps-wave.md b/.changeset/modern-shrimps-wave.md new file mode 100644 index 0000000000..4750360915 --- /dev/null +++ b/.changeset/modern-shrimps-wave.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Added Backstage version to output of `yarn backstage-clie info` command diff --git a/packages/cli/src/commands/info.ts b/packages/cli/src/commands/info.ts index 4042d2cb8e..b513be9957 100644 --- a/packages/cli/src/commands/info.ts +++ b/packages/cli/src/commands/info.ts @@ -26,10 +26,22 @@ export default async () => { // eslint-disable-next-line no-restricted-syntax const isLocal = require('fs').existsSync(paths.resolveOwn('./src')); + const backstageFile = paths.resolveTargetRoot('backstage.json'); + let backstageJson = undefined; + if (require('fs').existsSync(backstageFile)) { + const buffer = await require('fs').readFile(backstageFile); + backstageJson = JSON.parse(buffer.toString()); + } + console.log(`OS: ${os.type} ${os.release} - ${os.platform}/${os.arch}`); console.log(`node: ${process.version}`); console.log(`yarn: ${yarnVersion}`); console.log(`cli: ${cliVersion} (${isLocal ? 'local' : 'installed'})`); + console.log( + `backstage: ${ + backstageJson && backstageJson.version ? backstageJson.version : 'N/A' + }`, + ); console.log(); console.log('Dependencies:'); const lockfilePath = paths.resolveTargetRoot('yarn.lock'); From 02539d4f316d2c233606dffcc063dc47d65130bf Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Fri, 22 Jul 2022 13:33:37 -0500 Subject: [PATCH 2/5] Fixed callback error Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- packages/cli/src/commands/info.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/commands/info.ts b/packages/cli/src/commands/info.ts index b513be9957..c62185e9a7 100644 --- a/packages/cli/src/commands/info.ts +++ b/packages/cli/src/commands/info.ts @@ -19,17 +19,18 @@ import os from 'os'; import { runPlain } from '../lib/run'; import { paths } from '../lib/paths'; import { Lockfile } from '../lib/versioning'; +import fs from 'fs-extra'; export default async () => { await new Promise(async () => { const yarnVersion = await runPlain('yarn --version'); // eslint-disable-next-line no-restricted-syntax - const isLocal = require('fs').existsSync(paths.resolveOwn('./src')); + const isLocal = fs.existsSync(paths.resolveOwn('./src')); const backstageFile = paths.resolveTargetRoot('backstage.json'); let backstageJson = undefined; - if (require('fs').existsSync(backstageFile)) { - const buffer = await require('fs').readFile(backstageFile); + if (fs.existsSync(backstageFile)) { + const buffer = await fs.readFile(backstageFile); backstageJson = JSON.parse(buffer.toString()); } From 7be2469cd3d221614d70069c8808888227404cf7 Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Fri, 22 Jul 2022 18:15:58 -0500 Subject: [PATCH 3/5] Refactor to use readJSON Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- packages/cli/src/commands/info.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/cli/src/commands/info.ts b/packages/cli/src/commands/info.ts index c62185e9a7..ba42b7f7a3 100644 --- a/packages/cli/src/commands/info.ts +++ b/packages/cli/src/commands/info.ts @@ -28,21 +28,21 @@ export default async () => { const isLocal = fs.existsSync(paths.resolveOwn('./src')); const backstageFile = paths.resolveTargetRoot('backstage.json'); - let backstageJson = undefined; + let backstageVersion = 'N/A'; if (fs.existsSync(backstageFile)) { - const buffer = await fs.readFile(backstageFile); - backstageJson = JSON.parse(buffer.toString()); + try { + const backstageJson = await fs.readJSON(backstageFile); + backstageVersion = backstageJson.version ?? 'N/A'; + } catch (error) { + backstageVersion = 'N/A'; + } } console.log(`OS: ${os.type} ${os.release} - ${os.platform}/${os.arch}`); console.log(`node: ${process.version}`); console.log(`yarn: ${yarnVersion}`); console.log(`cli: ${cliVersion} (${isLocal ? 'local' : 'installed'})`); - console.log( - `backstage: ${ - backstageJson && backstageJson.version ? backstageJson.version : 'N/A' - }`, - ); + console.log(`backstage: ${backstageVersion}`); console.log(); console.log('Dependencies:'); const lockfilePath = paths.resolveTargetRoot('yarn.lock'); From d137c77a3d545d54674ebe725d2d6d67bce9dac8 Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Mon, 25 Jul 2022 07:28:44 -0500 Subject: [PATCH 4/5] Logged as warning Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- packages/cli/src/commands/info.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/commands/info.ts b/packages/cli/src/commands/info.ts index ba42b7f7a3..f3740de1a9 100644 --- a/packages/cli/src/commands/info.ts +++ b/packages/cli/src/commands/info.ts @@ -24,7 +24,6 @@ import fs from 'fs-extra'; export default async () => { await new Promise(async () => { const yarnVersion = await runPlain('yarn --version'); - // eslint-disable-next-line no-restricted-syntax const isLocal = fs.existsSync(paths.resolveOwn('./src')); const backstageFile = paths.resolveTargetRoot('backstage.json'); @@ -34,7 +33,8 @@ export default async () => { const backstageJson = await fs.readJSON(backstageFile); backstageVersion = backstageJson.version ?? 'N/A'; } catch (error) { - backstageVersion = 'N/A'; + console.warn('The "backstage.json" file is not in the expected format'); + console.log(); } } From 8af100ee0c8b65226d40432da57c0cc37d186a8b Mon Sep 17 00:00:00 2001 From: Ben Lambert Date: Mon, 25 Jul 2022 15:34:34 +0200 Subject: [PATCH 5/5] Fix spelling mistake in changeset Signed-off-by: blam --- .changeset/modern-shrimps-wave.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/modern-shrimps-wave.md b/.changeset/modern-shrimps-wave.md index 4750360915..9be8c49ca8 100644 --- a/.changeset/modern-shrimps-wave.md +++ b/.changeset/modern-shrimps-wave.md @@ -2,4 +2,4 @@ '@backstage/cli': patch --- -Added Backstage version to output of `yarn backstage-clie info` command +Added Backstage version to output of `yarn backstage-cli info` command