wxt 0.19.0-alpha1 → 0.19.0
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/dist/browser/index.d.ts +15 -1
- package/dist/browser/index.mjs +2 -1
- package/dist/client/content-scripts/ui/types.d.ts +2 -2
- package/dist/core/builders/vite/index.mjs +8 -20
- package/dist/core/utils/building/generate-wxt-dir.mjs +4 -2
- package/dist/core/utils/building/resolve-config.mjs +2 -3
- package/dist/core/utils/testing/fake-objects.d.ts +60 -24
- package/dist/core/utils/testing/fake-objects.mjs +2 -3
- package/dist/storage.d.ts +27 -2
- package/dist/storage.mjs +26 -8
- package/dist/types.d.ts +35 -18
- package/dist/version.mjs +1 -1
- package/package.json +1 -5
- package/dist/browser/webextension-polyfill.d.ts +0 -18
- package/dist/browser/webextension-polyfill.mjs +0 -2
package/dist/browser/index.d.ts
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Includes the `browser` API and types when using `extensionApi: 'webextension-polyfill'` (the default).
|
|
3
|
+
*
|
|
2
4
|
* @module wxt/browser
|
|
3
5
|
*/
|
|
4
|
-
|
|
6
|
+
import { Browser, Runtime, I18n } from 'webextension-polyfill';
|
|
7
|
+
export interface AugmentedBrowser extends Browser {
|
|
8
|
+
runtime: WxtRuntime;
|
|
9
|
+
i18n: WxtI18n;
|
|
10
|
+
}
|
|
11
|
+
export interface WxtRuntime extends Runtime.Static {
|
|
12
|
+
}
|
|
13
|
+
export interface WxtI18n extends I18n.Static {
|
|
14
|
+
}
|
|
15
|
+
export declare const browser: AugmentedBrowser;
|
|
16
|
+
/** @ignore */
|
|
17
|
+
export type { ActivityLog, Alarms, Bookmarks, Action, BrowserAction, BrowserSettings, BrowsingData, CaptivePortal, Clipboard, Commands, ContentScripts, ContextualIdentities, Cookies, DeclarativeNetRequest, Devtools, Dns, Downloads, Events, Experiments, Extension, ExtensionTypes, Find, GeckoProfiler, History, I18n, Identity, Idle, Management, Manifest, // TODO: Export custom manifest types that are valid for both Chrome and Firefox.
|
|
18
|
+
ContextMenus, Menus, NetworkStatus, NormandyAddonStudy, Notifications, Omnibox, PageAction, Permissions, Pkcs11, Privacy, Proxy, Runtime, Scripting, Search, Sessions, SidebarAction, Storage, Tabs, Theme, TopSites, Types, Urlbar, UserScripts, WebNavigation, WebRequest, Windows, } from 'webextension-polyfill';
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import originalBrowser from "webextension-polyfill";
|
|
2
|
+
export const browser = originalBrowser;
|
|
@@ -149,9 +149,9 @@ export interface ContentScriptModalPositioningOptions {
|
|
|
149
149
|
zIndex?: number;
|
|
150
150
|
}
|
|
151
151
|
/**
|
|
152
|
-
* Choose between `"inline"`, `"overlay"`, or `"modal"
|
|
152
|
+
* Choose between `"inline"`, `"overlay"`, or `"modal"` positions.
|
|
153
153
|
*
|
|
154
|
-
* 
|
|
155
155
|
*/
|
|
156
156
|
export type ContentScriptPositioningOptions = ContentScriptInlinePositioningOptions | ContentScriptOverlayPositioningOptions | ContentScriptModalPositioningOptions;
|
|
157
157
|
export interface ContentScriptAnchoredOptions {
|
|
@@ -11,7 +11,7 @@ import { ViteNodeRunner } from "vite-node/client";
|
|
|
11
11
|
import { installSourcemapsSupport } from "vite-node/source-map";
|
|
12
12
|
export async function createViteBuilder(wxtConfig, hooks, server) {
|
|
13
13
|
const vite = await import("vite");
|
|
14
|
-
const getBaseConfig = async () => {
|
|
14
|
+
const getBaseConfig = async (baseConfigOptions) => {
|
|
15
15
|
const config = await wxtConfig.vite(wxtConfig.env);
|
|
16
16
|
config.root = wxtConfig.root;
|
|
17
17
|
config.configFile = false;
|
|
@@ -42,7 +42,9 @@ export async function createViteBuilder(wxtConfig, hooks, server) {
|
|
|
42
42
|
wxtPlugins.wxtPluginLoader(wxtConfig),
|
|
43
43
|
wxtPlugins.resolveAppConfig(wxtConfig)
|
|
44
44
|
);
|
|
45
|
-
if (wxtConfig.analysis.enabled
|
|
45
|
+
if (wxtConfig.analysis.enabled && // If included, vite-node entrypoint loader will increment the
|
|
46
|
+
// bundleAnalysis's internal build index tracker, which we don't want
|
|
47
|
+
!baseConfigOptions?.excludeAnalysisPlugin) {
|
|
46
48
|
config.plugins.push(wxtPlugins.bundleAnalysis(wxtConfig));
|
|
47
49
|
}
|
|
48
50
|
return config;
|
|
@@ -157,29 +159,15 @@ export async function createViteBuilder(wxtConfig, hooks, server) {
|
|
|
157
159
|
name: "Vite",
|
|
158
160
|
version: vite.version,
|
|
159
161
|
async importEntrypoint(path) {
|
|
160
|
-
switch (wxtConfig.
|
|
162
|
+
switch (wxtConfig.entrypointLoader) {
|
|
161
163
|
default:
|
|
162
164
|
case "jiti": {
|
|
163
165
|
return await importEntrypointFile(path);
|
|
164
166
|
}
|
|
165
|
-
case "vite-runtime": {
|
|
166
|
-
const baseConfig = await getBaseConfig();
|
|
167
|
-
const envConfig = {
|
|
168
|
-
plugins: [
|
|
169
|
-
wxtPlugins.extensionApiMock(wxtConfig),
|
|
170
|
-
wxtPlugins.removeEntrypointMainFunction(wxtConfig, path)
|
|
171
|
-
]
|
|
172
|
-
};
|
|
173
|
-
const config = vite.mergeConfig(baseConfig, envConfig);
|
|
174
|
-
const server2 = await vite.createServer(config);
|
|
175
|
-
await server2.listen();
|
|
176
|
-
const runtime = await vite.createViteRuntime(server2, { hmr: false });
|
|
177
|
-
const module = await runtime.executeUrl(path);
|
|
178
|
-
await server2.close();
|
|
179
|
-
return module.default;
|
|
180
|
-
}
|
|
181
167
|
case "vite-node": {
|
|
182
|
-
const baseConfig = await getBaseConfig(
|
|
168
|
+
const baseConfig = await getBaseConfig({
|
|
169
|
+
excludeAnalysisPlugin: true
|
|
170
|
+
});
|
|
183
171
|
baseConfig.optimizeDeps ??= {};
|
|
184
172
|
baseConfig.optimizeDeps.noDiscovery = true;
|
|
185
173
|
baseConfig.optimizeDeps.include = [];
|
|
@@ -40,13 +40,15 @@ export async function generateTypesDir(entrypoints) {
|
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
42
|
async function getPathsDeclarationEntry(entrypoints) {
|
|
43
|
-
const
|
|
43
|
+
const paths = entrypoints.map(
|
|
44
44
|
(entry) => getEntrypointBundlePath(
|
|
45
45
|
entry,
|
|
46
46
|
wxt.config.outDir,
|
|
47
47
|
isHtmlEntrypoint(entry) ? ".html" : ".js"
|
|
48
48
|
)
|
|
49
|
-
).concat(await getPublicFiles())
|
|
49
|
+
).concat(await getPublicFiles());
|
|
50
|
+
await wxt.hooks.callHook("prepare:publicPaths", wxt, paths);
|
|
51
|
+
const unions = paths.map(normalizePath).sort().map((path2) => ` | "/${path2}"`).join("\n");
|
|
50
52
|
const template = `// Generated by wxt
|
|
51
53
|
import "${wxt.config.browserModule}";
|
|
52
54
|
|
|
@@ -135,9 +135,8 @@ export async function resolveConfig(inlineConfig, command) {
|
|
|
135
135
|
alias,
|
|
136
136
|
extensionApi,
|
|
137
137
|
browserModule: extensionApi === "chrome" ? "wxt/browser/chrome" : "wxt/browser",
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}),
|
|
138
|
+
entrypointLoader: mergedConfig.entrypointLoader ?? "vite-node",
|
|
139
|
+
experimental: defu(mergedConfig.experimental, {}),
|
|
141
140
|
dev: {
|
|
142
141
|
server: devServerConfig,
|
|
143
142
|
reloadCommand
|
|
@@ -487,9 +487,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
487
487
|
root?: string;
|
|
488
488
|
mode?: string;
|
|
489
489
|
publicDir?: string;
|
|
490
|
-
experimental?: {
|
|
491
|
-
entrypointImporter?: "jiti" | "vite-runtime" | "vite-node";
|
|
492
|
-
} | undefined;
|
|
490
|
+
experimental?: {} | undefined;
|
|
493
491
|
srcDir?: string;
|
|
494
492
|
entrypointsDir?: string;
|
|
495
493
|
modulesDir?: string;
|
|
@@ -664,6 +662,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
664
662
|
[x: string]: string | undefined;
|
|
665
663
|
} | undefined;
|
|
666
664
|
extensionApi?: "webextension-polyfill" | "chrome";
|
|
665
|
+
entrypointLoader?: "vite-node" | "jiti";
|
|
667
666
|
dev?: {
|
|
668
667
|
server?: {
|
|
669
668
|
port?: number;
|
|
@@ -676,6 +675,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
676
675
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
677
676
|
ready?: {} | undefined;
|
|
678
677
|
'prepare:types'?: {} | undefined;
|
|
678
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
679
679
|
'build:before'?: {} | undefined;
|
|
680
680
|
'build:done'?: {} | undefined;
|
|
681
681
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -720,8 +720,10 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
720
720
|
} | undefined;
|
|
721
721
|
prepare?: {
|
|
722
722
|
types?: {} | undefined;
|
|
723
|
+
publicPaths?: {} | undefined;
|
|
723
724
|
} | {
|
|
724
725
|
types?: {} | undefined;
|
|
726
|
+
publicPaths?: {} | undefined;
|
|
725
727
|
} | undefined;
|
|
726
728
|
entrypoints?: {
|
|
727
729
|
resolved?: {} | undefined;
|
|
@@ -769,8 +771,10 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
769
771
|
} | undefined;
|
|
770
772
|
prepare?: {
|
|
771
773
|
types?: {} | undefined;
|
|
774
|
+
publicPaths?: {} | undefined;
|
|
772
775
|
} | {
|
|
773
776
|
types?: {} | undefined;
|
|
777
|
+
publicPaths?: {} | undefined;
|
|
774
778
|
} | undefined;
|
|
775
779
|
entrypoints?: {
|
|
776
780
|
resolved?: {} | undefined;
|
|
@@ -805,9 +809,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
805
809
|
root?: string;
|
|
806
810
|
mode?: string;
|
|
807
811
|
publicDir?: string;
|
|
808
|
-
experimental?: {
|
|
809
|
-
entrypointImporter?: "jiti" | "vite-runtime" | "vite-node";
|
|
810
|
-
} | undefined;
|
|
812
|
+
experimental?: {} | undefined;
|
|
811
813
|
srcDir?: string;
|
|
812
814
|
entrypointsDir?: string;
|
|
813
815
|
modulesDir?: string;
|
|
@@ -982,6 +984,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
982
984
|
[x: string]: string | undefined;
|
|
983
985
|
} | undefined;
|
|
984
986
|
extensionApi?: "webextension-polyfill" | "chrome";
|
|
987
|
+
entrypointLoader?: "vite-node" | "jiti";
|
|
985
988
|
dev?: {
|
|
986
989
|
server?: {
|
|
987
990
|
port?: number;
|
|
@@ -994,6 +997,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
994
997
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
995
998
|
ready?: {} | undefined;
|
|
996
999
|
'prepare:types'?: {} | undefined;
|
|
1000
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
997
1001
|
'build:before'?: {} | undefined;
|
|
998
1002
|
'build:done'?: {} | undefined;
|
|
999
1003
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -1038,8 +1042,10 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1038
1042
|
} | undefined;
|
|
1039
1043
|
prepare?: {
|
|
1040
1044
|
types?: {} | undefined;
|
|
1045
|
+
publicPaths?: {} | undefined;
|
|
1041
1046
|
} | {
|
|
1042
1047
|
types?: {} | undefined;
|
|
1048
|
+
publicPaths?: {} | undefined;
|
|
1043
1049
|
} | undefined;
|
|
1044
1050
|
entrypoints?: {
|
|
1045
1051
|
resolved?: {} | undefined;
|
|
@@ -1087,8 +1093,10 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1087
1093
|
} | undefined;
|
|
1088
1094
|
prepare?: {
|
|
1089
1095
|
types?: {} | undefined;
|
|
1096
|
+
publicPaths?: {} | undefined;
|
|
1090
1097
|
} | {
|
|
1091
1098
|
types?: {} | undefined;
|
|
1099
|
+
publicPaths?: {} | undefined;
|
|
1092
1100
|
} | undefined;
|
|
1093
1101
|
entrypoints?: {
|
|
1094
1102
|
resolved?: {} | undefined;
|
|
@@ -1149,9 +1157,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1149
1157
|
root?: string;
|
|
1150
1158
|
mode?: string;
|
|
1151
1159
|
publicDir?: string;
|
|
1152
|
-
experimental?: {
|
|
1153
|
-
entrypointImporter?: "jiti" | "vite-runtime" | "vite-node";
|
|
1154
|
-
} | undefined;
|
|
1160
|
+
experimental?: {} | undefined;
|
|
1155
1161
|
srcDir?: string;
|
|
1156
1162
|
entrypointsDir?: string;
|
|
1157
1163
|
modulesDir?: string;
|
|
@@ -1326,6 +1332,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1326
1332
|
[x: string]: string | undefined;
|
|
1327
1333
|
} | undefined;
|
|
1328
1334
|
extensionApi?: "webextension-polyfill" | "chrome";
|
|
1335
|
+
entrypointLoader?: "vite-node" | "jiti";
|
|
1329
1336
|
dev?: {
|
|
1330
1337
|
server?: {
|
|
1331
1338
|
port?: number;
|
|
@@ -1338,6 +1345,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1338
1345
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
1339
1346
|
ready?: {} | undefined;
|
|
1340
1347
|
'prepare:types'?: {} | undefined;
|
|
1348
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
1341
1349
|
'build:before'?: {} | undefined;
|
|
1342
1350
|
'build:done'?: {} | undefined;
|
|
1343
1351
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -1382,8 +1390,10 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1382
1390
|
} | undefined;
|
|
1383
1391
|
prepare?: {
|
|
1384
1392
|
types?: {} | undefined;
|
|
1393
|
+
publicPaths?: {} | undefined;
|
|
1385
1394
|
} | {
|
|
1386
1395
|
types?: {} | undefined;
|
|
1396
|
+
publicPaths?: {} | undefined;
|
|
1387
1397
|
} | undefined;
|
|
1388
1398
|
entrypoints?: {
|
|
1389
1399
|
resolved?: {} | undefined;
|
|
@@ -1431,8 +1441,10 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1431
1441
|
} | undefined;
|
|
1432
1442
|
prepare?: {
|
|
1433
1443
|
types?: {} | undefined;
|
|
1444
|
+
publicPaths?: {} | undefined;
|
|
1434
1445
|
} | {
|
|
1435
1446
|
types?: {} | undefined;
|
|
1447
|
+
publicPaths?: {} | undefined;
|
|
1436
1448
|
} | undefined;
|
|
1437
1449
|
entrypoints?: {
|
|
1438
1450
|
resolved?: {} | undefined;
|
|
@@ -1470,9 +1482,8 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1470
1482
|
} | undefined;
|
|
1471
1483
|
extensionApi?: "webextension-polyfill" | "chrome" | undefined;
|
|
1472
1484
|
browserModule?: "wxt/browser" | "wxt/browser/chrome" | undefined;
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
} | undefined;
|
|
1485
|
+
entrypointLoader?: "vite-node" | "jiti" | undefined;
|
|
1486
|
+
experimental?: {} | undefined;
|
|
1476
1487
|
dev?: {
|
|
1477
1488
|
server?: {
|
|
1478
1489
|
port?: number | undefined;
|
|
@@ -1485,6 +1496,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1485
1496
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
1486
1497
|
ready?: {} | undefined;
|
|
1487
1498
|
'prepare:types'?: {} | undefined;
|
|
1499
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
1488
1500
|
'build:before'?: {} | undefined;
|
|
1489
1501
|
'build:done'?: {} | undefined;
|
|
1490
1502
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -1529,8 +1541,10 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1529
1541
|
} | undefined;
|
|
1530
1542
|
prepare?: {
|
|
1531
1543
|
types?: {} | undefined;
|
|
1544
|
+
publicPaths?: {} | undefined;
|
|
1532
1545
|
} | {
|
|
1533
1546
|
types?: {} | undefined;
|
|
1547
|
+
publicPaths?: {} | undefined;
|
|
1534
1548
|
} | undefined;
|
|
1535
1549
|
entrypoints?: {
|
|
1536
1550
|
resolved?: {} | undefined;
|
|
@@ -1578,8 +1592,10 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1578
1592
|
} | undefined;
|
|
1579
1593
|
prepare?: {
|
|
1580
1594
|
types?: {} | undefined;
|
|
1595
|
+
publicPaths?: {} | undefined;
|
|
1581
1596
|
} | {
|
|
1582
1597
|
types?: {} | undefined;
|
|
1598
|
+
publicPaths?: {} | undefined;
|
|
1583
1599
|
} | undefined;
|
|
1584
1600
|
entrypoints?: {
|
|
1585
1601
|
resolved?: {} | undefined;
|
|
@@ -1617,6 +1633,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1617
1633
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
1618
1634
|
ready?: {} | undefined;
|
|
1619
1635
|
'prepare:types'?: {} | undefined;
|
|
1636
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
1620
1637
|
'build:before'?: {} | undefined;
|
|
1621
1638
|
'build:done'?: {} | undefined;
|
|
1622
1639
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -1655,6 +1672,7 @@ export declare const fakeResolvedConfig: (overrides?: {
|
|
|
1655
1672
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
1656
1673
|
ready?: {} | undefined;
|
|
1657
1674
|
'prepare:types'?: {} | undefined;
|
|
1675
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
1658
1676
|
'build:before'?: {} | undefined;
|
|
1659
1677
|
'build:done'?: {} | undefined;
|
|
1660
1678
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -2025,9 +2043,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2025
2043
|
root?: string;
|
|
2026
2044
|
mode?: string;
|
|
2027
2045
|
publicDir?: string;
|
|
2028
|
-
experimental?: {
|
|
2029
|
-
entrypointImporter?: "jiti" | "vite-runtime" | "vite-node";
|
|
2030
|
-
} | undefined;
|
|
2046
|
+
experimental?: {} | undefined;
|
|
2031
2047
|
srcDir?: string;
|
|
2032
2048
|
entrypointsDir?: string;
|
|
2033
2049
|
modulesDir?: string;
|
|
@@ -2202,6 +2218,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2202
2218
|
[x: string]: string | undefined;
|
|
2203
2219
|
} | undefined;
|
|
2204
2220
|
extensionApi?: "webextension-polyfill" | "chrome";
|
|
2221
|
+
entrypointLoader?: "vite-node" | "jiti";
|
|
2205
2222
|
dev?: {
|
|
2206
2223
|
server?: {
|
|
2207
2224
|
port?: number;
|
|
@@ -2214,6 +2231,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2214
2231
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
2215
2232
|
ready?: {} | undefined;
|
|
2216
2233
|
'prepare:types'?: {} | undefined;
|
|
2234
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
2217
2235
|
'build:before'?: {} | undefined;
|
|
2218
2236
|
'build:done'?: {} | undefined;
|
|
2219
2237
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -2258,8 +2276,10 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2258
2276
|
} | undefined;
|
|
2259
2277
|
prepare?: {
|
|
2260
2278
|
types?: {} | undefined;
|
|
2279
|
+
publicPaths?: {} | undefined;
|
|
2261
2280
|
} | {
|
|
2262
2281
|
types?: {} | undefined;
|
|
2282
|
+
publicPaths?: {} | undefined;
|
|
2263
2283
|
} | undefined;
|
|
2264
2284
|
entrypoints?: {
|
|
2265
2285
|
resolved?: {} | undefined;
|
|
@@ -2307,8 +2327,10 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2307
2327
|
} | undefined;
|
|
2308
2328
|
prepare?: {
|
|
2309
2329
|
types?: {} | undefined;
|
|
2330
|
+
publicPaths?: {} | undefined;
|
|
2310
2331
|
} | {
|
|
2311
2332
|
types?: {} | undefined;
|
|
2333
|
+
publicPaths?: {} | undefined;
|
|
2312
2334
|
} | undefined;
|
|
2313
2335
|
entrypoints?: {
|
|
2314
2336
|
resolved?: {} | undefined;
|
|
@@ -2343,9 +2365,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2343
2365
|
root?: string;
|
|
2344
2366
|
mode?: string;
|
|
2345
2367
|
publicDir?: string;
|
|
2346
|
-
experimental?: {
|
|
2347
|
-
entrypointImporter?: "jiti" | "vite-runtime" | "vite-node";
|
|
2348
|
-
} | undefined;
|
|
2368
|
+
experimental?: {} | undefined;
|
|
2349
2369
|
srcDir?: string;
|
|
2350
2370
|
entrypointsDir?: string;
|
|
2351
2371
|
modulesDir?: string;
|
|
@@ -2520,6 +2540,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2520
2540
|
[x: string]: string | undefined;
|
|
2521
2541
|
} | undefined;
|
|
2522
2542
|
extensionApi?: "webextension-polyfill" | "chrome";
|
|
2543
|
+
entrypointLoader?: "vite-node" | "jiti";
|
|
2523
2544
|
dev?: {
|
|
2524
2545
|
server?: {
|
|
2525
2546
|
port?: number;
|
|
@@ -2532,6 +2553,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2532
2553
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
2533
2554
|
ready?: {} | undefined;
|
|
2534
2555
|
'prepare:types'?: {} | undefined;
|
|
2556
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
2535
2557
|
'build:before'?: {} | undefined;
|
|
2536
2558
|
'build:done'?: {} | undefined;
|
|
2537
2559
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -2576,8 +2598,10 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2576
2598
|
} | undefined;
|
|
2577
2599
|
prepare?: {
|
|
2578
2600
|
types?: {} | undefined;
|
|
2601
|
+
publicPaths?: {} | undefined;
|
|
2579
2602
|
} | {
|
|
2580
2603
|
types?: {} | undefined;
|
|
2604
|
+
publicPaths?: {} | undefined;
|
|
2581
2605
|
} | undefined;
|
|
2582
2606
|
entrypoints?: {
|
|
2583
2607
|
resolved?: {} | undefined;
|
|
@@ -2625,8 +2649,10 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2625
2649
|
} | undefined;
|
|
2626
2650
|
prepare?: {
|
|
2627
2651
|
types?: {} | undefined;
|
|
2652
|
+
publicPaths?: {} | undefined;
|
|
2628
2653
|
} | {
|
|
2629
2654
|
types?: {} | undefined;
|
|
2655
|
+
publicPaths?: {} | undefined;
|
|
2630
2656
|
} | undefined;
|
|
2631
2657
|
entrypoints?: {
|
|
2632
2658
|
resolved?: {} | undefined;
|
|
@@ -2687,9 +2713,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2687
2713
|
root?: string;
|
|
2688
2714
|
mode?: string;
|
|
2689
2715
|
publicDir?: string;
|
|
2690
|
-
experimental?: {
|
|
2691
|
-
entrypointImporter?: "jiti" | "vite-runtime" | "vite-node";
|
|
2692
|
-
} | undefined;
|
|
2716
|
+
experimental?: {} | undefined;
|
|
2693
2717
|
srcDir?: string;
|
|
2694
2718
|
entrypointsDir?: string;
|
|
2695
2719
|
modulesDir?: string;
|
|
@@ -2864,6 +2888,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2864
2888
|
[x: string]: string | undefined;
|
|
2865
2889
|
} | undefined;
|
|
2866
2890
|
extensionApi?: "webextension-polyfill" | "chrome";
|
|
2891
|
+
entrypointLoader?: "vite-node" | "jiti";
|
|
2867
2892
|
dev?: {
|
|
2868
2893
|
server?: {
|
|
2869
2894
|
port?: number;
|
|
@@ -2876,6 +2901,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2876
2901
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
2877
2902
|
ready?: {} | undefined;
|
|
2878
2903
|
'prepare:types'?: {} | undefined;
|
|
2904
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
2879
2905
|
'build:before'?: {} | undefined;
|
|
2880
2906
|
'build:done'?: {} | undefined;
|
|
2881
2907
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -2920,8 +2946,10 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2920
2946
|
} | undefined;
|
|
2921
2947
|
prepare?: {
|
|
2922
2948
|
types?: {} | undefined;
|
|
2949
|
+
publicPaths?: {} | undefined;
|
|
2923
2950
|
} | {
|
|
2924
2951
|
types?: {} | undefined;
|
|
2952
|
+
publicPaths?: {} | undefined;
|
|
2925
2953
|
} | undefined;
|
|
2926
2954
|
entrypoints?: {
|
|
2927
2955
|
resolved?: {} | undefined;
|
|
@@ -2969,8 +2997,10 @@ export declare const fakeWxt: (overrides?: {
|
|
|
2969
2997
|
} | undefined;
|
|
2970
2998
|
prepare?: {
|
|
2971
2999
|
types?: {} | undefined;
|
|
3000
|
+
publicPaths?: {} | undefined;
|
|
2972
3001
|
} | {
|
|
2973
3002
|
types?: {} | undefined;
|
|
3003
|
+
publicPaths?: {} | undefined;
|
|
2974
3004
|
} | undefined;
|
|
2975
3005
|
entrypoints?: {
|
|
2976
3006
|
resolved?: {} | undefined;
|
|
@@ -3008,9 +3038,8 @@ export declare const fakeWxt: (overrides?: {
|
|
|
3008
3038
|
} | undefined;
|
|
3009
3039
|
extensionApi?: "webextension-polyfill" | "chrome" | undefined;
|
|
3010
3040
|
browserModule?: "wxt/browser" | "wxt/browser/chrome" | undefined;
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
} | undefined;
|
|
3041
|
+
entrypointLoader?: "vite-node" | "jiti" | undefined;
|
|
3042
|
+
experimental?: {} | undefined;
|
|
3014
3043
|
dev?: {
|
|
3015
3044
|
server?: {
|
|
3016
3045
|
port?: number | undefined;
|
|
@@ -3023,6 +3052,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
3023
3052
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
3024
3053
|
ready?: {} | undefined;
|
|
3025
3054
|
'prepare:types'?: {} | undefined;
|
|
3055
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
3026
3056
|
'build:before'?: {} | undefined;
|
|
3027
3057
|
'build:done'?: {} | undefined;
|
|
3028
3058
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -3067,8 +3097,10 @@ export declare const fakeWxt: (overrides?: {
|
|
|
3067
3097
|
} | undefined;
|
|
3068
3098
|
prepare?: {
|
|
3069
3099
|
types?: {} | undefined;
|
|
3100
|
+
publicPaths?: {} | undefined;
|
|
3070
3101
|
} | {
|
|
3071
3102
|
types?: {} | undefined;
|
|
3103
|
+
publicPaths?: {} | undefined;
|
|
3072
3104
|
} | undefined;
|
|
3073
3105
|
entrypoints?: {
|
|
3074
3106
|
resolved?: {} | undefined;
|
|
@@ -3116,8 +3148,10 @@ export declare const fakeWxt: (overrides?: {
|
|
|
3116
3148
|
} | undefined;
|
|
3117
3149
|
prepare?: {
|
|
3118
3150
|
types?: {} | undefined;
|
|
3151
|
+
publicPaths?: {} | undefined;
|
|
3119
3152
|
} | {
|
|
3120
3153
|
types?: {} | undefined;
|
|
3154
|
+
publicPaths?: {} | undefined;
|
|
3121
3155
|
} | undefined;
|
|
3122
3156
|
entrypoints?: {
|
|
3123
3157
|
resolved?: {} | undefined;
|
|
@@ -3155,6 +3189,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
3155
3189
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
3156
3190
|
ready?: {} | undefined;
|
|
3157
3191
|
'prepare:types'?: {} | undefined;
|
|
3192
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
3158
3193
|
'build:before'?: {} | undefined;
|
|
3159
3194
|
'build:done'?: {} | undefined;
|
|
3160
3195
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -3193,6 +3228,7 @@ export declare const fakeWxt: (overrides?: {
|
|
|
3193
3228
|
'vite:devServer:extendConfig'?: {} | undefined;
|
|
3194
3229
|
ready?: {} | undefined;
|
|
3195
3230
|
'prepare:types'?: {} | undefined;
|
|
3231
|
+
'prepare:publicPaths'?: {} | undefined;
|
|
3196
3232
|
'build:before'?: {} | undefined;
|
|
3197
3233
|
'build:done'?: {} | undefined;
|
|
3198
3234
|
'build:manifestGenerated'?: {} | undefined;
|
|
@@ -248,9 +248,8 @@ export const fakeResolvedConfig = fakeObjectCreator(() => {
|
|
|
248
248
|
alias: {},
|
|
249
249
|
extensionApi: "webextension-polyfill",
|
|
250
250
|
browserModule: "wxt/browser",
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
},
|
|
251
|
+
entrypointLoader: "vite-node",
|
|
252
|
+
experimental: {},
|
|
254
253
|
dev: {
|
|
255
254
|
reloadCommand: "Alt+R"
|
|
256
255
|
},
|
package/dist/storage.d.ts
CHANGED
|
@@ -109,7 +109,14 @@ export interface WxtStorage {
|
|
|
109
109
|
defineItem<TValue, TMetadata extends Record<string, unknown> = {}>(key: StorageItemKey, options: WxtStorageItemOptions<TValue>): WxtStorageItem<TValue, TMetadata>;
|
|
110
110
|
}
|
|
111
111
|
export interface WxtStorageItem<TValue, TMetadata extends Record<string, unknown>> {
|
|
112
|
+
/**
|
|
113
|
+
* @deprecated Renamed to `fallback`, use it instead.
|
|
114
|
+
*/
|
|
112
115
|
defaultValue: TValue;
|
|
116
|
+
/**
|
|
117
|
+
* The value provided by the `fallback` option.
|
|
118
|
+
*/
|
|
119
|
+
fallback: TValue;
|
|
113
120
|
/**
|
|
114
121
|
* Get the latest value from storage.
|
|
115
122
|
*/
|
|
@@ -150,9 +157,13 @@ export type StorageArea = 'local' | 'session' | 'sync' | 'managed';
|
|
|
150
157
|
export type StorageItemKey = `${StorageArea}:${string}`;
|
|
151
158
|
export interface GetItemOptions<T> {
|
|
152
159
|
/**
|
|
153
|
-
*
|
|
160
|
+
* @deprecated Renamed to `fallback`, use it instead.
|
|
154
161
|
*/
|
|
155
162
|
defaultValue?: T;
|
|
163
|
+
/**
|
|
164
|
+
* Default value returned when `getItem` would otherwise return `null`.
|
|
165
|
+
*/
|
|
166
|
+
fallback?: T;
|
|
156
167
|
}
|
|
157
168
|
export interface RemoveItemOptions {
|
|
158
169
|
/**
|
|
@@ -170,7 +181,21 @@ export interface SnapshotOptions {
|
|
|
170
181
|
excludeKeys?: string[];
|
|
171
182
|
}
|
|
172
183
|
export interface WxtStorageItemOptions<T> {
|
|
173
|
-
|
|
184
|
+
/**
|
|
185
|
+
* @deprecated Renamed to `fallback`, use it instead.
|
|
186
|
+
*/
|
|
187
|
+
defaultValue?: T;
|
|
188
|
+
/**
|
|
189
|
+
* Default value returned when `getValue` would otherwise return `null`.
|
|
190
|
+
*/
|
|
191
|
+
fallback?: T;
|
|
192
|
+
/**
|
|
193
|
+
* If passed, a value in storage will be initialized immediately after
|
|
194
|
+
* defining the storage item. This function returns the value that will be
|
|
195
|
+
* saved to storage during the initialization process if a value doesn't
|
|
196
|
+
* already exist.
|
|
197
|
+
*/
|
|
198
|
+
init?: () => T | Promise<T>;
|
|
174
199
|
/**
|
|
175
200
|
* Provide a version number for the storage item to enable migrations. When changing the version
|
|
176
201
|
* in the future, migration functions will be ran on application startup.
|
package/dist/storage.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import { browser } from "wxt/browser";
|
|
|
2
2
|
import { dequal } from "dequal/lite";
|
|
3
3
|
import { logger } from "./sandbox/utils/logger.mjs";
|
|
4
4
|
import { toArray } from "./core/utils/arrays.mjs";
|
|
5
|
+
import { Mutex } from "async-mutex";
|
|
5
6
|
export const storage = createStorage();
|
|
6
7
|
function createStorage() {
|
|
7
8
|
const drivers = {
|
|
@@ -33,11 +34,11 @@ function createStorage() {
|
|
|
33
34
|
};
|
|
34
35
|
};
|
|
35
36
|
const getMetaKey = (key) => key + "$";
|
|
36
|
-
const
|
|
37
|
+
const getValueOrFallback = (value, fallback) => value ?? fallback ?? null;
|
|
37
38
|
const getMetaValue = (properties) => typeof properties === "object" && !Array.isArray(properties) ? properties : {};
|
|
38
39
|
const getItem = async (driver, driverKey, opts) => {
|
|
39
40
|
const res = await driver.getItem(driverKey);
|
|
40
|
-
return
|
|
41
|
+
return getValueOrFallback(res, opts?.fallback ?? opts?.defaultValue);
|
|
41
42
|
};
|
|
42
43
|
const getMeta = async (driver, driverKey) => {
|
|
43
44
|
const metaKey = getMetaKey(driverKey);
|
|
@@ -107,9 +108,10 @@ function createStorage() {
|
|
|
107
108
|
const driverResults = await drivers[driverArea].getItems(keys2);
|
|
108
109
|
return driverResults.map((driverResult) => {
|
|
109
110
|
const key = `${driverArea}:${driverResult.key}`;
|
|
110
|
-
const
|
|
111
|
+
const opts = keyToOptsMap.get(key);
|
|
112
|
+
const value = getValueOrFallback(
|
|
111
113
|
driverResult.value,
|
|
112
|
-
|
|
114
|
+
opts?.fallback ?? opts?.defaultValue
|
|
113
115
|
);
|
|
114
116
|
return { key, value };
|
|
115
117
|
});
|
|
@@ -248,14 +250,30 @@ function createStorage() {
|
|
|
248
250
|
const migrationsDone = opts?.migrations == null ? Promise.resolve() : migrate().catch((err) => {
|
|
249
251
|
logger.error(`Migration failed for ${key}`, err);
|
|
250
252
|
});
|
|
251
|
-
const
|
|
253
|
+
const initMutex = new Mutex();
|
|
254
|
+
const getFallback = () => opts?.fallback ?? opts?.defaultValue ?? null;
|
|
255
|
+
const getOrInitValue = () => initMutex.runExclusive(async () => {
|
|
256
|
+
const value = await driver.getItem(driverKey);
|
|
257
|
+
if (value != null || opts?.init == null) return value;
|
|
258
|
+
const newValue = await opts.init();
|
|
259
|
+
await driver.setItem(driverKey, newValue);
|
|
260
|
+
return newValue;
|
|
261
|
+
});
|
|
262
|
+
migrationsDone.then(getOrInitValue);
|
|
252
263
|
return {
|
|
253
264
|
get defaultValue() {
|
|
254
|
-
return
|
|
265
|
+
return getFallback();
|
|
266
|
+
},
|
|
267
|
+
get fallback() {
|
|
268
|
+
return getFallback();
|
|
255
269
|
},
|
|
256
270
|
getValue: async () => {
|
|
257
271
|
await migrationsDone;
|
|
258
|
-
|
|
272
|
+
if (opts?.init) {
|
|
273
|
+
return await getOrInitValue();
|
|
274
|
+
} else {
|
|
275
|
+
return await getItem(driver, driverKey, opts);
|
|
276
|
+
}
|
|
259
277
|
},
|
|
260
278
|
getMeta: async () => {
|
|
261
279
|
await migrationsDone;
|
|
@@ -280,7 +298,7 @@ function createStorage() {
|
|
|
280
298
|
watch: (cb) => watch(
|
|
281
299
|
driver,
|
|
282
300
|
driverKey,
|
|
283
|
-
(newValue, oldValue) => cb(newValue ??
|
|
301
|
+
(newValue, oldValue) => cb(newValue ?? getFallback(), oldValue ?? getFallback())
|
|
284
302
|
),
|
|
285
303
|
migrate
|
|
286
304
|
};
|
package/dist/types.d.ts
CHANGED
|
@@ -297,25 +297,27 @@ export interface InlineConfig {
|
|
|
297
297
|
* - `"chrome"` (unstable): Use the regular `chrome` (or `browser` for Firefox/Safari) globals provided by the browser. Types provided by [`@types/chrome`](https://www.npmjs.com/package/@types/chrome), make sure to install the package or types won't work.
|
|
298
298
|
*
|
|
299
299
|
* @default "webextension-polyfill"
|
|
300
|
+
* @since 0.19.0
|
|
300
301
|
*/
|
|
301
302
|
extensionApi?: 'webextension-polyfill' | 'chrome';
|
|
303
|
+
/**
|
|
304
|
+
* @deprecated Will be removed in v0.20.0, please migrate to using `vite-node`, the new default.
|
|
305
|
+
*
|
|
306
|
+
* Method used to import entrypoint files during the build process to extract their options.
|
|
307
|
+
*
|
|
308
|
+
* - `"vite-node"` (default as of 0.19.0): Uses `vite-node` to import the entrypoints. Automatically includes vite config based on your wxt.config.ts file
|
|
309
|
+
* - `"jiti"`: Simplest and fastest, but doesn't allow using any imported variables outside the entrypoint's main function
|
|
310
|
+
*
|
|
311
|
+
* @see {@link https://wxt.dev/guide/go-further/entrypoint-importers.html|Entrypoint Importers}
|
|
312
|
+
*
|
|
313
|
+
* @default "vite-node"
|
|
314
|
+
* @since 0.19.0
|
|
315
|
+
*/
|
|
316
|
+
entrypointLoader?: 'vite-node' | 'jiti';
|
|
302
317
|
/**
|
|
303
318
|
* Experimental settings - use with caution.
|
|
304
319
|
*/
|
|
305
|
-
experimental?: {
|
|
306
|
-
/**
|
|
307
|
-
* Method used to import entrypoint files during the build process to extract their options.
|
|
308
|
-
*
|
|
309
|
-
* - `"jiti"`: Simplest and fastest, but doesn't allow using any imported variables outside the entrypoint's main function
|
|
310
|
-
* - `"vite-runtime"` (unstable): Uses Vite 5.3's new runtime API to import the entrypoints. Automatically includes vite config based on your wxt.config.ts file
|
|
311
|
-
* - `"vite-node"` (unstable): Uses `vite-node` to import the entrypoints. Automatically includes vite config based on your wxt.config.ts file
|
|
312
|
-
*
|
|
313
|
-
* @see {@link https://wxt.dev/guide/go-further/entrypoint-side-effects.html|Entrypoint Side-effect Docs}
|
|
314
|
-
*
|
|
315
|
-
* @default "jiti"
|
|
316
|
-
*/
|
|
317
|
-
entrypointImporter?: 'jiti' | 'vite-runtime' | 'vite-node';
|
|
318
|
-
};
|
|
320
|
+
experimental?: {};
|
|
319
321
|
/**
|
|
320
322
|
* Config effecting dev mode only.
|
|
321
323
|
*/
|
|
@@ -941,6 +943,20 @@ export interface WxtHooks {
|
|
|
941
943
|
* })
|
|
942
944
|
*/
|
|
943
945
|
'prepare:types': (wxt: Wxt, entries: WxtDirEntry[]) => HookResult;
|
|
946
|
+
/**
|
|
947
|
+
* Called before generating the list of public paths inside
|
|
948
|
+
* `.wxt/types/paths.d.ts`. Use this hook to add additional paths (relative
|
|
949
|
+
* to output directory) WXT doesn't add automatically.
|
|
950
|
+
*
|
|
951
|
+
* @param wxt The configured WXT object
|
|
952
|
+
* @param paths This list of paths TypeScript allows `browser.runtime.getURL` to be called with.
|
|
953
|
+
*
|
|
954
|
+
* @example
|
|
955
|
+
* wxt.hooks.hook('prepare:publicPaths', (wxt, paths) => {
|
|
956
|
+
* paths.push('/icons/128.png');
|
|
957
|
+
* })
|
|
958
|
+
*/
|
|
959
|
+
'prepare:publicPaths': (wxt: Wxt, paths: string[]) => HookResult;
|
|
944
960
|
/**
|
|
945
961
|
* Called before the build is started in both dev mode and build mode.
|
|
946
962
|
*
|
|
@@ -948,7 +964,9 @@ export interface WxtHooks {
|
|
|
948
964
|
*/
|
|
949
965
|
'build:before': (wxt: Wxt) => HookResult;
|
|
950
966
|
/**
|
|
951
|
-
* Called once the build process has finished.
|
|
967
|
+
* Called once the build process has finished. You can add files to the build
|
|
968
|
+
* summary here by pushing to `output.publicAssets`.
|
|
969
|
+
*
|
|
952
970
|
* @param wxt The configured WXT object
|
|
953
971
|
* @param output The results of the build
|
|
954
972
|
*/
|
|
@@ -1079,9 +1097,8 @@ export interface ResolvedConfig {
|
|
|
1079
1097
|
alias: Record<string, string>;
|
|
1080
1098
|
extensionApi: 'webextension-polyfill' | 'chrome';
|
|
1081
1099
|
browserModule: 'wxt/browser' | 'wxt/browser/chrome';
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
};
|
|
1100
|
+
entrypointLoader: 'vite-node' | 'jiti';
|
|
1101
|
+
experimental: {};
|
|
1085
1102
|
dev: {
|
|
1086
1103
|
/** Only defined during dev command */
|
|
1087
1104
|
server?: {
|
package/dist/version.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = "0.19.0
|
|
1
|
+
export const version = "0.19.0";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wxt",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.19.0
|
|
4
|
+
"version": "0.19.0",
|
|
5
5
|
"description": "Next gen framework for developing web extensions",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -53,10 +53,6 @@
|
|
|
53
53
|
"types": "./dist/browser/chrome.d.ts",
|
|
54
54
|
"import": "./dist/browser/chrome.mjs"
|
|
55
55
|
},
|
|
56
|
-
"./browser/webextension-polyfill": {
|
|
57
|
-
"types": "./dist/browser/webextension-polyfill.d.ts",
|
|
58
|
-
"import": "./dist/browser/webextension-polyfill.mjs"
|
|
59
|
-
},
|
|
60
56
|
"./testing": {
|
|
61
57
|
"types": "./dist/testing/index.d.ts",
|
|
62
58
|
"default": "./dist/testing/index.mjs"
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Includes the `browser` API and types when using `extensionApi: 'webextension-polyfill'` (the default).
|
|
3
|
-
*
|
|
4
|
-
* @module wxt/browser/webextension-polyfill
|
|
5
|
-
*/
|
|
6
|
-
import { Browser, Runtime, I18n } from 'webextension-polyfill';
|
|
7
|
-
export interface AugmentedBrowser extends Browser {
|
|
8
|
-
runtime: WxtRuntime;
|
|
9
|
-
i18n: WxtI18n;
|
|
10
|
-
}
|
|
11
|
-
export interface WxtRuntime extends Runtime.Static {
|
|
12
|
-
}
|
|
13
|
-
export interface WxtI18n extends I18n.Static {
|
|
14
|
-
}
|
|
15
|
-
export declare const browser: AugmentedBrowser;
|
|
16
|
-
/** @ignore */
|
|
17
|
-
export type { ActivityLog, Alarms, Bookmarks, Action, BrowserAction, BrowserSettings, BrowsingData, CaptivePortal, Clipboard, Commands, ContentScripts, ContextualIdentities, Cookies, DeclarativeNetRequest, Devtools, Dns, Downloads, Events, Experiments, Extension, ExtensionTypes, Find, GeckoProfiler, History, I18n, Identity, Idle, Management, Manifest, // TODO: Export custom manifest types that are valid for both Chrome and Firefox.
|
|
18
|
-
ContextMenus, Menus, NetworkStatus, NormandyAddonStudy, Notifications, Omnibox, PageAction, Permissions, Pkcs11, Privacy, Proxy, Runtime, Scripting, Search, Sessions, SidebarAction, Storage, Tabs, Theme, TopSites, Types, Urlbar, UserScripts, WebNavigation, WebRequest, Windows, } from 'webextension-polyfill';
|