From 29d86859d46811ad0e690f9a47918ad0f9b4f1bc Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 17 Sep 2025 11:58:05 +0530 Subject: [PATCH] revert: create dynamic alias to use components from frontend vue apps (cherry picked from commit 6328b6941bb620e47cebe82519df3f1453f355ae) --- frontend/vite.config.js | 70 ++++------------------------------------- 1 file changed, 6 insertions(+), 64 deletions(-) diff --git a/frontend/vite.config.js b/frontend/vite.config.js index d88aaf40..85e573eb 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -2,72 +2,11 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' import path from 'path' -import fs from 'fs' import frappeui from 'frappe-ui/vite' import { VitePWA } from 'vite-plugin-pwa' -function appPath(app) { - const root = path.resolve(__dirname, '../..') // points to apps - const frontendPaths = [ - // Standard frontend structure: appname/frontend/src - path.join(root, app, 'frontend', 'src'), - // Desk-based apps: appname/desk/src - path.join(root, app, 'desk', 'src'), - // Alternative frontend structures - path.join(root, app, 'client', 'src'), - path.join(root, app, 'ui', 'src'), - // Direct src structure: appname/src - path.join(root, app, 'src'), - ] - return frontendPaths.find((srcPath) => fs.existsSync(srcPath)) || null -} - -function hasApp(app) { - return fs.existsSync(appPath(app)) -} - -// List of frontend apps used in this project -let apps = [] - -const alias = [ - // Default "@" for this app - { - find: '@', - replacement: path.resolve(__dirname, 'src'), - }, - - // App-specific aliases like @helpdesk, @hrms, etc. - ...apps.map((app) => - hasApp(app) - ? { find: `@${app}`, replacement: appPath(app) } - : { find: `@${app}`, replacement: `virtual:${app}` }, - ), -] - -const defineFlags = Object.fromEntries( - apps.map((app) => [ - `__HAS_${app.toUpperCase()}__`, - JSON.stringify(hasApp(app)), - ]), -) - -const virtualStubPlugin = { - name: 'virtual-empty-modules', - resolveId(id) { - if (id.startsWith('virtual:')) return '\0' + id - }, - load(id) { - if (id.startsWith('\0virtual:')) { - return 'export default {}; export const missing = true;' - } - }, -} - -console.log('Generated app aliases:', alias) - // https://vitejs.dev/config/ export default defineConfig({ - define: defineFlags, plugins: [ frappeui({ frappeProxy: true, @@ -121,9 +60,12 @@ export default defineConfig({ ], }, }), - virtualStubPlugin, ], - resolve: { alias }, + resolve: { + alias: { + '@': path.resolve(__dirname, 'src'), + }, + }, optimizeDeps: { include: [ 'feather-icons', @@ -132,7 +74,7 @@ export default defineConfig({ 'prosemirror-state', 'prosemirror-view', 'lowlight', - 'interactjs' + 'interactjs', ], }, })