hashLocation = async (powers, moduleLocation, options = {}) => {
  const {
    dev,
    tags,
    conditions = tags,
    strict = false,
    commonDependencies,
    policy,
    parserForLanguage,
    languages,
    languageForExtension,
    commonjsLanguageForExtension,
    moduleLanguageForExtension,
    workspaceLanguageForExtension,
    workspaceCommonjsLanguageForExtension,
    workspaceModuleLanguageForExtension,
    ...otherOptions
  } = assignParserForLanguage(options);

  const compartmentMap = await mapNodeModules(powers, moduleLocation, {
    dev,
    strict,
    conditions,
    commonDependencies,
    policy,
    languages,
    languageForExtension,
    commonjsLanguageForExtension,
    moduleLanguageForExtension,
    workspaceLanguageForExtension,
    workspaceCommonjsLanguageForExtension,
    workspaceModuleLanguageForExtension,
  });

  return hashFromMap(powers, compartmentMap, {
    parserForLanguage,
    policy,
    ...otherOptions,
  });
}
@param {HashPowers} powers
@param {string} moduleLocation
@param {ArchiveOptions} [options]
@returns {Promise<string>}