openpencil/vite/aliases.ts
Danila Poyarkov 3e4e3d0b8b
refactor: rename @open-pencil/codegen to @open-pencil/emit (#822)
* refactor: rename @open-pencil/codegen to @open-pencil/emit

In design tools codegen means design-to-code, which is dom-css's job and
Core's codegen tools'. The package builds and prints the syntax trees
exporters emit, so name it for that. It has not been released yet.

* fix: alias @open-pencil/emit to its source in Vite

The rename missed the escaped regex, so Vite resolved the package through
its built dist output.
2026-10-04 11:22:20 +00:00

72 lines
3.1 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: '#emit', replacement: resolve(rootDir, 'packages/emit/src') },
{
find: /^@open-pencil\/emit$/,
replacement: resolve(rootDir, 'packages/emit/src/index.ts')
},
{ find: '#design-jsx', replacement: resolve(rootDir, 'packages/design-jsx/src') },
{
find: /^@open-pencil\/design-jsx$/,
replacement: resolve(rootDir, 'packages/design-jsx/src/index.ts')
},
{ 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')
}
]
}