From 75af26d8edee2da3b8333e734fd2383207879a18 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Tue, 20 Jul 2021 14:59:52 +0200 Subject: [PATCH] feat(cli-repl): mark exceptions from mongoshrc as such MONGOSH-911 --- packages/cli-repl/src/cli-repl.spec.ts | 8 ++++++++ packages/cli-repl/src/cli-repl.ts | 1 + 2 files changed, 9 insertions(+) diff --git a/packages/cli-repl/src/cli-repl.spec.ts b/packages/cli-repl/src/cli-repl.spec.ts index 802c93f77c..75e4f6f6fd 100644 --- a/packages/cli-repl/src/cli-repl.spec.ts +++ b/packages/cli-repl/src/cli-repl.spec.ts @@ -388,6 +388,14 @@ describe('CliRepl', () => { await cliRepl.start('', {}); expect(output).to.include('reached five'); }); + + it('if an exception is thrown, indicates that it comes from mongoshrc', async() => { + await fs.writeFile(path.join(tmpdir.path, '.mongoshrc.js'), 'throw new Error("bananas")'); + cliRepl = new CliRepl(cliReplOptions); + await cliRepl.start('', {}); + expect(output).to.include('Error while running ~/.mongoshrc.js:'); + expect(output).to.include('Error: bananas'); + }); }); context('files loaded from command line', () => { diff --git a/packages/cli-repl/src/cli-repl.ts b/packages/cli-repl/src/cli-repl.ts index bd43927a2a..e49cbe11bd 100644 --- a/packages/cli-repl/src/cli-repl.ts +++ b/packages/cli-repl/src/cli-repl.ts @@ -240,6 +240,7 @@ class CliRepl { this.bus.emit('mongosh:mongoshrc-load'); await this.mongoshRepl.loadExternalFile(mongoshrcPath); } catch (err) { + this.output.write(this.clr('Error while running ~/.mongoshrc.js:\n', ['bold', 'yellow'])); this.output.write(this.mongoshRepl.writer(err) + '\n'); } return;