@visulima/packem
Version:
A fast and modern bundler for Node.js and TypeScript.
48 lines (47 loc) • 1.52 kB
TypeScript
import type { BuildConfig, BuildConfigFunction, BuildPreset } from "../types.d.ts";
export type { BuildConfig, BuildConfigFunction, BuildHooks, BuildPreset } from "../types.d.ts";
/**
* Defines a build configuration for Packem.
* Supports both static configuration objects and dynamic configuration functions.
* @param config Static build configuration object or function returning configuration
* @returns The provided configuration
* @example
* ```typescript
* // Static configuration
* export default defineConfig({
* entries: ['./src/index.ts'],
* outDir: './dist'
* });
*
* // Dynamic configuration
* export default defineConfig((env, mode) => ({
* entries: ['./src/index.ts'],
* outDir: env === 'production' ? './dist' : './dev'
* }));
* ```
* @public
*/
export declare const defineConfig: (config: BuildConfig | BuildConfigFunction) => BuildConfig | BuildConfigFunction;
/**
* Defines a build preset for Packem.
* Build presets provide reusable configuration templates that can be shared across projects.
* @param preset Build preset configuration
* @returns The provided preset configuration
* @example
* ```typescript
* export default definePreset({
* name: 'my-preset',
* defaults: {
* entries: ['./src/index.ts'],
* outDir: './dist'
* },
* hooks: {
* 'build:before': (context) => {
* // Custom build preparation logic
* }
* }
* });
* ```
* @public
*/
export declare const definePreset: (preset: BuildPreset) => BuildPreset;