Skip to content

Commit b6f8789

Browse files
committed
fix!: Rename runner to webExt (#1180)
1 parent d83abf2 commit b6f8789

File tree

7 files changed

+46
-25
lines changed

7 files changed

+46
-25
lines changed

docs/guide/essentials/config/browser-startup.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ outline: deep
44

55
# Browser Startup
66

7-
> See the [API Reference](/api/reference/wxt/interfaces/ExtensionRunnerConfig) for a full list of config.
7+
> See the [API Reference](/api/reference/wxt/interfaces/WebExtConfig) for a full list of config.
88
99
During development WXT uses [`web-ext` by Mozilla](https://www.npmjs.com/package/web-ext) to automatically open a browser window with your extension installed.
1010

@@ -15,9 +15,9 @@ You can configure browser startup in 3 places:
1515
1. `<rootDir>/web-ext.config.ts`: Ignored from version control, this file lets you configure your own options for a specific project without affecting other developers
1616

1717
```ts
18-
import { defineRunnerConfig } from 'wxt';
18+
import { defineWebExtConfig } from 'wxt';
1919

20-
export default defineRunnerConfig({
20+
export default defineWebExtConfig({
2121
// ...
2222
});
2323
```
@@ -32,7 +32,7 @@ You can configure browser startup in 3 places:
3232
To set or customize the browser opened during development:
3333

3434
```ts
35-
export default defineRunnerConfig({
35+
export default defineWebExtConfig({
3636
binaries: {
3737
chrome: '/path/to/chrome-beta', // Use Chrome Beta instead of regular Chrome
3838
firefox: 'firefoxdeveloperedition', // Use Firefox Developer Edition instead of regular Firefox
@@ -52,15 +52,15 @@ To persist data, set the `--user-data-dir` flag:
5252
:::code-group
5353

5454
```ts [Mac/Linux]
55-
export default defineRunnerConfig({
55+
export default defineWebExtConfig({
5656
chromiumArgs: ['--user-data-dir=./.wxt/chrome-data'],
5757
});
5858
```
5959

6060
```ts [Windows]
6161
import { resolve } from 'node:path';
6262

63-
export default defineRunnerConfig({
63+
export default defineWebExtConfig({
6464
// On Windows, the path must be absolute
6565
chromiumProfile: resolve('.wxt/chrome-data'),
6666
keepProfileChanges: true,
@@ -80,7 +80,7 @@ You can use any directory you'd like for `--user-data-dir`, the examples above c
8080
If you prefer to load the extension into your browser manually, you can disable the auto-open behavior:
8181

8282
```ts
83-
export default defineRunnerConfig({
83+
export default defineWebExtConfig({
8484
disabled: true,
8585
});
8686
```

packages/wxt/e2e/tests/hooks.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ describe('Hooks', () => {
180180

181181
const server = await project.startServer({
182182
hooks,
183-
runner: {
183+
webExt: {
184184
disabled: true,
185185
},
186186
});

packages/wxt/src/core/define-runner-config.ts

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import consola from 'consola';
2+
import { WebExtConfig } from '../types';
3+
4+
/**
5+
* @deprecated Use `defineWebExtConfig` instead. Same function, different name.
6+
*/
7+
export function defineRunnerConfig(config: WebExtConfig): WebExtConfig {
8+
consola.warn(
9+
'`defineRunnerConfig` is deprecated, use `defineWebExtConfig` instead. See https://wxt.dev/guide/resources/upgrading.html#v0-19-0-rarr-v0-20-0',
10+
);
11+
return defineWebExtConfig(config);
12+
}
13+
14+
/**
15+
* Configure how [`web-ext`](https://github.com/mozilla/web-ext) starts the browser during development.
16+
*/
17+
export function defineWebExtConfig(config: WebExtConfig): WebExtConfig {
18+
return config;
19+
}

packages/wxt/src/core/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
export * from './build';
22
export * from './clean';
33
export * from './define-config';
4-
export * from './define-runner-config';
4+
export * from './define-web-ext-config';
55
export * from './create-server';
66
export * from './initialize';
77
export * from './prepare';

packages/wxt/src/core/resolve-config.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
ConfigEnv,
77
UserManifestFn,
88
UserManifest,
9-
ExtensionRunnerConfig,
9+
WebExtConfig,
1010
WxtResolvedUnimportOptions,
1111
Logger,
1212
WxtCommand,
@@ -119,13 +119,18 @@ export async function resolveConfig(
119119
const outDir = path.resolve(outBaseDir, outDirTemplate);
120120
const reloadCommand = mergedConfig.dev?.reloadCommand ?? 'Alt+R';
121121

122-
const runnerConfig = await loadConfig<ExtensionRunnerConfig>({
122+
if (inlineConfig.runner != null || userConfig.runner != null) {
123+
logger.warn(
124+
'`InlineConfig#runner` is deprecated, use `InlineConfig#webExt` instead. See https://wxt.dev/guide/resources/upgrading.html#v0-19-0-rarr-v0-20-0',
125+
);
126+
}
127+
const runnerConfig = await loadConfig<WebExtConfig>({
123128
name: 'web-ext',
124129
cwd: root,
125130
globalRc: true,
126131
rcFile: '.webextrc',
127-
overrides: inlineConfig.runner,
128-
defaults: userConfig.runner,
132+
overrides: inlineConfig.webExt ?? inlineConfig.runner,
133+
defaults: userConfig.webExt ?? userConfig.runner,
129134
});
130135
// Make sure alias are absolute
131136
const alias = Object.fromEntries(

packages/wxt/src/types.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,13 @@ export interface InlineConfig {
126126
*/
127127
manifest?: UserManifest | Promise<UserManifest> | UserManifestFn;
128128
/**
129-
* Custom runner options. Options set here can be overridden in a `web-ext.config.ts` file.
129+
* Configure browser startup. Options set here can be overridden in a `web-ext.config.ts` file.
130130
*/
131-
runner?: ExtensionRunnerConfig;
131+
webExt?: WebExtConfig;
132+
/**
133+
* @deprecated Use `webExt` instead. Same option, just renamed.
134+
*/
135+
runner?: WebExtConfig;
132136
zip?: {
133137
/**
134138
* Configure the filename output when zipping files.
@@ -923,9 +927,9 @@ export interface ConfigEnv {
923927
export type WxtCommand = 'build' | 'serve';
924928

925929
/**
926-
* Configure how the browser starts up.
930+
* Options for how [`web-ext`](https://github.com/mozilla/web-ext) starts the browser.
927931
*/
928-
export interface ExtensionRunnerConfig {
932+
export interface WebExtConfig {
929933
/**
930934
* Whether or not to open the browser with the extension installed in dev mode.
931935
*
@@ -1316,7 +1320,7 @@ export interface ResolvedConfig {
13161320
imports: false | WxtResolvedUnimportOptions;
13171321
manifest: UserManifest;
13181322
fsCache: FsCache;
1319-
runnerConfig: C12ResolvedConfig<ExtensionRunnerConfig>;
1323+
runnerConfig: C12ResolvedConfig<WebExtConfig>;
13201324
zip: {
13211325
name?: string;
13221326
artifactTemplate: string;

0 commit comments

Comments
 (0)