parsePackageConfig function
({Map<String, Script> scripts, List<ConfigWarning> warnings})
parsePackageConfig(
- ConfigReader reader, {
- required String rootConfigPath,
Parses the scripts of a workspace package's own dpk.yaml, which may only
contain version and scripts.
Implementation
({Map<String, Script> scripts, List<ConfigWarning> warnings})
parsePackageConfig(ConfigReader reader, {required String rootConfigPath}) {
for (final key in reader.map.keys) {
if (DpkConfig.packageKeys.contains(key)) {
continue;
}
if (DpkConfig.keys.contains(key) || DpkConfig.legacyKeys.containsKey(key)) {
throw reader.error(
'"$key" is only allowed in the workspace root config. Move it to '
'$rootConfigPath.',
key: key,
);
}
}
reader.checkKeys(DpkConfig.packageKeys);
final scriptsReader = reader.child('scripts');
if (scriptsReader == null) {
return (scripts: const {}, warnings: const []);
}
final scripts = Script.parseAll(scriptsReader);
return (scripts: scripts, warnings: scriptsReader.warnings);
}