mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
| import { writeFile } from 'node:fs/promises';
 | |
| import { resolve } from 'path';
 | |
| 
 | |
| import { createTheme } from '@grafana/data';
 | |
| import { darkThemeVarsTemplate } from '@grafana/ui/src/themes/_variables.dark.scss.tmpl';
 | |
| import { lightThemeVarsTemplate } from '@grafana/ui/src/themes/_variables.light.scss.tmpl';
 | |
| import { commonThemeVarsTemplate } from '@grafana/ui/src/themes/_variables.scss.tmpl';
 | |
| 
 | |
| const darkThemeVariablesPath = resolve(__dirname, 'public', 'sass', '_variables.dark.generated.scss');
 | |
| const lightThemeVariablesPath = resolve(__dirname, 'public', 'sass', '_variables.light.generated.scss');
 | |
| const defaultThemeVariablesPath = resolve(__dirname, 'public', 'sass', '_variables.generated.scss');
 | |
| 
 | |
| async function writeVariablesFile(path: string, data: string) {
 | |
|   try {
 | |
|     await writeFile(path, data);
 | |
|   } catch (error) {
 | |
|     console.error('\nWriting SASS variable files failed', error);
 | |
|     process.exit(1);
 | |
|   }
 | |
| }
 | |
| 
 | |
| async function generateSassVariableFiles() {
 | |
|   const darkTheme = createTheme();
 | |
|   const lightTheme = createTheme({ colors: { mode: 'light' } });
 | |
|   try {
 | |
|     await writeVariablesFile(darkThemeVariablesPath, darkThemeVarsTemplate(darkTheme));
 | |
|     await writeVariablesFile(lightThemeVariablesPath, lightThemeVarsTemplate(lightTheme));
 | |
|     await writeVariablesFile(defaultThemeVariablesPath, commonThemeVarsTemplate(darkTheme));
 | |
|   } catch (error) {
 | |
|     console.error('\nWriting SASS variable files failed', error);
 | |
|     process.exit(1);
 | |
|   }
 | |
| }
 | |
| 
 | |
| generateSassVariableFiles();
 |