Skip to content

API / wxt / BaseContentScriptEntrypointOptions

Interface: BaseContentScriptEntrypointOptions

Source: packages/wxt/src/types.ts:716

Contents

Extends

Extended by

Properties

allFrames?

optional allFrames?: PerBrowserOption<boolean | undefined>

Source: packages/wxt/src/types.ts:755

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

Default

ts
false

cssInjectionMode?

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

Source: packages/wxt/src/types.ts:778

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'

exclude?

optional exclude?: string[]

Source: packages/wxt/src/types.ts:673

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


excludeGlobs?

optional excludeGlobs?: PerBrowserOption<string[] | undefined>

Source: packages/wxt/src/types.ts:749

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

Default

ts
[ ]

excludeMatches?

optional excludeMatches?: PerBrowserOption<string[] | undefined>

Source: packages/wxt/src/types.ts:737

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

Default

ts
[ ]

globalName?

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

Source: packages/wxt/src/types.ts:713

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


include?

optional include?: string[]

Source: packages/wxt/src/types.ts:666

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


includeGlobs?

optional includeGlobs?: PerBrowserOption<string[] | undefined>

Source: packages/wxt/src/types.ts:743

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

Default

ts
[ ]

matchAboutBlank?

optional matchAboutBlank?: PerBrowserOption<boolean | undefined>

Source: packages/wxt/src/types.ts:729

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

Default

ts
false

matches?

optional matches?: PerBrowserOption<string[]>

Source: packages/wxt/src/types.ts:717


matchOriginAsFallback?

optional matchOriginAsFallback?: PerBrowserOption<boolean>

Source: packages/wxt/src/types.ts:761

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

Default

ts
false

noScriptStartedPostMessage?

optional noScriptStartedPostMessage?: boolean

Source: packages/wxt/src/types.ts:807

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.


registration?

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

Source: packages/wxt/src/types.ts:791

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'

runAt?

optional runAt?: PerBrowserOption<RunAt | undefined>

Source: packages/wxt/src/types.ts:723

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

Default

ts
'documentIdle'

Generated using typedoc-plugin-markdown and TypeDoc