wxt 0.19.22 → 0.19.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -76,6 +76,12 @@ Or see the [installation guide](https://wxt.dev/guide/installation.html) to get
76
76
  - 📏 Bundle analysis
77
77
  - ⬇️ Download and bundle remote URL imports
78
78
 
79
+ ## Sponsors
80
+
81
+ WXT is a [MIT-licensed](https://github.com/wxt-dev/wxt/blob/main/LICENSE) open source project with its ongoing development made possible entirely by the support of these awesome backers. If you'd like to join them, please consider [sponsoring WXT's development](https://github.com/sponsors/wxt-dev).
82
+
83
+ <a href="https://github.com/sponsors/wxt-dev"><img alt="WXT Sponsors" src="https://raw.githubusercontent.com/wxt-dev/static/refs/heads/main/sponsorkit/sponsors.svg"></a>
84
+
79
85
  ## Contributors
80
86
 
81
87
  <!-- automd:contributors author="aklinker1" license="MIT" github="wxt-dev/wxt" -->
@@ -302,7 +302,10 @@ export async function createViteBuilder(wxtConfig, hooks, getWxtDevServer) {
302
302
  viteServer.ws.on(message, cb);
303
303
  }
304
304
  },
305
- watcher: viteServer.watcher
305
+ watcher: viteServer.watcher,
306
+ on(event, cb) {
307
+ viteServer.httpServer?.on(event, cb);
308
+ }
306
309
  };
307
310
  return server;
308
311
  }
@@ -124,6 +124,7 @@ async function createServerInternal() {
124
124
  }
125
125
  await runner.openBrowser();
126
126
  };
127
+ builderServer.on?.("close", () => keyboardShortcuts.stop());
127
128
  return server;
128
129
  }
129
130
  function createFileReloader(server) {
@@ -2,7 +2,6 @@ import readline from "node:readline";
2
2
  import { wxt } from "./wxt.mjs";
3
3
  import pc from "picocolors";
4
4
  export function createKeyboardShortcuts(server) {
5
- let isWatching = false;
6
5
  let rl;
7
6
  const handleInput = (line) => {
8
7
  if (line.trim() === "o") {
@@ -11,22 +10,17 @@ export function createKeyboardShortcuts(server) {
11
10
  };
12
11
  return {
13
12
  start() {
14
- if (isWatching) return;
13
+ if (rl) return;
15
14
  rl = readline.createInterface({
16
15
  input: process.stdin,
17
16
  terminal: false
18
17
  // Don't intercept ctrl+C, ctrl+Z, etc
19
18
  });
20
19
  rl.on("line", handleInput);
21
- isWatching = true;
22
20
  },
23
21
  stop() {
24
- if (!isWatching) return;
25
- if (rl) {
26
- rl.close();
27
- rl = void 0;
28
- }
29
- isWatching = false;
22
+ rl?.close();
23
+ rl = void 0;
30
24
  },
31
25
  printHelp(flags) {
32
26
  if (flags.canReopenBrowser) {
@@ -45,6 +45,7 @@ export async function findEntrypoints() {
45
45
  }
46
46
  return results;
47
47
  }, []);
48
+ await wxt.hooks.callHook("entrypoints:found", wxt, entrypointInfos);
48
49
  preventNoEntrypoints(entrypointInfos);
49
50
  preventDuplicateEntrypointNames(entrypointInfos);
50
51
  let hasBackground = false;
@@ -108,6 +109,7 @@ export async function findEntrypoints() {
108
109
  ...entry,
109
110
  skipped: isEntrypointSkipped(entry)
110
111
  }));
112
+ await wxt.hooks.callHook("entrypoints:resolved", wxt, entrypoints);
111
113
  wxt.logger.debug("All entrypoints:", entrypoints);
112
114
  const skippedEntrypointNames = entrypoints.filter((item) => item.skipped).map((item) => item.name);
113
115
  if (skippedEntrypointNames.length) {
@@ -120,7 +122,6 @@ export async function findEntrypoints() {
120
122
  ].join("\n")
121
123
  );
122
124
  }
123
- await wxt.hooks.callHook("entrypoints:resolved", wxt, entrypoints);
124
125
  return entrypoints;
125
126
  }
126
127
  async function importEntrypoints(infos) {
@@ -1576,6 +1576,7 @@ export declare const fakeResolvedConfig: (overrides?: {
1576
1576
  'build:before'?: {} | undefined;
1577
1577
  'build:done'?: {} | undefined;
1578
1578
  'build:manifestGenerated'?: {} | undefined;
1579
+ 'entrypoints:found'?: {} | undefined;
1579
1580
  'entrypoints:resolved'?: {} | undefined;
1580
1581
  'entrypoints:grouped'?: {} | undefined;
1581
1582
  'build:publicAssets'?: {} | undefined;
@@ -1638,9 +1639,11 @@ export declare const fakeResolvedConfig: (overrides?: {
1638
1639
  } | undefined;
1639
1640
  entrypoints?: {
1640
1641
  resolved?: {} | undefined;
1642
+ found?: {} | undefined;
1641
1643
  grouped?: {} | undefined;
1642
1644
  } | {
1643
1645
  resolved?: {} | undefined;
1646
+ found?: {} | undefined;
1644
1647
  grouped?: {} | undefined;
1645
1648
  } | undefined;
1646
1649
  zip?: {
@@ -1742,9 +1745,11 @@ export declare const fakeResolvedConfig: (overrides?: {
1742
1745
  } | undefined;
1743
1746
  entrypoints?: {
1744
1747
  resolved?: {} | undefined;
1748
+ found?: {} | undefined;
1745
1749
  grouped?: {} | undefined;
1746
1750
  } | {
1747
1751
  resolved?: {} | undefined;
1752
+ found?: {} | undefined;
1748
1753
  grouped?: {} | undefined;
1749
1754
  } | undefined;
1750
1755
  zip?: {
@@ -2317,6 +2322,7 @@ export declare const fakeResolvedConfig: (overrides?: {
2317
2322
  'build:before'?: {} | undefined;
2318
2323
  'build:done'?: {} | undefined;
2319
2324
  'build:manifestGenerated'?: {} | undefined;
2325
+ 'entrypoints:found'?: {} | undefined;
2320
2326
  'entrypoints:resolved'?: {} | undefined;
2321
2327
  'entrypoints:grouped'?: {} | undefined;
2322
2328
  'build:publicAssets'?: {} | undefined;
@@ -2379,9 +2385,11 @@ export declare const fakeResolvedConfig: (overrides?: {
2379
2385
  } | undefined;
2380
2386
  entrypoints?: {
2381
2387
  resolved?: {} | undefined;
2388
+ found?: {} | undefined;
2382
2389
  grouped?: {} | undefined;
2383
2390
  } | {
2384
2391
  resolved?: {} | undefined;
2392
+ found?: {} | undefined;
2385
2393
  grouped?: {} | undefined;
2386
2394
  } | undefined;
2387
2395
  zip?: {
@@ -2483,9 +2491,11 @@ export declare const fakeResolvedConfig: (overrides?: {
2483
2491
  } | undefined;
2484
2492
  entrypoints?: {
2485
2493
  resolved?: {} | undefined;
2494
+ found?: {} | undefined;
2486
2495
  grouped?: {} | undefined;
2487
2496
  } | {
2488
2497
  resolved?: {} | undefined;
2498
+ found?: {} | undefined;
2489
2499
  grouped?: {} | undefined;
2490
2500
  } | undefined;
2491
2501
  zip?: {
@@ -3084,6 +3094,7 @@ export declare const fakeResolvedConfig: (overrides?: {
3084
3094
  'build:before'?: {} | undefined;
3085
3095
  'build:done'?: {} | undefined;
3086
3096
  'build:manifestGenerated'?: {} | undefined;
3097
+ 'entrypoints:found'?: {} | undefined;
3087
3098
  'entrypoints:resolved'?: {} | undefined;
3088
3099
  'entrypoints:grouped'?: {} | undefined;
3089
3100
  'build:publicAssets'?: {} | undefined;
@@ -3146,9 +3157,11 @@ export declare const fakeResolvedConfig: (overrides?: {
3146
3157
  } | undefined;
3147
3158
  entrypoints?: {
3148
3159
  resolved?: {} | undefined;
3160
+ found?: {} | undefined;
3149
3161
  grouped?: {} | undefined;
3150
3162
  } | {
3151
3163
  resolved?: {} | undefined;
3164
+ found?: {} | undefined;
3152
3165
  grouped?: {} | undefined;
3153
3166
  } | undefined;
3154
3167
  zip?: {
@@ -3250,9 +3263,11 @@ export declare const fakeResolvedConfig: (overrides?: {
3250
3263
  } | undefined;
3251
3264
  entrypoints?: {
3252
3265
  resolved?: {} | undefined;
3266
+ found?: {} | undefined;
3253
3267
  grouped?: {} | undefined;
3254
3268
  } | {
3255
3269
  resolved?: {} | undefined;
3270
+ found?: {} | undefined;
3256
3271
  grouped?: {} | undefined;
3257
3272
  } | undefined;
3258
3273
  zip?: {
@@ -3351,6 +3366,7 @@ export declare const fakeResolvedConfig: (overrides?: {
3351
3366
  'build:before'?: {} | undefined;
3352
3367
  'build:done'?: {} | undefined;
3353
3368
  'build:manifestGenerated'?: {} | undefined;
3369
+ 'entrypoints:found'?: {} | undefined;
3354
3370
  'entrypoints:resolved'?: {} | undefined;
3355
3371
  'entrypoints:grouped'?: {} | undefined;
3356
3372
  'build:publicAssets'?: {} | undefined;
@@ -3413,9 +3429,11 @@ export declare const fakeResolvedConfig: (overrides?: {
3413
3429
  } | undefined;
3414
3430
  entrypoints?: {
3415
3431
  resolved?: {} | undefined;
3432
+ found?: {} | undefined;
3416
3433
  grouped?: {} | undefined;
3417
3434
  } | {
3418
3435
  resolved?: {} | undefined;
3436
+ found?: {} | undefined;
3419
3437
  grouped?: {} | undefined;
3420
3438
  } | undefined;
3421
3439
  zip?: {
@@ -3517,9 +3535,11 @@ export declare const fakeResolvedConfig: (overrides?: {
3517
3535
  } | undefined;
3518
3536
  entrypoints?: {
3519
3537
  resolved?: {} | undefined;
3538
+ found?: {} | undefined;
3520
3539
  grouped?: {} | undefined;
3521
3540
  } | {
3522
3541
  resolved?: {} | undefined;
3542
+ found?: {} | undefined;
3523
3543
  grouped?: {} | undefined;
3524
3544
  } | undefined;
3525
3545
  zip?: {
@@ -3604,6 +3624,7 @@ export declare const fakeResolvedConfig: (overrides?: {
3604
3624
  'build:before'?: {} | undefined;
3605
3625
  'build:done'?: {} | undefined;
3606
3626
  'build:manifestGenerated'?: {} | undefined;
3627
+ 'entrypoints:found'?: {} | undefined;
3607
3628
  'entrypoints:resolved'?: {} | undefined;
3608
3629
  'entrypoints:grouped'?: {} | undefined;
3609
3630
  'build:publicAssets'?: {} | undefined;
@@ -3666,9 +3687,11 @@ export declare const fakeResolvedConfig: (overrides?: {
3666
3687
  } | undefined;
3667
3688
  entrypoints?: {
3668
3689
  resolved?: {} | undefined;
3690
+ found?: {} | undefined;
3669
3691
  grouped?: {} | undefined;
3670
3692
  } | {
3671
3693
  resolved?: {} | undefined;
3694
+ found?: {} | undefined;
3672
3695
  grouped?: {} | undefined;
3673
3696
  } | undefined;
3674
3697
  zip?: {
@@ -3770,9 +3793,11 @@ export declare const fakeResolvedConfig: (overrides?: {
3770
3793
  } | undefined;
3771
3794
  entrypoints?: {
3772
3795
  resolved?: {} | undefined;
3796
+ found?: {} | undefined;
3773
3797
  grouped?: {} | undefined;
3774
3798
  } | {
3775
3799
  resolved?: {} | undefined;
3800
+ found?: {} | undefined;
3776
3801
  grouped?: {} | undefined;
3777
3802
  } | undefined;
3778
3803
  zip?: {
@@ -3861,6 +3886,7 @@ export declare const fakeResolvedConfig: (overrides?: {
3861
3886
  'build:before'?: {} | undefined;
3862
3887
  'build:done'?: {} | undefined;
3863
3888
  'build:manifestGenerated'?: {} | undefined;
3889
+ 'entrypoints:found'?: {} | undefined;
3864
3890
  'entrypoints:resolved'?: {} | undefined;
3865
3891
  'entrypoints:grouped'?: {} | undefined;
3866
3892
  'build:publicAssets'?: {} | undefined;
@@ -3923,9 +3949,11 @@ export declare const fakeResolvedConfig: (overrides?: {
3923
3949
  } | undefined;
3924
3950
  entrypoints?: {
3925
3951
  resolved?: {} | undefined;
3952
+ found?: {} | undefined;
3926
3953
  grouped?: {} | undefined;
3927
3954
  } | {
3928
3955
  resolved?: {} | undefined;
3956
+ found?: {} | undefined;
3929
3957
  grouped?: {} | undefined;
3930
3958
  } | undefined;
3931
3959
  zip?: {
@@ -4027,9 +4055,11 @@ export declare const fakeResolvedConfig: (overrides?: {
4027
4055
  } | undefined;
4028
4056
  entrypoints?: {
4029
4057
  resolved?: {} | undefined;
4058
+ found?: {} | undefined;
4030
4059
  grouped?: {} | undefined;
4031
4060
  } | {
4032
4061
  resolved?: {} | undefined;
4062
+ found?: {} | undefined;
4033
4063
  grouped?: {} | undefined;
4034
4064
  } | undefined;
4035
4065
  zip?: {
@@ -5249,6 +5279,7 @@ export declare const fakeWxt: (overrides?: {
5249
5279
  'build:before'?: {} | undefined;
5250
5280
  'build:done'?: {} | undefined;
5251
5281
  'build:manifestGenerated'?: {} | undefined;
5282
+ 'entrypoints:found'?: {} | undefined;
5252
5283
  'entrypoints:resolved'?: {} | undefined;
5253
5284
  'entrypoints:grouped'?: {} | undefined;
5254
5285
  'build:publicAssets'?: {} | undefined;
@@ -5311,9 +5342,11 @@ export declare const fakeWxt: (overrides?: {
5311
5342
  } | undefined;
5312
5343
  entrypoints?: {
5313
5344
  resolved?: {} | undefined;
5345
+ found?: {} | undefined;
5314
5346
  grouped?: {} | undefined;
5315
5347
  } | {
5316
5348
  resolved?: {} | undefined;
5349
+ found?: {} | undefined;
5317
5350
  grouped?: {} | undefined;
5318
5351
  } | undefined;
5319
5352
  zip?: {
@@ -5415,9 +5448,11 @@ export declare const fakeWxt: (overrides?: {
5415
5448
  } | undefined;
5416
5449
  entrypoints?: {
5417
5450
  resolved?: {} | undefined;
5451
+ found?: {} | undefined;
5418
5452
  grouped?: {} | undefined;
5419
5453
  } | {
5420
5454
  resolved?: {} | undefined;
5455
+ found?: {} | undefined;
5421
5456
  grouped?: {} | undefined;
5422
5457
  } | undefined;
5423
5458
  zip?: {
@@ -5990,6 +6025,7 @@ export declare const fakeWxt: (overrides?: {
5990
6025
  'build:before'?: {} | undefined;
5991
6026
  'build:done'?: {} | undefined;
5992
6027
  'build:manifestGenerated'?: {} | undefined;
6028
+ 'entrypoints:found'?: {} | undefined;
5993
6029
  'entrypoints:resolved'?: {} | undefined;
5994
6030
  'entrypoints:grouped'?: {} | undefined;
5995
6031
  'build:publicAssets'?: {} | undefined;
@@ -6052,9 +6088,11 @@ export declare const fakeWxt: (overrides?: {
6052
6088
  } | undefined;
6053
6089
  entrypoints?: {
6054
6090
  resolved?: {} | undefined;
6091
+ found?: {} | undefined;
6055
6092
  grouped?: {} | undefined;
6056
6093
  } | {
6057
6094
  resolved?: {} | undefined;
6095
+ found?: {} | undefined;
6058
6096
  grouped?: {} | undefined;
6059
6097
  } | undefined;
6060
6098
  zip?: {
@@ -6156,9 +6194,11 @@ export declare const fakeWxt: (overrides?: {
6156
6194
  } | undefined;
6157
6195
  entrypoints?: {
6158
6196
  resolved?: {} | undefined;
6197
+ found?: {} | undefined;
6159
6198
  grouped?: {} | undefined;
6160
6199
  } | {
6161
6200
  resolved?: {} | undefined;
6201
+ found?: {} | undefined;
6162
6202
  grouped?: {} | undefined;
6163
6203
  } | undefined;
6164
6204
  zip?: {
@@ -6757,6 +6797,7 @@ export declare const fakeWxt: (overrides?: {
6757
6797
  'build:before'?: {} | undefined;
6758
6798
  'build:done'?: {} | undefined;
6759
6799
  'build:manifestGenerated'?: {} | undefined;
6800
+ 'entrypoints:found'?: {} | undefined;
6760
6801
  'entrypoints:resolved'?: {} | undefined;
6761
6802
  'entrypoints:grouped'?: {} | undefined;
6762
6803
  'build:publicAssets'?: {} | undefined;
@@ -6819,9 +6860,11 @@ export declare const fakeWxt: (overrides?: {
6819
6860
  } | undefined;
6820
6861
  entrypoints?: {
6821
6862
  resolved?: {} | undefined;
6863
+ found?: {} | undefined;
6822
6864
  grouped?: {} | undefined;
6823
6865
  } | {
6824
6866
  resolved?: {} | undefined;
6867
+ found?: {} | undefined;
6825
6868
  grouped?: {} | undefined;
6826
6869
  } | undefined;
6827
6870
  zip?: {
@@ -6923,9 +6966,11 @@ export declare const fakeWxt: (overrides?: {
6923
6966
  } | undefined;
6924
6967
  entrypoints?: {
6925
6968
  resolved?: {} | undefined;
6969
+ found?: {} | undefined;
6926
6970
  grouped?: {} | undefined;
6927
6971
  } | {
6928
6972
  resolved?: {} | undefined;
6973
+ found?: {} | undefined;
6929
6974
  grouped?: {} | undefined;
6930
6975
  } | undefined;
6931
6976
  zip?: {
@@ -7024,6 +7069,7 @@ export declare const fakeWxt: (overrides?: {
7024
7069
  'build:before'?: {} | undefined;
7025
7070
  'build:done'?: {} | undefined;
7026
7071
  'build:manifestGenerated'?: {} | undefined;
7072
+ 'entrypoints:found'?: {} | undefined;
7027
7073
  'entrypoints:resolved'?: {} | undefined;
7028
7074
  'entrypoints:grouped'?: {} | undefined;
7029
7075
  'build:publicAssets'?: {} | undefined;
@@ -7086,9 +7132,11 @@ export declare const fakeWxt: (overrides?: {
7086
7132
  } | undefined;
7087
7133
  entrypoints?: {
7088
7134
  resolved?: {} | undefined;
7135
+ found?: {} | undefined;
7089
7136
  grouped?: {} | undefined;
7090
7137
  } | {
7091
7138
  resolved?: {} | undefined;
7139
+ found?: {} | undefined;
7092
7140
  grouped?: {} | undefined;
7093
7141
  } | undefined;
7094
7142
  zip?: {
@@ -7190,9 +7238,11 @@ export declare const fakeWxt: (overrides?: {
7190
7238
  } | undefined;
7191
7239
  entrypoints?: {
7192
7240
  resolved?: {} | undefined;
7241
+ found?: {} | undefined;
7193
7242
  grouped?: {} | undefined;
7194
7243
  } | {
7195
7244
  resolved?: {} | undefined;
7245
+ found?: {} | undefined;
7196
7246
  grouped?: {} | undefined;
7197
7247
  } | undefined;
7198
7248
  zip?: {
@@ -7277,6 +7327,7 @@ export declare const fakeWxt: (overrides?: {
7277
7327
  'build:before'?: {} | undefined;
7278
7328
  'build:done'?: {} | undefined;
7279
7329
  'build:manifestGenerated'?: {} | undefined;
7330
+ 'entrypoints:found'?: {} | undefined;
7280
7331
  'entrypoints:resolved'?: {} | undefined;
7281
7332
  'entrypoints:grouped'?: {} | undefined;
7282
7333
  'build:publicAssets'?: {} | undefined;
@@ -7339,9 +7390,11 @@ export declare const fakeWxt: (overrides?: {
7339
7390
  } | undefined;
7340
7391
  entrypoints?: {
7341
7392
  resolved?: {} | undefined;
7393
+ found?: {} | undefined;
7342
7394
  grouped?: {} | undefined;
7343
7395
  } | {
7344
7396
  resolved?: {} | undefined;
7397
+ found?: {} | undefined;
7345
7398
  grouped?: {} | undefined;
7346
7399
  } | undefined;
7347
7400
  zip?: {
@@ -7443,9 +7496,11 @@ export declare const fakeWxt: (overrides?: {
7443
7496
  } | undefined;
7444
7497
  entrypoints?: {
7445
7498
  resolved?: {} | undefined;
7499
+ found?: {} | undefined;
7446
7500
  grouped?: {} | undefined;
7447
7501
  } | {
7448
7502
  resolved?: {} | undefined;
7503
+ found?: {} | undefined;
7449
7504
  grouped?: {} | undefined;
7450
7505
  } | undefined;
7451
7506
  zip?: {
@@ -7534,6 +7589,7 @@ export declare const fakeWxt: (overrides?: {
7534
7589
  'build:before'?: {} | undefined;
7535
7590
  'build:done'?: {} | undefined;
7536
7591
  'build:manifestGenerated'?: {} | undefined;
7592
+ 'entrypoints:found'?: {} | undefined;
7537
7593
  'entrypoints:resolved'?: {} | undefined;
7538
7594
  'entrypoints:grouped'?: {} | undefined;
7539
7595
  'build:publicAssets'?: {} | undefined;
@@ -7596,9 +7652,11 @@ export declare const fakeWxt: (overrides?: {
7596
7652
  } | undefined;
7597
7653
  entrypoints?: {
7598
7654
  resolved?: {} | undefined;
7655
+ found?: {} | undefined;
7599
7656
  grouped?: {} | undefined;
7600
7657
  } | {
7601
7658
  resolved?: {} | undefined;
7659
+ found?: {} | undefined;
7602
7660
  grouped?: {} | undefined;
7603
7661
  } | undefined;
7604
7662
  zip?: {
@@ -7700,9 +7758,11 @@ export declare const fakeWxt: (overrides?: {
7700
7758
  } | undefined;
7701
7759
  entrypoints?: {
7702
7760
  resolved?: {} | undefined;
7761
+ found?: {} | undefined;
7703
7762
  grouped?: {} | undefined;
7704
7763
  } | {
7705
7764
  resolved?: {} | undefined;
7765
+ found?: {} | undefined;
7706
7766
  grouped?: {} | undefined;
7707
7767
  } | undefined;
7708
7768
  zip?: {
@@ -8096,6 +8156,7 @@ export declare const fakeWxt: (overrides?: {
8096
8156
  prependOnceListener?: {} | undefined;
8097
8157
  eventNames?: {} | undefined;
8098
8158
  } | undefined;
8159
+ on?: {} | undefined;
8099
8160
  port?: number | undefined;
8100
8161
  hostname?: string | undefined;
8101
8162
  origin?: string | undefined;
@@ -8396,6 +8457,7 @@ export declare const fakeWxtDevServer: (overrides?: {
8396
8457
  prependOnceListener?: {} | undefined;
8397
8458
  eventNames?: {} | undefined;
8398
8459
  } | undefined;
8460
+ on?: {} | undefined;
8399
8461
  port?: number | undefined;
8400
8462
  hostname?: string | undefined;
8401
8463
  origin?: string | undefined;
@@ -9070,6 +9132,7 @@ export declare const fakeDevServer: (overrides?: {
9070
9132
  prependOnceListener?: {} | undefined;
9071
9133
  eventNames?: {} | undefined;
9072
9134
  } | undefined;
9135
+ on?: {} | undefined;
9073
9136
  port?: number | undefined;
9074
9137
  hostname?: string | undefined;
9075
9138
  origin?: string | undefined;
@@ -21,10 +21,10 @@ export function validateEntrypoints(entrypoints) {
21
21
  }
22
22
  function validateContentScriptEntrypoint(definition) {
23
23
  const errors = validateBaseEntrypoint(definition);
24
- if (definition.options.matches == null) {
24
+ if (definition.options.registration !== "runtime" && definition.options.matches == null) {
25
25
  errors.push({
26
26
  type: "error",
27
- message: "`matches` is required",
27
+ message: "`matches` is required for manifest registered content scripts",
28
28
  value: definition.options.matches,
29
29
  entrypoint: definition
30
30
  });
package/dist/types.d.ts CHANGED
@@ -717,6 +717,12 @@ export interface SidepanelEntrypoint extends BaseEntrypoint {
717
717
  options: ResolvedPerBrowserOptions<SidepanelEntrypointOptions, 'defaultIcon'>;
718
718
  }
719
719
  export type Entrypoint = GenericEntrypoint | BackgroundEntrypoint | ContentScriptEntrypoint | PopupEntrypoint | OptionsEntrypoint | SidepanelEntrypoint;
720
+ export interface EntrypointInfo {
721
+ name: string;
722
+ /** Absolute path to the entrypoint file. */
723
+ inputPath: string;
724
+ type: Entrypoint['type'];
725
+ }
720
726
  export type EntrypointGroup = Entrypoint | Entrypoint[];
721
727
  export type OnContentScriptStopped = (cb: () => void) => void;
722
728
  export interface IsolatedWorldContentScriptDefinition extends IsolatedWorldContentScriptEntrypointOptions {
@@ -978,6 +984,7 @@ export interface WxtBuilderServer {
978
984
  * Chokidar file watcher instance.
979
985
  */
980
986
  watcher: FSWatcher;
987
+ on?(event: string, callback: () => void): void;
981
988
  }
982
989
  export interface ServerInfo {
983
990
  /**
@@ -1063,6 +1070,12 @@ export interface WxtHooks {
1063
1070
  * @param manifest The manifest that was generated
1064
1071
  */
1065
1072
  'build:manifestGenerated': (wxt: Wxt, manifest: Manifest.WebExtensionManifest) => HookResult;
1073
+ /**
1074
+ * Called once the names and paths of all entrypoints have been resolved.
1075
+ * @param wxt The configured WXT object
1076
+ * @param infos List of entrypoints found in the project's `entrypoints` directory
1077
+ */
1078
+ 'entrypoints:found': (wxt: Wxt, infos: EntrypointInfo[]) => HookResult;
1066
1079
  /**
1067
1080
  * Called once all entrypoints have been loaded from the `entrypointsDir`.
1068
1081
  * Use `wxt.builder.importEntrypoint` to load entrypoint options from the
package/dist/version.mjs CHANGED
@@ -1 +1 @@
1
- export const version = "0.19.22";
1
+ export const version = "0.19.23";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "wxt",
3
3
  "type": "module",
4
- "version": "0.19.22",
4
+ "version": "0.19.23",
5
5
  "description": "Next gen framework for developing web extensions",
6
6
  "repository": {
7
7
  "type": "git",