export async function discoverConfigFiles()

in src/config.js [200:243]


export async function discoverConfigFiles({ getHomeDir = os.homedir } = {}) {
  const magicConfigName = 'web-ext-config';

  // Config files will be loaded in this order.
  const possibleConfigs = [
    // Look for a magic hidden config (preceded by dot) in home dir.
    path.join(getHomeDir(), `.${magicConfigName}.mjs`),
    path.join(getHomeDir(), `.${magicConfigName}.cjs`),
    path.join(getHomeDir(), `.${magicConfigName}.js`),
    // Look for webExt key inside package.json file
    path.join(process.cwd(), 'package.json'),
    // Look for a magic config in the current working directory.
    path.join(process.cwd(), `${magicConfigName}.mjs`),
    path.join(process.cwd(), `${magicConfigName}.cjs`),
    path.join(process.cwd(), `${magicConfigName}.js`),
    // Look for a magic hidden config (preceded by dot) the current working directory.
    path.join(process.cwd(), `.${magicConfigName}.mjs`),
    path.join(process.cwd(), `.${magicConfigName}.cjs`),
    path.join(process.cwd(), `.${magicConfigName}.js`),
  ];

  const configs = await Promise.all(
    possibleConfigs.map(async (fileName) => {
      const resolvedFileName = path.resolve(fileName);
      if (await fileExists(resolvedFileName)) {
        return resolvedFileName;
      } else {
        log.debug(
          `Discovered config "${resolvedFileName}" does not ` +
            'exist or is not readable',
        );
        return undefined;
      }
    }),
  );

  const existingConfigs = [];
  configs.forEach((f) => {
    if (typeof f === 'string') {
      existingConfigs.push(f);
    }
  });
  return existingConfigs;
}