// Shared files are editable sources; browser-local copies are build output. import { cp } from 'node:fs/promises'; export async function syncShared(browsers = ['chrome', 'firefox', 'safari']) { for (const browser of browsers) { if (!['chrome', 'firefox', 'safari'].includes(browser)) throw new Error('Unknown browser'); await cp('extension/shared', `extension/${browser}/shared`, { recursive: true }); await cp('branding/extension-icons', `extension/${browser}/icons`, { recursive: true }); } } if (process.argv[1]?.endsWith('/sync_shared.mjs')) { await syncShared(process.argv.slice(2).length ? process.argv.slice(2) : undefined); }