(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName)
| 139538 | } |
| 139539 | } |
| 139540 | function updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName) { |
| 139541 | var allFiles = program.getSourceFiles(); |
| 139542 | var _loop_6 = function (sourceFile) { |
| 139543 | var newFromOld = oldToNew(sourceFile.fileName); |
| 139544 | var newImportFromPath = newFromOld !== null && newFromOld !== void 0 ? newFromOld : sourceFile.fileName; |
| 139545 | var newImportFromDirectory = ts.getDirectoryPath(newImportFromPath); |
| 139546 | var oldFromNew = newToOld(sourceFile.fileName); |
| 139547 | var oldImportFromPath = oldFromNew || sourceFile.fileName; |
| 139548 | var oldImportFromDirectory = ts.getDirectoryPath(oldImportFromPath); |
| 139549 | var importingSourceFileMoved = newFromOld !== undefined || oldFromNew !== undefined; |
| 139550 | updateImportsWorker(sourceFile, changeTracker, function (referenceText) { |
| 139551 | if (!ts.pathIsRelative(referenceText)) |
| 139552 | return undefined; |
| 139553 | var oldAbsolute = combinePathsSafe(oldImportFromDirectory, referenceText); |
| 139554 | var newAbsolute = oldToNew(oldAbsolute); |
| 139555 | return newAbsolute === undefined ? undefined : ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(newImportFromDirectory, newAbsolute, getCanonicalFileName)); |
| 139556 | }, function (importLiteral) { |
| 139557 | var importedModuleSymbol = program.getTypeChecker().getSymbolAtLocation(importLiteral); |
| 139558 | // No need to update if it's an ambient module^M |
| 139559 | if ((importedModuleSymbol === null || importedModuleSymbol === void 0 ? void 0 : importedModuleSymbol.declarations) && importedModuleSymbol.declarations.some(function (d) { return ts.isAmbientModule(d); })) |
| 139560 | return undefined; |
| 139561 | var toImport = oldFromNew !== undefined |
| 139562 | // If we're at the new location (file was already renamed), need to redo module resolution starting from the old location. |
| 139563 | // TODO:GH#18217 |
| 139564 | ? getSourceFileToImportFromResolved(importLiteral, ts.resolveModuleName(importLiteral.text, oldImportFromPath, program.getCompilerOptions(), host), oldToNew, allFiles) |
| 139565 | : getSourceFileToImport(importedModuleSymbol, importLiteral, sourceFile, program, host, oldToNew); |
| 139566 | // Need an update if the imported file moved, or the importing file moved and was using a relative path. |
| 139567 | return toImport !== undefined && (toImport.updated || (importingSourceFileMoved && ts.pathIsRelative(importLiteral.text))) |
| 139568 | ? ts.moduleSpecifiers.updateModuleSpecifier(program.getCompilerOptions(), sourceFile, getCanonicalFileName(newImportFromPath), toImport.newFileName, ts.createModuleSpecifierResolutionHost(program, host), importLiteral.text) |
| 139569 | : undefined; |
| 139570 | }); |
| 139571 | }; |
| 139572 | for (var _i = 0, allFiles_1 = allFiles; _i < allFiles_1.length; _i++) { |
| 139573 | var sourceFile = allFiles_1[_i]; |
| 139574 | _loop_6(sourceFile); |
| 139575 | } |
| 139576 | } |
| 139577 | function combineNormal(pathA, pathB) { |
| 139578 | return ts.normalizePath(ts.combinePaths(pathA, pathB)); |
| 139579 | } |
no test coverage detected