openpencil/vite/aliases.ts
Danila Poyarkov 47fe43c3ec feat(text): harden font resolution lifecycle
- Gate ingest rendering until required faces and script fallbacks resolve
- Key CanvasKit artifacts by font registration generation and invalidate affected nodes
- Load character-aware remote subsets with cumulative coverage and exact render aliases
- Use BCP-47 language hints for shaping and CJK fallback order
- Keep baked .fig glyphs as an exhaustion-only fallback
2026-07-17 14:52:35 +03:00

52 lines
2.5 KiB
TypeScript

import { resolve } from 'node:path'
export function createOpenPencilAliases(rootDir: string) {
const emptyNodeModule = resolve(rootDir, 'vite/empty-node-module.ts')
return [
{ find: /^fs$/, replacement: emptyNodeModule },
{ find: /^path$/, replacement: emptyNodeModule },
{ find: '@', replacement: resolve(rootDir, 'src') },
{ find: '#vue', replacement: resolve(rootDir, 'packages/vue/src') },
{ find: '#core', replacement: resolve(rootDir, 'packages/core/src') },
{ find: '#dom-css', replacement: resolve(rootDir, 'packages/dom-css/src') },
{
find: /^@open-pencil\/dom-css\/browser$/,
replacement: resolve(rootDir, 'packages/dom-css/src/browser.ts')
},
{
find: /^@open-pencil\/dom-css\/jsx-runtime$/,
replacement: resolve(rootDir, 'packages/dom-css/src/jsx/runtime.ts')
},
{
find: /^@open-pencil\/dom-css\/jsx-dev-runtime$/,
replacement: resolve(rootDir, 'packages/dom-css/src/jsx/dev-runtime.ts')
},
{
find: /^@open-pencil\/dom-css$/,
replacement: resolve(rootDir, 'packages/dom-css/src/index.ts')
},
{
find: /^@open-pencil\/scene-graph$/,
replacement: resolve(rootDir, 'packages/scene-graph/src/index.ts')
},
{ find: '@open-pencil/scene-graph', replacement: resolve(rootDir, 'packages/scene-graph/src') },
{ find: /^@open-pencil\/pen$/, replacement: resolve(rootDir, 'packages/pen/src/index.ts') },
{ find: '@open-pencil/pen', replacement: resolve(rootDir, 'packages/pen/src') },
{ find: /^@open-pencil\/kiwi$/, replacement: resolve(rootDir, 'packages/kiwi/src/index.ts') },
{ find: '@open-pencil/kiwi', replacement: resolve(rootDir, 'packages/kiwi/src') },
{ find: /^@open-pencil\/fig$/, replacement: resolve(rootDir, 'packages/fig/src/index.ts') },
{ find: '@open-pencil/fig', replacement: resolve(rootDir, 'packages/fig/src') },
{ find: /^@open-pencil\/vue$/, replacement: resolve(rootDir, 'packages/vue/src/index.ts') },
{ find: '@open-pencil/vue', replacement: resolve(rootDir, 'packages/vue/src') },
{ find: /^@open-pencil\/core$/, replacement: resolve(rootDir, 'packages/core/src/index.ts') },
{ find: '@open-pencil/core', replacement: resolve(rootDir, 'packages/core/src') },
{
find: 'opentype.js',
replacement: resolve(rootDir, 'node_modules/opentype.js/dist/opentype.mjs')
},
{ find: 'mermaid', replacement: resolve(rootDir, 'src/app/shell/markdown/index.ts') },
{ find: 'beautiful-mermaid', replacement: resolve(rootDir, 'src/app/shell/markdown/index.ts') }
]
}