save() for that. Info files * are formatted as YAML. If the 'version' key is set to 'VERSION' in any info * file, then the value will be substituted with the current version of Drupal * core. * * Information stored in all .info.yml files: * - name: The real name of the module for display purposes. (Required) * - description: A brief description of the module. * - type: whether it is for a module or theme. (Required) * - core_version_requirement: Specifies the compatible version or versions of * Drupal core. For example, "9.3 || 9.4" means compatibility with Drupal * 9.3 and 9.4; ">=9" means compatible with Drupal 9, 10 and later versions, * "<=9" means compatible with Drupal 8 and 9. (Required) * - lifecycle: [experimental|stable|deprecated|obsolete]. A description of * the current phase in the lifecycle of the module, theme or profile. * * Information stored in a module .info.yml file: * - dependencies: An array of dependency strings. Each is in the form * 'project:module (versions)'; with the following meanings: * - project: (optional) Project shortname, recommended to ensure * uniqueness, if the module is part of a project hosted on drupal.org. * If omitted, also omit the : that follows. The project name is currently * ignored by Drupal core but is used for automated testing. * - module: (required) Module shortname within the project. * - (versions): Version information, consisting of one or more * comma-separated operator/value pairs or simply version numbers, which * can contain "x" as a wildcard. Examples: (>=8.22, <8.28), (8.x-3.x). * - package: The name of the package of modules this module belongs to. * * See node.info.yml for an example of a module .info.yml file. * * Information stored in a theme .info.yml file: * - screenshot: Path to screenshot relative to the theme's .info.yml file. * - engine: Theme engine; typically twig. * - base theme: Name of a base theme, if applicable. * - regions: Listed regions. * - features: Features available. * - stylesheets: Theme stylesheets. * - scripts: Theme scripts. * * See olivero.info.yml for an example of a theme .info.yml file. * * For information stored in a profile .info.yml file see * install_profile_info(). * * @param string $filename * The file we are parsing. Accepts file with relative or absolute path. * * @return array * The info array. * * @throws \Drupal\Core\Extension\InfoParserException * Exception thrown if there is a parsing error or the .info.yml file does * not contain a required key. * * @see install_profile_info() */ public function parse($filename); }