@sanity/server
Version:
Webserver dedicated to serving Sanity, allowing a smooth development experience
32 lines (25 loc) • 942 B
text/typescript
import path from 'path'
import type {SanityMonorepo} from './sanityMonorepo'
/**
* Returns an object of aliases for vite to use
*
* @internal
*/
export function getAliases(opts: {monorepo?: SanityMonorepo}): Record<string, string> {
const {monorepo} = opts
if (!monorepo?.path) {
return {}
}
// Load monorepo aliases (if the current Studio is located within the sanity monorepo)
// This is done in order for the Vite server to use the source files instead of
// the compiled output, allowing for a better dev experience.
const aliasesPath = path.resolve(monorepo.path, 'dev/aliases.cjs')
// eslint-disable-next-line import/no-dynamic-require
const devAliases: Record<string, string> = require(aliasesPath)
const monorepoAliases = Object.fromEntries(
Object.entries(devAliases).map(([key, modulePath]) => {
return [key, path.resolve(monorepo.path, modulePath)]
})
)
return monorepoAliases
}