wxt 0.18.15 → 0.19.0-alpha1

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.
Files changed (259) hide show
  1. package/bin/wxt.mjs +1 -1
  2. package/dist/browser/chrome.d.ts +17 -0
  3. package/dist/browser/chrome.mjs +7 -0
  4. package/dist/browser/index.d.ts +4 -0
  5. package/dist/browser/index.mjs +1 -0
  6. package/dist/browser/webextension-polyfill.d.ts +18 -0
  7. package/dist/browser/webextension-polyfill.mjs +2 -0
  8. package/dist/builtin-modules/index.d.ts +2 -0
  9. package/dist/builtin-modules/index.mjs +2 -0
  10. package/dist/builtin-modules/unimport.d.ts +8 -0
  11. package/dist/builtin-modules/unimport.mjs +99 -0
  12. package/dist/cli/cli-utils.d.ts +25 -0
  13. package/dist/cli/cli-utils.mjs +58 -0
  14. package/dist/cli/commands.d.ts +2 -0
  15. package/dist/cli/commands.mjs +104 -0
  16. package/dist/cli/index.d.ts +1 -0
  17. package/dist/cli/index.mjs +11 -0
  18. package/dist/client/app-config.d.ts +2 -0
  19. package/dist/client/app-config.mjs +4 -0
  20. package/dist/client/content-scripts/content-script-context.d.ts +114 -0
  21. package/dist/client/content-scripts/content-script-context.mjs +169 -0
  22. package/dist/client/content-scripts/custom-events.d.ts +10 -0
  23. package/dist/client/content-scripts/custom-events.mjs +13 -0
  24. package/dist/client/content-scripts/index.d.ts +2 -0
  25. package/dist/client/content-scripts/index.mjs +2 -0
  26. package/dist/client/content-scripts/location-watcher.d.ts +12 -0
  27. package/dist/client/content-scripts/location-watcher.mjs +22 -0
  28. package/dist/client/content-scripts/ui/index.d.ts +23 -0
  29. package/dist/client/content-scripts/ui/index.mjs +188 -0
  30. package/dist/{client.d.ts → client/content-scripts/ui/types.d.ts} +15 -43
  31. package/dist/client/content-scripts/ui/types.mjs +0 -0
  32. package/dist/client/index.d.ts +7 -0
  33. package/dist/client/index.mjs +2 -0
  34. package/dist/core/build.d.ts +15 -0
  35. package/dist/core/build.mjs +6 -0
  36. package/dist/core/builders/vite/index.d.ts +3 -0
  37. package/dist/core/builders/vite/index.mjs +297 -0
  38. package/dist/core/builders/vite/plugins/bundleAnalysis.d.ts +7 -0
  39. package/dist/core/builders/vite/plugins/bundleAnalysis.mjs +15 -0
  40. package/dist/core/builders/vite/plugins/cssEntrypoints.d.ts +13 -0
  41. package/dist/core/builders/vite/plugins/cssEntrypoints.mjs +22 -0
  42. package/dist/core/builders/vite/plugins/defineImportMeta.d.ts +14 -0
  43. package/dist/core/builders/vite/plugins/defineImportMeta.mjs +13 -0
  44. package/dist/core/builders/vite/plugins/devHtmlPrerender.d.ts +7 -0
  45. package/dist/core/builders/vite/plugins/devHtmlPrerender.mjs +140 -0
  46. package/dist/core/builders/vite/plugins/devServerGlobals.d.ts +6 -0
  47. package/dist/core/builders/vite/plugins/devServerGlobals.mjs +15 -0
  48. package/dist/core/builders/vite/plugins/download.d.ts +10 -0
  49. package/dist/core/builders/vite/plugins/download.mjs +14 -0
  50. package/dist/core/builders/vite/plugins/entrypointGroupGlobals.d.ts +6 -0
  51. package/dist/core/builders/vite/plugins/entrypointGroupGlobals.mjs +16 -0
  52. package/dist/core/builders/vite/plugins/extensionApiMock.d.ts +11 -0
  53. package/dist/core/builders/vite/plugins/extensionApiMock.mjs +26 -0
  54. package/dist/core/builders/vite/plugins/globals.d.ts +3 -0
  55. package/dist/core/builders/vite/plugins/globals.mjs +15 -0
  56. package/dist/core/builders/vite/plugins/index.d.ts +17 -0
  57. package/dist/core/builders/vite/plugins/index.mjs +17 -0
  58. package/dist/core/builders/vite/plugins/multipageMove.d.ts +20 -0
  59. package/dist/core/builders/vite/plugins/multipageMove.mjs +59 -0
  60. package/dist/core/builders/vite/plugins/noopBackground.d.ts +6 -0
  61. package/dist/core/builders/vite/plugins/noopBackground.mjs +17 -0
  62. package/dist/core/builders/vite/plugins/removeEntrypointMainFunction.d.ts +6 -0
  63. package/dist/core/builders/vite/plugins/removeEntrypointMainFunction.mjs +12 -0
  64. package/dist/core/builders/vite/plugins/resolveAppConfig.d.ts +6 -0
  65. package/dist/core/builders/vite/plugins/resolveAppConfig.mjs +26 -0
  66. package/dist/core/builders/vite/plugins/resolveExtensionApi.d.ts +10 -0
  67. package/dist/core/builders/vite/plugins/resolveExtensionApi.mjs +15 -0
  68. package/dist/core/builders/vite/plugins/resolveVirtualModules.d.ts +6 -0
  69. package/dist/core/builders/vite/plugins/resolveVirtualModules.mjs +30 -0
  70. package/dist/core/builders/vite/plugins/tsconfigPaths.d.ts +3 -0
  71. package/dist/core/builders/vite/plugins/tsconfigPaths.mjs +12 -0
  72. package/dist/core/builders/vite/plugins/wxtPluginLoader.d.ts +6 -0
  73. package/dist/core/builders/vite/plugins/wxtPluginLoader.mjs +56 -0
  74. package/dist/core/clean.d.ts +21 -0
  75. package/dist/core/clean.mjs +38 -0
  76. package/dist/core/create-server.d.ts +11 -0
  77. package/dist/core/create-server.mjs +206 -0
  78. package/dist/core/define-config.d.ts +2 -0
  79. package/dist/core/define-config.mjs +3 -0
  80. package/dist/core/define-runner-config.d.ts +2 -0
  81. package/dist/core/define-runner-config.mjs +3 -0
  82. package/dist/core/index.d.ts +8 -0
  83. package/dist/core/index.mjs +8 -0
  84. package/dist/core/initialize.d.ts +5 -0
  85. package/dist/core/initialize.mjs +128 -0
  86. package/dist/core/package-managers/bun.d.ts +2 -0
  87. package/dist/core/package-managers/bun.mjs +19 -0
  88. package/dist/core/package-managers/index.d.ts +2 -0
  89. package/dist/core/package-managers/index.mjs +65 -0
  90. package/dist/core/package-managers/npm.d.ts +17 -0
  91. package/dist/core/package-managers/npm.mjs +58 -0
  92. package/dist/core/package-managers/pnpm.d.ts +2 -0
  93. package/dist/core/package-managers/pnpm.mjs +21 -0
  94. package/dist/core/package-managers/types.d.ts +2 -0
  95. package/dist/core/package-managers/types.mjs +0 -0
  96. package/dist/core/package-managers/yarn.d.ts +2 -0
  97. package/dist/core/package-managers/yarn.mjs +31 -0
  98. package/dist/core/prepare.d.ts +2 -0
  99. package/dist/core/prepare.mjs +8 -0
  100. package/dist/core/runners/index.d.ts +2 -0
  101. package/dist/core/runners/index.mjs +12 -0
  102. package/dist/core/runners/manual.d.ts +5 -0
  103. package/dist/core/runners/manual.mjs +16 -0
  104. package/dist/core/runners/safari.d.ts +5 -0
  105. package/dist/core/runners/safari.mjs +16 -0
  106. package/dist/core/runners/web-ext.d.ts +5 -0
  107. package/dist/core/runners/web-ext.mjs +78 -0
  108. package/dist/core/runners/wsl.d.ts +5 -0
  109. package/dist/core/runners/wsl.mjs +16 -0
  110. package/dist/core/utils/arrays.d.ts +13 -0
  111. package/dist/{chunk-BERPNPEZ.js → core/utils/arrays.mjs} +6 -10
  112. package/dist/core/utils/building/build-entrypoints.d.ts +3 -0
  113. package/dist/core/utils/building/build-entrypoints.mjs +47 -0
  114. package/dist/core/utils/building/detect-dev-changes.d.ts +57 -0
  115. package/dist/core/utils/building/detect-dev-changes.mjs +93 -0
  116. package/dist/core/utils/building/find-entrypoints.d.ts +5 -0
  117. package/dist/core/utils/building/find-entrypoints.mjs +385 -0
  118. package/dist/core/utils/building/generate-wxt-dir.d.ts +5 -0
  119. package/dist/core/utils/building/generate-wxt-dir.mjs +190 -0
  120. package/dist/core/utils/building/group-entrypoints.d.ts +8 -0
  121. package/dist/core/utils/building/group-entrypoints.mjs +37 -0
  122. package/dist/core/utils/building/import-entrypoint.d.ts +16 -0
  123. package/dist/core/utils/building/import-entrypoint.mjs +97 -0
  124. package/dist/core/utils/building/index.d.ts +9 -0
  125. package/dist/core/utils/building/index.mjs +9 -0
  126. package/dist/core/utils/building/internal-build.d.ts +12 -0
  127. package/dist/core/utils/building/internal-build.mjs +112 -0
  128. package/dist/core/utils/building/rebuild.d.ts +23 -0
  129. package/dist/core/utils/building/rebuild.mjs +39 -0
  130. package/dist/core/utils/building/resolve-config.d.ts +11 -0
  131. package/dist/core/utils/building/resolve-config.mjs +365 -0
  132. package/dist/core/utils/cache.d.ts +8 -0
  133. package/dist/core/utils/cache.mjs +21 -0
  134. package/dist/core/utils/cli.d.ts +3 -0
  135. package/dist/core/utils/cli.mjs +26 -0
  136. package/dist/core/utils/constants.d.ts +5 -0
  137. package/dist/core/utils/constants.mjs +1 -0
  138. package/dist/core/utils/content-scripts.d.ts +11 -0
  139. package/dist/core/utils/content-scripts.mjs +60 -0
  140. package/dist/core/utils/content-security-policy.d.ts +14 -0
  141. package/dist/core/utils/content-security-policy.mjs +39 -0
  142. package/dist/core/utils/entrypoints.d.ts +25 -0
  143. package/dist/core/utils/entrypoints.mjs +31 -0
  144. package/dist/core/utils/eslint.d.ts +1 -0
  145. package/dist/core/utils/eslint.mjs +11 -0
  146. package/dist/core/utils/fs.d.ts +13 -0
  147. package/dist/core/utils/fs.mjs +15 -0
  148. package/dist/core/utils/globals.d.ts +11 -0
  149. package/dist/core/utils/globals.mjs +53 -0
  150. package/dist/core/utils/i18n.d.ts +11 -0
  151. package/dist/core/utils/i18n.mjs +35 -0
  152. package/dist/core/utils/log/index.d.ts +4 -0
  153. package/dist/core/utils/log/index.mjs +4 -0
  154. package/dist/core/utils/log/printBuildSummary.d.ts +2 -0
  155. package/dist/core/utils/log/printBuildSummary.mjs +32 -0
  156. package/dist/core/utils/log/printFileList.d.ts +1 -0
  157. package/dist/core/utils/log/printFileList.mjs +42 -0
  158. package/dist/core/utils/log/printHeader.d.ts +1 -0
  159. package/dist/core/utils/log/printHeader.mjs +7 -0
  160. package/dist/core/utils/log/printTable.d.ts +1 -0
  161. package/dist/core/utils/log/printTable.mjs +22 -0
  162. package/dist/core/utils/manifest.d.ts +44 -0
  163. package/dist/core/utils/manifest.mjs +512 -0
  164. package/dist/core/utils/network.d.ts +7 -0
  165. package/dist/core/utils/network.mjs +38 -0
  166. package/dist/core/utils/package.d.ts +6 -0
  167. package/dist/core/utils/package.mjs +14 -0
  168. package/dist/core/utils/paths.d.ts +11 -0
  169. package/dist/core/utils/paths.mjs +10 -0
  170. package/dist/core/utils/strings.d.ts +14 -0
  171. package/dist/core/utils/strings.mjs +18 -0
  172. package/dist/core/utils/testing/fake-objects.d.ts +4520 -0
  173. package/dist/core/utils/testing/fake-objects.mjs +323 -0
  174. package/dist/core/utils/time.d.ts +9 -0
  175. package/dist/core/utils/time.mjs +17 -0
  176. package/dist/core/utils/transform.d.ts +9 -0
  177. package/dist/core/utils/transform.mjs +17 -0
  178. package/dist/core/utils/types.d.ts +10 -0
  179. package/dist/core/utils/types.mjs +0 -0
  180. package/dist/core/utils/validation.d.ts +15 -0
  181. package/dist/core/utils/validation.mjs +55 -0
  182. package/dist/core/utils/virtual-modules.d.ts +22 -0
  183. package/dist/core/utils/virtual-modules.mjs +14 -0
  184. package/dist/core/utils/wsl.d.ts +4 -0
  185. package/dist/core/utils/wsl.mjs +4 -0
  186. package/dist/core/wxt.d.ts +19 -0
  187. package/dist/core/wxt.mjs +41 -0
  188. package/dist/core/zip.d.ts +7 -0
  189. package/dist/core/zip.mjs +137 -0
  190. package/dist/index.d.ts +4 -79
  191. package/dist/index.mjs +3 -0
  192. package/dist/modules.d.ts +10 -20
  193. package/dist/{chunk-6XSIWUWF.js → modules.mjs} +7 -16
  194. package/dist/sandbox/define-app-config.d.ts +19 -0
  195. package/dist/sandbox/define-app-config.mjs +3 -0
  196. package/dist/sandbox/define-background.d.ts +3 -0
  197. package/dist/sandbox/define-background.mjs +4 -0
  198. package/dist/sandbox/define-content-script.d.ts +2 -0
  199. package/dist/sandbox/define-content-script.mjs +3 -0
  200. package/dist/sandbox/define-unlisted-script.d.ts +3 -0
  201. package/dist/sandbox/define-unlisted-script.mjs +4 -0
  202. package/dist/sandbox/define-wxt-plugin.d.ts +2 -0
  203. package/dist/sandbox/define-wxt-plugin.mjs +3 -0
  204. package/dist/sandbox/dev-server-websocket.d.ts +21 -0
  205. package/dist/sandbox/dev-server-websocket.mjs +37 -0
  206. package/dist/sandbox/index.d.ts +11 -0
  207. package/dist/sandbox/index.mjs +6 -0
  208. package/dist/sandbox/utils/logger.d.ts +9 -0
  209. package/dist/sandbox/utils/logger.mjs +15 -0
  210. package/dist/storage.d.ts +12 -14
  211. package/dist/{storage.js → storage.mjs} +4 -33
  212. package/dist/testing/fake-browser.d.ts +1 -0
  213. package/dist/testing/fake-browser.mjs +1 -0
  214. package/dist/testing/index.d.ts +5 -0
  215. package/dist/testing/index.mjs +2 -0
  216. package/dist/{testing.d.ts → testing/wxt-vitest-plugin.d.ts} +3 -15
  217. package/dist/testing/wxt-vitest-plugin.mjs +26 -0
  218. package/dist/{index-nWRfwAJi.d.cts → types.d.ts} +118 -249
  219. package/dist/types.mjs +0 -0
  220. package/dist/version.d.ts +1 -0
  221. package/dist/version.mjs +1 -0
  222. package/dist/virtual/{background-entrypoint.js → background-entrypoint.mjs} +31 -40
  223. package/dist/virtual/{content-script-isolated-world-entrypoint.js → content-script-isolated-world-entrypoint.mjs} +9 -13
  224. package/dist/virtual/{content-script-main-world-entrypoint.js → content-script-main-world-entrypoint.mjs} +9 -14
  225. package/dist/virtual/mock-browser.mjs +6 -0
  226. package/dist/virtual/{reload-html.js → reload-html.mjs} +8 -9
  227. package/dist/virtual/{unlisted-script-entrypoint.js → unlisted-script-entrypoint.mjs} +8 -12
  228. package/package.json +51 -57
  229. package/dist/browser.d.ts +0 -18
  230. package/dist/browser.js +0 -6
  231. package/dist/chunk-BM6QYGAW.js +0 -1063
  232. package/dist/chunk-FNTE2L27.js +0 -7
  233. package/dist/chunk-FP7RYLVL.js +0 -3617
  234. package/dist/chunk-KPD5J7PZ.js +0 -1065
  235. package/dist/chunk-QGM4M3NI.js +0 -37
  236. package/dist/chunk-SGKCDMVR.js +0 -38
  237. package/dist/cli.d.ts +0 -2
  238. package/dist/cli.js +0 -4438
  239. package/dist/client.js +0 -424
  240. package/dist/define-app-config-bg54F_lV.d.ts +0 -294
  241. package/dist/execa-4UBDUBJZ.js +0 -7244
  242. package/dist/execa-QLUM2B3W.js +0 -7245
  243. package/dist/index-nWRfwAJi.d.ts +0 -1401
  244. package/dist/index.cjs +0 -14473
  245. package/dist/index.d.cts +0 -81
  246. package/dist/index.js +0 -696
  247. package/dist/modules.cjs +0 -96
  248. package/dist/modules.d.cts +0 -119
  249. package/dist/modules.js +0 -17
  250. package/dist/prompt-25QIVJDC.js +0 -755
  251. package/dist/prompt-7BMKNSWS.js +0 -754
  252. package/dist/sandbox.d.ts +0 -16
  253. package/dist/sandbox.js +0 -36
  254. package/dist/storage.cjs +0 -439
  255. package/dist/storage.d.cts +0 -200
  256. package/dist/testing.cjs +0 -2815
  257. package/dist/testing.d.cts +0 -30
  258. package/dist/testing.js +0 -40
  259. package/dist/virtual/mock-browser.js +0 -6
package/dist/types.mjs ADDED
File without changes
@@ -0,0 +1 @@
1
+ export declare const version = "{{version}}";
@@ -0,0 +1 @@
1
+ export const version = "0.19.0-alpha1";
@@ -1,10 +1,11 @@
1
- // src/virtual/background-entrypoint.ts
2
- import definition from "virtual:user-background-entrypoint";
3
- import { initPlugins } from "virtual:wxt-plugins";
1
+ import definition from 'virtual:user-background-entrypoint';
2
+ import { initPlugins } from 'virtual:wxt-plugins';
3
+ import { browser } from 'wxt/browser';
4
+ import { MatchPattern } from 'wxt/sandbox';
4
5
 
5
- // src/sandbox/utils/logger.ts
6
6
  function print(method, ...args) {
7
- if (import.meta.env.MODE === "production") return;
7
+ if (import.meta.env.MODE === "production")
8
+ return;
8
9
  if (typeof args[0] === "string") {
9
10
  const message = args.shift();
10
11
  method(`[wxt] ${message}`, ...args);
@@ -12,15 +13,14 @@ function print(method, ...args) {
12
13
  method("[wxt]", ...args);
13
14
  }
14
15
  }
15
- var logger = {
16
+ const logger = {
16
17
  debug: (...args) => print(console.debug, ...args),
17
18
  log: (...args) => print(console.log, ...args),
18
19
  warn: (...args) => print(console.warn, ...args),
19
20
  error: (...args) => print(console.error, ...args)
20
21
  };
21
22
 
22
- // src/sandbox/dev-server-websocket.ts
23
- var ws;
23
+ let ws;
24
24
  function getDevServerWebSocket() {
25
25
  if (import.meta.env.COMMAND !== "serve")
26
26
  throw Error(
@@ -57,24 +57,16 @@ function getDevServerWebSocket() {
57
57
  return ws;
58
58
  }
59
59
 
60
- // src/virtual/background-entrypoint.ts
61
- import { browser as browser3 } from "wxt/browser";
62
-
63
- // src/virtual/utils/keep-service-worker-alive.ts
64
- import { browser } from "wxt/browser";
65
60
  function keepServiceWorkerAlive() {
66
61
  setInterval(async () => {
67
62
  await browser.runtime.getPlatformInfo();
68
63
  }, 5e3);
69
64
  }
70
65
 
71
- // src/virtual/utils/reload-content-scripts.ts
72
- import { browser as browser2 } from "wxt/browser";
73
- import { MatchPattern } from "wxt/sandbox";
74
66
  function reloadContentScript(payload) {
75
- const manifest = browser2.runtime.getManifest();
67
+ const manifest = browser.runtime.getManifest();
76
68
  if (manifest.manifest_version == 2) {
77
- void reloadContentScriptMv2(payload);
69
+ void reloadContentScriptMv2();
78
70
  } else {
79
71
  void reloadContentScriptMv3(payload);
80
72
  }
@@ -92,21 +84,21 @@ async function reloadContentScriptMv3({
92
84
  async function reloadManifestContentScriptMv3(contentScript) {
93
85
  const id = `wxt:${contentScript.js[0]}`;
94
86
  logger.log("Reloading content script:", contentScript);
95
- const registered = await browser2.scripting.getRegisteredContentScripts();
87
+ const registered = await browser.scripting.getRegisteredContentScripts();
96
88
  logger.debug("Existing scripts:", registered);
97
89
  const existing = registered.find((cs) => cs.id === id);
98
90
  if (existing) {
99
91
  logger.debug("Updating content script", existing);
100
- await browser2.scripting.updateContentScripts([{ ...contentScript, id }]);
92
+ await browser.scripting.updateContentScripts([{ ...contentScript, id }]);
101
93
  } else {
102
94
  logger.debug("Registering new content script...");
103
- await browser2.scripting.registerContentScripts([{ ...contentScript, id }]);
95
+ await browser.scripting.registerContentScripts([{ ...contentScript, id }]);
104
96
  }
105
97
  await reloadTabsForContentScript(contentScript);
106
98
  }
107
99
  async function reloadRuntimeContentScriptMv3(contentScript) {
108
100
  logger.log("Reloading content script:", contentScript);
109
- const registered = await browser2.scripting.getRegisteredContentScripts();
101
+ const registered = await browser.scripting.getRegisteredContentScripts();
110
102
  logger.debug("Existing scripts:", registered);
111
103
  const matches = registered.filter((cs) => {
112
104
  const hasJs = contentScript.js?.find((js) => cs.js?.includes(js));
@@ -120,23 +112,24 @@ async function reloadRuntimeContentScriptMv3(contentScript) {
120
112
  );
121
113
  return;
122
114
  }
123
- await browser2.scripting.updateContentScripts(matches);
115
+ await browser.scripting.updateContentScripts(matches);
124
116
  await reloadTabsForContentScript(contentScript);
125
117
  }
126
118
  async function reloadTabsForContentScript(contentScript) {
127
- const allTabs = await browser2.tabs.query({});
119
+ const allTabs = await browser.tabs.query({});
128
120
  const matchPatterns = contentScript.matches.map(
129
121
  (match) => new MatchPattern(match)
130
122
  );
131
123
  const matchingTabs = allTabs.filter((tab) => {
132
124
  const url = tab.url;
133
- if (!url) return false;
125
+ if (!url)
126
+ return false;
134
127
  return !!matchPatterns.find((pattern) => pattern.includes(url));
135
128
  });
136
129
  await Promise.all(
137
130
  matchingTabs.map(async (tab) => {
138
131
  try {
139
- await browser2.tabs.reload(tab.id);
132
+ await browser.tabs.reload(tab.id);
140
133
  } catch (err) {
141
134
  logger.warn("Failed to reload tab:", err);
142
135
  }
@@ -147,33 +140,32 @@ async function reloadContentScriptMv2(_payload) {
147
140
  throw Error("TODO: reloadContentScriptMv2");
148
141
  }
149
142
 
150
- // src/virtual/background-entrypoint.ts
151
143
  if (import.meta.env.COMMAND === "serve") {
152
144
  try {
153
- const ws2 = getDevServerWebSocket();
154
- ws2.addWxtEventListener("wxt:reload-extension", () => {
155
- browser3.runtime.reload();
145
+ const ws = getDevServerWebSocket();
146
+ ws.addWxtEventListener("wxt:reload-extension", () => {
147
+ browser.runtime.reload();
156
148
  });
157
- ws2.addWxtEventListener("wxt:reload-content-script", (event) => {
149
+ ws.addWxtEventListener("wxt:reload-content-script", (event) => {
158
150
  reloadContentScript(event.detail);
159
151
  });
160
152
  if (import.meta.env.MANIFEST_VERSION === 3) {
161
- ws2.addEventListener(
153
+ ws.addEventListener(
162
154
  "open",
163
- () => ws2.sendCustom("wxt:background-initialized")
155
+ () => ws.sendCustom("wxt:background-initialized")
164
156
  );
165
157
  keepServiceWorkerAlive();
166
158
  }
167
159
  } catch (err) {
168
160
  logger.error("Failed to setup web socket connection with dev server", err);
169
161
  }
170
- browser3.commands.onCommand.addListener((command) => {
162
+ browser.commands.onCommand.addListener((command) => {
171
163
  if (command === "wxt:reload-extension") {
172
- browser3.runtime.reload();
164
+ browser.runtime.reload();
173
165
  }
174
166
  });
175
167
  }
176
- var result;
168
+ let result;
177
169
  try {
178
170
  initPlugins();
179
171
  result = definition.main();
@@ -186,7 +178,6 @@ try {
186
178
  logger.error("The background crashed on startup!");
187
179
  throw err;
188
180
  }
189
- var background_entrypoint_default = result;
190
- export {
191
- background_entrypoint_default as default
192
- };
181
+ const result$1 = result;
182
+
183
+ export { result$1 as default };
@@ -1,9 +1,10 @@
1
- // src/virtual/content-script-isolated-world-entrypoint.ts
2
- import definition from "virtual:user-content-script-isolated-world-entrypoint";
1
+ import definition from 'virtual:user-content-script-isolated-world-entrypoint';
2
+ import { ContentScriptContext } from 'wxt/client';
3
+ import { initPlugins } from 'virtual:wxt-plugins';
3
4
 
4
- // src/sandbox/utils/logger.ts
5
5
  function print(method, ...args) {
6
- if (import.meta.env.MODE === "production") return;
6
+ if (import.meta.env.MODE === "production")
7
+ return;
7
8
  if (typeof args[0] === "string") {
8
9
  const message = args.shift();
9
10
  method(`[wxt] ${message}`, ...args);
@@ -11,17 +12,14 @@ function print(method, ...args) {
11
12
  method("[wxt]", ...args);
12
13
  }
13
14
  }
14
- var logger = {
15
+ const logger = {
15
16
  debug: (...args) => print(console.debug, ...args),
16
17
  log: (...args) => print(console.log, ...args),
17
18
  warn: (...args) => print(console.warn, ...args),
18
19
  error: (...args) => print(console.error, ...args)
19
20
  };
20
21
 
21
- // src/virtual/content-script-isolated-world-entrypoint.ts
22
- import { ContentScriptContext } from "wxt/client";
23
- import { initPlugins } from "virtual:wxt-plugins";
24
- var result = (async () => {
22
+ const result = (async () => {
25
23
  try {
26
24
  initPlugins();
27
25
  const { main, ...options } = definition;
@@ -35,7 +33,5 @@ var result = (async () => {
35
33
  throw err;
36
34
  }
37
35
  })();
38
- var content_script_isolated_world_entrypoint_default = result;
39
- export {
40
- content_script_isolated_world_entrypoint_default as default
41
- };
36
+
37
+ export { result as default };
@@ -1,9 +1,9 @@
1
- // src/virtual/content-script-main-world-entrypoint.ts
2
- import definition from "virtual:user-content-script-main-world-entrypoint";
1
+ import definition from 'virtual:user-content-script-main-world-entrypoint';
2
+ import { initPlugins } from 'virtual:wxt-plugins';
3
3
 
4
- // src/sandbox/utils/logger.ts
5
4
  function print(method, ...args) {
6
- if (import.meta.env.MODE === "production") return;
5
+ if (import.meta.env.MODE === "production")
6
+ return;
7
7
  if (typeof args[0] === "string") {
8
8
  const message = args.shift();
9
9
  method(`[wxt] ${message}`, ...args);
@@ -11,20 +11,17 @@ function print(method, ...args) {
11
11
  method("[wxt]", ...args);
12
12
  }
13
13
  }
14
- var logger = {
14
+ const logger = {
15
15
  debug: (...args) => print(console.debug, ...args),
16
16
  log: (...args) => print(console.log, ...args),
17
17
  warn: (...args) => print(console.warn, ...args),
18
18
  error: (...args) => print(console.error, ...args)
19
19
  };
20
20
 
21
- // src/virtual/content-script-main-world-entrypoint.ts
22
- import { initPlugins } from "virtual:wxt-plugins";
23
- var result = (async () => {
21
+ const result = (async () => {
24
22
  try {
25
23
  initPlugins();
26
- const { main } = definition;
27
- return await main();
24
+ return await definition.main();
28
25
  } catch (err) {
29
26
  logger.error(
30
27
  `The content script "${import.meta.env.ENTRYPOINT}" crashed on startup!`,
@@ -33,7 +30,5 @@ var result = (async () => {
33
30
  throw err;
34
31
  }
35
32
  })();
36
- var content_script_main_world_entrypoint_default = result;
37
- export {
38
- content_script_main_world_entrypoint_default as default
39
- };
33
+
34
+ export { result as default };
@@ -0,0 +1,6 @@
1
+ import { fakeBrowser } from 'wxt/testing';
2
+ export { fakeBrowser as default } from 'wxt/testing';
3
+
4
+ const browser = fakeBrowser;
5
+
6
+ export { browser };
@@ -1,6 +1,6 @@
1
- // src/sandbox/utils/logger.ts
2
1
  function print(method, ...args) {
3
- if (import.meta.env.MODE === "production") return;
2
+ if (import.meta.env.MODE === "production")
3
+ return;
4
4
  if (typeof args[0] === "string") {
5
5
  const message = args.shift();
6
6
  method(`[wxt] ${message}`, ...args);
@@ -8,15 +8,14 @@ function print(method, ...args) {
8
8
  method("[wxt]", ...args);
9
9
  }
10
10
  }
11
- var logger = {
11
+ const logger = {
12
12
  debug: (...args) => print(console.debug, ...args),
13
13
  log: (...args) => print(console.log, ...args),
14
14
  warn: (...args) => print(console.warn, ...args),
15
15
  error: (...args) => print(console.error, ...args)
16
16
  };
17
17
 
18
- // src/sandbox/dev-server-websocket.ts
19
- var ws;
18
+ let ws;
20
19
  function getDevServerWebSocket() {
21
20
  if (import.meta.env.COMMAND !== "serve")
22
21
  throw Error(
@@ -53,12 +52,12 @@ function getDevServerWebSocket() {
53
52
  return ws;
54
53
  }
55
54
 
56
- // src/virtual/reload-html.ts
57
55
  if (import.meta.env.COMMAND === "serve") {
58
56
  try {
59
- const ws2 = getDevServerWebSocket();
60
- ws2.addWxtEventListener("wxt:reload-page", (event) => {
61
- if (event.detail === location.pathname.substring(1)) location.reload();
57
+ const ws = getDevServerWebSocket();
58
+ ws.addWxtEventListener("wxt:reload-page", (event) => {
59
+ if (event.detail === location.pathname.substring(1))
60
+ location.reload();
62
61
  });
63
62
  } catch (err) {
64
63
  logger.error("Failed to setup web socket connection with dev server", err);
@@ -1,9 +1,9 @@
1
- // src/virtual/unlisted-script-entrypoint.ts
2
- import definition from "virtual:user-unlisted-script-entrypoint";
1
+ import definition from 'virtual:user-unlisted-script-entrypoint';
2
+ import { initPlugins } from 'virtual:wxt-plugins';
3
3
 
4
- // src/sandbox/utils/logger.ts
5
4
  function print(method, ...args) {
6
- if (import.meta.env.MODE === "production") return;
5
+ if (import.meta.env.MODE === "production")
6
+ return;
7
7
  if (typeof args[0] === "string") {
8
8
  const message = args.shift();
9
9
  method(`[wxt] ${message}`, ...args);
@@ -11,16 +11,14 @@ function print(method, ...args) {
11
11
  method("[wxt]", ...args);
12
12
  }
13
13
  }
14
- var logger = {
14
+ const logger = {
15
15
  debug: (...args) => print(console.debug, ...args),
16
16
  log: (...args) => print(console.log, ...args),
17
17
  warn: (...args) => print(console.warn, ...args),
18
18
  error: (...args) => print(console.error, ...args)
19
19
  };
20
20
 
21
- // src/virtual/unlisted-script-entrypoint.ts
22
- import { initPlugins } from "virtual:wxt-plugins";
23
- var result = (async () => {
21
+ const result = (async () => {
24
22
  try {
25
23
  initPlugins();
26
24
  return await definition.main();
@@ -32,7 +30,5 @@ var result = (async () => {
32
30
  throw err;
33
31
  }
34
32
  })();
35
- var unlisted_script_entrypoint_default = result;
36
- export {
37
- unlisted_script_entrypoint_default as default
38
- };
33
+
34
+ export { result as default };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "wxt",
3
3
  "type": "module",
4
- "version": "0.18.15",
4
+ "version": "0.19.0-alpha1",
5
5
  "description": "Next gen framework for developing web extensions",
6
6
  "repository": {
7
7
  "type": "git",
@@ -30,64 +30,47 @@
30
30
  "wxt": "./bin/wxt.mjs",
31
31
  "wxt-publish-extension": "./bin/wxt-publish-extension.cjs"
32
32
  },
33
- "main": "./dist/index.cjs",
34
- "module": "./dist/index.js",
33
+ "module": "./dist/index.mjs",
35
34
  "types": "./dist/index.d.ts",
36
35
  "exports": {
37
36
  ".": {
38
- "import": {
39
- "types": "./dist/index.d.ts",
40
- "default": "./dist/index.js"
41
- },
42
- "require": {
43
- "types": "./dist/index.d.cts",
44
- "default": "./dist/index.cjs"
45
- }
37
+ "types": "./dist/index.d.ts",
38
+ "default": "./dist/index.mjs"
46
39
  },
47
40
  "./client": {
48
- "types": "./dist/client.d.ts",
49
- "import": "./dist/client.js"
41
+ "types": "./dist/client/index.d.ts",
42
+ "default": "./dist/client/index.mjs"
50
43
  },
51
44
  "./sandbox": {
52
- "types": "./dist/sandbox.d.ts",
53
- "import": "./dist/sandbox.js"
45
+ "types": "./dist/sandbox/index.d.ts",
46
+ "default": "./dist/sandbox/index.mjs"
54
47
  },
55
48
  "./browser": {
56
- "types": "./dist/browser.d.ts",
57
- "import": "./dist/browser.js"
49
+ "types": "./dist/browser/index.d.ts",
50
+ "default": "./dist/browser/index.mjs"
51
+ },
52
+ "./browser/chrome": {
53
+ "types": "./dist/browser/chrome.d.ts",
54
+ "import": "./dist/browser/chrome.mjs"
55
+ },
56
+ "./browser/webextension-polyfill": {
57
+ "types": "./dist/browser/webextension-polyfill.d.ts",
58
+ "import": "./dist/browser/webextension-polyfill.mjs"
58
59
  },
59
60
  "./testing": {
60
- "import": {
61
- "types": "./dist/testing.d.ts",
62
- "default": "./dist/testing.js"
63
- },
64
- "require": {
65
- "types": "./dist/testing.d.cts",
66
- "default": "./dist/testing.cjs"
67
- }
61
+ "types": "./dist/testing/index.d.ts",
62
+ "default": "./dist/testing/index.mjs"
68
63
  },
69
64
  "./storage": {
70
- "import": {
71
- "types": "./dist/storage.d.ts",
72
- "default": "./dist/storage.js"
73
- },
74
- "require": {
75
- "types": "./dist/storage.d.cts",
76
- "default": "./dist/storage.cjs"
77
- }
65
+ "types": "./dist/storage.d.ts",
66
+ "default": "./dist/storage.mjs"
78
67
  },
79
68
  "./vite-builder-env": {
80
69
  "types": "./dist/vite-builder-env.d.ts"
81
70
  },
82
71
  "./modules": {
83
- "import": {
84
- "types": "./dist/modules.d.ts",
85
- "default": "./dist/modules.js"
86
- },
87
- "require": {
88
- "types": "./dist/modules.d.cts",
89
- "default": "./dist/modules.cjs"
90
- }
72
+ "types": "./dist/modules.d.ts",
73
+ "default": "./dist/modules.mjs"
91
74
  }
92
75
  },
93
76
  "dependencies": {
@@ -96,16 +79,16 @@
96
79
  "@webext-core/fake-browser": "^1.3.1",
97
80
  "@webext-core/isolated-element": "^1.1.2",
98
81
  "@webext-core/match-patterns": "^1.0.3",
99
- "async-mutex": "^0.4.1",
82
+ "async-mutex": "^0.5.0",
100
83
  "c12": "^1.11.1",
101
84
  "cac": "^6.7.14",
102
85
  "chokidar": "^3.6.0",
103
86
  "ci-info": "^4.0.0",
104
87
  "defu": "^6.1.4",
105
88
  "dequal": "^2.0.3",
106
- "esbuild": "^0.19.12",
89
+ "esbuild": "^0.23.0",
107
90
  "fast-glob": "^3.3.2",
108
- "filesize": "^10.1.2",
91
+ "filesize": "^10.1.4",
109
92
  "fs-extra": "^11.2.0",
110
93
  "get-port": "^7.1.0",
111
94
  "giget": "^1.2.3",
@@ -116,49 +99,60 @@
116
99
  "jszip": "^3.10.1",
117
100
  "linkedom": "^0.18.4",
118
101
  "magicast": "^0.3.4",
119
- "minimatch": "^9.0.5",
102
+ "minimatch": "^10.0.1",
120
103
  "natural-compare": "^1.4.0",
121
104
  "normalize-path": "^3.0.0",
122
105
  "nypm": "^0.3.9",
123
106
  "ohash": "^1.1.3",
124
107
  "open": "^10.1.0",
125
- "ora": "^7.0.1",
108
+ "ora": "^8.0.1",
126
109
  "picocolors": "^1.0.1",
127
110
  "prompts": "^2.4.2",
128
111
  "publish-browser-extension": "^2.1.3",
129
- "unimport": "^3.7.2",
130
- "vite": "^5.3.2",
131
- "vite-node": "^1.6.0",
112
+ "unimport": "^3.9.0",
113
+ "vite": "^5.3.4",
114
+ "vite-node": "^2.0.0",
132
115
  "web-ext-run": "^0.2.1",
133
- "webextension-polyfill": "^0.10.0"
116
+ "webextension-polyfill": "^0.12.0"
134
117
  },
135
118
  "devDependencies": {
136
119
  "@aklinker1/check": "^1.3.1",
137
120
  "@faker-js/faker": "^8.4.1",
121
+ "@types/chrome": "^0.0.268",
138
122
  "@types/fs-extra": "^11.0.4",
139
123
  "@types/lodash.merge": "^4.6.9",
140
124
  "@types/natural-compare": "^1.4.3",
141
- "@types/node": "^20.14.9",
125
+ "@types/node": "^20.14.11",
142
126
  "@types/normalize-path": "^3.0.2",
143
127
  "@types/prompts": "^2.4.9",
144
128
  "execa": "^9.3.0",
145
129
  "extract-zip": "^2.0.1",
146
- "happy-dom": "^13.10.1",
130
+ "happy-dom": "^14.12.3",
147
131
  "lodash.merge": "^4.6.2",
148
132
  "p-map": "^7.0.2",
149
- "publint": "^0.2.8",
150
- "tsup": "^8.1.0",
133
+ "publint": "^0.2.9",
151
134
  "tsx": "4.15.7",
152
- "typescript": "^5.5.2"
135
+ "typescript": "^5.5.3",
136
+ "unbuild": "^2.0.0",
137
+ "vitest": "^2.0.3",
138
+ "vitest-plugin-random-seed": "^1.1.0"
139
+ },
140
+ "peerDependencies": {
141
+ "@types/chrome": "*"
142
+ },
143
+ "peerDependenciesMeta": {
144
+ "@types/chrome": {
145
+ "optional": true
146
+ }
153
147
  },
154
148
  "scripts": {
155
149
  "wxt": "tsx src/cli/index.ts",
156
- "build": "buildc -- tsx scripts/build.ts",
150
+ "build": "buildc -- unbuild",
157
151
  "check": "buildc --deps-only -- run-s -c check:*",
158
152
  "check:default": "check",
159
153
  "check:tsc-virtual": "tsc --noEmit -p src/virtual",
160
154
  "test": "buildc --deps-only -- vitest",
161
- "test:e2e": "buildc --deps-only -- vitest -r e2e",
155
+ "test:coverage": "pnpm test -- run --coverage",
162
156
  "sync-releases": "pnpx changelogen@latest gh release"
163
157
  }
164
158
  }
package/dist/browser.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import { Browser, Runtime, I18n } from 'webextension-polyfill';
2
- export { Action, ActivityLog, Alarms, Bookmarks, BrowserAction, BrowserSettings, BrowsingData, CaptivePortal, Clipboard, Commands, ContentScripts, ContextMenus, ContextualIdentities, Cookies, DeclarativeNetRequest, Devtools, Dns, Downloads, Events, Experiments, Extension, ExtensionTypes, Find, GeckoProfiler, History, I18n, Identity, Idle, Management, Manifest, 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';
3
-
4
- /**
5
- * @module wxt/browser
6
- */
7
-
8
- interface AugmentedBrowser extends Browser {
9
- runtime: WxtRuntime;
10
- i18n: WxtI18n;
11
- }
12
- interface WxtRuntime extends Runtime.Static {
13
- }
14
- interface WxtI18n extends I18n.Static {
15
- }
16
- declare const browser: AugmentedBrowser;
17
-
18
- export { type AugmentedBrowser, type WxtI18n, type WxtRuntime, browser };
package/dist/browser.js DELETED
@@ -1,6 +0,0 @@
1
- import {
2
- browser
3
- } from "./chunk-FNTE2L27.js";
4
- export {
5
- browser
6
- };