mirror of
https://github.com/zoriya/v10.git
synced 2026-08-06 06:07:56 +00:00
44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
/** `dev` and `default` outputs consumed by package `exports` conditions. */
|
|
export type PackageBuildMode = 'dev' | 'default';
|
|
|
|
export const packageBuildModes: PackageBuildMode[] = ['dev', 'default'];
|
|
|
|
/** Applied to every tsdown config in the monorepo. */
|
|
export const baseConfig = {
|
|
report: process.env.CI === 'true',
|
|
} as const;
|
|
|
|
/** Shared options for packages that emit `dist/dev` and `dist/default`. */
|
|
export function packageBuildConfig(mode: PackageBuildMode, platform: 'browser' | 'neutral' = 'neutral') {
|
|
return {
|
|
...baseConfig,
|
|
platform,
|
|
format: 'es' as const,
|
|
sourcemap: true,
|
|
clean: true,
|
|
hash: false,
|
|
unbundle: true,
|
|
outDir: `dist/${mode}`,
|
|
define: {
|
|
__DEV__: mode === 'dev' ? 'true' : 'false',
|
|
},
|
|
dts: mode === 'dev' ? ({ tsgo: true, tsconfig: 'tsconfig.dts.json' } as const) : (false as const),
|
|
};
|
|
}
|
|
|
|
export function isDevBuildMode(mode: PackageBuildMode): boolean {
|
|
return mode === 'dev';
|
|
}
|
|
|
|
/** Single-output packages (e.g. `@videojs/utils`) without dev/default splits. */
|
|
export const neutralLibraryConfig = {
|
|
...baseConfig,
|
|
platform: 'neutral' as const,
|
|
format: 'es' as const,
|
|
sourcemap: true,
|
|
clean: true,
|
|
hash: false,
|
|
unbundle: true,
|
|
dts: { tsgo: true, tsconfig: 'tsconfig.dts.json' } as const,
|
|
};
|