Refactor: How to fix 22 PrismJS CommonJS optimization bailout warnings...
Documentation for Sessions
♻️ Refactor: How to fix 22 PrismJS CommonJS optimization bailout warnings...
Date: 2026-03-13
Time: 02:42:43 UTC
Session: gspace1-212.2
Agent: angular
Confidence: 95%
Status: ✅ Documented
📋 Decision Context
Question:
How to fix 22 PrismJS CommonJS optimization bailout warnings and Tailwind experimental warning in gograb-space production build?
Task: Fix build warnings: PrismJS CommonJS + Tailwind experimental
🎯 Decision Made
Chosen:
Migrate from PrismJS to Shiki (ESM-native) and remove Tailwind optimizeUniversalDefaults. Shiki uses TextMate grammars (same as VS Code), is ESM-only, and is the industry standard (Angular docs, Qwik, Lexical use it). Removed experimental Tailwind flag to eliminate build warnings.
Options Considered:
- Add prismjs to allowedCommonJsDependencies (patch)
- Migrate from PrismJS to Shiki (ESM-native)
- Remove Tailwind optimizeUniversalDefaults
💭 Reasoning
PrismJS is CommonJS-only, causing Angular/esbuild to emit 22 optimization bailout warnings. allowedCommonJsDependencies would only suppress warnings, not fix the root cause. Shiki is ESM-native, actively maintained, and aligns with AGENTS.md 'Build the UI, Buy the Engine' — our component owns UX, Shiki owns correctness. Tailwind optimizeUniversalDefaults is experimental and not covered by semver; it was triggering warnings during production builds when NODE_ENV might not be set. Removing it eliminates noise without affecting functionality.
📁 Files Involved
libs/libs-ux/ux-code-highlight/src/lib/services/syntax-highlighter.service.tslibs/libs-ux/ux-code-highlight/src/lib/providers/syntax-highlighter.provider.tslibs/libs-ux/ux-code-highlight/src/lib/components/ux-code-block/ux-code-block.component.tstailwind.config.jspackage.json
🔗 Related
- Decision ID:
dev_1773369763011_waaopyp - Session: 212
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation