parent
501f55b0cc
commit
8d6d4c5700
@ -0,0 +1,14 @@
|
||||
import { mkdirSync, writeFileSync } from 'node:fs';
|
||||
import { dirname, resolve } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
import { renderGeneratedBaseEidosCss } from '../src/uix/eidos/lib/generated-css.ts';
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
const outputPath = resolve(__dirname, '..', 'src', 'uix', 'eidos', 'generated', 'base.css');
|
||||
|
||||
mkdirSync(dirname(outputPath), { recursive: true });
|
||||
writeFileSync(outputPath, `${renderGeneratedBaseEidosCss()}\n`);
|
||||
|
||||
console.log(`Generated ${outputPath}`);
|
||||
@ -0,0 +1,16 @@
|
||||
import { readFileSync } from 'node:fs';
|
||||
import { resolve } from 'node:path';
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
import { renderGeneratedBaseEidosCss } from './lib/generated-css';
|
||||
|
||||
describe('generated Eidos CSS', () => {
|
||||
it('keeps generated/base.css in sync with the base config renderer', () => {
|
||||
const file = readFileSync(resolve('src/uix/eidos/generated/base.css'), 'utf8').replace(
|
||||
/\r\n/g,
|
||||
'\n'
|
||||
);
|
||||
|
||||
expect(file).toBe(`${renderGeneratedBaseEidosCss()}\n`);
|
||||
});
|
||||
});
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,24 @@
|
||||
import { renderStaticCss, renderThemeCss } from './render-css';
|
||||
import { createThemeBaseEidosConfig } from './themes/base';
|
||||
|
||||
export function renderGeneratedBaseEidosCss(): string {
|
||||
const config = createThemeBaseEidosConfig();
|
||||
|
||||
return [
|
||||
`/*
|
||||
* Generated Eidos foundation CSS.
|
||||
*
|
||||
* Source: src/uix/eidos/lib/themes/base.ts
|
||||
* Command: npm run generate:eidos-css
|
||||
*
|
||||
* Do not edit this file by hand.
|
||||
*/`,
|
||||
renderStaticCss(config),
|
||||
renderThemeCss(config, 'base-light', {
|
||||
selector: ":root,\n[data-theme='base-light'],\n[data-theme='light']"
|
||||
}),
|
||||
renderThemeCss(config, 'base-dark', {
|
||||
selector: "[data-theme='base-dark'],\n[data-theme='dark']"
|
||||
})
|
||||
].join('\n\n');
|
||||
}
|
||||
Loading…
Reference in new issue