title: WARNING: No name was provided for external module 'X' in output.globals – guessing 'X'
body: <pre><code>WARNING: No name was provided for external module 'moment' in output.globals – guessing 'momentImported'
  WARNING: No name was provided for external module 'odata-parser' in output.globals – guessing 'parser'
  </code></pre>
  
  <p>I receive this message when I try to bundle my library to Universal Module Definition. The warning can be fixed by adding umdModuleIds in ng-package.json.</p>
  
  <p>The <a href="https://github.com/ng-packagr/ng-packagr/blob/master/docs/dependencies.md#resolving-umd-module-identifiers" rel="noreferrer">documentation</a> gives us the following explanation:</p>
  
  <blockquote>
    <p>When writing the UMD bundle, ng-packagr does its best to provide
    common default values for the UMD module identifiers. Also, rollup
    will do its best to guess the module ID of an external dependency.
    Even then, <strong>you should make sure that the UMD module identifiers of the
    external dependencies are correct</strong>. In case ng-packagr doesn't provide
    a default and rollup is unable to guess the correct identifier, you
    should explicitly provide the module identifier by using umdModuleIds
    in the library's package file section like so: ...</p>
  </blockquote>
  
  <p><code>umdModuleIds</code>:</p>
  
  <blockquote>
    <p>A map of external dependencies and their correspondent UMD module
    identifiers. Map keys are TypeScript / EcmaScript module identifiers.
    Map values are UMD module ids. The purpose of this map is to correctly
    bundle an UMD module file (with <code>rollup</code>). By default, <code>rxjs</code>, <code>tslib</code>
    and <code>@angular/*</code> dependency symbols are supported.</p>
  </blockquote>
  
  <p>How can I find or check for correctness the UMD ID of moment, odata-parser or any other module that must be added to the umdModuleIds?</p>