feat(skin): add audio skins for HTML and React presets (#772)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sam Potts
2026-03-09 12:12:49 +11:00
committed by GitHub
co-authored by Claude Opus 4.6
parent 038ad8b4f5
commit d751fdabea
125 changed files with 4174 additions and 2264 deletions
+31
View File
@@ -0,0 +1,31 @@
import { globSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
import { dirname, join } from 'node:path';
import { resolveImports } from './resolve-css-imports.mjs';
/**
* @param {{ skinsDir: string; outDir: string }} options
*/
export function copyCssPlugin(options) {
const { skinsDir, outDir } = options;
return {
name: 'copy-css',
buildStart() {
for (const file of globSync('src/**/*.css')) {
this.addWatchFile(file);
}
for (const file of globSync(join(skinsDir, '**/*.css'))) {
this.addWatchFile(file);
}
},
writeBundle() {
for (const file of globSync('src/**/*.css')) {
const content = readFileSync(file, 'utf-8');
const resolved = resolveImports(content, dirname(file), skinsDir);
const outFile = join(outDir, file.replace(/^src\//, ''));
mkdirSync(dirname(outFile), { recursive: true });
writeFileSync(outFile, resolved);
}
},
};
}