| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  | import ScriptUtils from "./ScriptUtils" | 
					
						
							|  |  |  | import { writeFileSync } from "fs" | 
					
						
							| 
									
										
										
										
											2025-07-10 18:26:31 +02:00
										 |  |  | import { | 
					
						
							|  |  |  |     FixLegacyTheme, | 
					
						
							|  |  |  |     UpdateLegacyLayer, | 
					
						
							|  |  |  | } from "../src/Models/ThemeConfig/Conversion/LegacyJsonConvert" | 
					
						
							| 
									
										
										
										
											2023-09-19 14:04:13 +02:00
										 |  |  | import { LayerConfigJson } from "../src/Models/ThemeConfig/Json/LayerConfigJson" | 
					
						
							| 
									
										
										
										
											2023-11-02 04:35:32 +01:00
										 |  |  | import { ConversionContext } from "../src/Models/ThemeConfig/Conversion/ConversionContext" | 
					
						
							| 
									
										
										
										
											2021-09-26 18:21:29 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-29 01:41:37 +02:00
										 |  |  | /* | 
					
						
							|  |  |  |  * This script reads all theme and layer files and reformats them inplace | 
					
						
							|  |  |  |  * Use with caution, make a commit beforehand! | 
					
						
							| 
									
										
										
										
											2021-09-26 19:56:40 +02:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2022-03-29 21:55:49 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  | const layerFiles = ScriptUtils.getLayerFiles() | 
					
						
							| 
									
										
										
										
											2021-09-26 19:56:40 +02:00
										 |  |  | for (const layerFile of layerFiles) { | 
					
						
							| 
									
										
										
										
											2021-11-21 03:48:05 +01:00
										 |  |  |     try { | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |         const fixed = <LayerConfigJson>( | 
					
						
							|  |  |  |             new UpdateLegacyLayer().convertStrict( | 
					
						
							|  |  |  |                 layerFile.parsed, | 
					
						
							| 
									
										
										
										
											2023-10-30 13:45:44 +01:00
										 |  |  |                 ConversionContext.construct([layerFile.path.split("/").at(-1)], ["update legacy"]) | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |             ) | 
					
						
							|  |  |  |         ) | 
					
						
							| 
									
										
										
										
											2025-07-05 02:03:39 +02:00
										 |  |  |         writeFileSync(layerFile.path, JSON.stringify(fixed, null, "  ") + "\n") | 
					
						
							| 
									
										
										
										
											2021-11-21 03:48:05 +01:00
										 |  |  |     } catch (e) { | 
					
						
							|  |  |  |         console.error("COULD NOT LINT LAYER" + layerFile.path + ":\n\t" + e) | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-09-26 19:56:40 +02:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2021-09-26 19:59:51 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-26 19:56:40 +02:00
										 |  |  | const themeFiles = ScriptUtils.getThemeFiles() | 
					
						
							|  |  |  | for (const themeFile of themeFiles) { | 
					
						
							| 
									
										
										
										
											2021-11-21 03:48:05 +01:00
										 |  |  |     try { | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |         const fixed = new FixLegacyTheme().convertStrict( | 
					
						
							|  |  |  |             themeFile.parsed, | 
					
						
							| 
									
										
										
										
											2023-10-30 13:45:44 +01:00
										 |  |  |             ConversionContext.construct([themeFile.path.split("/").at(-1)], ["update legacy layer"]) | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |         ) | 
					
						
							| 
									
										
										
										
											2024-01-24 23:45:20 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |         // extractInlineLayer(fixed)
 | 
					
						
							| 
									
										
										
										
											2023-10-30 13:45:44 +01:00
										 |  |  |         const endsWithNewline = themeFile.raw.at(-1) === "\n" | 
					
						
							|  |  |  |         writeFileSync( | 
					
						
							|  |  |  |             themeFile.path, | 
					
						
							| 
									
										
										
										
											2025-07-05 02:03:39 +02:00
										 |  |  |             JSON.stringify(fixed, null, "  ") + (endsWithNewline ? "\n" : "") | 
					
						
							| 
									
										
										
										
											2023-10-30 13:45:44 +01:00
										 |  |  |         ) | 
					
						
							| 
									
										
										
										
											2021-11-21 03:48:05 +01:00
										 |  |  |     } catch (e) { | 
					
						
							|  |  |  |         console.error("COULD NOT LINT THEME" + themeFile.path + ":\n\t" + e) | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-09-26 19:58:11 +02:00
										 |  |  | } |