index.js
1.13 KB
/**
* `@drama/config/vite` 公共面 —— `defineWebPreset(overrides)` 工厂。
*
* 产出 `@app/web` / `@app/studio` / `@drama/ui` 通用的 Vite config(Vue 插件、`@drama/*`
* workspace 解析、build 产物约定、SPA base)。app 只传差异(入口、proxy、预渲染开关),
* 经**深合并**覆盖默认(嵌套字段精确覆盖,同级默认保留)。
*
* 消费示例:
* // apps/web/vite.config.js
* import { defineWebPreset } from '@drama/config/vite'
* export default defineWebPreset({ root: '.', server: { proxy: { '/api': 'http://localhost:9007' } } })
*/
import { buildBaseConfig, deepMerge } from './base.js'
/**
* Vite config 工厂:base 默认 + 深合并 overrides。
* @param {Record<string, unknown>} [overrides] 用户差异(深合并进默认)。
* @param {{ env?: Record<string, string | undefined>, command?: string }} [options]
* @returns {Record<string, unknown>} 可被 Vite 直接消费的 config。
*/
export function defineWebPreset(overrides = {}, options = {}) {
return deepMerge(buildBaseConfig(options), overrides)
}
export { VUE_PLUGIN_NAME } from './base.js'