extension-develop 2.1.3 → 3.0.0-next.7

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 (276) hide show
  1. package/README.md +53 -25
  2. package/dist/930.js +44 -0
  3. package/dist/add-centralized-logger-script-background.js +220 -0
  4. package/dist/add-centralized-logger-script-content.js +172 -0
  5. package/dist/add-centralized-logger-script.js +332 -0
  6. package/dist/add-hmr-accept-code.js +5 -11
  7. package/dist/content-script-wrapper.js +166 -0
  8. package/dist/ensure-hmr-for-scripts.js +30 -11
  9. package/dist/minimum-chromium-file.js +6 -20
  10. package/dist/minimum-firefox-file.js +6 -12
  11. package/dist/module.js +12030 -9529
  12. package/dist/resolve-paths-loader.js +1391 -0
  13. package/dist/warn-no-default-export.js +121 -0
  14. package/package.json +21 -35
  15. package/dist/add-content-script-wrapper.js +0 -1789
  16. package/dist/build.d.ts +0 -2
  17. package/dist/cleanup.d.ts +0 -1
  18. package/dist/deprecated-shadow-root.js +0 -135
  19. package/dist/dev.d.ts +0 -2
  20. package/dist/develop-lib/config-types.d.ts +0 -86
  21. package/dist/develop-lib/extract-from-zip.d.ts +0 -1
  22. package/dist/develop-lib/find-nearest-package.d.ts +0 -2
  23. package/dist/develop-lib/generate-extension-types.d.ts +0 -1
  24. package/dist/develop-lib/generate-zip.d.ts +0 -2
  25. package/dist/develop-lib/get-extension-config.d.ts +0 -6
  26. package/dist/develop-lib/get-project-path.d.ts +0 -6
  27. package/dist/develop-lib/install-dependencies.d.ts +0 -2
  28. package/dist/develop-lib/messages.d.ts +0 -36
  29. package/dist/develop-lib/validate-user-dependencies.d.ts +0 -1
  30. package/dist/extensions/chrome-manager-extension/background.js +0 -84
  31. package/dist/extensions/chrome-manager-extension/define-initial-tab.js +0 -77
  32. package/dist/extensions/chrome-manager-extension/images/logo.png +0 -0
  33. package/dist/extensions/chrome-manager-extension/manifest.json +0 -17
  34. package/dist/extensions/chrome-manager-extension/pages/sakura-dark.css +0 -268
  35. package/dist/extensions/chrome-manager-extension/pages/sakura.css +0 -267
  36. package/dist/extensions/chrome-manager-extension/pages/welcome.html +0 -46
  37. package/dist/extensions/chrome-manager-extension/pages/welcome.js +0 -34
  38. package/dist/extensions/chrome-manager-extension/reload-service.js +0 -319
  39. package/dist/extensions/chromium-based-manager-extension/background.js +0 -84
  40. package/dist/extensions/chromium-based-manager-extension/define-initial-tab.js +0 -77
  41. package/dist/extensions/chromium-based-manager-extension/images/logo.png +0 -0
  42. package/dist/extensions/chromium-based-manager-extension/manifest.json +0 -17
  43. package/dist/extensions/chromium-based-manager-extension/pages/sakura-dark.css +0 -268
  44. package/dist/extensions/chromium-based-manager-extension/pages/sakura.css +0 -267
  45. package/dist/extensions/chromium-based-manager-extension/pages/welcome.html +0 -46
  46. package/dist/extensions/chromium-based-manager-extension/pages/welcome.js +0 -34
  47. package/dist/extensions/chromium-based-manager-extension/reload-service.js +0 -324
  48. package/dist/extensions/edge-manager-extension/background.js +0 -82
  49. package/dist/extensions/edge-manager-extension/define-initial-tab.js +0 -77
  50. package/dist/extensions/edge-manager-extension/images/logo.png +0 -0
  51. package/dist/extensions/edge-manager-extension/manifest.json +0 -17
  52. package/dist/extensions/edge-manager-extension/pages/sakura-dark.css +0 -268
  53. package/dist/extensions/edge-manager-extension/pages/sakura.css +0 -267
  54. package/dist/extensions/edge-manager-extension/pages/welcome.html +0 -46
  55. package/dist/extensions/edge-manager-extension/pages/welcome.js +0 -34
  56. package/dist/extensions/edge-manager-extension/reload-service.js +0 -321
  57. package/dist/extensions/firefox-manager-extension/background.js +0 -85
  58. package/dist/extensions/firefox-manager-extension/define-initial-tab.js +0 -64
  59. package/dist/extensions/firefox-manager-extension/images/logo.png +0 -0
  60. package/dist/extensions/firefox-manager-extension/manifest.json +0 -15
  61. package/dist/extensions/firefox-manager-extension/pages/sakura-dark.css +0 -268
  62. package/dist/extensions/firefox-manager-extension/pages/sakura.css +0 -267
  63. package/dist/extensions/firefox-manager-extension/pages/welcome.html +0 -46
  64. package/dist/extensions/firefox-manager-extension/pages/welcome.js +0 -34
  65. package/dist/extensions/firefox-manager-extension/reload-service.js +0 -178
  66. package/dist/extensions/gecko-based-manager-extension/background.js +0 -67
  67. package/dist/extensions/gecko-based-manager-extension/define-initial-tab.js +0 -69
  68. package/dist/extensions/gecko-based-manager-extension/images/logo.png +0 -0
  69. package/dist/extensions/gecko-based-manager-extension/manifest.json +0 -16
  70. package/dist/extensions/gecko-based-manager-extension/pages/sakura-dark.css +0 -268
  71. package/dist/extensions/gecko-based-manager-extension/pages/sakura.css +0 -267
  72. package/dist/extensions/gecko-based-manager-extension/pages/welcome.html +0 -46
  73. package/dist/extensions/gecko-based-manager-extension/pages/welcome.js +0 -34
  74. package/dist/extensions/gecko-based-manager-extension/reload-service.js +0 -171
  75. package/dist/inject-chromium-client-loader.js +0 -176
  76. package/dist/inject-firefox-client-loader.js +0 -169
  77. package/dist/minimum-content-file.js +0 -5
  78. package/dist/module.d.ts +0 -8
  79. package/dist/preview.d.ts +0 -2
  80. package/dist/rslib.config.d.ts +0 -3
  81. package/dist/start.d.ts +0 -2
  82. package/dist/types.d.ts +0 -11
  83. package/dist/vitest.config.d.mts +0 -2
  84. package/dist/webpack/dev-server.d.ts +0 -3
  85. package/dist/webpack/plugin-browsers/browsers-lib/add-progress-bar.d.ts +0 -1
  86. package/dist/webpack/plugin-browsers/browsers-lib/constants.d.ts +0 -5
  87. package/dist/webpack/plugin-browsers/browsers-lib/dynamic-extension-manager.d.ts +0 -35
  88. package/dist/webpack/plugin-browsers/browsers-lib/html-merge.d.ts +0 -1
  89. package/dist/webpack/plugin-browsers/browsers-lib/instance-manager.d.ts +0 -74
  90. package/dist/webpack/plugin-browsers/browsers-lib/messages.d.ts +0 -164
  91. package/dist/webpack/plugin-browsers/browsers-lib/rdp-wire.d.ts +0 -7
  92. package/dist/webpack/plugin-browsers/browsers-lib/shared-utils.d.ts +0 -16
  93. package/dist/webpack/plugin-browsers/browsers-types.d.ts +0 -131
  94. package/dist/webpack/plugin-browsers/index.d.ts +0 -41
  95. package/dist/webpack/plugin-browsers/run-chromium/browser-config.d.ts +0 -3
  96. package/dist/webpack/plugin-browsers/run-chromium/create-profile.d.ts +0 -10
  97. package/dist/webpack/plugin-browsers/run-chromium/index.d.ts +0 -28
  98. package/dist/webpack/plugin-browsers/run-chromium/master-preferences.d.ts +0 -161
  99. package/dist/webpack/plugin-browsers/run-chromium/setup-chrome-inspection/cdp-client.d.ts +0 -29
  100. package/dist/webpack/plugin-browsers/run-chromium/setup-chrome-inspection/index.d.ts +0 -25
  101. package/dist/webpack/plugin-browsers/run-firefox/firefox/binary-detector.d.ts +0 -15
  102. package/dist/webpack/plugin-browsers/run-firefox/firefox/browser-config.d.ts +0 -7
  103. package/dist/webpack/plugin-browsers/run-firefox/firefox/create-profile.d.ts +0 -13
  104. package/dist/webpack/plugin-browsers/run-firefox/firefox/master-preferences.d.ts +0 -95
  105. package/dist/webpack/plugin-browsers/run-firefox/index.d.ts +0 -26
  106. package/dist/webpack/plugin-browsers/run-firefox/remote-firefox/index.d.ts +0 -13
  107. package/dist/webpack/plugin-browsers/run-firefox/remote-firefox/message-utils.d.ts +0 -2
  108. package/dist/webpack/plugin-browsers/run-firefox/remote-firefox/messaging-client.d.ts +0 -42
  109. package/dist/webpack/plugin-browsers/run-firefox/remote-firefox/setup-firefox-inspection.d.ts +0 -31
  110. package/dist/webpack/plugin-compatibility/feature-browser-specific-fields.d.ts +0 -9
  111. package/dist/webpack/plugin-compatibility/feature-polyfill.d.ts +0 -12
  112. package/dist/webpack/plugin-compatibility/index.d.ts +0 -13
  113. package/dist/webpack/plugin-compilation/clean-dist.d.ts +0 -8
  114. package/dist/webpack/plugin-compilation/env.d.ts +0 -9
  115. package/dist/webpack/plugin-compilation/index.d.ts +0 -12
  116. package/dist/webpack/plugin-css/common-style-loaders.d.ts +0 -8
  117. package/dist/webpack/plugin-css/css-in-content-script-loader.d.ts +0 -11
  118. package/dist/webpack/plugin-css/css-in-html-loader.d.ts +0 -8
  119. package/dist/webpack/plugin-css/css-tools/less.d.ts +0 -4
  120. package/dist/webpack/plugin-css/css-tools/postcss.d.ts +0 -3
  121. package/dist/webpack/plugin-css/css-tools/sass.d.ts +0 -4
  122. package/dist/webpack/plugin-css/css-tools/stylelint.d.ts +0 -4
  123. package/dist/webpack/plugin-css/css-tools/tailwind.d.ts +0 -2
  124. package/dist/webpack/plugin-css/index.d.ts +0 -9
  125. package/dist/webpack/plugin-css/is-content-script.d.ts +0 -1
  126. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/action.d.ts +0 -2
  127. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/background.d.ts +0 -2
  128. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/browser_action.d.ts +0 -2
  129. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/chrome_url_overrides.d.ts +0 -2
  130. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/devtools_page.d.ts +0 -2
  131. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/index.d.ts +0 -2
  132. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/options_ui.d.ts +0 -2
  133. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/page_action.d.ts +0 -2
  134. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/sandbox.d.ts +0 -2
  135. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/side_panel.d.ts +0 -2
  136. package/dist/webpack/plugin-extension/data/manifest-fields/html-fields/sidebar_action.d.ts +0 -2
  137. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/action.d.ts +0 -2
  138. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/browser_action.d.ts +0 -2
  139. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/browser_action.theme_icons.d.ts +0 -2
  140. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/icons.d.ts +0 -2
  141. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/index.d.ts +0 -2
  142. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/normalize.d.ts +0 -6
  143. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/page_action.d.ts +0 -2
  144. package/dist/webpack/plugin-extension/data/manifest-fields/icons-fields/sidebar_action.d.ts +0 -2
  145. package/dist/webpack/plugin-extension/data/manifest-fields/index.d.ts +0 -19
  146. package/dist/webpack/plugin-extension/data/manifest-fields/json-fields/declarative_net_request.d.ts +0 -2
  147. package/dist/webpack/plugin-extension/data/manifest-fields/json-fields/index.d.ts +0 -2
  148. package/dist/webpack/plugin-extension/data/manifest-fields/json-fields/storage.d.ts +0 -2
  149. package/dist/webpack/plugin-extension/data/manifest-fields/locales-fields/index.d.ts +0 -1
  150. package/dist/webpack/plugin-extension/data/manifest-fields/normalize.d.ts +0 -10
  151. package/dist/webpack/plugin-extension/data/manifest-fields/scripts-fields/background.d.ts +0 -2
  152. package/dist/webpack/plugin-extension/data/manifest-fields/scripts-fields/content_scripts.d.ts +0 -2
  153. package/dist/webpack/plugin-extension/data/manifest-fields/scripts-fields/index.d.ts +0 -2
  154. package/dist/webpack/plugin-extension/data/manifest-fields/scripts-fields/service_worker.d.ts +0 -2
  155. package/dist/webpack/plugin-extension/data/manifest-fields/scripts-fields/user_scripts.d.ts +0 -2
  156. package/dist/webpack/plugin-extension/data/manifest-fields/web-resources-fields/index.d.ts +0 -2
  157. package/dist/webpack/plugin-extension/data/special-folders/generate-entries.d.ts +0 -4
  158. package/dist/webpack/plugin-extension/data/special-folders/index.d.ts +0 -12
  159. package/dist/webpack/plugin-extension/feature-html/__spec__/html-lib/test-utils.d.ts +0 -18
  160. package/dist/webpack/plugin-extension/feature-html/html-lib/parse-html.d.ts +0 -8
  161. package/dist/webpack/plugin-extension/feature-html/html-lib/patch-html.d.ts +0 -8
  162. package/dist/webpack/plugin-extension/feature-html/html-lib/utils.d.ts +0 -18
  163. package/dist/webpack/plugin-extension/feature-html/index.d.ts +0 -37
  164. package/dist/webpack/plugin-extension/feature-html/steps/add-assets-to-compilation.d.ts +0 -11
  165. package/dist/webpack/plugin-extension/feature-html/steps/add-scripts-and-styles-to-compilation.d.ts +0 -10
  166. package/dist/webpack/plugin-extension/feature-html/steps/add-to-file-dependencies.d.ts +0 -10
  167. package/dist/webpack/plugin-extension/feature-html/steps/emit-html-file.d.ts +0 -9
  168. package/dist/webpack/plugin-extension/feature-html/steps/ensure-hmr-for-scripts.d.ts +0 -2
  169. package/dist/webpack/plugin-extension/feature-html/steps/handle-common-errors.d.ts +0 -10
  170. package/dist/webpack/plugin-extension/feature-html/steps/minimum-script-file.d.ts +0 -1
  171. package/dist/webpack/plugin-extension/feature-html/steps/throw-if-recompile-is-needed.d.ts +0 -13
  172. package/dist/webpack/plugin-extension/feature-html/steps/update-html-file.d.ts +0 -10
  173. package/dist/webpack/plugin-extension/feature-icons/index.d.ts +0 -25
  174. package/dist/webpack/plugin-extension/feature-icons/steps/add-to-file-dependencies.d.ts +0 -9
  175. package/dist/webpack/plugin-extension/feature-icons/steps/emit-file.d.ts +0 -9
  176. package/dist/webpack/plugin-extension/feature-json/index.d.ts +0 -18
  177. package/dist/webpack/plugin-extension/feature-locales/get-locales.d.ts +0 -1
  178. package/dist/webpack/plugin-extension/feature-locales/index.d.ts +0 -13
  179. package/dist/webpack/plugin-extension/feature-manifest/index.d.ts +0 -23
  180. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/background.d.ts +0 -10
  181. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/chrome_url_overrides.d.ts +0 -8
  182. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/commands.d.ts +0 -16
  183. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/content_scripts.d.ts +0 -7
  184. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/content_security_policy.d.ts +0 -4
  185. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/devtools_page.d.ts +0 -4
  186. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/icons.d.ts +0 -6
  187. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/index.d.ts +0 -2
  188. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/omnibox.d.ts +0 -2
  189. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/options_page.d.ts +0 -4
  190. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/options_ui.d.ts +0 -8
  191. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/page_action.d.ts +0 -8
  192. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/permissions.d.ts +0 -4
  193. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/sandbox.d.ts +0 -7
  194. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/sidebar_action.d.ts +0 -2
  195. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/storage.d.ts +0 -6
  196. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/theme.d.ts +0 -2
  197. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/user_scripts.d.ts +0 -2
  198. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/common/web_accessible_resources.d.ts +0 -9
  199. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/index.d.ts +0 -2
  200. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/background.d.ts +0 -10
  201. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/browser_action.d.ts +0 -12
  202. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/chrome_settings_overrides.d.ts +0 -24
  203. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/index.d.ts +0 -2
  204. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/page_action.d.ts +0 -1
  205. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/sidebar_action.d.ts +0 -1
  206. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv2/theme_experiment.d.ts +0 -2
  207. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/action.d.ts +0 -8
  208. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/background.d.ts +0 -10
  209. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/declarative_net_request.d.ts +0 -2
  210. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/host_permissions.d.ts +0 -2
  211. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/index.d.ts +0 -2
  212. package/dist/webpack/plugin-extension/feature-manifest/manifest-overrides/mv3/side_panel.d.ts +0 -2
  213. package/dist/webpack/plugin-extension/feature-manifest/steps/add-dependencies.d.ts +0 -6
  214. package/dist/webpack/plugin-extension/feature-manifest/steps/check-manifest-files.d.ts +0 -17
  215. package/dist/webpack/plugin-extension/feature-manifest/steps/emit-manifest.d.ts +0 -7
  216. package/dist/webpack/plugin-extension/feature-manifest/steps/throw-if-recompile.d.ts +0 -11
  217. package/dist/webpack/plugin-extension/feature-manifest/steps/update-manifest.d.ts +0 -9
  218. package/dist/webpack/plugin-extension/feature-scripts/index.d.ts +0 -27
  219. package/dist/webpack/plugin-extension/feature-scripts/scripts-lib/utils.d.ts +0 -3
  220. package/dist/webpack/plugin-extension/feature-scripts/steps/add-content-script-wrapper.d.ts +0 -2
  221. package/dist/webpack/plugin-extension/feature-scripts/steps/add-hmr-accept-code.d.ts +0 -2
  222. package/dist/webpack/plugin-extension/feature-scripts/steps/add-public-path-for-main-world.d.ts +0 -11
  223. package/dist/webpack/plugin-extension/feature-scripts/steps/add-public-path-runtime-module.d.ts +0 -4
  224. package/dist/webpack/plugin-extension/feature-scripts/steps/add-scripts.d.ts +0 -9
  225. package/dist/webpack/plugin-extension/feature-scripts/steps/deprecated-shadow-root.d.ts +0 -2
  226. package/dist/webpack/plugin-extension/feature-scripts/steps/javascript-content-script-wrapper.d.ts +0 -1
  227. package/dist/webpack/plugin-extension/feature-scripts/steps/minimum-content-file.d.ts +0 -0
  228. package/dist/webpack/plugin-extension/feature-scripts/steps/preact-content-script-wrapper.d.ts +0 -1
  229. package/dist/webpack/plugin-extension/feature-scripts/steps/react-content-script-wrapper.d.ts +0 -1
  230. package/dist/webpack/plugin-extension/feature-scripts/steps/svelte-content-script-wrapper.d.ts +0 -1
  231. package/dist/webpack/plugin-extension/feature-scripts/steps/typescript-content-script-wrapper.d.ts +0 -1
  232. package/dist/webpack/plugin-extension/feature-scripts/steps/vue-content-script-wrapper.d.ts +0 -1
  233. package/dist/webpack/plugin-extension/feature-special-folders/copy-public-folder.d.ts +0 -14
  234. package/dist/webpack/plugin-extension/feature-special-folders/index.d.ts +0 -19
  235. package/dist/webpack/plugin-extension/feature-special-folders/warn-upon-folder-changes.d.ts +0 -7
  236. package/dist/webpack/plugin-extension/feature-web-resources/clean-matches.d.ts +0 -7
  237. package/dist/webpack/plugin-extension/feature-web-resources/index.d.ts +0 -18
  238. package/dist/webpack/plugin-extension/index.d.ts +0 -10
  239. package/dist/webpack/plugin-js-frameworks/index.d.ts +0 -13
  240. package/dist/webpack/plugin-js-frameworks/js-tools/babel.d.ts +0 -16
  241. package/dist/webpack/plugin-js-frameworks/js-tools/preact.d.ts +0 -3
  242. package/dist/webpack/plugin-js-frameworks/js-tools/react.d.ts +0 -3
  243. package/dist/webpack/plugin-js-frameworks/js-tools/svelte.d.ts +0 -3
  244. package/dist/webpack/plugin-js-frameworks/js-tools/typescript.d.ts +0 -36
  245. package/dist/webpack/plugin-js-frameworks/js-tools/vue.d.ts +0 -3
  246. package/dist/webpack/plugin-js-frameworks/load-loader-options.d.ts +0 -1
  247. package/dist/webpack/plugin-reload/index.d.ts +0 -13
  248. package/dist/webpack/plugin-reload/reload-lib/messages.d.ts +0 -106
  249. package/dist/webpack/plugin-reload/reload-types.d.ts +0 -14
  250. package/dist/webpack/plugin-reload/start-server.d.ts +0 -4
  251. package/dist/webpack/plugin-reload/steps/create-web-socket-server/index.d.ts +0 -14
  252. package/dist/webpack/plugin-reload/steps/create-web-socket-server/web-socket-server/broadcast-message.d.ts +0 -2
  253. package/dist/webpack/plugin-reload/steps/create-web-socket-server/web-socket-server/message-dispatcher.d.ts +0 -2
  254. package/dist/webpack/plugin-reload/steps/create-web-socket-server/web-socket-server/servers.d.ts +0 -2
  255. package/dist/webpack/plugin-reload/steps/setup-chromium-reload-client/index.d.ts +0 -3
  256. package/dist/webpack/plugin-reload/steps/setup-chromium-reload-client/inject-chromium-client-loader.d.ts +0 -9
  257. package/dist/webpack/plugin-reload/steps/setup-chromium-reload-client/minimum-chromium-file.d.ts +0 -0
  258. package/dist/webpack/plugin-reload/steps/setup-firefox-reload-client/index.d.ts +0 -3
  259. package/dist/webpack/plugin-reload/steps/setup-firefox-reload-client/inject-firefox-client-loader.d.ts +0 -9
  260. package/dist/webpack/plugin-reload/steps/setup-firefox-reload-client/minimum-firefox-file.d.ts +0 -0
  261. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/apply-manifest-dev-defaults/index.d.ts +0 -9
  262. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/apply-manifest-dev-defaults/patch-background.d.ts +0 -15
  263. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/apply-manifest-dev-defaults/patch-csp.d.ts +0 -5
  264. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/apply-manifest-dev-defaults/patch-externally-connectable.d.ts +0 -10
  265. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/apply-manifest-dev-defaults/patch-web-resources.d.ts +0 -10
  266. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/generate-manager-extension.d.ts +0 -15
  267. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/index.d.ts +0 -10
  268. package/dist/webpack/plugin-reload/steps/setup-reload-strategy/target-web-extension-plugin/index.d.ts +0 -13
  269. package/dist/webpack/plugin-static-assets/index.d.ts +0 -12
  270. package/dist/webpack/webpack-config.d.ts +0 -14
  271. package/dist/webpack/webpack-lib/auto-exit.d.ts +0 -1
  272. package/dist/webpack/webpack-lib/constants.d.ts +0 -4
  273. package/dist/webpack/webpack-lib/messages.d.ts +0 -121
  274. package/dist/webpack/webpack-lib/port-manager.d.ts +0 -27
  275. package/dist/webpack/webpack-lib/utils.d.ts +0 -23
  276. package/dist/webpack/webpack-types.d.ts +0 -49
@@ -1,321 +0,0 @@
1
- const TEN_SECONDS_MS = 10 * 1000
2
- const INSTANT_MS = 100
3
- let webSocket = null
4
-
5
- // Get instance ID from the service worker context
6
- const instanceId = '__INSTANCE_ID__'
7
-
8
- export async function connect() {
9
- if (webSocket) {
10
- // If already connected, do nothing
11
- return
12
- }
13
-
14
- // Get port from the placeholder that will be replaced during build
15
- const port = '__RELOAD_PORT__'
16
-
17
- let reconnectAttempts = 0
18
- const maxReconnectAttempts = 10
19
- const baseBackoffMs = 250
20
- const maxBackoffMs = 5000
21
-
22
- const establish = () => {
23
- try {
24
- webSocket = new WebSocket(`ws://127.0.0.1:${port}`)
25
- } catch (err) {
26
- webSocket = null
27
- return
28
- }
29
-
30
- webSocket.onerror = (_event) => {
31
- try {
32
- webSocket && webSocket.close()
33
- } catch {}
34
- }
35
-
36
- webSocket.onopen = () => {
37
- reconnectAttempts = 0
38
- console.info(
39
- `[Extension.js] Connection opened. Listening on port ${port} for instance ${instanceId}...`
40
- )
41
- }
42
-
43
- let reloadDebounce
44
- webSocket.onmessage = async (event) => {
45
- let message = null
46
- try {
47
- message = JSON.parse(event.data)
48
- } catch {
49
- return
50
- }
51
-
52
- // Only process messages for this instance
53
- if (message.instanceId && message.instanceId !== instanceId) {
54
- return
55
- }
56
-
57
- if (message.status === 'serverReady') {
58
- await requestInitialLoadData()
59
- }
60
-
61
- if (message.changedFile) {
62
- clearTimeout(reloadDebounce)
63
- reloadDebounce = setTimeout(async () => {
64
- await hardReloadAllExtensions(message.changedFile)
65
- }, 200)
66
- }
67
- }
68
-
69
- webSocket.onclose = () => {
70
- webSocket = null
71
- if (reconnectAttempts >= maxReconnectAttempts) return
72
- reconnectAttempts++
73
- const backoff = Math.min(
74
- maxBackoffMs,
75
- baseBackoffMs * 2 ** reconnectAttempts
76
- )
77
- setTimeout(establish, backoff)
78
- }
79
- }
80
-
81
- establish()
82
- }
83
-
84
- export function disconnect() {
85
- if (webSocket) {
86
- webSocket.close()
87
- }
88
- }
89
-
90
- // Ensure sockets are closed when the worker is suspended
91
- try {
92
- chrome.runtime.onSuspend.addListener(() => {
93
- if (webSocket) {
94
- try {
95
- webSocket.close()
96
- } catch {}
97
- webSocket = null
98
- }
99
- })
100
- } catch {}
101
-
102
- async function requestInitialLoadData() {
103
- const devExtensions = await getDevExtensions()
104
-
105
- for (const extension of devExtensions) {
106
- try {
107
- const response = await chrome.runtime.sendMessage(extension.id, {
108
- initialLoadData: true
109
- })
110
-
111
- if (response) {
112
- // Send the response back to the server with instance ID
113
- webSocket.send(
114
- JSON.stringify({
115
- status: 'clientReady',
116
- instanceId: instanceId,
117
- data: response
118
- })
119
- )
120
- }
121
- } catch (error) {
122
- console.error(
123
- `Error sending message to ${extension.id}: ${error.message}`
124
- )
125
- }
126
- }
127
- }
128
-
129
- async function getDevExtensions() {
130
- const allExtensions = await new Promise((resolve) => {
131
- chrome.management.getAll(resolve)
132
- })
133
-
134
- return allExtensions.filter((extension) => {
135
- return (
136
- // Do not include itself
137
- extension.id !== chrome.runtime.id &&
138
- // Reload extension
139
- extension.id !== 'igcijhgmihmjbbahdabahfbpffalcfnn' &&
140
- // Show only unpackaged extensions
141
- extension.installType === 'development'
142
- )
143
- })
144
- }
145
-
146
- async function hardReloadAllExtensions(changedFile) {
147
- // For critical files like manifest.json, skip the long delay
148
- const isCriticalFile =
149
- changedFile === 'manifest.json' ||
150
- changedFile === 'service_worker' ||
151
- changedFile === 'declarative_net_request'
152
-
153
- // Check if the external extension is ready with optimized timing
154
- const isExtensionReady = await checkExtensionReadiness(isCriticalFile)
155
-
156
- if (isExtensionReady) {
157
- const devExtensions = await getDevExtensions()
158
- const reloadAll = devExtensions.map(async (extension) => {
159
- await hardReloadExtension(extension.id)
160
-
161
- chrome.runtime.sendMessage(extension.id, {changedFile}, (response) => {
162
- if (response) {
163
- console.info(
164
- `[Extension.js] Extension reloaded and ready for instance ${instanceId}.`
165
- )
166
- }
167
- })
168
-
169
- return true
170
- })
171
-
172
- await Promise.all(reloadAll)
173
- } else {
174
- console.info(
175
- `[Extension.js] External extension is not ready for instance ${instanceId}.`
176
- )
177
- }
178
- }
179
-
180
- async function checkExtensionReadiness(isCriticalFile = false) {
181
- return new Promise((resolve) => {
182
- // For critical files like manifest.json, use minimal delay
183
- // For regular files, use longer delay to ensure stability
184
- const delay = isCriticalFile ? INSTANT_MS : TEN_SECONDS_MS
185
-
186
- setTimeout(() => {
187
- resolve(true)
188
- }, delay)
189
- })
190
- }
191
-
192
- async function delay(ms) {
193
- return await new Promise((resolve) => setTimeout(resolve, ms))
194
- }
195
-
196
- export function keepAlive() {
197
- const keepAliveIntervalId = setInterval(() => {
198
- if (webSocket) {
199
- webSocket.send(JSON.stringify({status: 'ping'}))
200
- console.info('[Extension.js] Listening for changes...')
201
- } else {
202
- clearInterval(keepAliveIntervalId)
203
- }
204
- }, TEN_SECONDS_MS)
205
- }
206
-
207
- // Smart reload strategy: Try standard method first, fallback to CDP if needed
208
- async function hardReloadExtension(extensionId) {
209
- try {
210
- // Try the standard enable/disable reload first (feels natural)
211
- await chrome.management.setEnabled(extensionId, false)
212
- await chrome.management.setEnabled(extensionId, true)
213
-
214
- // Verify it worked with a simple health check
215
- const isHealthy = await verifyExtensionHealth(extensionId)
216
- if (isHealthy) {
217
- console.info(
218
- `[Extension.js] Standard reload successful for ${extensionId}`
219
- )
220
- return true
221
- }
222
-
223
- // If we get here, the reload "succeeded" but extension isn't healthy
224
- throw new Error('Extension reloaded but not responding')
225
- } catch (error) {
226
- console.warn(
227
- `[Extension.js] Standard reload failed for ${extensionId}, trying CDP fallback: ${error.message}`
228
- )
229
-
230
- // Only use CDP when the natural approach fails
231
- return await attemptCDPFallback(extensionId)
232
- }
233
- }
234
-
235
- // CDP fallback for when standard reload fails
236
- async function attemptCDPFallback(extensionId) {
237
- try {
238
- // Get extension info to find its source path
239
- const extensionInfo = await new Promise((resolve) => {
240
- chrome.management.get(extensionId, resolve)
241
- })
242
-
243
- if (!extensionInfo || !extensionInfo.path) {
244
- console.warn(
245
- `[Extension.js] No path info for ${extensionId}, CDP fallback not possible`
246
- )
247
- return false
248
- }
249
-
250
- // Use CDP client directly for seamless fallback
251
- const cdpClient = await getCDPClient()
252
- if (!cdpClient) {
253
- console.warn(`[Extension.js] CDP client not available for ${extensionId}`)
254
- return false
255
- }
256
-
257
- // Use CDP to force reload the extension
258
- const success = await cdpClient.forceReloadExtension(extensionId)
259
- if (success) {
260
- console.info(`[Extension.js] CDP fallback successful for ${extensionId}`)
261
- return true
262
- } else {
263
- console.warn(`[Extension.js] CDP fallback failed for ${extensionId}`)
264
- return false
265
- }
266
- } catch (cdpError) {
267
- console.error(
268
- `[Extension.js] CDP fallback also failed for ${extensionId}: ${cdpError.message}`
269
- )
270
- return false
271
- }
272
- }
273
-
274
- // Get CDP client instance
275
- // This will be injected by the build process
276
- async function getCDPClient() {
277
- try {
278
- // The CDP client will be available globally when injected
279
- if (typeof window !== 'undefined' && window.cdpClient) {
280
- return window.cdpClient
281
- }
282
-
283
- // Fallback for service worker context
284
- if (typeof globalThis !== 'undefined' && globalThis.cdpClient) {
285
- return globalThis.cdpClient
286
- }
287
-
288
- console.warn(`[Extension.js] CDP client not found in global scope`)
289
- return null
290
- } catch (error) {
291
- console.warn(`[Extension.js] Failed to get CDP client: ${error.message}`)
292
- return null
293
- }
294
- }
295
-
296
- // Simple health check to verify extension is responsive
297
- async function verifyExtensionHealth(extensionId) {
298
- try {
299
- // Simple ping to see if extension responds
300
- await new Promise((resolve, reject) => {
301
- const timeout = setTimeout(() => {
302
- reject(new Error('Health check timeout'))
303
- }, 2000)
304
-
305
- chrome.runtime.sendMessage(extensionId, {type: 'PING'}, (response) => {
306
- clearTimeout(timeout)
307
- if (chrome.runtime.lastError) {
308
- reject(new Error(chrome.runtime.lastError.message))
309
- } else {
310
- resolve(response)
311
- }
312
- })
313
- })
314
- return true
315
- } catch (error) {
316
- console.warn(
317
- `[Extension.js] Health check failed for ${extensionId}: ${error.message}`
318
- )
319
- return false
320
- }
321
- }
@@ -1,85 +0,0 @@
1
- // Raw background: rely on global-scope functions provided by included scripts
2
-
3
- function bgGreen(str) {
4
- return `background: transparent; color: #0971fe; ${str}`
5
- }
6
-
7
- async function handleTabOnExtensionLoad() {
8
- console.log(
9
- `%c
10
- ██████████████████████████████████████████████████████████
11
- ██████████████████████████████████████████████████████████
12
- ████████████████████████████ ██████████████████████████
13
- █████████████████████████ ██████ ███████████████
14
- ███████████████████████ ███ ███ ████████████
15
- ██████████████████████ ██████ ███ ███████████
16
- ███████████████████████ ██████ ██████ ███████████
17
- ████████████████ ██████ ██████████████ ███████████
18
- █████████████ ████ ████████████ ████████████
19
- ███████████ ██ █████████████ ███████████████
20
- ██████████ ██████ █████████████████ █████████████
21
- ███████████ ████████████████████████████ ███████████
22
- █████████████ █████████████████ ██████ ██████████
23
- ███████████████ ██████████████ ██ ██████████
24
- ████████████ ████████████ ████ █████████████
25
- ███████████ █████████████ ██████ ███████████████
26
- ███████████ ██████ ██████ ███████████████████████
27
- ███████████ ████ ██████ ██████████████████████
28
- ████████████ ██ ███ ███████████████████████
29
- ███████████████ ██████ █████████████████████████
30
- ██████████████████████████ ████████████████████████████
31
- ██████████████████████████████████████████████████████████
32
- ██████████████████████████████████████████████████████████
33
- MIT (c) ${new Date().getFullYear()} - Cezar Augusto and the Extension.js Authors.
34
- `,
35
- bgGreen('')
36
- )
37
-
38
- try {
39
- await handleFirstRun()
40
- } catch (error) {
41
- console.error(
42
- '[Extension.js] Error handling tabs on extension load:',
43
- error
44
- )
45
- }
46
- try {
47
- const [initialTab] = await browser.tabs.query({
48
- active: true,
49
- currentWindow: true
50
- })
51
- if (initialTab) {
52
- await createFirefoxAddonsTab(initialTab, 'about:blank')
53
- }
54
- } catch {}
55
- }
56
-
57
- // Run on install and on startup to ensure welcome/connection behavior is reliable
58
- browser.runtime.onInstalled.addListener(async () => {
59
- try {
60
- await handleFirstRun()
61
- } catch {}
62
- try {
63
- await handleTabOnExtensionLoad()
64
- } catch {}
65
- try {
66
- await connect()
67
- } catch {}
68
- })
69
-
70
- browser.runtime.onStartup.addListener(async () => {
71
- try {
72
- await handleFirstRun()
73
- } catch {}
74
- try {
75
- await handleTabOnExtensionLoad()
76
- } catch {}
77
- try {
78
- await connect()
79
- } catch {}
80
- })
81
-
82
- // Attempt immediate connection for resilience
83
- try {
84
- connect()
85
- } catch {}
@@ -1,64 +0,0 @@
1
- async function getDevExtension() {
2
- const allExtensions = await browser.management.getAll()
3
-
4
- return allExtensions.filter((extension) => {
5
- return (
6
- // Reload extension
7
- extension.name !== 'Extension.js DevTools' &&
8
- // Show only unpackaged extensions (Firefox reports "temporary")
9
- (extension.installType === 'development' ||
10
- extension.installType === 'temporary')
11
- )
12
- })[0]
13
- }
14
-
15
- // Create a new tab and set it to background.
16
- async function createFirefoxAddonsTab(initialTab, url) {
17
- try {
18
- // If a tab with the desired URL already exists, do nothing
19
- const existing = await browser.tabs.query({url})
20
- if (existing && existing.length > 0) return
21
-
22
- // Create an inactive tab with the requested URL
23
- const addonsTab = await browser.tabs.create({url, active: false})
24
-
25
- // Get the initial page tab and move the new addons tab to the first position.
26
- // This will auto-activate the initial page tab because we set the addons tab to inactive
27
- await browser.tabs.move(addonsTab.id, {index: 0})
28
-
29
- // Reactivate the user-selected initial page tab
30
- await browser.tabs.update(initialTab.id, {active: true})
31
- } catch (error) {
32
- console.error('Error creating and manipulating tabs:', error)
33
- }
34
- }
35
-
36
- // Function to handle first run logic
37
- async function handleFirstRun() {
38
- try {
39
- const devExtension = await getDevExtension()
40
-
41
- if (!devExtension) {
42
- console.warn('No development extensions found')
43
- return
44
- }
45
-
46
- const result = await browser.storage.local.get(devExtension.id)
47
-
48
- if (result[devExtension.id] && result[devExtension.id].didRun) {
49
- return
50
- }
51
-
52
- // Open the welcome page only if not already open
53
- const welcomeUrl = browser.runtime.getURL('./pages/welcome.html')
54
- const existingWelcome = await browser.tabs.query({url: welcomeUrl})
55
- if (!existingWelcome || existingWelcome.length === 0) {
56
- await browser.tabs.create({url: './pages/welcome.html'})
57
- }
58
-
59
- // Ensure the welcome page shows only once per extension installation
60
- await browser.storage.local.set({[devExtension.id]: {didRun: true}})
61
- } catch (error) {
62
- console.error('Error handling tabs on extension load:', error)
63
- }
64
- }
@@ -1,15 +0,0 @@
1
- {
2
- "name": "Extension.js DevTools",
3
- "description": "Extension.js built-in developer tools for browser instance ID __INSTANCE_ID__",
4
- "version": "1.0.0",
5
- "manifest_version": 2,
6
- "background": {
7
- "scripts": ["define-initial-tab.js", "reload-service.js", "background.js"]
8
- },
9
- "icons": {
10
- "16": "images/logo.png",
11
- "48": "images/logo.png",
12
- "128": "images/logo.png"
13
- },
14
- "permissions": ["management", "tabs", "storage"]
15
- }