From 05baddbc2fc150960843f81397059edb41cf0931 Mon Sep 17 00:00:00 2001 From: Felix Angelov Date: Thu, 22 Dec 2022 22:59:23 -0600 Subject: [PATCH] feat(mason_cli): improve error when running add in an uninitialized workspace (#677) --- packages/mason_cli/lib/src/install_brick.dart | 6 +++++- packages/mason_cli/test/commands/add_test.dart | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/mason_cli/lib/src/install_brick.dart b/packages/mason_cli/lib/src/install_brick.dart index ede304831..fbe6d76d1 100644 --- a/packages/mason_cli/lib/src/install_brick.dart +++ b/packages/mason_cli/lib/src/install_brick.dart @@ -9,7 +9,11 @@ mixin InstallBrickMixin on MasonCommand { /// Installs a specific brick and returns the [CachedBrick] reference. Future addBrick(Brick brick, {bool global = false}) async { final bricksJson = global ? globalBricksJson : localBricksJson; - if (bricksJson == null) usageException('bricks.json not found'); + if (bricksJson == null) { + usageException( + 'Mason has not been initialized.\nDid you forget to run mason init?', + ); + } final masonLockJsonFile = global ? globalMasonLockJsonFile : localMasonLockJsonFile; diff --git a/packages/mason_cli/test/commands/add_test.dart b/packages/mason_cli/test/commands/add_test.dart index d9d1220bc..3afa642ac 100644 --- a/packages/mason_cli/test/commands/add_test.dart +++ b/packages/mason_cli/test/commands/add_test.dart @@ -52,7 +52,11 @@ void main() { Directory.current = Directory.systemTemp.createTempSync(); final result = await commandRunner.run(['add', 'example', '--path', '.']); expect(result, equals(ExitCode.usage.code)); - verify(() => logger.err('bricks.json not found')).called(1); + verify( + () => logger.err( + 'Mason has not been initialized.\nDid you forget to run mason init?', + ), + ).called(1); }); test('exits with code 64 when exception occurs', () async {