docs: def _gen_modname_source_target_modpath(self, spec, d):
          """
          Private generator that will consume those above functions.  This
          should NOT be overridden.
  
          Produces the following 4-tuple on iteration with the input dict;
          the definition is written at the module level documention for
          calmjs.toolchain, but in brief:
  
          modname
              The JavaScript module name.
          source
              Stands for sourcepath - path to some JavaScript source file.
          target
              Stands for targetpath - the target path relative to
              spec[BUILD_DIR] where the source file will be written to
              using the method that genearted this entry.
          modpath
              The module path that is compatible with tool referencing
              the target.  While this is typically identical with modname,
              some tools require certain modifications or markers in
              additional to what is presented (e.g. such as the addition
              of a '?' symbol to ensure absolute lookup).
          """
  
          for modname_source in d.items():
              try:
                  modname = self.modname_source_to_modname(spec, *modname_source)
                  source = self.modname_source_to_source(spec, *modname_source)
                  target = self.modname_source_to_target(spec, *modname_source)
                  modpath = self.modname_source_target_modnamesource_to_modpath(
                      spec, modname, source, target, modname_source)
              except ValueError as e:
                  # figure out which of the above 3 functions failed by
                  # acquiring the name from one frame down.
                  f_name = sys.exc_info()[2].tb_next.tb_frame.f_code.co_name
  
                  if isinstance(e, ValueSkip):
                      # a purposely benign failure.
                      log = partial(
                          logger.info,
                          "toolchain purposely skipping on '%s', "
                          "reason: %s, where modname='%s', source='%s'",
                      )
                  else:
                      log = partial(
                          logger.warning,
                          "toolchain failed to acquire name with '%s', "
                          "reason: %s, where modname='%s', source='%s'; "
                          "skipping",
                      )
  
                  log(f_name, e, *modname_source)
                  continue
              yield modname, source, target, modpath