UNPKG

@quasar/app-vite

Version:

Quasar Framework App CLI with Vite

63 lines (51 loc) 1.8 kB
import { join } from 'node:path' import { readFileSync } from 'node:fs' import { createViteConfig, extendViteConfig } from '../../config-tools.js' import { escapeRegexString } from '../../utils/escape-regex-string.js' export const quasarCapacitorConfig = { vite: async quasarConf => { const cfg = await createViteConfig(quasarConf, { compileId: 'vite-capacitor' }) const { appPaths, cacheProxy } = quasarConf.ctx const { capacitorRE, target, injectAliases } = cacheProxy.getRuntime( 'runtimeCapacitorConfig', () => { const { dependencies } = JSON.parse( readFileSync(appPaths.resolve.capacitor('package.json'), 'utf-8') ) const localTarget = appPaths.resolve.capacitor('node_modules') const depsList = Object.keys(dependencies) const localCapacitorRE = new RegExp( '^(' + depsList.map(escapeRegexString).join('|') + ')' ) return { capacitorRE: localCapacitorRE, target: localTarget, injectAliases(alias) { // we need to set alias as capacitor deps // are installed in /src-capacitor and not in root // so it breaks Vite depsList.forEach(dep => { alias[dep] = join(localTarget, dep) }) } } } ) injectAliases(cfg.resolve.alias) cfg.plugins.unshift({ name: 'quasar:resolve-capacitor-deps', resolveId(id) { if (capacitorRE.test(id)) { return join(target, id) } } }) if (quasarConf.ctx.prod === true) { cfg.build.outDir = appPaths.resolve.capacitor('www') } return extendViteConfig(cfg, quasarConf, { isClient: true }) } } export const modeConfig = quasarCapacitorConfig