Files
xiaohei 428644e286
Revalidate Docs / Revalidate Docs (push) Failing after 2s
E2E CI / Check Duplicate Run (push) Failing after 5s
Test CI / Check Duplicate Run (push) Failing after 6s
E2E CI / Test Web App (push) Has been skipped
Test CI / Test Packages (push) Has been skipped
Test CI / Test App (shard 1/3) (push) Has been skipped
Test CI / Test App (shard 2/3) (push) Has been skipped
Test CI / Test App (shard 3/3) (push) Has been skipped
Test CI / Test Desktop App (push) Has been skipped
🔄 Branch Synchronization / sync-branches (push) Failing after 11s
Test CI / Test Database (push) Has been skipped
Test CI / Merge and Upload App Coverage (push) Has been skipped
Database Schema Visualization CI / build (push) Failing after 4m14s
Enterprise AI Workspace prototype: LobeChat (de-branded) + Enterprise Gateway + Postgres/Redis stack
2026-04-21 12:58:00 +08:00

26 lines
778 B
TypeScript

import type { Plugin } from 'vite';
/**
* Forces emotion's speedy mode in antd-style.
*
* antd-style hardcodes `speedy: false` in both createStaticStyles and
* createInstance, which causes emotion to create a new <style> element
* for every CSS rule (n % 1 === 0 is always true).
* With speedy: true, one <style> tag holds up to 65 000 rules via
* CSSStyleSheet.insertRule(), eliminating thousands of DOM insertBefore calls.
*/
export function viteEmotionSpeedy(): Plugin {
return {
name: 'emotion-speedy',
enforce: 'pre',
transform(code, id) {
if (id.includes('antd-style') && code.includes('speedy: false')) {
return {
code: code.replaceAll('speedy: false', 'speedy: true'),
map: null,
};
}
},
};
}