mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-14 01:33:03 +00:00
Merge pull request #3537 from digidem/validate-defaults
Validate preset defaults at build step
This commit is contained in:
13
build.js
13
build.js
@@ -30,12 +30,14 @@ unlink('dist/locales/en.json');
|
||||
var categories = generateCategories();
|
||||
var fields = generateFields();
|
||||
var presets = generatePresets();
|
||||
var defaults = read('data/presets/defaults.json');
|
||||
var translations = generateTranslations(fields, presets);
|
||||
var taginfo = generateTaginfo(presets);
|
||||
|
||||
// Additional consistency checks
|
||||
validateCategoryPresets(categories, presets);
|
||||
validatePresetFields(presets, fields);
|
||||
validateDefaults(defaults, categories, presets);
|
||||
|
||||
// Save individual data files
|
||||
fs.writeFileSync('data/presets/categories.json', JSON.stringify({ categories: categories }, null, 4));
|
||||
@@ -299,6 +301,17 @@ function validatePresetFields(presets, fields) {
|
||||
});
|
||||
}
|
||||
|
||||
function validateDefaults (defaults, categories, presets) {
|
||||
_.forEach(defaults.defaults, function (members, name) {
|
||||
members.forEach(function (id) {
|
||||
if (!presets[id] && !categories[id]) {
|
||||
console.error('Unknown category or preset: ' + id + ' in default ' + name);
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function translationsToYAML(translations) {
|
||||
// comment keys end with '#' and should sort immediately before their related key.
|
||||
function commentFirst(a, b) {
|
||||
|
||||
Reference in New Issue
Block a user