Handle empty declaration list in Convert to ES6 Module (#21843)

* Handle empty declaration list in Convert to ES6 Module

* Fix test
This commit is contained in:
Andy
2018-02-09 14:46:57 -08:00
committed by GitHub
parent f989ef7261
commit 425a4182a3
2 changed files with 11 additions and 2 deletions

View File

@@ -33,8 +33,8 @@ namespace ts.refactor {
return isExportsOrModuleExportsOrAlias(sourceFile, node as PropertyAccessExpression)
|| isExportsOrModuleExportsOrAlias(sourceFile, (node as PropertyAccessExpression).expression);
case SyntaxKind.VariableDeclarationList:
const decl = (node as VariableDeclarationList).declarations[0];
return isExportsOrModuleExportsOrAlias(sourceFile, decl.initializer);
const decl = firstOrUndefined((node as VariableDeclarationList).declarations);
return !!decl && isExportsOrModuleExportsOrAlias(sourceFile, decl.initializer);
case SyntaxKind.VariableDeclaration:
return isExportsOrModuleExportsOrAlias(sourceFile, (node as VariableDeclaration).initializer);
default:

View File

@@ -0,0 +1,9 @@
/// <reference path='fourslash.ts' />
// @allowJs: true
// @Filename: /a.js
////c[|o|]nst;
////require("x");
goTo.eachRange(() => verify.not.refactorAvailable("Convert to ES6 module"));