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,324 +0,0 @@
1
- const TEN_SECONDS_MS = 10 * 1000
2
- const INSTANT_MS = 100
3
- let webSocket = null
4
-
5
- export async function connect() {
6
- if (webSocket) {
7
- // If already connected, do nothing
8
- return
9
- }
10
-
11
- // Get port from the placeholder that will be replaced during build
12
- const port = '__RELOAD_PORT__'
13
-
14
- let reconnectAttempts = 0
15
- const maxReconnectAttempts = 10
16
- const baseBackoffMs = 250
17
- const maxBackoffMs = 5000
18
-
19
- const establish = () => {
20
- try {
21
- webSocket = new WebSocket(`ws://127.0.0.1:${port}`)
22
- } catch (err) {
23
- webSocket = null
24
- return
25
- }
26
-
27
- webSocket.onerror = (_event) => {
28
- try {
29
- webSocket && webSocket.close()
30
- } catch {}
31
- }
32
-
33
- webSocket.onopen = () => {
34
- reconnectAttempts = 0
35
- console.info(
36
- `[Extension.js] Connection opened. Listening on port ${port}...`
37
- )
38
- }
39
-
40
- let reloadDebounce
41
- webSocket.onmessage = async (event) => {
42
- let message = null
43
- try {
44
- message = JSON.parse(event.data)
45
- } catch {
46
- return
47
- }
48
-
49
- if (message.status === 'serverReady') {
50
- await requestInitialLoadData()
51
- }
52
-
53
- if (message.changedFile) {
54
- clearTimeout(reloadDebounce)
55
- reloadDebounce = setTimeout(async () => {
56
- await hardReloadAllExtensions(message.changedFile)
57
- }, 200)
58
- }
59
- }
60
-
61
- webSocket.onclose = () => {
62
- webSocket = null
63
- if (reconnectAttempts >= maxReconnectAttempts) return
64
- reconnectAttempts++
65
- const backoff = Math.min(
66
- maxBackoffMs,
67
- baseBackoffMs * 2 ** reconnectAttempts
68
- )
69
- setTimeout(establish, backoff)
70
- }
71
- }
72
-
73
- establish()
74
- }
75
-
76
- export function disconnect() {
77
- if (webSocket) {
78
- webSocket.close()
79
- }
80
- }
81
-
82
- // Ensure sockets are closed when the worker is suspended
83
- try {
84
- chrome.runtime.onSuspend.addListener(() => {
85
- if (webSocket) {
86
- try {
87
- webSocket.close()
88
- } catch {}
89
- webSocket = null
90
- }
91
- })
92
- } catch {}
93
-
94
- async function getDevExtensions() {
95
- const allExtensions = await new Promise((resolve) => {
96
- chrome.management.getAll(resolve)
97
- })
98
-
99
- return allExtensions.filter((extension) => {
100
- return (
101
- // Do not include itself
102
- extension.id !== chrome.runtime.id &&
103
- // Manager extension
104
- extension.id !== 'hkklidinfhnfidkjiknmmbmcloigimco' &&
105
- // Show only unpackaged extensions
106
- extension.installType === 'development'
107
- )
108
- })
109
- }
110
-
111
- async function hardReloadAllExtensions(changedFile) {
112
- // For critical files like manifest.json, skip the delay entirely
113
- const isCriticalFile =
114
- changedFile === 'manifest.json' ||
115
- changedFile === 'service_worker' ||
116
- changedFile === 'declarative_net_request'
117
-
118
- // Check if the external extension is ready with optimized timing
119
- const isExtensionReady = await checkExtensionReadiness(isCriticalFile)
120
-
121
- if (isExtensionReady) {
122
- const devExtensions = await getDevExtensions()
123
- const reloadAll = devExtensions.map(async (extension) => {
124
- await hardReloadExtension(extension.id)
125
-
126
- chrome.runtime.sendMessage(extension.id, {changedFile}, (response) => {
127
- if (response) {
128
- console.info('[Reload Service] Extension reloaded and ready.')
129
- }
130
- })
131
-
132
- return true
133
- })
134
-
135
- await Promise.all(reloadAll)
136
- } else {
137
- console.info('[Reload Service] External extension is not ready.')
138
- }
139
- }
140
-
141
- async function requestInitialLoadData() {
142
- const devExtensions = await getDevExtensions()
143
-
144
- const messagePromises = devExtensions.map(async (extension) => {
145
- return await new Promise((resolve) => {
146
- chrome.runtime.sendMessage(
147
- extension.id,
148
- {initialLoadData: true},
149
- (response) => {
150
- if (chrome.runtime.lastError) {
151
- console.error(
152
- `Error sending message to ${extension.id}: ${chrome.runtime.lastError.message}`
153
- )
154
- resolve(null)
155
- } else {
156
- resolve(response)
157
- }
158
- }
159
- )
160
- })
161
- })
162
-
163
- const responses = await Promise.all(messagePromises)
164
-
165
- // We received the info from the use extension.
166
- // All good, client is ready. Inform the server.
167
- if (webSocket && webSocket.readyState === WebSocket.OPEN) {
168
- const message = JSON.stringify({
169
- status: 'clientReady',
170
- data: responses[0]
171
- })
172
-
173
- webSocket.send(message)
174
- }
175
- }
176
-
177
- async function checkExtensionReadiness(isCriticalFile = false) {
178
- // For critical files like manifest.json, use minimal delay
179
- // For regular files, use 1 second delay to ensure stability
180
- const delayTime = isCriticalFile ? INSTANT_MS : 1000
181
- await delay(delayTime)
182
- // Assume the extension is ready
183
- return true
184
- }
185
-
186
- async function delay(ms) {
187
- return await new Promise((resolve) => setTimeout(resolve, ms))
188
- }
189
-
190
- export function keepAlive() {
191
- const keepAliveIntervalId = setInterval(() => {
192
- if (webSocket) {
193
- webSocket.send(JSON.stringify({status: 'ping'}))
194
- console.info('[Reload Service] Listening for changes...')
195
- } else {
196
- clearInterval(keepAliveIntervalId)
197
- }
198
- }, TEN_SECONDS_MS)
199
- }
200
-
201
- const toggleExtensionState = (extensionId, enabled) => {
202
- if (extensionId === chrome.runtime.id) {
203
- return Promise.resolve()
204
- }
205
- return new Promise((resolve) => {
206
- chrome.management.setEnabled(extensionId, enabled, resolve)
207
- })
208
- }
209
-
210
- // Smart reload strategy: Try standard method first, fallback to CDP if needed
211
- async function hardReloadExtension(extensionId) {
212
- try {
213
- // Try the standard enable/disable reload first (feels natural)
214
- await toggleExtensionState(extensionId, false)
215
- await toggleExtensionState(extensionId, true)
216
-
217
- // Verify it worked with a simple health check
218
- const isHealthy = await verifyExtensionHealth(extensionId)
219
- if (isHealthy) {
220
- console.info(
221
- `[Extension.js] Standard reload successful for ${extensionId}`
222
- )
223
- return true
224
- }
225
-
226
- // If we get here, the reload "succeeded" but extension isn't healthy
227
- throw new Error('Extension reloaded but not responding')
228
- } catch (error) {
229
- console.warn(
230
- `[Extension.js] Standard reload failed for ${extensionId}, trying CDP fallback: ${error.message}`
231
- )
232
-
233
- // Only use CDP when the natural approach fails
234
- return await attemptCDPFallback(extensionId)
235
- }
236
- }
237
-
238
- // CDP fallback for when standard reload fails
239
- async function attemptCDPFallback(extensionId) {
240
- try {
241
- // Get extension info to find its source path
242
- const extensionInfo = await new Promise((resolve) => {
243
- chrome.management.get(extensionId, resolve)
244
- })
245
-
246
- if (!extensionInfo || !extensionInfo.path) {
247
- console.warn(
248
- `[Extension.js] No path info for ${extensionId}, CDP fallback not possible`
249
- )
250
- return false
251
- }
252
-
253
- // Use CDP client directly for seamless fallback
254
- const cdpClient = await getCDPClient()
255
- if (!cdpClient) {
256
- console.warn(`[Extension.js] CDP client not available for ${extensionId}`)
257
- return false
258
- }
259
-
260
- // Use CDP to force reload the extension
261
- const success = await cdpClient.forceReloadExtension(extensionId)
262
- if (success) {
263
- console.info(`[Extension.js] CDP fallback successful for ${extensionId}`)
264
- return true
265
- } else {
266
- console.warn(`[Extension.js] CDP fallback failed for ${extensionId}`)
267
- return false
268
- }
269
- } catch (cdpError) {
270
- console.error(
271
- `[Extension.js] CDP fallback also failed for ${extensionId}: ${cdpError.message}`
272
- )
273
- return false
274
- }
275
- }
276
-
277
- // Get CDP client instance
278
- // This will be injected by the build process
279
- async function getCDPClient() {
280
- try {
281
- // The CDP client will be available globally when injected
282
- if (typeof window !== 'undefined' && window.cdpClient) {
283
- return window.cdpClient
284
- }
285
-
286
- // Fallback for service worker context
287
- if (typeof globalThis !== 'undefined' && globalThis.cdpClient) {
288
- return globalThis.cdpClient
289
- }
290
-
291
- console.warn(`[Extension.js] CDP client not found in global scope`)
292
- return null
293
- } catch (error) {
294
- console.warn(`[Extension.js] Failed to get CDP client: ${error.message}`)
295
- return null
296
- }
297
- }
298
-
299
- // Simple health check to verify extension is responsive
300
- async function verifyExtensionHealth(extensionId) {
301
- try {
302
- // Simple ping to see if extension responds
303
- await new Promise((resolve, reject) => {
304
- const timeout = setTimeout(() => {
305
- reject(new Error('Health check timeout'))
306
- }, 2000)
307
-
308
- chrome.runtime.sendMessage(extensionId, {type: 'PING'}, (response) => {
309
- clearTimeout(timeout)
310
- if (chrome.runtime.lastError) {
311
- reject(new Error(chrome.runtime.lastError.message))
312
- } else {
313
- resolve(response)
314
- }
315
- })
316
- })
317
- return true
318
- } catch (error) {
319
- console.warn(
320
- `[Extension.js] Health check failed for ${extensionId}: ${error.message}`
321
- )
322
- return false
323
- }
324
- }
@@ -1,82 +0,0 @@
1
- import {createExtensionsPageTab, handleFirstRun} from './define-initial-tab.js'
2
- import {connect, disconnect, keepAlive} from './reload-service.js'
3
-
4
- function bgGreen(str) {
5
- return `background: transparent; color: #0971fe; ${str}`
6
- }
7
-
8
- async function initManagerUI() {
9
- try {
10
- chrome.tabs.query({active: true, currentWindow: true}, async (tabs) => {
11
- const initialTab = Array.isArray(tabs) ? tabs[0] : undefined
12
-
13
- console.log(
14
- `%c
15
- ██████████████████████████████████████████████████████████
16
- ██████████████████████████████████████████████████████████
17
- ████████████████████████████ ██████████████████████████
18
- █████████████████████████ ██████ ███████████████
19
- ███████████████████████ ███ ███ ████████████
20
- ██████████████████████ ██████ ███ ███████████
21
- ███████████████████████ ██████ ██████ ███████████
22
- ████████████████ ██████ ██████████████ ███████████
23
- █████████████ ████ ████████████ ████████████
24
- ███████████ ██ █████████████ ███████████████
25
- ██████████ ██████ █████████████████ █████████████
26
- ███████████ ████████████████████████████ ███████████
27
- █████████████ █████████████████ ██████ ██████████
28
- ███████████████ ██████████████ ██ ██████████
29
- ████████████ ████████████ ████ █████████████
30
- ███████████ █████████████ ██████ ███████████████
31
- ███████████ ██████ ██████ ███████████████████████
32
- ███████████ ████ ██████ ██████████████████████
33
- ████████████ ██ ███ ███████████████████████
34
- ███████████████ ██████ █████████████████████████
35
- ██████████████████████████ ████████████████████████████
36
- ██████████████████████████████████████████████████████████
37
- ██████████████████████████████████████████████████████████
38
- MIT (c) ${new Date().getFullYear()} - Cezar Augusto and the Extension.js Authors.
39
- `,
40
- bgGreen('')
41
- )
42
-
43
- if (!initialTab) {
44
- try {
45
- await handleFirstRun()
46
- } catch {
47
- try {
48
- chrome.tabs.create({url: 'chrome://extensions/'})
49
- } catch {}
50
- }
51
- return
52
- }
53
-
54
- if (
55
- initialTab.url === 'chrome://newtab/' ||
56
- initialTab.url === 'chrome://welcome/'
57
- ) {
58
- await handleFirstRun()
59
- } else {
60
- createExtensionsPageTab(initialTab, 'chrome://extensions/')
61
- }
62
- })
63
- } catch {}
64
- }
65
-
66
- chrome.runtime.onStartup.addListener(async () => {
67
- await initManagerUI()
68
- })
69
-
70
- chrome.runtime.onInstalled.addListener(async () => {
71
- let isConnected = false
72
-
73
- await initManagerUI()
74
-
75
- if (isConnected) {
76
- disconnect()
77
- } else {
78
- await connect()
79
- isConnected = true
80
- keepAlive()
81
- }
82
- })
@@ -1,77 +0,0 @@
1
- async function getDevExtension() {
2
- const allExtensions = await new Promise((resolve) => {
3
- chrome.management.getAll(resolve)
4
- })
5
-
6
- const devExtensions = allExtensions.filter((extension) => {
7
- return (
8
- // Do not include itself
9
- extension.id !== chrome.runtime.id &&
10
- // Reload extension
11
- extension.id !== 'igcijhgmihmjbbahdabahfbpffalcfnn' &&
12
- // Show only unpackaged extensions
13
- extension.installType === 'development'
14
- )
15
- })
16
-
17
- return devExtensions[0]
18
- }
19
-
20
- // Ideas here are adapted from
21
- // https://github.com/jeremyben/webpack-chrome-extension-launcher
22
- // Released under MIT license.
23
-
24
- // Create a new tab and set it to background.
25
- // We want the user-selected page to be active,
26
- // not chrome://extensions.
27
- export function createExtensionsPageTab(initialTab, url) {
28
- // Check if url tab is open
29
- chrome.tabs.query({url: 'chrome://extensions/'}, (tabs) => {
30
- const extensionsTabExist = tabs.length > 0
31
-
32
- // Return if url exists
33
- if (extensionsTabExist) return
34
-
35
- // Create an inactive tab
36
- chrome.tabs.create(
37
- {url, active: false},
38
- function setBackgroundTab(extensionsTab) {
39
- // Get current url tab and move it left.
40
- // This action auto-activates the tab
41
- chrome.tabs.move(extensionsTab.id, {index: 0}, () => {
42
- // Get user-selected initial page tab and activate the right tab
43
- setTimeout(() => {
44
- chrome.tabs.update(initialTab.id, {active: true})
45
- }, 500)
46
- })
47
- }
48
- )
49
- })
50
- }
51
-
52
- // Function to handle first run logic
53
- export async function handleFirstRun() {
54
- chrome.tabs.update({url: 'chrome://extensions/'})
55
-
56
- const devExtension = await getDevExtension()
57
-
58
- chrome.storage.local.get(devExtension.id, (result) => {
59
- if (result[devExtension.id] && result[devExtension.id].didRun) {
60
- return
61
- }
62
-
63
- // Guard against opening multiple welcome pages
64
- chrome.tabs.query(
65
- {url: chrome.runtime.getURL('pages/welcome.html')},
66
- (tabs) => {
67
- if (Array.isArray(tabs) && tabs.length > 0) {
68
- // Already open; do not create another
69
- return
70
- }
71
- chrome.tabs.create({url: 'pages/welcome.html'})
72
- }
73
- )
74
- // Ensure the welcome page shows only once per extension installation
75
- chrome.storage.local.set({[devExtension.id]: {didRun: true}})
76
- })
77
- }
@@ -1,17 +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": 3,
6
- "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAolEJq/DBHxY5dBpOqBRWNCl7vRPBvJPlpEzF19fYFVzzaH44AF6+sKjN3jwIKlsgI82F3TIuwoNFiN1yBu5Unf8SVBE4BTO92P02/ACcGYQxicgCLFUGQKlq4uSrwSPaBYl7FHcYl5SERgxnIGCGnaGMdL2vC7waCj2/U/iKoBF9I1lBH9/aKCSjTd3h2UYo7gg6n5nY/ENbzylDt42T3ATmvnVJfYhSNKA9Dv/zryknfnHYYgBKHtz7pDZwWnYdxs78n2VEKwGj7TgbXuIPDpCkrMnU9PTKpHbXFYARA4H9qYORQmYazfIxUZRnKQNSR+GAOGrb8JK+ijeQdwzDAwIDAQAB",
7
- "background": {
8
- "service_worker": "background.js",
9
- "type": "module"
10
- },
11
- "icons": {
12
- "16": "images/logo.png",
13
- "48": "images/logo.png",
14
- "128": "images/logo.png"
15
- },
16
- "permissions": ["management", "tabs", "storage"]
17
- }