UNPKG

@modern-js/module-tools

Version:

Simple, powerful, high-performance modern npm package development solution.

62 lines (61 loc) 2.26 kB
import type { Externals, Minify, Platform } from '../config'; export type LegacyBuildPreset = 'npm-library' | 'npm-library-with-umd' | 'npm-component' | 'npm-component-with-umd'; export type LegacyFormat = 'esm' | 'cjs' | 'umd'; export type LegacyTarget = 'es5' | 'es6' | 'es2015' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'esnext'; export type LegacyBuildType = 'bundle' | 'bundleless'; export type LegacySourceMap = boolean | 'inline' | 'external'; export type LegacyBundleOptions = { entry?: Record<string, string>; platform?: Platform; splitting?: boolean; minify?: Minify; externals?: Externals; skipDeps?: boolean; getModuleId?: (moduleName: string) => string | undefined; }; export type LegacyBundlelessOptions = { sourceDir?: string; style?: { compileMode?: 'all' | 'only-compiled-code' | /* may be will be deprecated */ 'only-source-code' | false; path?: string; }; static?: { path?: string; }; }; export type LegacyBaseBuildConfig = { format?: LegacyFormat; target?: LegacyTarget; sourceMap?: LegacySourceMap; buildType?: LegacyBuildType; bundleOptions?: LegacyBundleOptions; bundlelessOptions?: LegacyBundlelessOptions; tsconfig?: string; enableDts?: boolean; dtsOnly?: boolean; outputPath?: string; }; export type LegacyBuildConfig = LegacyBaseBuildConfig | LegacyBaseBuildConfig[]; export type JsSyntaxType = 'CJS+ES6' | 'ESM+ES5' | 'ESM+ES6'; export interface PackageFields { main?: JsSyntaxType; 'jsnext:modern'?: JsSyntaxType; module?: JsSyntaxType; } export type OutputLegacyUserConfig = { jsPath?: string; path?: string; copy?: Array<Record<string, unknown> & { from: string; }>; disableTsChecker?: boolean; /** @deprecated Use the `buildConfig.bundlelessOptions.static.path` instead . */ assetsPath?: string; /** @deprecated Use the `buildConfig.sourceMap` instead */ disableSourceMap?: boolean; buildPreset?: LegacyBuildPreset; buildConfig?: LegacyBuildConfig; importStyle?: 'source-code' | 'compiled-code'; packageMode?: 'universal-js' | 'universal-js-lite' | 'browser-js' | 'browser-js-lite' | 'node-js'; packageFields?: PackageFields; };