@@ -13,6 +13,7 @@ import {
1313} from "../util/resolvable" ;
1414import { genOutputOptions , GenOutputOptions } from "./output" ;
1515import { inferSingleEntry } from "./entry" ;
16+ import { joinPath } from "../util/path" ;
1617
1718const COMMON_OUTPUT_OPTIONS : OutputOptions = {
1819 sourcemap : true ,
@@ -73,6 +74,8 @@ export interface RollupBundleOptions
7374 extends Partial < ResolvableDict < RollupBundleOutputConfig > > {
7475 input ?: Resolvable < string | undefined > ;
7576 output ?: Resolvable < GenOutputOptions , [ RollupBundleOutputConfig ] > ;
77+ inputBaseDir ?: string ;
78+ outputBaseDir ?: string ;
7679}
7780
7881export function genBundleOutputOptions (
@@ -82,9 +85,11 @@ export function genBundleOutputOptions(
8285}
8386
8487export async function rollupBundle ( {
85- input = inferSingleEntry ,
88+ inputBaseDir = "src" ,
89+ outputBaseDir = "dist" ,
90+ input,
8691 output : _output = genBundleOutputOptions ,
87- outputRootDir = "dist/ bundle" ,
92+ outputRootDir = "bundle" ,
8893 min = false ,
8994 globalNamespace = inferGlobalNamespace ,
9095} : RollupBundleOptions = { } ) : Promise < RollupOptions > {
@@ -95,12 +100,15 @@ export async function rollupBundle({
95100 globalNamespace,
96101 } ) ;
97102
98- const genOutput = await resolve ( _output , conf ) ;
103+ const genOutput = await resolve ( _output , {
104+ ...conf ,
105+ outputRootDir : joinPath ( outputBaseDir , conf . outputRootDir ) ,
106+ } ) ;
99107
100108 const output = genOutputOptions ( genOutput , COMMON_OUTPUT_OPTIONS ) ;
101109
102110 return {
103- input : inputFile ?? ( await inferSingleEntry ( ) ) ,
111+ input : inputFile ?? ( await inferSingleEntry ( { baseDir : inputBaseDir } ) ) ,
104112 output,
105113 plugins : [
106114 //
0 commit comments