diff --git a/src/services/refactors/moveToNewFile.ts b/src/services/refactors/moveToNewFile.ts index d0d0df4250e..11220205a48 100644 --- a/src/services/refactors/moveToNewFile.ts +++ b/src/services/refactors/moveToNewFile.ts @@ -76,7 +76,7 @@ namespace ts.refactor { case SyntaxKind.ImportEqualsDeclaration: return !hasModifier(node, ModifierFlags.Export); case SyntaxKind.VariableStatement: - return (node as VariableStatement).declarationList.declarations.every(d => isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true)); + return (node as VariableStatement).declarationList.declarations.every(d => d.initializer && isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true)); default: return false; } diff --git a/tests/cases/fourslash/moveToNewFile_moveImport.ts b/tests/cases/fourslash/moveToNewFile_moveImport.ts index 08a89403070..d1560e03aba 100644 --- a/tests/cases/fourslash/moveToNewFile_moveImport.ts +++ b/tests/cases/fourslash/moveToNewFile_moveImport.ts @@ -2,6 +2,7 @@ // @Filename: /a.ts ////[|import { a, b } from "m"; +////let l; ////a;|] ////b; @@ -10,8 +11,9 @@ verify.moveToNewFile({ "/a.ts": `import { b } from "m"; b;`, - "/newFile.ts": + "/l.ts": `import { a } from "m"; +let l; a;`, } });