@roots/bud-api
Version:
bud.js core module
344 lines (343 loc) • 10.7 kB
TypeScript
/**
* @roots/bud-api
*
* @see https://bud.js.org
* @see https://github.com/roots/bud
*/
import type * as Alias from '@roots/bud-api/methods/alias';
import type * as Assets from '@roots/bud-api/methods/assets';
import type * as Bundle from '@roots/bud-api/methods/bundle';
import type * as CompilePaths from '@roots/bud-api/methods/compilePaths';
import type * as Config from '@roots/bud-api/methods/config';
import type * as CopyDir from '@roots/bud-api/methods/copyDir';
import type * as CopyFile from '@roots/bud-api/methods/copyFile';
import type * as Define from '@roots/bud-api/methods/define';
import type * as Devtool from '@roots/bud-api/methods/devtool';
import type * as Entry from '@roots/bud-api/methods/entry';
import type * as Experiments from '@roots/bud-api/methods/experiments';
import type * as Externals from '@roots/bud-api/methods/externals';
import type * as Hash from '@roots/bud-api/methods/hash';
import type * as Html from '@roots/bud-api/methods/html';
import type * as Lazy from '@roots/bud-api/methods/lazy';
import type * as Minimize from '@roots/bud-api/methods/minimize';
import type * as Persist from '@roots/bud-api/methods/persist';
import type * as Provide from '@roots/bud-api/methods/provide';
import type * as Proxy from '@roots/bud-api/methods/proxy';
import type * as Runtime from '@roots/bud-api/methods/runtime';
import type * as Serve from '@roots/bud-api/methods/serve';
import type * as SetProxyUrl from '@roots/bud-api/methods/setProxyUrl';
import type * as SetPublicProxyUrl from '@roots/bud-api/methods/setPublicProxyUrl';
import type * as SetPublicUrl from '@roots/bud-api/methods/setPublicUrl';
import type * as SetUrl from '@roots/bud-api/methods/setUrl';
import type * as SplitChunks from '@roots/bud-api/methods/splitChunks';
import type * as Use from '@roots/bud-api/methods/use';
import type * as Watch from '@roots/bud-api/methods/watch';
import { default as Service } from '@roots/bud-api/service';
declare module '@roots/bud-framework' {
interface Bud {
/**
* ## bud.alias
*
* {@link https://bud.js.org/docs/bud.alias 📕 Documentation}
*/
alias: (...params: Alias.Parameters) => Bud;
/**
* ## bud.assets
*
* {@link https://bud.js.org/docs/bud.assets 📕 Documentation}
*/
assets: (...params: Assets.Parameters) => Bud;
/**
* ## bud.bundle
*
* {@link https://bud.js.org/docs/bud.bundle 📕 Documentation}
*/
bundle(...params: Bundle.Parameters): Bud;
/**
* ## bud.compilePaths
*
* {@link https://bud.js.org/docs/bud.compilePaths 📕 Documentation}
*/
compilePaths(...params: CompilePaths.Parameters): Bud;
/**
* ## bud.config
*
* {@link https://bud.js.org/docs/bud.config 📕 Documentation}
*/
config(...params: Config.Parameters): Bud;
/**
* ## bud.copy
*
* Alias for {@link Assets.assets bud.assets}
*
* {@link https://bud.js.org/docs/bud.assets 📕 Documentation}
*/
copy: (...params: Assets.Parameters) => Bud;
/**
* ## bud.copyFile
*
* {@link https://bud.js.org/docs/bud.copyDir 📕 Documentation}
*/
copyDir(...params: CopyDir.Parameters): Bud;
/**
* ## bud.copyFile
*
* {@link https://bud.js.org/docs/bud.copyFile 📕 Documentation}
*/
copyFile(...params: CopyFile.Parameters): Bud;
/**
* ## bud.define
*
* {@link https://bud.js.org/docs/bud.define 📕 Documentation}
*/
define(...params: Define.Parameters): Bud;
/**
* ## bud.devtool
*
* {@link https://bud.js.org/docs/bud.devtool 📕 Documentation}
*/
devtool(...params: Devtool.Parameters): Bud;
/**
* ## bud.entry
*
* Indicate application entrypoint(s)
*
* {@link https://bud.js.org/docs/bud.entry 📕 Documentation}
*
* @example
* ```js
* bud.entry('@src/index.js')
* ```
*
* @example
* ```js
* bud.entry(['@src/index.js', '@src/another.js'])
* ```
*
* @example
* ```js
* bud.entry('app', '@src/index.js')
* ```
*
* @example
* ```js
* bud.entry({
* app: ['@src/index.js'],
* admin: ['@src/admin.js'],
* })
* ```
*/
entry(...params: Entry.Parameters): Bud;
/**
* ## bud.experiments
*
* {@link https://bud.js.org/docs/bud.experiments 📕 Documentation}
*/
experiments(...params: Experiments.Parameters): Bud;
/**
* ## bud.externals
*
* {@link https://bud.js.org/docs/bud.externals 📕 Documentation}
*/
externals(...params: Externals.Parameters): Bud;
/**
* ## bud.hash
*
* Hash output filenames
*
* {@link https://bud.js.org/docs/bud.hash 📕 Documentation}
*
* @example
* Enable:
* ```js
* bud.hash()
* ```
*
* @example
* Disable:
* ```js
* bud.hash(false)
* ```
*
* @example
* Enable with custom format:
* ```js
* bud.hash('contenthash:8')
* ```
*
* @example
* Enable with a bud.js callback:
* ```js
* bud.when(bud.isProduction, bud.hash)
* ```
*
* @example
* Transform the existing value:
* ```js
* bud.hash((value) => !value)
* ```
*/
hash(...params: Hash.Parameters): Bud;
/**
* ## bud.html
*
* {@link https://bud.js.org/docs/bud.template 📕 Documentation}
*/
html(...params: Html.Parameters): Bud;
/**
* ## bud.lazy
*/
lazy(...params: Lazy.Parameters): Bud;
/**
* ## bud.minimize
*
* Minimize compiled code.
*
* Enabled by default when {@link Bud.mode} is `production`
*
* {@link https://bud.js.org/docs/bud.minimize 📕 Documentation}
*
* @example
* Enable:
* ```js
* bud.minimize()
* ```
*
* @example
* Disable:
* ```js
* bud.minimize(false)
* ```
*
* @example
* Enable only for js:
* ```js
* bud.minimize('js')
* ```
*
* @example
* Enable multiple minimizers:
* ```js
* bud.minimize(['js', 'css'])
* ```
*
* @example
* Enable with a bud callback:
* ```js
* bud.when(bud.isProduction, bud.minimize)
* ```
*/
minimize: Minimize.minimize;
/**
* ## bud.minimizers
*/
minimizers: import('@roots/bud-minify').default;
/**
* ## bud.override
*
* Alias for {@link Config.config bud.config}
*
* {@link https://bud.js.org/docs/bud.config 📕 Documentation}
*/
override(...params: Config.Parameters): Bud;
/**
* ## bud.persist
*
* {@link https://bud.js.org/docs/bud.persist 📕 Documentation}
*/
persist(...params: Persist.Parameters): Bud;
/**
* ## bud.provide
*
* {@link https://bud.js.org/docs/bud.provide 📕 Documentation}
*/
provide(...params: Provide.Parameters): Bud;
/**
* ## bud.proxy
*
* {@link https://bud.js.org/docs/bud.proxy 📕 Documentation}
*/
proxy(...params: Proxy.Parameters): Bud;
/**
* ## bud.runtime
*
* {@link https://bud.js.org/docs/bud.runtime 📕 Documentation}
*/
runtime(...params: Runtime.Parameters): Bud;
/**
* ## bud.serve
*
* {@link https://bud.js.org/docs/bud.serve 📕 Documentation}
*/
serve(...params: Serve.Parameters): Bud;
/**
* ## bud.setProxyUrl
*
* {@link https://bud.js.org/docs/bud.setProxyUrl 📕 Documentation}
*/
setProxyUrl(...params: SetProxyUrl.Parameters): Bud;
/**
* ## bud.setPublicProxyUrl
*
* {@link https://bud.js.org/docs/bud.SetPublicProxyUrl 📕 Documentation}
*/
setPublicProxyUrl(...params: SetPublicProxyUrl.Parameters): Bud;
/**
* ## bud.setPublicUrl
*
* {@link https://bud.js.org/docs/bud.SetPublicUrl 📕 Documentation}
*/
setPublicUrl(...params: SetPublicUrl.Parameters): Bud;
/**
* ## bud.setUrl
*
* {@link https://bud.js.org/docs/bud.setUrl 📕 Documentation}
*/
setUrl(...params: SetUrl.Parameters): Bud;
/**
* ## bud.splitChunks
*
* {@link https://bud.js.org/docs/bud.splitChunks 📕 Documentation}
*/
splitChunks(...params: SplitChunks.Parameters): Bud;
/**
* ## bud.template
*
* {@link https://bud.js.org/docs/bud.template 📕 Documentation}
*
* @deprecated use {@link Bud.html bud.html}
*/
template(...params: Html.Parameters): Bud;
/**
* ## bud.use
*
* {@link https://bud.js.org/docs/bud.use 📕 Documentation}
*/
use(...params: Use.Parameters): Bud;
/**
* ## bud.version
*
* {@link https://bud.js.org/docs/bud.version 📕 Documentation}
*/
version(...params: Hash.Parameters): Bud;
/**
* ## bud.watch
*
* {@link https://bud.js.org/docs/bud.watch 📕 Documentation}
*/
watch(...params: Watch.Parameters): Bud;
/**
* ## bud.webpackConfig
*
* Alias for {@link Config.config bud.config}
*
* {@link https://bud.js.org/docs/bud.config 📕 Documentation}
*/
webpackConfig(...params: Config.Parameters): Bud;
}
interface Services {
api: Service;
extensions: import('@roots/bud-extensions').default;
}
}
export { Service as default };