Skip to content

API > wxt > BaseContentScriptEntrypointOptions

Interface: BaseContentScriptEntrypointOptions ​

Contents ​

Extends ​

Properties ​

allFrames ​

allFrames?: PerBrowserOption<undefined | boolean>

See https://developer.chrome.com/docs/extensions/mv3/content_scripts/

Default ​

ts
false

Source ​

packages/wxt/src/types.ts:755


cssInjectionMode ​

cssInjectionMode?: PerBrowserOption<"manifest" | "manual" | "ui">

Customize how imported/generated styles are injected with the content script. Regardless of the mode selected, CSS will always be built and included in the output directory.

  • "manifest" - Include the CSS in the manifest, under the content script's css array.
  • "manual" - Exclude the CSS from the manifest. You are responsible for manually loading it onto the page. Use browser.runtime.getURL("content-scripts/<name>.css") to get the file's URL
  • "ui" - Exclude the CSS from the manifest. CSS will be automatically added to your UI when calling createShadowRootUi

Default ​

ts
'manifest'

Source ​

packages/wxt/src/types.ts:778


exclude ​

exclude?: string[]

List of target browsers to exclude this entrypoint from. Cannot be used with include. You must choose one of the two options.

Default ​

ts
undefined

Inherited from ​

BaseScriptEntrypointOptions.exclude

Source ​

packages/wxt/src/types.ts:673


excludeGlobs ​

excludeGlobs?: PerBrowserOption<undefined | string[]>

See https://developer.chrome.com/docs/extensions/mv3/content_scripts/

Default ​

ts
[ ]

Source ​

packages/wxt/src/types.ts:749


excludeMatches ​

excludeMatches?: PerBrowserOption<undefined | string[]>

See https://developer.chrome.com/docs/extensions/mv3/content_scripts/

Default ​

ts
[ ]

Source ​

packages/wxt/src/types.ts:737


globalName ​

globalName?: string | boolean | (entrypoint) => string

The variable name for the IIFE in the output bundle.

This option is relevant for scripts inserted into the page context where the default IIFE variable name may conflict with an existing variable on the target page. This applies to content scripts with world=MAIN, and others, such as unlisted scripts, that could be dynamically injected into the page with a <script> tag.

Available options:

  • true: automatically generate a name for the IIFE based on the entrypoint name
  • false: Output the IIFE without a variable name, making it anonymous. This is the safest option to avoid conflicts with existing variables on the page.
  • string: Use the provided string as the global variable name.
  • function: A function that receives the entrypoint and returns a string to use as the variable name.

Default ​

ts
false

Inherited from ​

BaseScriptEntrypointOptions.globalName

Source ​

packages/wxt/src/types.ts:713


include ​

include?: string[]

List of target browsers to include this entrypoint in. Defaults to being included in all builds. Cannot be used with exclude. You must choose one of the two options.

Default ​

ts
undefined

Inherited from ​

BaseScriptEntrypointOptions.include

Source ​

packages/wxt/src/types.ts:666


includeGlobs ​

includeGlobs?: PerBrowserOption<undefined | string[]>

See https://developer.chrome.com/docs/extensions/mv3/content_scripts/

Default ​

ts
[ ]

Source ​

packages/wxt/src/types.ts:743


matchAboutBlank ​

matchAboutBlank?: PerBrowserOption<undefined | boolean>

See https://developer.chrome.com/docs/extensions/mv3/content_scripts/

Default ​

ts
false

Source ​

packages/wxt/src/types.ts:729


matchOriginAsFallback ​

matchOriginAsFallback?: PerBrowserOption<boolean>

See https://developer.chrome.com/docs/extensions/mv3/content_scripts/

Default ​

ts
false

Source ​

packages/wxt/src/types.ts:761


matches ​

matches?: PerBrowserOption<string[]>

Source ​

packages/wxt/src/types.ts:717


noScriptStartedPostMessage ​

noScriptStartedPostMessage?: boolean

Do not send the wxt:content-script-started message via window.postMessage.

This has been replaced with custom events. The postMessage call is kept for backwards compatibility. For some websites the postMessage call is undesirable, such as those with poorly written message event listeners.

Setting this to true opts into the behavior that will become the default in a future version of WXT, where the postMessage call is removed entirely.

See https://github.com/wxt-dev/wxt/pull/1938 and https://github.com/wxt-dev/wxt/pull/2035 for a detailed discussion.

Source ​

packages/wxt/src/types.ts:807


registration ​

registration?: PerBrowserOption<"runtime" | "manifest">

Specify how the content script is registered.

  • "manifest": The content script will be added to the content_scripts entry in the manifest. This is the normal and most well known way of registering a content script.
  • "runtime": The content script's matches is added to host_permissions and you are responsible for using the scripting API to register/execute the content script dynamically at runtime.

Default ​

ts
'manifest'

Source ​

packages/wxt/src/types.ts:791


runAt ​

runAt?: PerBrowserOption<undefined | RunAt>

See https://developer.chrome.com/docs/extensions/mv3/content_scripts/

Default ​

ts
'documentIdle'

Source ​

packages/wxt/src/types.ts:723


Generated using typedoc-plugin-markdown and TypeDoc