Skip to content

Interface: WatcherOptions

Properties

buildDelay?

  • Type: optional buildDelay: number

Configures how long Rolldown will wait for further changes until it triggers a rebuild in milliseconds.

Even if this value is set to 0, there's a small debounce timeout configured in the file system watcher. Setting this to a value greater than 0 will mean that Rolldown will only trigger a rebuild if there was no change for the configured number of milliseconds. If several configurations are watched, Rolldown will use the largest configured build delay.

Default

ts
0

clearScreen?

  • Type: optional clearScreen: boolean

Whether to clear the screen when a rebuild is triggered.

Default

ts
true

exclude?

  • Type: optional exclude: StringOrRegExp | StringOrRegExp[]

Filter to prevent files from being watched.

Strings are treated as glob patterns.

Example

js
export default defineConfig({
  watch: {
    exclude: 'node_modules/**',
  },
})

Default

ts
[]

include?

  • Type: optional include: StringOrRegExp | StringOrRegExp[]

Filter to limit the file-watching to certain files.

Strings are treated as glob patterns. Note that this only filters the module graph but does not allow adding additional watch files.

Example

js
export default defineConfig({
  watch: {
    include: 'src/**',
  },
})

Default

ts
[]

notify?

  • Type: optional notify: object

An optional object of options that will be passed to the notify file watcher.

compareContents?

  • Type: optional compareContents: boolean

Whether to compare file contents when checking for changes.

This is especially important for pseudo filesystems like those on Linux under /sys and /proc which are not obligated to respect any other filesystem norms such as modification timestamps, file sizes, etc. By enabling this feature, performance will be significantly impacted as all files will need to be read and hashed at each interval.

This option is only used when polling backend is used.

Default
ts
false

pollInterval?

  • Type: optional pollInterval: number

Interval between each re-scan attempt in milliseconds.

This option is only used when polling backend is used.

Default
ts
30_000

onInvalidate()?

  • Type: optional onInvalidate: (id) => void

An optional function that will be called immediately every time a module changes that is part of the build.

This is different from the watchChange plugin hook, which is only called once the running build has finished. This may for instance be used to prevent additional steps from being performed if we know another build will be started anyway once the current build finished. This callback may be called multiple times per build as it tracks every change.

Parameters

id

string

The id of the changed module.

Returns

void


skipWrite?

  • Type: optional skipWrite: boolean

Whether to skip the bundle.write() step when a rebuild is triggered.

Default

ts
false

Released under the MIT License.