Performance: split validation into multiple files, avoid using 'fixImages' and 'exractImages' into well-known themes as it takes a big chunk of data

This commit is contained in:
Pieter Vander Vennet 2024-08-11 12:03:24 +02:00
parent ac853ab021
commit 8c779fe09b
16 changed files with 1009 additions and 949 deletions

View file

@ -9,7 +9,6 @@ import {
DoesImageExist,
PrevalidateTheme,
ValidateLayer,
ValidateThemeAndLayers,
ValidateThemeEnsemble,
} from "../src/Models/ThemeConfig/Conversion/Validation"
import { Translation } from "../src/UI/i18n/Translation"
@ -33,6 +32,8 @@ import { GenerateFavouritesLayer } from "./generateFavouritesLayer"
import LayoutConfig from "../src/Models/ThemeConfig/LayoutConfig"
import Translations from "../src/UI/i18n/Translations"
import { Translatable } from "../src/Models/ThemeConfig/Json/Translatable"
import { ValidateThemeAndLayers } from "../src/Models/ThemeConfig/Conversion/ValidateThemeAndLayers"
import { ExtractImages } from "../src/Models/ThemeConfig/Conversion/FixImages"
// This scripts scans 'src/assets/layers/*.json' for layer definition files and 'src/assets/themes/*.json' for theme definition files.
// It spits out an overview of those to be used to load them
@ -272,6 +273,7 @@ class LayerOverviewUtils extends Script {
JSON.stringify(theme, null, " "),
{ encoding: "utf8" }
)
}
writeLayer(layer: LayerConfigJson) {
@ -850,6 +852,11 @@ class LayerOverviewUtils extends Script {
}
}
const usedImages = Utils.Dedup(new ExtractImages(true, knownTagRenderings).convertStrict(themeFile).map(x => x.path))
usedImages.sort()
themeFile["_usedImages"] = usedImages
this.writeTheme(themeFile)
fixed.set(themeFile.id, themeFile)