- 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
52 lines
2.5 KiB
TypeScript
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') }
|
|
]
|
|
}
|