Skip to content

Interface: PluginContext

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:1979

Extends

Extended by

Properties

environment

ts
environment: Environment

Defined in: node_modules/.pnpm/vite@8.0.0-beta.10_@types+node@25.0.10_jiti@2.6.1_yaml@2.8.2/node_modules/vite/dist/node/index.d.ts:2696

Vite-specific environment instance

Inherited from

MinimalPluginContext.environment


fs

ts
fs: RolldownFsModule

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:1983

Provides abstract access to the file system.


meta

ts
meta: PluginContextMeta

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:1843

An object containing potentially useful metadata.

Inherited from

MinimalPluginContext.meta

Methods

getModuleInfo()

ts
getModuleInfo: (moduleId) => ModuleInfo | null

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:2021

Get additional information about the module in question.

./docs/plugin-context-getmoduleinfo.md

Parameters

moduleId

string

Returns

ModuleInfo | null

Module information for that module. null if the module could not be found.


addWatchFile()

ts
addWatchFile(id): void;

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:2027

Adds additional files to be monitored in watch mode so that changes to these files will trigger rebuilds.

./docs/plugin-context-addwatchfile.md

Parameters

id

string

Returns

void


emitFile()

ts
emitFile(file): string;

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:1992

Emits a new file that is included in the build output. You can emit chunks, prebuilt chunks or assets.

./docs/plugin-context-emitfile.md

Parameters

file

EmittedAsset | EmittedChunk | EmittedPrebuiltChunk

Returns

string

A referenceId for the emitted file that can be used in various places to reference the emitted file.


getFileName()

ts
getFileName(referenceId): string;

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:1999

Get the file name of a chunk or asset that has been emitted via this.emitFile.

Parameters

referenceId

string

Returns

string

The file name of the emitted file. Relative to output.dir.


getModuleIds()

ts
getModuleIds(): IterableIterator<string>;

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:2012

Get all module ids in the current module graph.

Returns

IterableIterator<string>

An iterator of module ids. It can be iterated via

js
for (const moduleId of this.getModuleIds()) {
  // ...
}

or converted into an array via Array.from(this.getModuleIds()).


load()

ts
load(options): Promise<ModuleInfo>;

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:2037

Loads and parses the module corresponding to the given id, attaching additional meta information to the module if provided. This will trigger the same load, transform and moduleParsed hooks as if the module was imported by another module.

./docs/plugin-context-load.md

Parameters

options

object & Partial<PartialNull<ModuleOptions>>

Returns

Promise<ModuleInfo>


parse()

ts
parse(input, options?): Program;

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:2044

Use Rolldown's internal parser to parse code to an ESTree-compatible AST.

Parameters

input

string

options?

ParserOptions | null

Returns

Program


resolve()

ts
resolve(
   source,
   importer?,
options?): Promise<ResolvedId | null>;

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:2062

Resolve imports to module ids (i.e. file names) using the same plugins that Rolldown uses, and determine if an import should be external.

When calling this function from a resolveId hook, you should always check if it makes sense for you to pass along the options.

Parameters

source

string

importer?

string

options?

PluginContextResolveOptions

Returns

Promise<ResolvedId | null>

If Promise<null> is returned, the import could not be resolved by Rolldown or any plugin but was not explicitly marked as external by the user. If an absolute external id is returned that should remain absolute in the output either via the makeAbsoluteExternalsRelative option or by explicit plugin choice in the resolveId hook, external will be "absolute" instead of true.

Logging Methods

debug()

ts
debug: (log) => void;

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:1841

Generate a "debug" level log.

code will be set to "PLUGIN_LOG" by Rolldown. Make sure to add a distinctive pluginCode to those logs for easy filtering.

./docs/plugin-context-debug.md

Parameters

log

string | RolldownLog | () => string | RolldownLog

Returns

void

Inherited from

MinimalPluginContext.debug


error()

ts
error: (e) => never

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:1798

Similar to this.warn, except that it will also abort the bundling process with an error.

If an Error instance is passed, it will be used as-is, otherwise a new Error instance will be created with the given error message and all additional provided properties.

In all hooks except the onLog hook, the error will be augmented with code: "PLUGIN_ERROR" and plugin: plugin.name properties. If a code property already exists and the code does not start with PLUGIN_, it will be renamed to pluginCode.

Parameters

e

string | RolldownError

Returns

never

Inherited from

MinimalPluginContext.error


info()

ts
info: (log) => void;

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:1811

Generate a "info" level log.

code will be set to "PLUGIN_LOG" by Rolldown. As these logs are displayed by default, use them for information that is not a warning but makes sense to display to all users on every build.

./docs/plugin-context-info.md

Parameters

log

string | RolldownLog | () => string | RolldownLog

Returns

void

Inherited from

MinimalPluginContext.info


warn()

ts
warn: (log) => void;

Defined in: node_modules/.pnpm/rolldown@1.0.0-rc.1/node_modules/rolldown/dist/shared/define-config-DO4TBkJV.d.mts:1828

Generate a "warn" level log.

Just like internally generated warnings, these logs will be first passed to and filtered by plugin onLog hooks before they are forwarded to custom onLog or onwarn handlers or printed to the console.

We encourage you to use objects with a pluginCode property as that will allow users to easily filter for those logs in an onLog handler.

./docs/plugin-context-warn.md

Parameters

log

string | RolldownLog | () => string | RolldownLog

Returns

void

Inherited from

MinimalPluginContext.warn

Released under the MIT License.