extension-develop 2.0.0 → 2.0.3

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 (263) hide show
  1. package/README.md +230 -0
  2. package/dist/add-content-script-wrapper.js +1777 -0
  3. package/dist/add-hmr-accept-code.js +95 -3
  4. package/dist/build.d.ts +2 -0
  5. package/dist/cleanup.d.ts +1 -0
  6. package/dist/deprecated-shadow-root.js +115 -14
  7. package/dist/dev.d.ts +2 -0
  8. package/dist/develop-lib/config-types.d.ts +85 -0
  9. package/dist/develop-lib/extract-from-zip.d.ts +1 -0
  10. package/dist/develop-lib/find-nearest-package.d.ts +2 -0
  11. package/dist/develop-lib/generate-extension-types.d.ts +1 -0
  12. package/dist/develop-lib/generate-zip.d.ts +2 -0
  13. package/dist/develop-lib/get-extension-config.d.ts +6 -0
  14. package/dist/develop-lib/get-project-path.d.ts +6 -0
  15. package/dist/develop-lib/install-dependencies.d.ts +2 -0
  16. package/dist/develop-lib/messages.d.ts +35 -0
  17. package/dist/develop-lib/validate-user-dependencies.d.ts +1 -0
  18. package/dist/ensure-hmr-for-scripts.js +74 -3
  19. package/dist/extensions/chrome-manager-extension/background.js +1 -1
  20. package/dist/extensions/chrome-manager-extension/define-initial-tab.js +11 -1
  21. package/dist/extensions/chrome-manager-extension/images/logo.png +0 -0
  22. package/dist/extensions/chrome-manager-extension/manifest.json +3 -3
  23. package/dist/extensions/chrome-manager-extension/pages/welcome.html +3 -6
  24. package/dist/extensions/chrome-manager-extension/reload-service.js +214 -62
  25. package/dist/extensions/chromium-based-manager-extension/background.js +1 -1
  26. package/dist/extensions/chromium-based-manager-extension/define-initial-tab.js +11 -1
  27. package/dist/extensions/chromium-based-manager-extension/images/logo.png +0 -0
  28. package/dist/extensions/chromium-based-manager-extension/manifest.json +3 -3
  29. package/dist/extensions/chromium-based-manager-extension/pages/welcome.html +3 -6
  30. package/dist/extensions/chromium-based-manager-extension/reload-service.js +185 -28
  31. package/dist/extensions/edge-manager-extension/background.js +1 -1
  32. package/dist/extensions/edge-manager-extension/define-initial-tab.js +11 -1
  33. package/dist/extensions/edge-manager-extension/images/logo.png +0 -0
  34. package/dist/extensions/edge-manager-extension/manifest.json +3 -3
  35. package/dist/extensions/edge-manager-extension/pages/welcome.html +3 -6
  36. package/dist/extensions/edge-manager-extension/reload-service.js +223 -69
  37. package/dist/extensions/firefox-manager-extension/background.js +40 -12
  38. package/dist/extensions/firefox-manager-extension/define-initial-tab.js +16 -14
  39. package/dist/extensions/firefox-manager-extension/images/logo.png +0 -0
  40. package/dist/extensions/firefox-manager-extension/manifest.json +4 -5
  41. package/dist/extensions/firefox-manager-extension/pages/welcome.html +3 -6
  42. package/dist/extensions/firefox-manager-extension/reload-service.js +113 -75
  43. package/dist/extensions/gecko-based-manager-extension/background.js +1 -1
  44. package/dist/extensions/gecko-based-manager-extension/define-initial-tab.js +13 -6
  45. package/dist/extensions/gecko-based-manager-extension/images/logo.png +0 -0
  46. package/dist/extensions/gecko-based-manager-extension/manifest.json +3 -3
  47. package/dist/extensions/gecko-based-manager-extension/pages/welcome.html +3 -6
  48. package/dist/extensions/gecko-based-manager-extension/reload-service.js +54 -26
  49. package/dist/inject-chromium-client-loader.js +146 -22
  50. package/dist/inject-firefox-client-loader.js +166 -47
  51. package/dist/minimum-chromium-file.js +25 -0
  52. package/dist/minimum-content-file.js +5 -0
  53. package/dist/minimum-firefox-file.js +17 -0
  54. package/dist/minimum-script-file.js +5 -0
  55. package/dist/module.d.ts +8 -95
  56. package/dist/module.js +10703 -128
  57. package/dist/preview.d.ts +2 -0
  58. package/dist/rslib.config.d.ts +3 -0
  59. package/dist/start.d.ts +2 -0
  60. package/dist/types.d.ts +11 -0
  61. package/dist/vitest.config.d.mts +2 -0
  62. package/dist/webpack/dev-server.d.ts +3 -0
  63. package/dist/webpack/plugin-browsers/browsers-lib/add-progress-bar.d.ts +1 -0
  64. package/dist/webpack/plugin-browsers/browsers-lib/constants.d.ts +5 -0
  65. package/dist/webpack/plugin-browsers/browsers-lib/dynamic-extension-manager.d.ts +35 -0
  66. package/dist/webpack/plugin-browsers/browsers-lib/html-merge.d.ts +1 -0
  67. package/dist/webpack/plugin-browsers/browsers-lib/instance-manager.d.ts +71 -0
  68. package/dist/webpack/plugin-browsers/browsers-lib/messages.d.ts +161 -0
  69. package/dist/webpack/plugin-browsers/browsers-lib/rdp-wire.d.ts +7 -0
  70. package/dist/webpack/plugin-browsers/browsers-lib/shared-utils.d.ts +16 -0
  71. package/dist/webpack/plugin-browsers/browsers-types.d.ts +131 -0
  72. package/dist/webpack/plugin-browsers/index.d.ts +41 -0
  73. package/dist/webpack/plugin-browsers/run-chromium/browser-config.d.ts +3 -0
  74. package/dist/webpack/plugin-browsers/run-chromium/create-profile.d.ts +10 -0
  75. package/dist/webpack/plugin-browsers/run-chromium/index.d.ts +28 -0
  76. package/dist/webpack/plugin-browsers/run-chromium/master-preferences.d.ts +161 -0
  77. package/dist/webpack/plugin-browsers/run-chromium/setup-chrome-inspection/cdp-client.d.ts +29 -0
  78. package/dist/webpack/plugin-browsers/run-chromium/setup-chrome-inspection/index.d.ts +25 -0
  79. package/dist/webpack/plugin-browsers/run-firefox/firefox/binary-detector.d.ts +15 -0
  80. package/dist/webpack/plugin-browsers/run-firefox/firefox/browser-config.d.ts +7 -0
  81. package/dist/webpack/plugin-browsers/run-firefox/firefox/create-profile.d.ts +13 -0
  82. package/dist/webpack/plugin-browsers/run-firefox/firefox/master-preferences.d.ts +95 -0
  83. package/dist/webpack/plugin-browsers/run-firefox/index.d.ts +26 -0
  84. package/dist/webpack/plugin-browsers/run-firefox/remote-firefox/index.d.ts +13 -0
  85. package/dist/webpack/plugin-browsers/run-firefox/remote-firefox/message-utils.d.ts +2 -0
  86. package/dist/webpack/plugin-browsers/run-firefox/remote-firefox/messaging-client.d.ts +42 -0
  87. package/dist/webpack/plugin-browsers/run-firefox/remote-firefox/setup-firefox-inspection.d.ts +31 -0
  88. package/dist/webpack/plugin-compatibility/feature-browser-specific-fields.d.ts +9 -0
  89. package/dist/webpack/plugin-compatibility/feature-polyfill.d.ts +12 -0
  90. package/dist/webpack/plugin-compatibility/index.d.ts +13 -0
  91. package/dist/webpack/plugin-compilation/clean-dist.d.ts +8 -0
  92. package/dist/webpack/plugin-compilation/env.d.ts +9 -0
  93. package/dist/webpack/plugin-compilation/index.d.ts +12 -0
  94. package/dist/webpack/plugin-css/common-style-loaders.d.ts +8 -0
  95. package/dist/webpack/plugin-css/css-in-content-script-loader.d.ts +11 -0
  96. package/dist/webpack/plugin-css/css-in-html-loader.d.ts +8 -0
  97. package/dist/webpack/plugin-css/css-tools/less.d.ts +4 -0
  98. package/dist/webpack/plugin-css/css-tools/postcss.d.ts +3 -0
  99. package/dist/webpack/plugin-css/css-tools/sass.d.ts +4 -0
  100. package/dist/webpack/plugin-css/css-tools/stylelint.d.ts +4 -0
  101. package/dist/webpack/plugin-css/css-tools/tailwind.d.ts +2 -0
  102. package/dist/webpack/plugin-css/index.d.ts +9 -0
  103. package/dist/webpack/plugin-css/is-content-script.d.ts +1 -0
  104. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/action.d.ts +2 -0
  105. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/background.d.ts +2 -0
  106. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/browser_action.d.ts +2 -0
  107. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/chrome_url_overrides.d.ts +2 -0
  108. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/devtools_page.d.ts +2 -0
  109. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/index.d.ts +2 -0
  110. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/options_ui.d.ts +2 -0
  111. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/page_action.d.ts +2 -0
  112. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/sandbox.d.ts +2 -0
  113. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/side_panel.d.ts +2 -0
  114. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/sidebar_action.d.ts +2 -0
  115. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/action.d.ts +2 -0
  116. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/browser_action.d.ts +2 -0
  117. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/browser_action.theme_icons.d.ts +2 -0
  118. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/icons.d.ts +2 -0
  119. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/index.d.ts +2 -0
  120. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/normalize.d.ts +6 -0
  121. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/page_action.d.ts +2 -0
  122. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/sidebar_action.d.ts +2 -0
  123. package/dist/webpack/plugin-extension/data/manifest-fields/index.d.ts +19 -0
  124. package/dist/webpack/plugin-extension/data/manifest-fields/json-fields/declarative_net_request.d.ts +2 -0
  125. package/dist/webpack/plugin-extension/data/manifest-fields/json-fields/index.d.ts +2 -0
  126. package/dist/webpack/plugin-extension/data/manifest-fields/json-fields/storage.d.ts +2 -0
  127. package/dist/webpack/plugin-extension/data/manifest-fields/locales-fields/index.d.ts +1 -0
  128. package/dist/webpack/plugin-extension/data/manifest-fields/normalize.d.ts +10 -0
  129. package/dist/webpack/plugin-extension/data/manifest-fields/scripts-fields/background.d.ts +2 -0
  130. package/dist/webpack/plugin-extension/data/manifest-fields/scripts-fields/content_scripts.d.ts +2 -0
  131. package/dist/webpack/plugin-extension/data/manifest-fields/scripts-fields/index.d.ts +2 -0
  132. package/dist/webpack/plugin-extension/data/manifest-fields/scripts-fields/service_worker.d.ts +2 -0
  133. package/dist/webpack/plugin-extension/data/manifest-fields/scripts-fields/user_scripts.d.ts +2 -0
  134. package/dist/webpack/plugin-extension/data/manifest-fields/web-resources-fields/index.d.ts +2 -0
  135. package/dist/webpack/plugin-extension/data/special-folders/generate-entries.d.ts +4 -0
  136. package/dist/webpack/plugin-extension/data/special-folders/index.d.ts +12 -0
  137. package/dist/webpack/plugin-extension/feature-html/__spec__/html-lib/test-utils.d.ts +18 -0
  138. package/dist/webpack/plugin-extension/feature-html/html-lib/parse-html.d.ts +8 -0
  139. package/dist/webpack/plugin-extension/feature-html/html-lib/patch-html.d.ts +8 -0
  140. package/dist/webpack/plugin-extension/feature-html/html-lib/utils.d.ts +18 -0
  141. package/dist/webpack/plugin-extension/feature-html/index.d.ts +37 -0
  142. package/dist/webpack/plugin-extension/feature-html/steps/add-assets-to-compilation.d.ts +11 -0
  143. package/dist/webpack/plugin-extension/feature-html/steps/add-scripts-and-styles-to-compilation.d.ts +10 -0
  144. package/dist/webpack/plugin-extension/feature-html/steps/add-to-file-dependencies.d.ts +10 -0
  145. package/dist/webpack/plugin-extension/feature-html/steps/emit-html-file.d.ts +9 -0
  146. package/dist/webpack/plugin-extension/feature-html/steps/ensure-hmr-for-scripts.d.ts +2 -0
  147. package/dist/webpack/plugin-extension/feature-html/steps/handle-common-errors.d.ts +10 -0
  148. package/dist/webpack/plugin-extension/feature-html/steps/minimum-script-file.d.ts +1 -0
  149. package/dist/webpack/plugin-extension/feature-html/steps/throw-if-recompile-is-needed.d.ts +13 -0
  150. package/dist/webpack/plugin-extension/feature-html/steps/update-html-file.d.ts +10 -0
  151. package/dist/webpack/plugin-extension/feature-icons/index.d.ts +25 -0
  152. package/dist/webpack/plugin-extension/feature-icons/steps/add-to-file-dependencies.d.ts +9 -0
  153. package/dist/webpack/plugin-extension/feature-icons/steps/emit-file.d.ts +9 -0
  154. package/dist/webpack/plugin-extension/feature-json/index.d.ts +18 -0
  155. package/dist/webpack/plugin-extension/feature-locales/get-locales.d.ts +1 -0
  156. package/dist/webpack/plugin-extension/feature-locales/index.d.ts +13 -0
  157. package/dist/webpack/plugin-extension/feature-manifest/index.d.ts +23 -0
  158. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/background.d.ts +10 -0
  159. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/chrome_url_overrides.d.ts +8 -0
  160. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/commands.d.ts +16 -0
  161. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/content_scripts.d.ts +7 -0
  162. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/content_security_policy.d.ts +4 -0
  163. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/devtools_page.d.ts +4 -0
  164. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/icons.d.ts +6 -0
  165. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/index.d.ts +2 -0
  166. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/omnibox.d.ts +2 -0
  167. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/options_page.d.ts +4 -0
  168. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/options_ui.d.ts +8 -0
  169. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/page_action.d.ts +8 -0
  170. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/permissions.d.ts +4 -0
  171. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/sandbox.d.ts +7 -0
  172. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/sidebar_action.d.ts +2 -0
  173. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/storage.d.ts +6 -0
  174. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/theme.d.ts +2 -0
  175. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/user_scripts.d.ts +2 -0
  176. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/web_accessible_resources.d.ts +9 -0
  177. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/index.d.ts +2 -0
  178. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/background.d.ts +10 -0
  179. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/browser_action.d.ts +12 -0
  180. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/chrome_settings_overrides.d.ts +24 -0
  181. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/index.d.ts +2 -0
  182. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/page_action.d.ts +1 -0
  183. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/sidebar_action.d.ts +1 -0
  184. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/theme_experiment.d.ts +2 -0
  185. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/action.d.ts +8 -0
  186. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/background.d.ts +10 -0
  187. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/declarative_net_request.d.ts +2 -0
  188. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/host_permissions.d.ts +2 -0
  189. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/index.d.ts +2 -0
  190. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/side_panel.d.ts +2 -0
  191. package/dist/webpack/plugin-extension/feature-manifest/steps/add-dependencies.d.ts +6 -0
  192. package/dist/webpack/plugin-extension/feature-manifest/steps/check-manifest-files.d.ts +17 -0
  193. package/dist/webpack/plugin-extension/feature-manifest/steps/emit-manifest.d.ts +7 -0
  194. package/dist/webpack/plugin-extension/feature-manifest/steps/throw-if-recompile.d.ts +11 -0
  195. package/dist/webpack/plugin-extension/feature-manifest/steps/update-manifest.d.ts +9 -0
  196. package/dist/webpack/plugin-extension/feature-scripts/index.d.ts +27 -0
  197. package/dist/webpack/plugin-extension/feature-scripts/scripts-lib/utils.d.ts +3 -0
  198. package/dist/webpack/plugin-extension/feature-scripts/steps/add-content-script-wrapper.d.ts +2 -0
  199. package/dist/webpack/plugin-extension/feature-scripts/steps/add-hmr-accept-code.d.ts +2 -0
  200. package/dist/webpack/plugin-extension/feature-scripts/steps/add-public-path-for-main-world.d.ts +11 -0
  201. package/dist/webpack/plugin-extension/feature-scripts/steps/add-public-path-runtime-module.d.ts +4 -0
  202. package/dist/webpack/plugin-extension/feature-scripts/steps/add-scripts.d.ts +9 -0
  203. package/dist/webpack/plugin-extension/feature-scripts/steps/deprecated-shadow-root.d.ts +2 -0
  204. package/dist/webpack/plugin-extension/feature-scripts/steps/javascript-content-script-wrapper.d.ts +1 -0
  205. package/dist/webpack/plugin-extension/feature-scripts/steps/preact-content-script-wrapper.d.ts +1 -0
  206. package/dist/webpack/plugin-extension/feature-scripts/steps/react-content-script-wrapper.d.ts +1 -0
  207. package/dist/webpack/plugin-extension/feature-scripts/steps/svelte-content-script-wrapper.d.ts +1 -0
  208. package/dist/webpack/plugin-extension/feature-scripts/steps/typescript-content-script-wrapper.d.ts +1 -0
  209. package/dist/webpack/plugin-extension/feature-scripts/steps/vue-content-script-wrapper.d.ts +1 -0
  210. package/dist/webpack/plugin-extension/feature-special-folders/copy-public-folder.d.ts +14 -0
  211. package/dist/webpack/plugin-extension/feature-special-folders/index.d.ts +19 -0
  212. package/dist/webpack/plugin-extension/feature-special-folders/warn-upon-folder-changes.d.ts +7 -0
  213. package/dist/webpack/plugin-extension/feature-web-resources/clean-matches.d.ts +7 -0
  214. package/dist/webpack/plugin-extension/feature-web-resources/index.d.ts +18 -0
  215. package/dist/webpack/plugin-extension/index.d.ts +10 -0
  216. package/dist/webpack/plugin-js-frameworks/index.d.ts +13 -0
  217. package/dist/webpack/plugin-js-frameworks/js-tools/babel.d.ts +16 -0
  218. package/dist/webpack/plugin-js-frameworks/js-tools/preact.d.ts +3 -0
  219. package/dist/webpack/plugin-js-frameworks/js-tools/react.d.ts +3 -0
  220. package/dist/webpack/plugin-js-frameworks/js-tools/svelte.d.ts +3 -0
  221. package/dist/webpack/plugin-js-frameworks/js-tools/typescript.d.ts +36 -0
  222. package/dist/webpack/plugin-js-frameworks/js-tools/vue.d.ts +3 -0
  223. package/dist/webpack/plugin-js-frameworks/load-loader-options.d.ts +1 -0
  224. package/dist/webpack/plugin-reload/index.d.ts +13 -0
  225. package/dist/webpack/plugin-reload/reload-lib/messages.d.ts +106 -0
  226. package/dist/webpack/plugin-reload/reload-types.d.ts +14 -0
  227. package/dist/webpack/plugin-reload/start-server.d.ts +4 -0
  228. package/dist/webpack/plugin-reload/steps/create-web-socket-server/index.d.ts +14 -0
  229. package/dist/webpack/plugin-reload/steps/create-web-socket-server/web-socket-server/broadcast-message.d.ts +2 -0
  230. package/dist/webpack/plugin-reload/steps/create-web-socket-server/web-socket-server/message-dispatcher.d.ts +2 -0
  231. package/dist/webpack/plugin-reload/steps/create-web-socket-server/web-socket-server/servers.d.ts +2 -0
  232. package/dist/webpack/plugin-reload/steps/setup-chromium-reload-client/index.d.ts +3 -0
  233. package/dist/webpack/plugin-reload/steps/setup-chromium-reload-client/inject-chromium-client-loader.d.ts +9 -0
  234. package/dist/webpack/plugin-reload/steps/setup-chromium-reload-client/minimum-chromium-file.d.ts +0 -0
  235. package/dist/webpack/plugin-reload/steps/setup-firefox-reload-client/index.d.ts +3 -0
  236. package/dist/webpack/plugin-reload/steps/setup-firefox-reload-client/inject-firefox-client-loader.d.ts +9 -0
  237. package/dist/webpack/plugin-reload/steps/setup-firefox-reload-client/minimum-firefox-file.d.ts +0 -0
  238. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/apply-manifest-dev-defaults/index.d.ts +9 -0
  239. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/apply-manifest-dev-defaults/patch-background.d.ts +15 -0
  240. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/apply-manifest-dev-defaults/patch-csp.d.ts +5 -0
  241. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/apply-manifest-dev-defaults/patch-externally-connectable.d.ts +10 -0
  242. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/apply-manifest-dev-defaults/patch-web-resources.d.ts +10 -0
  243. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/generate-manager-extension.d.ts +15 -0
  244. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/index.d.ts +10 -0
  245. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/target-web-extension-plugin/index.d.ts +13 -0
  246. package/dist/webpack/plugin-static-assets/index.d.ts +12 -0
  247. package/dist/webpack/webpack-config.d.ts +14 -0
  248. package/dist/webpack/webpack-lib/auto-exit.d.ts +1 -0
  249. package/dist/webpack/webpack-lib/constants.d.ts +4 -0
  250. package/dist/webpack/webpack-lib/messages.d.ts +121 -0
  251. package/dist/webpack/webpack-lib/port-manager.d.ts +27 -0
  252. package/dist/webpack/webpack-lib/utils.d.ts +23 -0
  253. package/dist/webpack/webpack-types.d.ts +49 -0
  254. package/package.json +64 -29
  255. package/dist/depreacated-shadow-root.js +0 -34
  256. package/dist/inject-content-css-during-dev.js +0 -10
  257. package/dist/minimum-chromium-file.mjs +0 -1
  258. package/dist/minimum-content-file.mjs +0 -1
  259. package/dist/minimum-firefox-file.mjs +0 -1
  260. package/dist/resolver-loader.js +0 -1
  261. package/dist/resolver-module.mjs +0 -1
  262. package/dist/tailwind.config.js +0 -25
  263. /package/dist/{minimum-script-file.mjs → webpack/plugin-extension/feature-scripts/steps/minimum-content-file.d.ts} +0 -0
@@ -1,50 +1,169 @@
1
- "use strict";var M=Object.create;var u=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var O=(e,n)=>{for(var r in n)u(e,r,{get:n[r],enumerable:!0})},g=(e,n,r,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of T(n))!S.call(e,s)&&s!==r&&u(e,s,{get:()=>n[s],enumerable:!(a=j(n,s))||a.enumerable});return e};var c=(e,n,r)=>(r=e!=null?M(N(e)):{},g(n||!e||!e.__esModule?u(r,"default",{value:e,enumerable:!0}):r,e)),_=e=>g(u({},"__esModule",{value:!0}),e);var B={};O(B,{default:()=>H});module.exports=_(B);var f=c(require("path")),b=require("loader-utils"),v=require("schema-utils");var P=c(require("path")),U=c(require("fs")),A=require("child_process"),L=require("package-manager-detector");var I=c(require("path")),t=require("@colors/colors/safe");var h=c(require("path")),k=h.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),p=["chrome","edge"],D=["firefox"],J=[...p,...D];var R=require("console");function C(e,n){return n==="error"?`${(0,t.bold)((0,t.red)("ERROR"))} in ${e} ${(0,t.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:n==="warn"?`${e} ${(0,t.brightYellow)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:`${n==="info"?(0,t.cyan)("\u25BA\u25BA\u25BA"):(0,t.brightGreen)("\u25BA\u25BA\u25BA")} ${(0,t.cyan)(e)}`}function $(){return`${C("Firefox runner","error")} No Service Worker Support
2
-
3
- Firefox does not support the ${(0,t.brightYellow)("background.service_worker")} field yet.
4
- Update your manifest.json file to use ${(0,t.brightYellow)("background.scripts")} instead.
5
- If you really need to keep the ${(0,t.brightYellow)("service_worker")} field, prefix it with
6
- ${(0,t.brightYellow)("chromium:")} so it can target only Chromium-based browsers.
7
-
8
- Mozilla bug: ${(0,t.underline)("https://bugzilla.mozilla.org/show_bug.cgi?id=1573659")}.`}function y(e,n){return JSON.parse(JSON.stringify(e),function(s,l){let o=s.indexOf(":");if(o===-1)return l;let i=s.substring(0,o);(i===n||i==="chromium"&&p.includes(n)||i==="chromium"&&n.includes("chromium")||i==="gecko"&&n.includes("gecko"))&&(this[s.substring(o+1)]=l)})}var W={type:"object",properties:{test:{type:"string"},manifestPath:{type:"string"}}};function H(e){let n=this.getOptions(),r=n.manifestPath,a=n.browser,s=f.default.dirname(r),l=require(r),o=y(l,a);(0,v.validate)(W,n,{name:"reload:inject-background-client",baseDataPath:"options"});let i=(0,b.urlToRequest)(this.resourcePath),w=`
9
- ;browser.runtime.onMessageExternal.addListener(async (request, _sender) => {
10
- const managementInfo = await browser.management.getSelf()
11
-
12
- // Ping-pong between the user extension background page(this)
13
- // and the middleware socket client (reloadService.ts),
14
- // which will then send a message to the server
15
- // (startServer.ts) so it can display the extension info.
16
- if (request.initialLoadData) {
17
- return {
18
- id: browser.runtime.id,
19
- manifest: browser.runtime.getManifest(),
20
- management: managementInfo
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ default: ()=>inject_firefox_client_loader
28
+ });
29
+ const external_path_namespaceObject = require("path");
30
+ const external_fs_namespaceObject = require("fs");
31
+ const external_loader_utils_namespaceObject = require("loader-utils");
32
+ const external_schema_utils_namespaceObject = require("schema-utils");
33
+ require("os");
34
+ require("crypto");
35
+ require("child_process");
36
+ require("package-manager-detector");
37
+ require("pintor");
38
+ external_path_namespaceObject.join(process.cwd(), 'node_modules/extension-develop/dist/certs');
39
+ const CHROMIUM_BASED_BROWSERS = [
40
+ 'chrome',
41
+ 'edge'
42
+ ];
43
+ const GECKO_BASED_BROWSERS = [
44
+ 'firefox'
45
+ ];
46
+ [
47
+ ...CHROMIUM_BASED_BROWSERS,
48
+ ...GECKO_BASED_BROWSERS
49
+ ];
50
+ function filterKeysForThisBrowser(manifest, browser) {
51
+ const patchedManifest = JSON.parse(JSON.stringify(manifest), function(key, value) {
52
+ const indexOfColon = key.indexOf(':');
53
+ if (-1 === indexOfColon) return value;
54
+ const prefix = key.substring(0, indexOfColon);
55
+ if (prefix === browser || 'chromium' === prefix && CHROMIUM_BASED_BROWSERS.includes(browser) || 'chromium' === prefix && browser.includes('chromium') || 'gecko' === prefix && browser.includes('gecko')) this[key.substring(indexOfColon + 1)] = value;
56
+ });
57
+ return patchedManifest;
58
+ }
59
+ const schema = {
60
+ type: 'object',
61
+ properties: {
62
+ test: {
63
+ type: 'string'
64
+ },
65
+ manifestPath: {
66
+ type: 'string'
67
+ }
21
68
  }
22
- }
23
-
24
- // Reload the extension runtime if the manifest or
25
- // service worker changes.
26
- if (
27
- request.changedFile === 'manifest.json' ||
28
- request.changedFile === 'service_worker' ||
29
- request.changedFile === '_locales'
30
- ) {
31
- setTimeout(() => {
32
- browser.runtime.reload()
33
- }, 750)
34
- }
35
-
36
- // Reload all tabs if the contextMenus code changes.
37
- if (request.changedFile === "contextMenus") {
38
- browser.tabs.query({}, (tabs) => {
39
- if (!tabs) return;
40
- tabs.forEach((tab) => browser.tabs.reload(tab.id));
69
+ };
70
+ function inject_firefox_client_loader(source) {
71
+ const options = this.getOptions();
72
+ const manifestPath = options.manifestPath;
73
+ const browser = options.browser;
74
+ const projectPath = external_path_namespaceObject.dirname(manifestPath);
75
+ const manifest = JSON.parse(external_fs_namespaceObject.readFileSync(manifestPath, 'utf-8'));
76
+ const patchedManifest = filterKeysForThisBrowser(manifest, browser);
77
+ (0, external_schema_utils_namespaceObject.validate)(schema, options, {
78
+ name: 'reload:inject-firefox-client',
79
+ baseDataPath: 'options'
41
80
  });
42
- }
43
-
44
- // Reload all tabs if the declarative_net_request code changes.
45
- if (request.changedFile === 'declarative_net_request') {
46
- browser.runtime.reload()
47
- }
81
+ const url = (0, external_loader_utils_namespaceObject.urlToRequest)(this.resourcePath);
82
+ const firefoxReloadCode = `
83
+ // Firefox-specific reload handler
84
+ ;browser.runtime.onMessageExternal.addListener(
85
+ async (request, _sender, sendResponse) => {
86
+ const managementInfo = await new Promise((resolve) => {
87
+ browser.management.getSelf().then(resolve);
88
+ });
89
+
90
+ // Handle initial load data
91
+ if (request.initialLoadData) {
92
+ sendResponse({
93
+ id: browser.runtime.id,
94
+ manifest: browser.runtime.getManifest(),
95
+ management: managementInfo,
96
+ })
97
+ return true
98
+ }
99
+
100
+ // Enhanced reload logic for critical files in Firefox
101
+ if (
102
+ request.changedFile === 'manifest.json' ||
103
+ request.changedFile === 'service_worker' ||
104
+ request.changedFile === '_locales'
105
+ ) {
106
+ console.log('Firefox: Reloading extension due to critical file change:', request.changedFile);
107
+
108
+ try {
109
+ // Firefox-specific cache clearing
110
+ if (browser.storage && browser.storage.local) {
111
+ await browser.storage.local.clear();
112
+ }
113
+
114
+ const timestamp = Date.now();
115
+ console.log('Firefox: Forcing extension reload at:', timestamp);
116
+
117
+ sendResponse({reloaded: true, timestamp: timestamp})
118
+ browser.runtime.reload()
119
+ } catch (error) {
120
+ console.error('Firefox: Failed to reload extension:', error);
121
+ sendResponse({error: error.message})
122
+ }
123
+ }
48
124
 
49
- return {reloaded: true}
50
- });`,d=o.background;if(o.service_worker)return console.log($()),e;if(d){let m=d?.scripts;if(m)for(let E of[m[0]]){let F=f.default.resolve(s,E);if(i.includes(F))return`${w}${e}`}}return e}
125
+ return true
126
+ }
127
+ );
128
+
129
+ // Firefox-specific cache-busting mechanism
130
+ ;(function() {
131
+ const cacheBuster = Date.now();
132
+ console.log('Firefox background script loaded with cache buster:', cacheBuster);
133
+
134
+ // Force reload if this script is older than 1 second (optimized for faster manifest reloads)
135
+ const scriptAge = Date.now() - cacheBuster;
136
+ if (scriptAge > 1000) {
137
+ console.log('Firefox background script is stale, forcing reload');
138
+ browser.runtime.reload();
139
+ }
140
+ })();
141
+ `;
142
+ let manifestBg = patchedManifest.background;
143
+ if (manifestBg) {
144
+ const backgroundScripts = null == manifestBg ? void 0 : manifestBg.scripts;
145
+ if (backgroundScripts) {
146
+ if (2 === patchedManifest.manifest_version) for (const bgScript of [
147
+ backgroundScripts[0]
148
+ ]){
149
+ const absoluteUrl = external_path_namespaceObject.resolve(projectPath, bgScript);
150
+ if (url.includes(absoluteUrl)) return `${firefoxReloadCode}${source}`;
151
+ }
152
+ }
153
+ const serviceWorker = null == manifestBg ? void 0 : manifestBg.service_worker;
154
+ if (serviceWorker) {
155
+ if (3 === patchedManifest.manifest_version) {
156
+ const absoluteUrl = external_path_namespaceObject.resolve(projectPath, serviceWorker);
157
+ if (url.includes(absoluteUrl)) return `${firefoxReloadCode}${source}`;
158
+ }
159
+ }
160
+ }
161
+ return source;
162
+ }
163
+ exports["default"] = __webpack_exports__["default"];
164
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
165
+ "default"
166
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
167
+ Object.defineProperty(exports, '__esModule', {
168
+ value: true
169
+ });
@@ -0,0 +1,25 @@
1
+ var __webpack_exports__ = {};
2
+ chrome.runtime.onMessageExternal.addListener(async (request, _sender, sendResponse)=>{
3
+ const managementInfo = await new Promise((resolve)=>{
4
+ chrome.management.getSelf(resolve);
5
+ });
6
+ if (request.initialLoadData) {
7
+ sendResponse({
8
+ id: chrome.runtime.id,
9
+ manifest: chrome.runtime.getManifest(),
10
+ management: managementInfo
11
+ });
12
+ return true;
13
+ }
14
+ if ('declarative_net_request' === request.changedFile || 'manifest.json' === request.changedFile || 'service_worker' === request.changedFile || '_locales' === request.changedFile) {
15
+ sendResponse({
16
+ reloaded: true
17
+ });
18
+ chrome.runtime.reload();
19
+ }
20
+ return true;
21
+ });
22
+ for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
23
+ Object.defineProperty(exports, '__esModule', {
24
+ value: true
25
+ });
@@ -0,0 +1,5 @@
1
+ var __webpack_exports__ = {};
2
+ for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
@@ -0,0 +1,17 @@
1
+ var __webpack_exports__ = {};
2
+ browser.runtime.onMessageExternal.addListener(async (request, _sender)=>{
3
+ const managementInfo = await browser.management.getSelf();
4
+ if (request.initialLoadData) return {
5
+ id: browser.runtime.id,
6
+ manifest: browser.runtime.getManifest(),
7
+ management: managementInfo
8
+ };
9
+ if ('declarative_net_request' === request.changedFile || 'manifest.json' === request.changedFile || 'service_worker' === request.changedFile || '_locales' === request.changedFile) browser.runtime.reload();
10
+ return {
11
+ reloaded: true
12
+ };
13
+ });
14
+ for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
15
+ Object.defineProperty(exports, '__esModule', {
16
+ value: true
17
+ });
@@ -0,0 +1,5 @@
1
+ var __webpack_exports__ = {};
2
+ for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
package/dist/module.d.ts CHANGED
@@ -1,95 +1,8 @@
1
- import { Configuration } from '@rspack/core';
2
-
3
- type BrowserType = 'chrome' | 'edge' | 'firefox' | 'chromium-based' | 'gecko-based';
4
- interface BrowserOptionsBase {
5
- open?: boolean;
6
- profile?: string;
7
- startingUrl?: string;
8
- browser: BrowserType;
9
- }
10
- interface ChromiumOptions extends BrowserOptionsBase {
11
- browser: 'chromium-based';
12
- chromiumBinary?: string;
13
- }
14
- interface GeckoOptions extends BrowserOptionsBase {
15
- browser: 'gecko-based';
16
- geckoBinary?: string;
17
- }
18
- interface DevOptions extends BrowserOptionsBase {
19
- mode: 'development' | 'production' | 'none';
20
- polyfill?: boolean;
21
- chromiumBinary?: ChromiumOptions['chromiumBinary'];
22
- geckoBinary?: GeckoOptions['geckoBinary'];
23
- }
24
- interface BuildOptions {
25
- browser: BrowserOptionsBase['browser'];
26
- zipFilename?: string;
27
- zip?: boolean;
28
- zipSource?: boolean;
29
- polyfill?: boolean;
30
- silent?: boolean;
31
- }
32
- interface PreviewOptions extends BrowserOptionsBase {
33
- mode: 'production';
34
- chromiumBinary?: ChromiumOptions['chromiumBinary'];
35
- geckoBinary?: GeckoOptions['geckoBinary'];
36
- }
37
- interface StartOptions extends BrowserOptionsBase {
38
- mode: 'production';
39
- polyfill?: boolean;
40
- chromiumBinary?: ChromiumOptions['chromiumBinary'];
41
- geckoBinary?: GeckoOptions['geckoBinary'];
42
- }
43
- interface BrowserConfig extends BrowserOptionsBase {
44
- browserFlags?: string[];
45
- preferences?: Record<string, unknown>;
46
- chromiumBinary?: ChromiumOptions['chromiumBinary'];
47
- geckoBinary?: GeckoOptions['geckoBinary'];
48
- }
49
- interface FileConfig {
50
- browser?: {
51
- chrome?: BrowserConfig;
52
- firefox?: BrowserConfig;
53
- edge?: BrowserConfig;
54
- 'chromium-based'?: BrowserConfig;
55
- 'gecko-based'?: BrowserConfig;
56
- };
57
- commands?: {
58
- dev?: Pick<DevOptions, 'browser' | 'profile' | 'chromiumBinary' | 'geckoBinary' | 'open' | 'polyfill'> & {
59
- browserFlags?: string[];
60
- preferences?: Record<string, unknown>;
61
- };
62
- start?: Pick<StartOptions, 'browser' | 'profile' | 'chromiumBinary' | 'geckoBinary' | 'polyfill'> & {
63
- browserFlags?: string[];
64
- preferences?: Record<string, unknown>;
65
- };
66
- preview?: Pick<PreviewOptions, 'browser' | 'profile' | 'chromiumBinary' | 'geckoBinary'> & {
67
- browserFlags?: string[];
68
- preferences?: Record<string, unknown>;
69
- };
70
- build?: Pick<BuildOptions, 'browser' | 'zipFilename' | 'zip' | 'zipSource' | 'polyfill'>;
71
- };
72
- config?: (config: Configuration) => Configuration;
73
- }
74
-
75
- declare function extensionBuild(pathOrRemoteUrl: string | undefined, buildOptions?: BuildOptions): Promise<void>;
76
-
77
- declare function extensionDev(pathOrRemoteUrl: string | undefined, devOptions: DevOptions): Promise<void>;
78
-
79
- declare function extensionPreview(pathOrRemoteUrl: string | undefined, previewOptions: PreviewOptions): Promise<void>;
80
-
81
- declare function extensionStart(pathOrRemoteUrl: string | undefined, startOptions: StartOptions): Promise<void>;
82
-
83
- type ChromeManifest = Partial<chrome.runtime.ManifestV2> & Partial<chrome.runtime.ManifestV3> & {
84
- browser_action?: {
85
- theme_icons?: ThemeIcon[];
86
- };
87
- };
88
- type Manifest = ChromeManifest;
89
- interface ThemeIcon {
90
- light: string;
91
- dark: string;
92
- size?: number;
93
- }
94
-
95
- export { type BuildOptions, type DevOptions, type FileConfig, type Manifest, type PreviewOptions, type StartOptions, extensionBuild, extensionDev, extensionPreview, extensionStart };
1
+ import { extensionBuild } from './build';
2
+ import { extensionDev } from './dev';
3
+ import { extensionPreview } from './preview';
4
+ import { extensionStart } from './start';
5
+ import { cleanupCommand } from './cleanup';
6
+ import { type FileConfig, type BuildOptions, type DevOptions, type PreviewOptions, type StartOptions } from './develop-lib/config-types';
7
+ import { type Manifest } from './webpack/webpack-types';
8
+ export { extensionBuild, BuildOptions, extensionDev, DevOptions, extensionStart, StartOptions, extensionPreview, PreviewOptions, cleanupCommand, FileConfig, Manifest };