Skip to content

Commit

Permalink
fix: manually add Telefunc's rollup input
Browse files Browse the repository at this point in the history
  • Loading branch information
brillout committed Nov 18, 2022
1 parent 8357277 commit 146fee9
Showing 1 changed file with 17 additions and 16 deletions.
33 changes: 17 additions & 16 deletions telefunc/node/vite/plugins/buildConfig.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export { buildConfig }

import type { Plugin } from 'vite'
import type { Plugin, ResolvedConfig } from 'vite'
import type { InputOption } from 'rollup'
import { telefuncFilesGlobFileNameBase } from '../importGlob/telefuncFilesGlobFileNameBase'
import { telefuncFilesGlobFilePath } from '../importGlob/telefuncFilesGlobPath'
Expand All @@ -10,26 +10,27 @@ function buildConfig(): Plugin {
return {
name: 'telefunc:buildConfig',
apply: 'build',
config: (config) => {
if (config.build?.ssr) {
const input = {
[telefuncFilesGlobFileNameBase]: telefuncFilesGlobFilePath,
...normalizeRollupInput(config.build?.rollupOptions?.input)
}
return {
build: {
rollupOptions: { input }
}
}
}
},
enforce: 'post',
configResolved(config) {
const outDir = determineOutDir(config)
if (outDir) config.build.outDir = outDir
setOutDir(config)
addRollupInput(config)
}
}
}

function setOutDir(config: ResolvedConfig) {
const outDir = determineOutDir(config)
if (outDir) config.build.outDir = outDir
}

function addRollupInput(config: ResolvedConfig) {
if (!config.build?.ssr) {
return
}
config.build.rollupOptions.input = normalizeRollupInput(config.build.rollupOptions.input)
config.build.rollupOptions.input[telefuncFilesGlobFileNameBase] = telefuncFilesGlobFilePath
}

function normalizeRollupInput(input?: InputOption): Record<string, string> {
if (!input) {
return {}
Expand Down

0 comments on commit 146fee9

Please sign in to comment.