The Coline design system: accessible React components for Coline Apps, themed live by the host workspace, and for Coline Sites in light and dark. Tailwind v4 stylesheet included. MIT.
| 4 | // The standalone repository (upstream.codes/coline/ui) has no Coline to compare with. |
| 5 | if (!existsSync(platform)) { |
| 6 | console.log('Outside the Coline monorepo; skipping the parity check.'); |
| 7 | process.exit(0); |
| 8 | } |
| 9 | const files = ['dropdown-menu.tsx', 'menu-highlight.tsx', 'liquid-menu-surface.ts', 'menu-item-styles.ts']; |
| 10 | for (const file of files) { |
| 11 | const source = readFileSync(new URL(file, platform), 'utf8') |
| 12 | .replaceAll('@/components/ui/', './').replaceAll('@/lib/utils', '../lib/utils'); |
| 13 | const target = new URL(`../src/components/${file}`, import.meta.url); |
| 14 | if (process.argv.includes('--write')) writeFileSync(target, source); |
| 15 | else if (readFileSync(target, 'utf8') !== source) throw new Error(`${file} differs from Coline; run pnpm --filter @colineapp/ui sync:platform`); |
| 16 | } |
| 17 | console.log('Dropdown menu, highlight and surface match Coline.'); |
| 18 |