openpencil/vite/aliases.ts
Danila Poyarkov 00361313d1
refactor(dom-css): group sources into import, export, and runtime (#789)
* refactor(dom-css): group sources into import, export, and runtime

dom-css kept both conversion directions in one flat folder: HTML and CSS
import next to SceneGraph export, a JSX runtime next to the Tailwind JSX
printer, and CSS parsing and formatting in one file.

Sources now live in `import/`, `export/`, and `runtime/`, with the CSS
value helpers split by direction and `export/index.ts` as the `./export`
entry. Tests mirror the new folders. Public entry points are unchanged.

* docs(dom-css): add a package guide for the import, export, and runtime layout

dom-css had no AGENTS.md. The guide records the source layout, the
scene-graph-only dependency, the browser-safe `./export` entry, printed
code generation, and Base64 validation for imported documents, and the
root map links to it.
2026-09-30 09:44:52 +04:00

62 lines
2.7 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\/export$/,
replacement: resolve(rootDir, 'packages/dom-css/src/export/index.ts')
},
{
find: /^@open-pencil\/dom-css\/jsx-runtime$/,
replacement: resolve(rootDir, 'packages/dom-css/src/import/jsx/runtime.ts')
},
{
find: /^@open-pencil\/dom-css\/jsx-dev-runtime$/,
replacement: resolve(rootDir, 'packages/dom-css/src/import/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\/mcp\/discovery$/,
replacement: resolve(rootDir, 'packages/mcp/src/transport/discovery.ts')
},
{
find: /^@open-pencil\/mcp\/transport$/,
replacement: resolve(rootDir, 'packages/mcp/src/transport/paths.ts')
},
{ 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')
}
]
}