24 lines
624 B
TypeScript
24 lines
624 B
TypeScript
|
import { readFile, writeFile } from 'node:fs/promises';
|
||
|
import { resolve } from 'node:path';
|
||
|
import * as JSON5 from 'json5';
|
||
|
|
||
|
Promise.all([
|
||
|
readFile(resolve(__dirname, '../src/themes/_light.json5'), 'utf8'),
|
||
|
readFile(resolve(__dirname, '../src/themes/l-light.json5'), 'utf8'),
|
||
|
]).then((sources) => {
|
||
|
const base = JSON5.parse(sources[0]);
|
||
|
const theme = JSON5.parse(sources[1]);
|
||
|
writeFile(
|
||
|
resolve(__dirname, './theme.ts'),
|
||
|
`export default ${JSON.stringify(
|
||
|
Object.assign(theme, {
|
||
|
base: undefined,
|
||
|
props: Object.assign(base.props, theme.props),
|
||
|
}),
|
||
|
undefined,
|
||
|
2,
|
||
|
)} as const;`,
|
||
|
'utf8'
|
||
|
);
|
||
|
});
|