message: build(bazel): generalize fix for AMD name for flat module out file
  PR Close
diff: @@ -209,15 +209,19 @@ export function compile({allowNonHermeticReads, allDepsCompiledWithBazel = true,
  // compilationTargetSrc.
  // However we still want to give it an AMD module name for devmode.
  // We can't easily tell which file is the synthetic one, so we build up the path we expect
  - // it to have
  - // and compare against that.
  + // it to have and compare against that.
  if (fileName ===
  path.join(compilerOpts.baseUrl, bazelOpts.package, compilerOpts.flatModuleOutFile + '.ts'))
  return true;
  - // Also handle the case when angular is built from source as an external repository
  - if (fileName ===
  + // Also handle the case the target is in an external repository.
  + // Pull the workspace name from the target which is formatted as `@wksp//package:target`
  + // if it the target is from an external workspace. If the target is from the local
  + // workspace then it will be formatted as `//package:target`.
  + const targetWorkspace = bazelOpts.target.split('/')[0].replace(/^@/, '');
  + if (targetWorkspace &&
  + fileName ===
  path.join(
  - compilerOpts.baseUrl, 'external/angular', bazelOpts.package,
  + compilerOpts.baseUrl, 'external', targetWorkspace, bazelOpts.package,
  compilerOpts.flatModuleOutFile + '.ts'))
  return true;
  return origBazelHostShouldNameModule(fileName) || NGC_GEN_FILES.test(fileName);
  