Как указывать псевдонимы в разных местах в зависимости от того, где они используются в монорепо

#typescript #vue.js #rollup #rollupjs #vite

Вопрос:

Я работаю над проектом monorepo, основанным на рабочих пространствах Yarn со следующей структурой, и мне интересно, как я могу использовать псевдоним с vite, чтобы использовать одно и то же имя псевдонима, например «@composables», чтобы указывать на разные местоположения в зависимости от локального репозитория, из которого он вызывается. так, например, если у меня есть 2 пакета, «@composables» должен указывать на «/package-a/composables/», если я использовал его внутри пакета-a, и должен указывать на /package-b/composables/», если я использовал его в компоненте vue внутри пакета-b.

Я попытался использовать следующее, но оно не разрешилось в правильном месте

 resolve: {
    alias: [
        { find: '@composables', replacement: './composables.json' },
    ],
  },
 

И это структура проекта

 project-root/
   vite.config.ts
    packages/
        package-a/
        tsconfig.json
            src/
               composables/
               index.ts
            ....
        package-b/
            src/
               composables/
               index.ts
            tsconfig.json
             ...
             ```