# Builder
The builder task can be either the watch or the build. The key
difference is that watch runs the webpack compiler in watch mode, watching for
changes and enabling hot-loading capabilities. Here we'll analyze their APIs
in greater detail:
# Watch
Spins up the webpack compiler in watch mode and uses a configuration built for
speed and DX experience, focusing on live reloading and speed of bundling. The
Watch Task\ implements theIWatchinterface, which describes all exported values. The instance is accessible viaquercia.tasks.watch`.
import { NextHandleFunction } from 'connect'
import { EventStream } from 'webpack-hot-middleware'
export default interface IConfig {
// the previous webpack compilation hash
// useful for invalidating some logic on changes
prev: string
// the HMR middleware used to serve requests on the dev port
middleware: NextHandleFunction & EventStream
}
# Build
The build task has no public methods, but you can still hook into the process
via the hooks value exported from the quercia class.