code: func (m *Meta) loadConfigEarly(rootDir string) (*earlyconfig.Config, tfdiags.Diagnostics) {
  	var diags tfdiags.Diagnostics
  	rootDir = m.normalizePath(rootDir)
  
  	config, hclDiags := initwd.LoadConfig(rootDir, m.modulesDir())
  	diags = diags.Append(hclDiags)
  	return config, diags
  }
docs: // loadConfigEarly is a variant of loadConfig that uses the special
  // "early config" loader that is more forgiving of unexpected constructs and
  // legacy syntax.
  //
  // Early-loaded config is not registered in the source code cache, so
  // diagnostics produced from it may render without source code snippets. In
  // practice this is not a big concern because the early config loader also
  // cannot generate detailed source locations, so it prefers to produce
  // diagnostics without explicit source location information and instead includes
  // approximate locations in the message text.
  //
  // Most callers should use loadConfig. This method exists to support early
  // initialization use-cases where the root module must be inspected in order
  // to determine what else needs to be installed before the full configuration
  // can be used