import * as webpack from "webpack"; import { kaba } from "./@types/kaba"; import CliConfig = kaba.CliConfig; interface PostCssLoaderOptions { [key: string]: any; } interface Entries { [name: string]: string; } interface Externals { [name: string]: string; } /** * Main Kaba class */ export declare class Kaba { private cwd; private libRoot; private jsEntries; private sassEntries; private sassIncludePaths; private outputPaths; private publicPath; private externals; private moduleConcatenationEnabled; private javaScriptDependenciesFileName; private hashFileNames; private buildModern; private nodeSettings; private compiledNpmPackages; private postCssLoaderOptions; private customLoader; /** * */ constructor(); /** * Adds JS entries */ addJavaScriptEntries(mapping: Entries): this; /** * Defines which npm packages are compiled with babel. */ compileNpmPackages(modules: Array): this; /** * Adds Sass entries */ addSassEntries(mapping: Entries): this; /** * Adds items from a mapping to list */ private addEntriesToList; /** * Sets the output path */ setOutputPath(base: string, cssSubDir?: string, jsSubDir?: string): this; /** * Sets the relative public path (for automatic imports) */ setPublicPath(publicPath: string): this; /** * Sets the externally available instances */ setExternals(externals: Externals): this; /** * Disables module concatenation */ disableModuleConcatenation(): this; /** * Enables module concatenation */ enableModuleConcatenation(): this; /** * Adds `node_modules` to the include dir of sass. */ enableSassNodeModulesIncludePaths(): this; /** * Sets the file name of the javascript dependencies file */ setJavaScriptDependenciesName(name: string): this; /** * Disables chunk hashes in file names */ disableFileNameHashing(): this; /** * Disables the modern build */ disableModernBuild(): this; /** * Setting for polyfilling core node packages */ polyfillNode(setting: webpack.Node | false): this; /** * Sets the loader options for the postcss loader */ setPostCssLoaderOptions(options: PostCssLoaderOptions): this; /** * Returns the kaba config * * @internal */ getBuildConfig(cliConfig: CliConfig): kaba.BuildConfig; /** * Add custom loader to webpack config */ addCustomLoader(loader: object): this; /** * Builds the specialized webpack config for a legacy / module build */ private buildWebpackConfig; } export default Kaba;