MCPcopy Index your code
hub / github.com/nodejs/node / transformRoot

Function transformRoot

test/fixtures/snapshot/typescript.js:108250–108399  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

108248 return result;
108249 }
108250 function transformRoot(node) {
108251 if (node.kind === 305 /* SyntaxKind.SourceFile */ && node.isDeclarationFile) {
108252 return node;
108253 }
108254 if (node.kind === 306 /* SyntaxKind.Bundle */) {
108255 isBundledEmit = true;
108256 refs = new ts.Map();
108257 libs = new ts.Map();
108258 var hasNoDefaultLib_1 = false;
108259 var bundle = factory.createBundle(ts.map(node.sourceFiles, function (sourceFile) {
108260 if (sourceFile.isDeclarationFile)
108261 return undefined; // Omit declaration files from bundle results, too // TODO: GH#18217
108262 hasNoDefaultLib_1 = hasNoDefaultLib_1 || sourceFile.hasNoDefaultLib;
108263 currentSourceFile = sourceFile;
108264 enclosingDeclaration = sourceFile;
108265 lateMarkedStatements = undefined;
108266 suppressNewDiagnosticContexts = false;
108267 lateStatementReplacementMap = new ts.Map();
108268 getSymbolAccessibilityDiagnostic = throwDiagnostic;
108269 needsScopeFixMarker = false;
108270 resultHasScopeMarker = false;
108271 collectReferences(sourceFile, refs);
108272 collectLibs(sourceFile, libs);
108273 if (ts.isExternalOrCommonJsModule(sourceFile) || ts.isJsonSourceFile(sourceFile)) {
108274 resultHasExternalModuleIndicator = false; // unused in external module bundle emit (all external modules are within module blocks, therefore are known to be modules)
108275 needsDeclare = false;
108276 var statements = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile, /*bundled*/ true)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements);
108277 var newFile = factory.updateSourceFile(sourceFile, [factory.createModuleDeclaration([], [factory.createModifier(135 /* SyntaxKind.DeclareKeyword */)], factory.createStringLiteral(ts.getResolvedExternalModuleName(context.getEmitHost(), sourceFile)), factory.createModuleBlock(ts.setTextRange(factory.createNodeArray(transformAndReplaceLatePaintedStatements(statements)), sourceFile.statements)))], /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []);
108278 return newFile;
108279 }
108280 needsDeclare = true;
108281 var updated = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements);
108282 return factory.updateSourceFile(sourceFile, transformAndReplaceLatePaintedStatements(updated), /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []);
108283 }), ts.mapDefined(node.prepends, function (prepend) {
108284 if (prepend.kind === 308 /* SyntaxKind.InputFiles */) {
108285 var sourceFile = ts.createUnparsedSourceFile(prepend, "dts", stripInternal);
108286 hasNoDefaultLib_1 = hasNoDefaultLib_1 || !!sourceFile.hasNoDefaultLib;
108287 collectReferences(sourceFile, refs);
108288 recordTypeReferenceDirectivesIfNecessary(ts.map(sourceFile.typeReferenceDirectives, function (ref) { return [ref.fileName, ref.resolutionMode]; }));
108289 collectLibs(sourceFile, libs);
108290 return sourceFile;
108291 }
108292 return prepend;
108293 }));
108294 bundle.syntheticFileReferences = [];
108295 bundle.syntheticTypeReferences = getFileReferencesForUsedTypeReferences();
108296 bundle.syntheticLibReferences = getLibReferences();
108297 bundle.hasNoDefaultLib = hasNoDefaultLib_1;
108298 var outputFilePath_1 = ts.getDirectoryPath(ts.normalizeSlashes(ts.getOutputPathsFor(node, host, /*forceDtsPaths*/ true).declarationFilePath));
108299 var referenceVisitor_1 = mapReferencesIntoArray(bundle.syntheticFileReferences, outputFilePath_1);
108300 refs.forEach(referenceVisitor_1);
108301 return bundle;
108302 }
108303 // Single source file
108304 needsDeclare = true;
108305 needsScopeFixMarker = false;
108306 resultHasScopeMarker = false;
108307 enclosingDeclaration = node;

Callers

nothing calls this directly

Calls 12

collectReferencesFunction · 0.85
collectLibsFunction · 0.85
getLibReferencesFunction · 0.85
mapReferencesIntoArrayFunction · 0.85
transformationFunction · 0.85
mapMethod · 0.65
forEachMethod · 0.65
filterMethod · 0.65

Tested by

no test coverage detected