mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 01:02:58 +00:00
add consistency checks for fields of presets and presets in categories
This commit is contained in:
34
build.js
34
build.js
@@ -182,10 +182,44 @@ function generatePresets() {
|
||||
fs.writeFileSync('data/presets.yaml', YAML.dump({en: {presets: presetsYaml}}));
|
||||
}
|
||||
|
||||
function validateCategoryPresets() {
|
||||
var categories = rp('categories.json'),
|
||||
presets = rp('presets.json');
|
||||
_.forEach(categories, function(category) {
|
||||
if (category.members) {
|
||||
category.members.forEach(function(preset) {
|
||||
if (presets[preset] === undefined) {
|
||||
console.error('Unknown preset: ' + preset + ' in category ' + category.name);
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function validatePresetFields() {
|
||||
var presets = rp('presets.json'),
|
||||
fields = rp('fields.json');
|
||||
_.forEach(presets, function(preset) {
|
||||
if (preset.fields) {
|
||||
preset.fields.forEach(function(field) {
|
||||
if (fields[field] === undefined) {
|
||||
console.error('Unknown preset field: ' + field + ' in preset ' + preset.name);
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
generateCategories();
|
||||
generateFields();
|
||||
generatePresets();
|
||||
|
||||
// additional consistency checks
|
||||
validateCategoryPresets();
|
||||
validatePresetFields();
|
||||
|
||||
// Push changes from data/core.yaml into en.json
|
||||
var core = YAML.load(fs.readFileSync('data/core.yaml', 'utf8'));
|
||||
var presets = {en: {presets: translations}};
|
||||
|
||||
Reference in New Issue
Block a user