diff --git a/lib/internal/repl/completion.js b/lib/internal/repl/completion.js index e5b317bbe989cd..bf8aac8667174f 100644 --- a/lib/internal/repl/completion.js +++ b/lib/internal/repl/completion.js @@ -629,6 +629,7 @@ function findExpressionCompleteTarget(code) { ForInStatement: disallow, ForOfStatement: disallow, CallExpression: disallow, + ImportExpression: disallow, AssignmentExpression: disallow, UpdateExpression: disallow, }); diff --git a/test/parallel/test-repl-tab-complete.js b/test/parallel/test-repl-tab-complete.js index d4df6c31787968..a0efcbe319a529 100644 --- a/test/parallel/test-repl-tab-complete.js +++ b/test/parallel/test-repl-tab-complete.js @@ -562,4 +562,14 @@ describe('REPL tab completion (core functionality)', () => { replServer.close(); }); + + it('does not evaluate dynamic imports for completion', () => { + const { replServer } = startNewREPLServer({ + eval: common.mustNotCall(), + }); + + replServer.complete('import("").', getNoResultsFunction()); + + replServer.close(); + }); });