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' ); });