MCPcopy
hub / github.com/TypeStrong/ts-node / generateTarget

Function generateTarget

src/test/resolver.spec.ts:336–505  ·  view source on GitHub ↗
(
  project: Project,
  p: FsProject,
  options: GenerateTargetOptions
)

Source from the content-addressed store, hash-verified

334}
335
336function generateTarget(
337 project: Project,
338 p: FsProject,
339 options: GenerateTargetOptions
340) {
341 const {
342 inSrc,
343 inOut,
344 srcExt,
345 targetPackageStyle,
346 packageTypeModule,
347 isIndex,
348 } = options;
349
350 const outExt = srcExt.replace('ts', 'js').replace('x', '');
351 let targetIdentifier = `target-${targetSeq()}-${
352 inOut && inSrc ? 'inboth' : inOut ? 'onlyout' : 'onlysrc'
353 }-${srcExt}`;
354
355 if (targetPackageStyle)
356 targetIdentifier = `${targetIdentifier}-${targetPackageStyle}-${
357 packageTypeModule ? 'module' : 'commonjs'
358 }`;
359 let prefix = targetPackageStyle ? `node_modules/${targetIdentifier}/` : '';
360 let suffix =
361 targetPackageStyle === 'empty-manifest'
362 ? 'index'
363 : targetPackageStyle
364 ? 'target'
365 : targetIdentifier;
366 if (isIndex) suffix += '-dir/index';
367 const srcDirInfix = targetPackageStyle === 'empty-manifest' ? '' : 'src/';
368 const outDirInfix = targetPackageStyle === 'empty-manifest' ? '' : 'out/';
369 const srcName = `${prefix}${srcDirInfix}${suffix}.${srcExt}`;
370 const srcDirOutExtName = `${prefix}${srcDirInfix}${suffix}.${outExt}`;
371 const outName = `${prefix}${outDirInfix}${suffix}.${outExt}`;
372 const selfImporterCjsName = `${prefix}self-import-cjs.cjs`;
373 const selfImporterMjsName = `${prefix}self-import-mjs.mjs`;
374 const target: Target = {
375 targetIdentifier,
376 srcName,
377 outName,
378 srcExt,
379 outExt,
380 inSrc,
381 inOut,
382 isNamedFile: !isIndex && !targetPackageStyle,
383 isIndex,
384 isPackage: !!targetPackageStyle,
385 packageStyle: targetPackageStyle,
386 typeModule: packageTypeModule,
387 };
388 const { isMjs: targetIsMjs } = fileInfo(
389 '.' + srcExt,
390 packageTypeModule,
391 project.allowJs
392 );
393 function targetContent(loc: string) {

Callers 1

generateTargetsFunction · 0.85

Calls 4

fileInfoFunction · 0.85
targetContentFunction · 0.85
writePackageJsonFunction · 0.85
addFileMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…