extension-develop 2.0.0-rc.14 → 2.0.0-rc.16

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 (209) hide show
  1. package/dist/module.js +55 -55
  2. package/dist/run-chrome-profile/Default/BrowsingTopicsState +1 -1
  3. package/dist/run-chrome-profile/Default/Cache/Cache_Data/0017c74c7837869a_0 +0 -0
  4. package/dist/run-chrome-profile/Default/Cache/Cache_Data/04ae8789497a12c2_0 +0 -0
  5. package/dist/run-chrome-profile/Default/Cache/Cache_Data/08716ad8a9272776_0 +0 -0
  6. package/dist/run-chrome-profile/Default/Cache/Cache_Data/0aec0caf66c01b86_0 +0 -0
  7. package/dist/run-chrome-profile/Default/Cache/Cache_Data/0d50ded54a4ccd85_0 +0 -0
  8. package/dist/run-chrome-profile/Default/Cache/Cache_Data/0e7c8d235a26e9ce_0 +0 -0
  9. package/dist/run-chrome-profile/Default/Cache/Cache_Data/0f2c9b2c834455d5_0 +0 -0
  10. package/dist/run-chrome-profile/Default/Cache/Cache_Data/12ed6e0c7d56a241_0 +0 -0
  11. package/dist/run-chrome-profile/Default/Cache/Cache_Data/15145040f7f12f31_0 +0 -0
  12. package/dist/run-chrome-profile/Default/Cache/Cache_Data/182c7ebe59f48f22_0 +0 -0
  13. package/dist/run-chrome-profile/Default/Cache/Cache_Data/19440521b5ccc00f_0 +0 -0
  14. package/dist/run-chrome-profile/Default/Cache/Cache_Data/1a4d13eefe83ebd6_0 +0 -0
  15. package/dist/run-chrome-profile/Default/Cache/Cache_Data/25f01977517921be_0 +0 -0
  16. package/dist/run-chrome-profile/Default/Cache/Cache_Data/28f345767f9cfaf4_0 +0 -0
  17. package/dist/run-chrome-profile/Default/Cache/Cache_Data/316116a840cb72f8_0 +0 -0
  18. package/dist/run-chrome-profile/Default/Cache/Cache_Data/332cbdf94d04551b_0 +0 -0
  19. package/dist/run-chrome-profile/Default/Cache/Cache_Data/34b4ef0d277b8e33_0 +0 -0
  20. package/dist/run-chrome-profile/Default/Cache/Cache_Data/398af7e99645b780_0 +0 -0
  21. package/dist/run-chrome-profile/Default/Cache/Cache_Data/3cd2c5f2236ec08b_0 +0 -0
  22. package/dist/run-chrome-profile/Default/Cache/Cache_Data/3fb03ac0ece9deb0_0 +0 -0
  23. package/dist/run-chrome-profile/Default/Cache/Cache_Data/406abf3e5d69d4d2_0 +0 -0
  24. package/dist/run-chrome-profile/Default/Cache/Cache_Data/41ecc319e5f59734_0 +0 -0
  25. package/dist/run-chrome-profile/Default/Cache/Cache_Data/43acd4dedf25552d_0 +0 -0
  26. package/dist/run-chrome-profile/Default/Cache/Cache_Data/4560b8166b4aef83_0 +0 -0
  27. package/dist/run-chrome-profile/Default/Cache/Cache_Data/465fc9e3dbf2f9ff_0 +0 -0
  28. package/dist/run-chrome-profile/Default/Cache/Cache_Data/4749144cbc70f82d_0 +0 -0
  29. package/dist/run-chrome-profile/Default/Cache/Cache_Data/4a10c0b19b5130a4_0 +0 -0
  30. package/dist/run-chrome-profile/Default/Cache/Cache_Data/{e85ac8952d7783d7_0 → 4ba9ae6f508fec31_0} +0 -0
  31. package/dist/run-chrome-profile/Default/Cache/Cache_Data/4cacbe29e41d5f50_0 +0 -0
  32. package/dist/run-chrome-profile/Default/Cache/Cache_Data/4f48cf9bba8a6c16_0 +0 -0
  33. package/dist/run-chrome-profile/Default/Cache/Cache_Data/5088ccf922ff0cfc_0 +0 -0
  34. package/dist/run-chrome-profile/Default/Cache/Cache_Data/56acf8abf6e60b03_0 +0 -0
  35. package/dist/run-chrome-profile/Default/Cache/Cache_Data/5b68f44b3246e6ca_0 +0 -0
  36. package/dist/run-chrome-profile/Default/Cache/Cache_Data/5bbe8c79a1a95b0c_0 +0 -0
  37. package/dist/run-chrome-profile/Default/Cache/Cache_Data/605e4b5d03e9bf86_0 +0 -0
  38. package/dist/run-chrome-profile/Default/Cache/Cache_Data/625182e6a2b82b45_0 +0 -0
  39. package/dist/run-chrome-profile/Default/Cache/Cache_Data/667f799fe79731e9_0 +0 -0
  40. package/dist/run-chrome-profile/Default/Cache/Cache_Data/6683a24a6c083327_0 +0 -0
  41. package/dist/run-chrome-profile/Default/Cache/Cache_Data/6995a7c799490d3d_0 +0 -0
  42. package/dist/run-chrome-profile/Default/Cache/Cache_Data/6a547d137fdac885_0 +0 -0
  43. package/dist/run-chrome-profile/Default/Cache/Cache_Data/6e1e1b329c0d6bf5_0 +0 -0
  44. package/dist/run-chrome-profile/Default/Cache/Cache_Data/74b8b97c4553db7c_0 +0 -0
  45. package/dist/run-chrome-profile/Default/Cache/Cache_Data/774bae0580279a5c_0 +0 -0
  46. package/dist/run-chrome-profile/Default/Cache/Cache_Data/8787e35b8ee50313_0 +0 -0
  47. package/dist/run-chrome-profile/Default/Cache/Cache_Data/8c5b16b95835ac81_0 +0 -0
  48. package/dist/run-chrome-profile/Default/Cache/Cache_Data/8ed4e297de5a6f4f_0 +0 -0
  49. package/dist/run-chrome-profile/Default/Cache/Cache_Data/901a71e272f9ef44_0 +0 -0
  50. package/dist/run-chrome-profile/Default/Cache/Cache_Data/930019aee123fd40_0 +0 -0
  51. package/dist/run-chrome-profile/Default/Cache/Cache_Data/93d1fa840ba8c790_0 +0 -0
  52. package/dist/run-chrome-profile/Default/Cache/Cache_Data/93d81321f8c35eab_0 +0 -0
  53. package/dist/run-chrome-profile/Default/Cache/Cache_Data/97e3545a4127de80_0 +0 -0
  54. package/dist/run-chrome-profile/Default/Cache/Cache_Data/9a1319821195da4b_0 +0 -0
  55. package/dist/run-chrome-profile/Default/Cache/Cache_Data/9f714304e8aefaf1_0 +0 -0
  56. package/dist/run-chrome-profile/Default/Cache/Cache_Data/a09893cb51697309_0 +0 -0
  57. package/dist/run-chrome-profile/Default/Cache/Cache_Data/a165f848b6b559b9_0 +0 -0
  58. package/dist/run-chrome-profile/Default/Cache/Cache_Data/a78e1ca1960e97f8_0 +0 -0
  59. package/dist/run-chrome-profile/Default/Cache/Cache_Data/a7a9a44fcf8c17a2_0 +0 -0
  60. package/dist/run-chrome-profile/Default/Cache/Cache_Data/b2165f6f2635c31b_0 +0 -0
  61. package/dist/run-chrome-profile/Default/Cache/Cache_Data/b43809fa2a2acdb6_0 +0 -0
  62. package/dist/run-chrome-profile/Default/Cache/Cache_Data/b5142a1081b8a11f_0 +0 -0
  63. package/dist/run-chrome-profile/Default/Cache/Cache_Data/b7742b9a0eb5dd81_0 +0 -0
  64. package/dist/run-chrome-profile/Default/Cache/Cache_Data/bbe71a612cdfb11f_0 +0 -0
  65. package/dist/run-chrome-profile/Default/Cache/Cache_Data/be2287df2ed0a60a_0 +0 -0
  66. package/dist/run-chrome-profile/Default/Cache/Cache_Data/bf9d2cd8c3fc1ff2_0 +0 -0
  67. package/dist/run-chrome-profile/Default/Cache/Cache_Data/c015ed59440be9bf_0 +0 -0
  68. package/dist/run-chrome-profile/Default/Cache/Cache_Data/c80ddb8bccca179e_0 +0 -0
  69. package/dist/run-chrome-profile/Default/Cache/Cache_Data/cc387b13b0e87b79_0 +0 -0
  70. package/dist/run-chrome-profile/Default/Cache/Cache_Data/db674615a7b19540_0 +0 -0
  71. package/dist/run-chrome-profile/Default/Cache/Cache_Data/db763e4f249e55d4_0 +0 -0
  72. package/dist/run-chrome-profile/Default/Cache/Cache_Data/dcf034c865a34d89_0 +0 -0
  73. package/dist/run-chrome-profile/Default/Cache/Cache_Data/e18876a7b32abd1e_0 +0 -0
  74. package/dist/run-chrome-profile/Default/Cache/Cache_Data/e24913f8a5ce655b_0 +0 -0
  75. package/dist/run-chrome-profile/Default/Cache/Cache_Data/eb01b5d7eebaa882_0 +0 -0
  76. package/dist/run-chrome-profile/Default/Cache/Cache_Data/f4bafa4da379e5c9_0 +0 -0
  77. package/dist/run-chrome-profile/Default/Cache/Cache_Data/f4f20bd519dc05f6_0 +0 -0
  78. package/dist/run-chrome-profile/Default/Cache/Cache_Data/f58973a17c2416bd_0 +0 -0
  79. package/dist/run-chrome-profile/Default/Cache/Cache_Data/f91572e07b7c5d27_0 +0 -0
  80. package/dist/run-chrome-profile/Default/Cache/Cache_Data/index-dir/the-real-index +0 -0
  81. package/dist/run-chrome-profile/Default/Code Cache/js/08d8c677ff00ac4c_0 +0 -0
  82. package/dist/run-chrome-profile/Default/Code Cache/js/0fdfb82b6603eb47_0 +0 -0
  83. package/dist/run-chrome-profile/Default/Code Cache/js/166f4561a24c48be_0 +0 -0
  84. package/dist/run-chrome-profile/Default/Code Cache/js/1b959bf7516dfbeb_0 +0 -0
  85. package/dist/run-chrome-profile/Default/Code Cache/js/1e2fa7db1e0cd73c_0 +0 -0
  86. package/dist/run-chrome-profile/Default/Code Cache/js/335e69ddec2b9ac6_0 +0 -0
  87. package/dist/run-chrome-profile/Default/Code Cache/js/4839e862318c0052_0 +0 -0
  88. package/dist/run-chrome-profile/Default/Code Cache/js/50ecfe1d0cdaaebb_0 +0 -0
  89. package/dist/run-chrome-profile/Default/Code Cache/js/55dcbef76fc187d4_0 +0 -0
  90. package/dist/run-chrome-profile/Default/Code Cache/js/78bc28bf73da65e6_0 +0 -0
  91. package/dist/run-chrome-profile/Default/Code Cache/js/7f319a0fe98fc039_0 +0 -0
  92. package/dist/run-chrome-profile/Default/Code Cache/js/7fdecf2c90b2b00f_0 +0 -0
  93. package/dist/run-chrome-profile/Default/Code Cache/js/850049fb95c84ac5_0 +0 -0
  94. package/dist/run-chrome-profile/Default/Code Cache/js/8a435678fa8c0faf_0 +0 -0
  95. package/dist/run-chrome-profile/Default/Code Cache/js/8a777a3bf7f3480d_0 +0 -0
  96. package/dist/run-chrome-profile/Default/Code Cache/js/94a3703a4374f8c5_0 +0 -0
  97. package/dist/run-chrome-profile/Default/Code Cache/js/95ec019f4ca189d1_0 +0 -0
  98. package/dist/run-chrome-profile/Default/Code Cache/js/9c31ebb761b91e6b_0 +0 -0
  99. package/dist/run-chrome-profile/Default/Code Cache/js/9f2327cff1838a92_0 +0 -0
  100. package/dist/run-chrome-profile/Default/Code Cache/js/acbb045034e3520b_0 +0 -0
  101. package/dist/run-chrome-profile/Default/Code Cache/js/ada793aed703b982_0 +0 -0
  102. package/dist/run-chrome-profile/Default/Code Cache/js/b388ba6b6ac2bb9f_0 +0 -0
  103. package/dist/run-chrome-profile/Default/Code Cache/js/b805908452d03f01_0 +0 -0
  104. package/dist/run-chrome-profile/Default/Code Cache/js/c9a2d8e6c9cf4f2e_0 +0 -0
  105. package/dist/run-chrome-profile/Default/Code Cache/js/d01f7a9cdab6873b_0 +0 -0
  106. package/dist/run-chrome-profile/Default/Code Cache/js/d28a88310c344a50_0 +0 -0
  107. package/dist/run-chrome-profile/Default/Code Cache/js/da5d9651533e694c_0 +0 -0
  108. package/dist/run-chrome-profile/Default/Code Cache/js/deb9fa67d9fa2ca8_0 +0 -0
  109. package/dist/run-chrome-profile/Default/Code Cache/js/e04da3ea8c9c8bc7_0 +0 -0
  110. package/dist/run-chrome-profile/Default/Code Cache/js/e37b7381e1c626e4_0 +0 -0
  111. package/dist/run-chrome-profile/Default/Code Cache/js/fbcdc59a6310e763_0 +0 -0
  112. package/dist/run-chrome-profile/Default/Code Cache/js/index-dir/the-real-index +0 -0
  113. package/dist/run-chrome-profile/Default/Cookies +0 -0
  114. package/dist/run-chrome-profile/Default/DIPS +0 -0
  115. package/dist/run-chrome-profile/Default/DawnGraphiteCache/data_1 +0 -0
  116. package/dist/run-chrome-profile/Default/DawnGraphiteCache/index +0 -0
  117. package/dist/run-chrome-profile/Default/DawnWebGPUCache/data_1 +0 -0
  118. package/dist/run-chrome-profile/Default/DawnWebGPUCache/index +0 -0
  119. package/dist/run-chrome-profile/Default/Extension Rules/000003.log +0 -0
  120. package/dist/run-chrome-profile/Default/Extension Rules/LOG +3 -3
  121. package/dist/run-chrome-profile/Default/Extension Rules/LOG.old +3 -3
  122. package/dist/run-chrome-profile/Default/Extension Scripts/000003.log +0 -0
  123. package/dist/run-chrome-profile/Default/Extension Scripts/LOG +3 -3
  124. package/dist/run-chrome-profile/Default/Extension Scripts/LOG.old +3 -3
  125. package/dist/run-chrome-profile/Default/Extension State/000003.log +0 -0
  126. package/dist/run-chrome-profile/Default/Extension State/LOG +3 -3
  127. package/dist/run-chrome-profile/Default/Extension State/LOG.old +3 -3
  128. package/dist/run-chrome-profile/Default/Favicons +0 -0
  129. package/dist/run-chrome-profile/Default/GPUCache/data_1 +0 -0
  130. package/dist/run-chrome-profile/Default/GPUCache/index +0 -0
  131. package/dist/run-chrome-profile/Default/History +0 -0
  132. package/dist/run-chrome-profile/Default/Local Extension Settings/lbffejbpcfhhlobfihahkjacidchbokb/000003.log +0 -0
  133. package/dist/run-chrome-profile/Default/Local Extension Settings/lbffejbpcfhhlobfihahkjacidchbokb/CURRENT +1 -0
  134. package/dist/run-chrome-profile/Default/Local Extension Settings/lbffejbpcfhhlobfihahkjacidchbokb/LOCK +0 -0
  135. package/dist/run-chrome-profile/Default/Local Extension Settings/lbffejbpcfhhlobfihahkjacidchbokb/LOG +3 -0
  136. package/dist/run-chrome-profile/Default/Local Extension Settings/lbffejbpcfhhlobfihahkjacidchbokb/LOG.old +3 -0
  137. package/dist/run-chrome-profile/Default/Local Extension Settings/lbffejbpcfhhlobfihahkjacidchbokb/MANIFEST-000001 +0 -0
  138. package/dist/run-chrome-profile/Default/Local Extension Settings/pbpgonifamlpcahjkkkfelffkegofkgg/000003.log +0 -0
  139. package/dist/run-chrome-profile/Default/Local Extension Settings/pbpgonifamlpcahjkkkfelffkegofkgg/LOG +3 -3
  140. package/dist/run-chrome-profile/Default/Local Extension Settings/pbpgonifamlpcahjkkkfelffkegofkgg/LOG.old +3 -3
  141. package/dist/run-chrome-profile/Default/Local Storage/leveldb/000006.log +0 -0
  142. package/dist/run-chrome-profile/Default/Local Storage/leveldb/000007.ldb +0 -0
  143. package/dist/run-chrome-profile/Default/Local Storage/leveldb/LOG +3 -3
  144. package/dist/run-chrome-profile/Default/Local Storage/leveldb/LOG.old +6 -3
  145. package/dist/run-chrome-profile/Default/Local Storage/leveldb/MANIFEST-000001 +0 -0
  146. package/dist/run-chrome-profile/Default/Network Action Predictor +0 -0
  147. package/dist/run-chrome-profile/Default/Network Persistent State +1 -1
  148. package/dist/run-chrome-profile/Default/Platform Notifications/LOG +3 -3
  149. package/dist/run-chrome-profile/Default/Platform Notifications/LOG.old +3 -3
  150. package/dist/run-chrome-profile/Default/Preferences +1 -1
  151. package/dist/run-chrome-profile/Default/Reporting and NEL and b/package/dist/run-chrome-profile/Default/Reporting → NEL +0 -0
  152. package/dist/run-chrome-profile/Default/Secure Preferences +1 -1
  153. package/dist/run-chrome-profile/Default/Service Worker/Database/000003.log +0 -0
  154. package/dist/run-chrome-profile/Default/Service Worker/Database/LOG +3 -3
  155. package/dist/run-chrome-profile/Default/Service Worker/Database/LOG.old +3 -3
  156. package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/244501fa4de4a6ef_0 +0 -0
  157. package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/244501fa4de4a6ef_1 +0 -0
  158. package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/5f51aafd5b2193e9_0 +0 -0
  159. package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/5f51aafd5b2193e9_1 +0 -0
  160. package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/index-dir/the-real-index +0 -0
  161. package/dist/run-chrome-profile/Default/Session Storage/000003.log +0 -0
  162. package/dist/run-chrome-profile/Default/Session Storage/LOG +3 -3
  163. package/dist/run-chrome-profile/Default/Session Storage/LOG.old +3 -3
  164. package/dist/run-chrome-profile/Default/Sessions/Session_13388437918151922 +0 -0
  165. package/dist/run-chrome-profile/Default/Sessions/Session_13388467960316491 +0 -0
  166. package/dist/run-chrome-profile/Default/Sessions/{Tabs_13388433829776209 → Tabs_13388437918518098} +0 -0
  167. package/dist/run-chrome-profile/Default/Sessions/{Tabs_13388431900739498 → Tabs_13388467960690052} +0 -0
  168. package/dist/run-chrome-profile/Default/Shortcuts +0 -0
  169. package/dist/run-chrome-profile/Default/Site Characteristics Database/000003.log +0 -0
  170. package/dist/run-chrome-profile/Default/Site Characteristics Database/LOG +3 -3
  171. package/dist/run-chrome-profile/Default/Site Characteristics Database/LOG.old +3 -3
  172. package/dist/run-chrome-profile/Default/Sync Data/LevelDB/LOG +3 -3
  173. package/dist/run-chrome-profile/Default/Sync Data/LevelDB/LOG.old +3 -3
  174. package/dist/run-chrome-profile/Default/TransportSecurity +1 -1
  175. package/dist/run-chrome-profile/Default/VideoDecodeStats/LOG.old +0 -0
  176. package/dist/run-chrome-profile/Default/Visited Links +0 -0
  177. package/dist/run-chrome-profile/Default/Web Data +0 -0
  178. package/dist/run-chrome-profile/Default/WebStorage/19/CacheStorage/index.txt +1 -0
  179. package/dist/run-chrome-profile/Default/WebStorage/19/IndexedDB/indexeddb.leveldb/000003.log +0 -0
  180. package/dist/run-chrome-profile/Default/WebStorage/19/IndexedDB/indexeddb.leveldb/CURRENT +1 -0
  181. package/dist/run-chrome-profile/Default/WebStorage/19/IndexedDB/indexeddb.leveldb/LOCK +0 -0
  182. package/dist/run-chrome-profile/Default/WebStorage/19/IndexedDB/indexeddb.leveldb/LOG +2 -0
  183. package/dist/run-chrome-profile/Default/WebStorage/19/IndexedDB/indexeddb.leveldb/MANIFEST-000001 +0 -0
  184. package/dist/run-chrome-profile/Default/WebStorage/QuotaManager +0 -0
  185. package/dist/run-chrome-profile/Default/shared_proto_db/000008.log +0 -0
  186. package/dist/run-chrome-profile/Default/shared_proto_db/000009.ldb +0 -0
  187. package/dist/run-chrome-profile/Default/shared_proto_db/LOG +3 -3
  188. package/dist/run-chrome-profile/Default/shared_proto_db/LOG.old +3 -3
  189. package/dist/run-chrome-profile/Default/shared_proto_db/MANIFEST-000001 +0 -0
  190. package/dist/run-chrome-profile/Default/shared_proto_db/metadata/000003.log +0 -0
  191. package/dist/run-chrome-profile/Default/shared_proto_db/metadata/LOG +3 -3
  192. package/dist/run-chrome-profile/Default/shared_proto_db/metadata/LOG.old +3 -3
  193. package/dist/run-chrome-profile/GrShaderCache/data_1 +0 -0
  194. package/dist/run-chrome-profile/GrShaderCache/index +0 -0
  195. package/dist/run-chrome-profile/GraphiteDawnCache/data_0 +0 -0
  196. package/dist/run-chrome-profile/GraphiteDawnCache/data_1 +0 -0
  197. package/dist/run-chrome-profile/GraphiteDawnCache/data_2 +0 -0
  198. package/dist/run-chrome-profile/GraphiteDawnCache/data_3 +0 -0
  199. package/dist/run-chrome-profile/GraphiteDawnCache/index +0 -0
  200. package/dist/run-chrome-profile/Local State +1 -1
  201. package/dist/run-chrome-profile/ShaderCache/data_1 +0 -0
  202. package/dist/run-chrome-profile/ShaderCache/index +0 -0
  203. package/dist/run-chrome-profile/first_party_sets.db +0 -0
  204. package/dist/run-chrome-profile/segmentation_platform/ukm_db +0 -0
  205. package/package.json +1 -1
  206. package/dist/run-chrome-profile/Default/Local Storage/leveldb/000004.log +0 -0
  207. package/dist/run-chrome-profile/Default/Sessions/Session_13388431900557381 +0 -0
  208. package/dist/run-chrome-profile/Default/Sessions/Session_13388433829593056 +0 -0
  209. package/dist/run-chrome-profile/Default/shared_proto_db/000005.log +0 -0
package/dist/module.js CHANGED
@@ -1,63 +1,63 @@
1
- "use strict";var Kc=Object.create;var Ke=Object.defineProperty;var Yc=Object.getOwnPropertyDescriptor;var Qc=Object.getOwnPropertyNames;var el=Object.getPrototypeOf,tl=Object.prototype.hasOwnProperty;var sl=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),rl=(t,e)=>{for(var s in e)Ke(t,s,{get:e[s],enumerable:!0})},Cr=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Qc(e))!tl.call(t,n)&&n!==s&&Ke(t,n,{get:()=>e[n],enumerable:!(r=Yc(e,n))||r.enumerable});return t};var a=(t,e,s)=>(s=t!=null?Kc(el(t)):{},Cr(e||!t||!t.__esModule?Ke(s,"default",{value:t,enumerable:!0}):s,t)),nl=t=>Cr(Ke({},"__esModule",{value:!0}),t);var Os=sl((ip,il)=>{il.exports={license:"MIT",repository:{type:"git",url:"https://github.com/cezaraugusto/extension.git",directory:"programs/develop"},engines:{node:">=18"},name:"extension-develop",version:"2.0.0-rc.14",description:"The develop step of Extension.js",main:"./dist/module.js",types:"./dist/module.d.ts",files:["dist"],author:{name:"Cezar Augusto",email:"boss@cezaraugusto.net",url:"https://cezaraugusto.com"},scripts:{clean:"rm -rf dist",watch:"tsup-node ./module.ts --format cjs --dts --target=node18 --watch",compile:"tsup-node ./module.ts --format cjs --dts --target=node18 --minify && bash install_scripts.sh",test:"jest --no-cache --testPathPattern='webpack/.*/__spec__/.*\\.spec\\.*'","test:coverage":"jest --no-cache --testPathPattern='webpack/.*/__spec__/.*\\.spec\\.ts' --coverage","test:build":"jest ./build.spec.ts --no-cache --detectOpenHandles --forceExit"},dependencies:{"@colors/colors":"^1.6.0","@rspack/core":"^1.2.8","@rspack/dev-server":"^1.1.0","@swc/helpers":"^0.5.15","@types/firefox-webext-browser":"^120.0.4","@vue/compiler-sfc":"^3.5.13","adm-zip":"^0.5.16",axios:"^1.7.9","case-sensitive-paths-webpack-plugin":"^2.4.0",chokidar:"^4.0.1","chrome-location":"^1.2.1","content-security-policy-parser":"^0.6.0","cross-spawn":"^7.0.6","csv-loader":"^3.0.5",dotenv:"^16.4.7","dotenv-webpack":"^8.1.0","edge-location":"^1.0.0","firefox-profile":"^4.7.0","fx-runner":"^1.4.0","go-git-it":"2.0.4",ignore:"^6.0.2","loader-utils":"^3.3.1",micromatch:"^4.0.8","package-manager-detector":"^0.2.7",parse5:"^7.2.1","parse5-utils":"^2.0.0",postcss:"^8.4.49",preact:"^10.22.0",progress:"^2.0.3","schema-utils":"^4.2.0",slugify:"^1.6.6","tiny-glob":"^0.2.9","vue-template-compiler":"^2.7.16","webextension-polyfill":"^0.12.0","webpack-merge":"^6.0.1","webpack-target-webextension":"^2.1.3",which:"^5.0.0",ws:"^8.18.0"},devDependencies:{"@types/adm-zip":"^0.5.7","@types/case-sensitive-paths-webpack-plugin":"^2.1.9","@types/chrome":"^0.0.287","@types/cross-spawn":"^6.0.6","@types/dotenv-webpack":"^7.0.8","@types/jest":"^29.5.14","@types/loader-utils":"^2.0.6","@types/node":"^22.10.1","@types/webextension-polyfill":"^0.12.1","@types/ws":"^8.5.13",jest:"^29.7.0","ts-jest":"^29.2.5",tsup:"^8.3.5",typescript:"5.7.2"},optionalDependencies:{"@prefresh/core":"^1.5.2","@prefresh/utils":"^1.2.0","@prefresh/webpack":"^4.0.1","@rspack/plugin-preact-refresh":"^1.1.2","@rspack/plugin-react-refresh":"^1.0.1","babel-loader":"^9.2.1","less-loader":"^12.2.0","postcss-loader":"^8.1.1","postcss-preset-env":"^10.1.1","react-refresh":"^0.14.2","sass-loader":"^16.0.4","svelte-loader":"^3.2.4","svelte-preprocess":"^6.0.3","vue-loader":"^17.4.2","vue-style-loader":"^4.1.3","vue-template-compiler":"^2.7.16"}}});var Ql={};rl(Ql,{extensionBuild:()=>ks,extensionDev:()=>zc,extensionPreview:()=>Cs,extensionStart:()=>Zc});module.exports=nl(Ql);var Dc=a(require("fs")),_r=a(require("path")),Lc=require("@rspack/core"),Oc=require("webpack-merge");var Ge=a(require("path"));var Kr=a(require("case-sensitive-paths-webpack-plugin"));var js=a(require("fs")),Ye=a(require("path")),ne=require("@rspack/core"),Ds=a(require("dotenv")),Qe=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){let s=Ye.default.dirname(this.manifestPath),r=e.options.mode||"development",n=[`.env.${this.browser}.${r}`,`.env.${this.browser}`,`.env.${r}`,".env.local",".env",".env.example"],o="";for(let m of n){let g=Ye.default.join(s,m);if(js.default.existsSync(g)){o=g;break}}let i=o?Ds.default.config({path:o}).parsed||{}:{},c=Ye.default.join(s,".env.defaults"),p={...js.default.existsSync(c)?Ds.default.config({path:c}).parsed||{}:{},...i,...process.env},u=Object.keys(p).filter(m=>m.startsWith("EXTENSION_PUBLIC_")).reduce((m,g)=>(m[`process.env.${g}`]=JSON.stringify(p[g]),m[`import.meta.env.${g}`]=JSON.stringify(p[g]),m),{});u["process.env.EXTENSION_PUBLIC_BROWSER"]=JSON.stringify(this.browser),u["import.meta.env.EXTENSION_PUBLIC_BROWSER"]=JSON.stringify(this.browser),u["process.env.EXTENSION_PUBLIC_MODE"]=JSON.stringify(r),u["import.meta.env.EXTENSION_PUBLIC_MODE"]=JSON.stringify(r),u["process.env.EXTENSION_BROWSER"]=JSON.stringify(this.browser),u["import.meta.env.EXTENSION_BROWSER"]=JSON.stringify(this.browser),u["process.env.EXTENSION_MODE"]=JSON.stringify(r),u["import.meta.env.EXTENSION_MODE"]=JSON.stringify(r),new ne.DefinePlugin(u).apply(e),e.hooks.thisCompilation.tap("manifest:update-manifest",m=>{m.hooks.processAssets.tap({name:"env:module",stage:ne.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},g=>{Object.keys(g).forEach(_=>{if(_.endsWith(".json")||_.endsWith(".html")){let S=m.assets[_].source().toString();S=S.replace(/\$EXTENSION_PUBLIC_[A-Z_]+/g,E=>{let A=E.slice(1);return p[A]||E}),S=S.replace(/\$EXTENSION_[A-Z_]+/g,E=>{let A=E.slice(1);return p[A]||E}),m.updateAsset(_,new ne.sources.RawSource(S))}})})})}};var Ls=a(require("fs")),jr=a(require("path")),et=class{apply(e){let s=jr.default.join(e.options.output.path||"");if(Ls.default.existsSync(s))try{Ls.default.rmSync(s,{recursive:!0,force:!0}),process.env.EXTENSION_ENV==="development"&&console.log("[CleanDistFolderPlugin] Removed old hot-update files before compilation.")}catch(r){console.error(`[CleanDistFolderPlugin] Failed to remove hot-update files: ${r.message}`)}}};var Is=a(require("path")),f=require("@colors/colors/safe");var Dr=a(require("path")),tt=Dr.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),Z=["chrome","edge"],ol=["firefox"],np=[...Z,...ol];var Lr=require("console");function F(t,e){return e==="error"?`${(0,f.bold)((0,f.red)("ERROR"))} in ${t} ${(0,f.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:e==="warn"?`${t} ${(0,f.brightYellow)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:`${e==="info"?(0,f.cyan)("\u25BA\u25BA\u25BA"):(0,f.brightGreen)("\u25BA\u25BA\u25BA")} ${(0,f.cyan)(t)}`}function Or(t){return t.charAt(0).toUpperCase()+t.slice(1)}function Ir(t,e,s){if(!!1)return`${s.hasErrors()?(0,f.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E"):(0,f.brightGreen)("\u25BA\u25BA\u25BA")} ${(0,f.cyan)(t)} compiled ${s.hasErrors()?(0,f.red)("with errors"):(0,f.brightGreen)("successfully")} in ${e} ms.`}function Mr(t,e){return`${(0,Lr.info)("\u25BA\u25BA\u25BA")} Using ${(0,f.magenta)(t)}. Installing required dependencies via ${(0,f.brightYellow)(e)}...`}function v(t){return`${(0,f.cyan)("\u25BA\u25BA\u25BA")} Using ${(0,f.magenta)(t)}...`}function L(t){return`${F(t,"success")} installation completed. Run the program again and happy hacking.`}function Ar(t){return`${F(t,"info")} dependencies are being installed. This only happens for core contributors...`}function Rr(t){return`${F(t,"success")} dependencies installed ${(0,f.brightGreen)("successfully")}.`}function Nr(t,e){return`${F("Integration","error")} ${t} Installation Error
1
+ "use strict";var Qc=Object.create;var Ke=Object.defineProperty;var el=Object.getOwnPropertyDescriptor;var tl=Object.getOwnPropertyNames;var rl=Object.getPrototypeOf,sl=Object.prototype.hasOwnProperty;var nl=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ol=(t,e)=>{for(var r in e)Ke(t,r,{get:e[r],enumerable:!0})},js=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of tl(e))!sl.call(t,n)&&n!==r&&Ke(t,n,{get:()=>e[n],enumerable:!(s=el(e,n))||s.enumerable});return t};var a=(t,e,r)=>(r=t!=null?Qc(rl(t)):{},js(e||!t||!t.__esModule?Ke(r,"default",{value:t,enumerable:!0}):r,t)),il=t=>js(Ke({},"__esModule",{value:!0}),t);var Or=nl((cp,cl)=>{cl.exports={license:"MIT",repository:{type:"git",url:"https://github.com/cezaraugusto/extension.git",directory:"programs/develop"},engines:{node:">=18"},name:"extension-develop",version:"2.0.0-rc.16",description:"The develop step of Extension.js",main:"./dist/module.js",types:"./dist/module.d.ts",files:["dist"],author:{name:"Cezar Augusto",email:"boss@cezaraugusto.net",url:"https://cezaraugusto.com"},scripts:{clean:"rm -rf dist",watch:"tsup-node ./module.ts --format cjs --dts --target=node18 --watch",compile:"tsup-node ./module.ts --format cjs --dts --target=node18 --minify && bash install_scripts.sh",test:"jest --no-cache --testPathPattern='webpack/.*/__spec__/.*\\.spec\\.*'","test:coverage":"jest --no-cache --testPathPattern='webpack/.*/__spec__/.*\\.spec\\.ts' --coverage","test:build":"jest ./build.spec.ts --no-cache --detectOpenHandles --forceExit"},dependencies:{"@colors/colors":"^1.6.0","@rspack/core":"^1.2.8","@rspack/dev-server":"^1.1.0","@swc/helpers":"^0.5.15","@types/firefox-webext-browser":"^120.0.4","@vue/compiler-sfc":"^3.5.13","adm-zip":"^0.5.16",axios:"^1.7.9","case-sensitive-paths-webpack-plugin":"^2.4.0",chokidar:"^4.0.1","chrome-location":"^1.2.1","content-security-policy-parser":"^0.6.0","cross-spawn":"^7.0.6","csv-loader":"^3.0.5",dotenv:"^16.4.7","dotenv-webpack":"^8.1.0","edge-location":"^1.0.0","firefox-profile":"^4.7.0","fx-runner":"^1.4.0","go-git-it":"2.0.4",ignore:"^6.0.2","loader-utils":"^3.3.1",micromatch:"^4.0.8","package-manager-detector":"^0.2.7",parse5:"^7.2.1","parse5-utils":"^2.0.0",postcss:"^8.4.49",preact:"^10.22.0",progress:"^2.0.3","schema-utils":"^4.2.0",slugify:"^1.6.6","tiny-glob":"^0.2.9","vue-template-compiler":"^2.7.16","webextension-polyfill":"^0.12.0","webpack-merge":"^6.0.1","webpack-target-webextension":"^2.1.3",which:"^5.0.0",ws:"^8.18.0"},devDependencies:{"@types/adm-zip":"^0.5.7","@types/case-sensitive-paths-webpack-plugin":"^2.1.9","@types/chrome":"^0.0.287","@types/cross-spawn":"^6.0.6","@types/dotenv-webpack":"^7.0.8","@types/jest":"^29.5.14","@types/loader-utils":"^2.0.6","@types/node":"^22.10.1","@types/webextension-polyfill":"^0.12.1","@types/ws":"^8.5.13",jest:"^29.7.0","ts-jest":"^29.2.5",tsup:"^8.3.5",typescript:"5.7.2"},optionalDependencies:{"@prefresh/core":"^1.5.2","@prefresh/utils":"^1.2.0","@prefresh/webpack":"^4.0.1","@rspack/plugin-preact-refresh":"^1.1.2","@rspack/plugin-react-refresh":"^1.0.1","babel-loader":"^9.2.1","less-loader":"^12.2.0","postcss-loader":"^8.1.1","postcss-preset-env":"^10.1.1","react-refresh":"^0.14.2","sass-loader":"^16.0.4","svelte-loader":"^3.2.4","svelte-preprocess":"^6.0.3","vue-loader":"^17.4.2","vue-style-loader":"^4.1.3","vue-template-compiler":"^2.7.16"}}});var tp={};ol(tp,{extensionBuild:()=>kr,extensionDev:()=>Vc,extensionPreview:()=>Cr,extensionStart:()=>Yc});module.exports=il(tp);var Oc=a(require("fs")),Ps=a(require("path")),Ic=require("@rspack/core"),Mc=require("webpack-merge");var Xe=a(require("path"));var Ys=a(require("case-sensitive-paths-webpack-plugin"));var jr=a(require("fs")),Ye=a(require("path")),ne=require("@rspack/core"),Dr=a(require("dotenv")),Qe=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){let r=Ye.default.dirname(this.manifestPath),s=e.options.mode||"development",n=[`.env.${this.browser}.${s}`,`.env.${this.browser}`,`.env.${s}`,".env.local",".env",".env.example"],o="";for(let m of n){let g=Ye.default.join(r,m);if(jr.default.existsSync(g)){o=g;break}}let i=o?Dr.default.config({path:o}).parsed||{}:{},c=Ye.default.join(r,".env.defaults"),p={...jr.default.existsSync(c)?Dr.default.config({path:c}).parsed||{}:{},...i,...process.env},u=Object.keys(p).filter(m=>m.startsWith("EXTENSION_PUBLIC_")).reduce((m,g)=>(m[`process.env.${g}`]=JSON.stringify(p[g]),m[`import.meta.env.${g}`]=JSON.stringify(p[g]),m),{});u["process.env.EXTENSION_PUBLIC_BROWSER"]=JSON.stringify(this.browser),u["import.meta.env.EXTENSION_PUBLIC_BROWSER"]=JSON.stringify(this.browser),u["process.env.EXTENSION_PUBLIC_MODE"]=JSON.stringify(s),u["import.meta.env.EXTENSION_PUBLIC_MODE"]=JSON.stringify(s),u["process.env.EXTENSION_BROWSER"]=JSON.stringify(this.browser),u["import.meta.env.EXTENSION_BROWSER"]=JSON.stringify(this.browser),u["process.env.EXTENSION_MODE"]=JSON.stringify(s),u["import.meta.env.EXTENSION_MODE"]=JSON.stringify(s),new ne.DefinePlugin(u).apply(e),e.hooks.thisCompilation.tap("manifest:update-manifest",m=>{m.hooks.processAssets.tap({name:"env:module",stage:ne.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},g=>{Object.keys(g).forEach(_=>{if(_.endsWith(".json")||_.endsWith(".html")){let S=m.assets[_].source().toString();S=S.replace(/\$EXTENSION_PUBLIC_[A-Z_]+/g,E=>{let A=E.slice(1);return p[A]||E}),S=S.replace(/\$EXTENSION_[A-Z_]+/g,E=>{let A=E.slice(1);return p[A]||E}),m.updateAsset(_,new ne.sources.RawSource(S))}})})})}};var Lr=a(require("fs")),Ds=a(require("path")),et=class{apply(e){let r=Ds.default.join(e.options.output.path||"");if(Lr.default.existsSync(r))try{Lr.default.rmSync(r,{recursive:!0,force:!0}),process.env.EXTENSION_ENV==="development"&&console.log("[CleanDistFolderPlugin] Removed old hot-update files before compilation.")}catch(s){console.error(`[CleanDistFolderPlugin] Failed to remove hot-update files: ${s.message}`)}}};var Ir=a(require("path")),f=require("@colors/colors/safe");var Ls=a(require("path")),tt=Ls.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),Z=["chrome","edge"],al=["firefox"],ip=[...Z,...al];var Os=require("console");function F(t,e){return e==="error"?`${(0,f.bold)((0,f.red)("ERROR"))} in ${t} ${(0,f.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:e==="warn"?`${t} ${(0,f.brightYellow)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:`${e==="info"?(0,f.cyan)("\u25BA\u25BA\u25BA"):(0,f.brightGreen)("\u25BA\u25BA\u25BA")} ${(0,f.cyan)(t)}`}function Is(t){return t.charAt(0).toUpperCase()+t.slice(1)}function Ms(t,e,r){if(!!1)return`${r.hasErrors()?(0,f.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E"):(0,f.brightGreen)("\u25BA\u25BA\u25BA")} ${(0,f.cyan)(t)} compiled ${r.hasErrors()?(0,f.red)("with errors"):(0,f.brightGreen)("successfully")} in ${e} ms.`}function As(t,e){return`${(0,Os.info)("\u25BA\u25BA\u25BA")} Using ${(0,f.magenta)(t)}. Installing required dependencies via ${(0,f.brightYellow)(e)}...`}function v(t){return`${(0,f.cyan)("\u25BA\u25BA\u25BA")} Using ${(0,f.magenta)(t)}...`}function L(t){return`${F(t,"success")} installation completed. Run the program again and happy hacking.`}function Rs(t){return`${F(t,"info")} dependencies are being installed. This only happens for core contributors...`}function Ns(t){return`${F(t,"success")} dependencies installed ${(0,f.brightGreen)("successfully")}.`}function Ts(t,e){return`${F("Integration","error")} ${t} Installation Error
2
2
 
3
3
  Failed to detect package manager or install ${t} dependencies:
4
- ${(0,f.red)(e?.toString()||"")}`}function st(t,e){if(!t)throw new Error("This operation is impossible. Please report a bug.");switch(Is.default.extname(e)){case".js":case".ts":case".jsx":case".tsx":return al(t,e);case".css":case".scss":case".sass":case".less":return cl(t,e);default:return ll(t,e)}}function oe(t,e,s){let r=e.startsWith("content_scripts")?"content_scripts":e.replace("/","."),n=e.split("-")[1],o=e.startsWith("pages"),i=t.includes("content_scripts")?`(index ${n})
4
+ ${(0,f.red)(e?.toString()||"")}`}function rt(t,e){if(!t)throw new Error("This operation is impossible. Please report a bug.");switch(Ir.default.extname(e)){case".js":case".ts":case".jsx":case".tsx":return ll(t,e);case".css":case".scss":case".sass":case".less":return pl(t,e);default:return fl(t,e)}}function oe(t,e,r){let s=e.startsWith("content_scripts")?"content_scripts":e.replace("/","."),n=e.split("-")[1],o=e.startsWith("pages"),i=t.includes("content_scripts")?`(index ${n})
5
5
 
6
- `:r;return`${F("manifest.json","error")} File Not Found
6
+ `:s;return`${F("manifest.json","error")} File Not Found
7
7
 
8
8
  ${o?`Check the ${(0,f.brightYellow)("pages")} folder in your project root directory.
9
9
  `:`Check the ${(0,f.brightYellow)(i)} field in your manifest.json file.
10
- `}${(0,f.red)("NOT FOUND")} ${(0,f.underline)(s)}`}function rt(t,e){return`File Not Found
10
+ `}${(0,f.red)("NOT FOUND")} ${(0,f.underline)(r)}`}function st(t,e){return`File Not Found
11
11
 
12
12
  Check the ${(0,f.brightYellow)(t)} field in your manifest.json file.
13
- ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function Tr(t,e){return`${F(t,"error")} Manifest Not Found
13
+ ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function Us(t,e){return`${F(t,"error")} Manifest Not Found
14
14
 
15
15
  Ensure you have a manifest.json file at the root directory of your project.
16
- ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function Ur(t){return`${F("manifest.json","error")} Invalid Manifest
16
+ ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function Bs(t){return`${F("manifest.json","error")} Invalid Manifest
17
17
 
18
- Update your manifest.json file and try again. `+(0,f.red)(t.toString())}function Br(t,e){let s=e&&`${(0,f.gray)("PATH")} ${(0,f.red)("REMOVED")} ${(0,f.underline)(e)}
19
- `,r=t&&`${(0,f.gray)("PATH")} ${(0,f.brightGreen)("ADDED")} ${(0,f.underline)(t)}`;return`$manifest.json ${(0,f.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Manifest Entry Point Modification
18
+ Update your manifest.json file and try again. `+(0,f.red)(t.toString())}function qs(t,e){let r=e&&`${(0,f.gray)("PATH")} ${(0,f.red)("REMOVED")} ${(0,f.underline)(e)}
19
+ `,s=t&&`${(0,f.gray)("PATH")} ${(0,f.brightGreen)("ADDED")} ${(0,f.underline)(t)}`;return`$manifest.json ${(0,f.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Manifest Entry Point Modification
20
20
 
21
21
  Changing the path of ${(0,f.brightYellow)("HTML")} or ${(0,f.brightYellow)("script")} files in manifest.json after compilation requires a server restart.
22
- `+s+r}function qr(t,e,s,r){let n=t.charAt(0).toUpperCase()+t.slice(1);return`${F("manifest.json","error")} Manifest Entry Point Modification
22
+ `+r+s}function Ws(t,e,r,s){let n=t.charAt(0).toUpperCase()+t.slice(1);return`${F("manifest.json","error")} Manifest Entry Point Modification
23
23
 
24
- ${n} ${(0,f.brightYellow)(s)} in the ${(0,f.underline)(e+"/")} folder after compilation requires a server restart.
25
- ${(0,f.gray)("PATH")} ${(0,f.underline)(r)}`}function Wr(){return`${F("TypeScript","info")} is being used but no config file was found. Creating ${(0,f.brightYellow)("tsconfig.json")}...`}function Ms(t,e,s){let r=t.name||"Extension.js",n;switch(e){case"chrome":n="chrome://extensions";break;case"edge":n="edge://extensions";break;case"firefox":n="about:debugging#/runtime/this-firefox";break;default:n=""}if(!s.data)return`${F(r,"error")} No Client Data Received
24
+ ${n} ${(0,f.brightYellow)(r)} in the ${(0,f.underline)(e+"/")} folder after compilation requires a server restart.
25
+ ${(0,f.gray)("PATH")} ${(0,f.underline)(s)}`}function Js(){return`${F("TypeScript","info")} is being used but no config file was found. Creating ${(0,f.brightYellow)("tsconfig.json")}...`}function Mr(t,e,r){let s=t.name||"Extension.js",n;switch(e){case"chrome":n="chrome://extensions";break;case"edge":n="edge://extensions";break;case"firefox":n="about:debugging#/runtime/this-firefox";break;default:n=""}if(!r.data)return`${F(s,"error")} No Client Data Received
26
26
 
27
27
  This error happens when the program can't get the data from your extension.
28
28
  There are many reasons this might happen. To fix, ensure that:
29
29
 
30
30
  - Your extension is set as enabled in ${(0,f.underline)(n)}
31
- - No previous ${Or(e)} browser instance is open
31
+ - No previous ${Is(e)} browser instance is open
32
32
 
33
33
  If that is not the case, restart both the ${(0,f.cyan)(t.name||"")} and the
34
34
  ${(0,f.brightYellow)("Manager Extension")} in ${(0,f.underline)(n)} and try again.
35
35
 
36
36
  If the issue still persists, please report a bug:
37
37
 
38
- `+(0,f.underline)("https://github.com/extension-js/extension.js/issues");let{id:o,management:i}=s.data;if(!i&&process.env.EXTENSION_ENV==="development")return`${F(r,"error")} No management API info received from client. Investigate.`;let{name:c,version:l}=i,p=Os().version;return`
38
+ `+(0,f.underline)("https://github.com/extension-js/extension.js/issues");let{id:o,management:i}=r.data;if(!i&&process.env.EXTENSION_ENV==="development")return`${F(s,"error")} No management API info received from client. Investigate.`;let{name:c,version:l}=i,p=Or().version;return`
39
39
  \u{1F9E9} ${(0,f.brightGreen)("Extension.js")} ${(0,f.gray)(`${p}`)}
40
40
  Extension Name ${(0,f.gray)(c)}
41
41
  Extension Version ${(0,f.gray)(l)}
42
- Extension ID ${(0,f.gray)(o)}`}function Jr(t){return`This is your first run using Extension.js via ${Or(t)}. Welcome! \u{1F389}
42
+ Extension ID ${(0,f.gray)(o)}`}function zs(t){return`This is your first run using Extension.js via ${Is(t)}. Welcome! \u{1F389}
43
43
 
44
- \u{1F9E9} Learn more at ${(0,f.underline)("https://extension.js.org")}`}function zr(t){return`${F("WebSocket","error")} General WebSocket Error:
45
- ${(0,f.red)(t)}`}function Hr(t,e){return`${F("manifest.json","error")} File Not Found
44
+ \u{1F9E9} Learn more at ${(0,f.underline)("https://extension.js.org")}`}function Hs(t){return`${F("WebSocket","error")} General WebSocket Error:
45
+ ${(0,f.red)(t)}`}function Vs(t,e){return`${F("manifest.json","error")} File Not Found
46
46
 
47
47
  Check the ${(0,f.brightYellow)(t.replace("/","."))} field in your manifest.json file.
48
- ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function Vr(t){return`${F("HTML","error")} Entry Point Modification
48
+ ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function Gs(t){return`${F("HTML","error")} Entry Point Modification
49
49
 
50
50
  Changing the path of ${(0,f.brightYellow)("<script>")} or ${(0,f.brightYellow)('<link rel="stylesheet">')} files after compilation requires a server restart.
51
- ${(0,f.gray)("PATH")} ${(0,f.underline)(t)}`}function al(t,e){return`${F("HTML","error")} File Not Found
51
+ ${(0,f.gray)("PATH")} ${(0,f.underline)(t)}`}function ll(t,e){return`${F("HTML","error")} File Not Found
52
52
 
53
53
  Check your ${(0,f.brightYellow)("<script>")} tags in ${(0,f.underline)(t)}.
54
- ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function cl(t,e){return`${F("HTML","error")} File Not Found
54
+ ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function pl(t,e){return`${F("HTML","error")} File Not Found
55
55
 
56
56
  Check your ${(0,f.brightYellow)("<link>")} tags in ${(0,f.underline)(t)}.
57
- ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function ll(t,e){let s=Is.default.extname(e);return`${F("HTML","warn")} File Not Found
57
+ ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function fl(t,e){let r=Ir.default.extname(e);return`${F("HTML","warn")} File Not Found
58
58
 
59
- Check your ${(0,f.brightYellow)("*"+s)} assets in ${(0,f.underline)(t)}.
60
- ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function Xr(){return`${(0,f.brightYellow)("Note")}: Firefox requires a secure certificate for localhost connections, needed for the reloader to work.
59
+ Check your ${(0,f.brightYellow)("*"+r)} assets in ${(0,f.underline)(t)}.
60
+ ${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function Xs(){return`${(0,f.brightYellow)("Note")}: Firefox requires a secure certificate for localhost connections, needed for the reloader to work.
61
61
  By default, your manifest.json file is not being watched. To enable this feature, run:
62
62
 
63
63
  npx -y mkcert-cli \\
@@ -67,67 +67,67 @@ By default, your manifest.json file is not being watched. To enable this feature
67
67
 
68
68
  This will enable the secure certificate needed for Firefox via ${(0,f.bold)("mkcert")}.
69
69
 
70
- Learn more about ${(0,f.bold)("mkcert")}: ${(0,f.underline)("https://github.com/FiloSottile/mkcert")}`}function Gr(t){return`${F("Port","error")} Selected port ${(0,f.brightYellow)(t.toString())} in use. Choose a new port. `}function Zr(){return`${F("manifest.json","error")} Extension ID Not Defined
70
+ Learn more about ${(0,f.bold)("mkcert")}: ${(0,f.underline)("https://github.com/FiloSottile/mkcert")}`}function Zs(t){return`${F("Port","error")} Selected port ${(0,f.brightYellow)(t.toString())} in use. Choose a new port. `}function Ks(){return`${F("manifest.json","error")} Extension ID Not Defined
71
71
 
72
72
  For MAIN world content_scripts, the extension ID must be specified.
73
73
  Ensure your extension have a fixed ID and that the ${(0,f.brightYellow)("publicPath")}
74
- of your ${(0,f.brightYellow)("extension.config.js")} is defined as your extension URL.`}var nt=class{static name="plugin-compilation";manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){new Kr.default().apply(e),new Qe({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new et().apply(e),e.hooks.done.tapAsync("develop:brand",(s,r)=>{s.compilation.name=void 0;let n=s.compilation.endTime-s.compilation.startTime,o=require(this.manifestPath).name;console.log(Ir(o,n,s)),r()})}};var Pn=a(require("path"));var nn=a(require("path")),on=a(require("fs"));var ie=a(require("path")),ot=a(require("fs")),As=require("child_process"),Qr=require("package-manager-detector");function en(t,e){return Object.values(e||{}).some(s=>s===t)}function h(t,e,s){let r=ie.default.extname(e),o=$(e,s)?ie.default.normalize(e):t;return[".js",".jsx",".tsx",".ts"].includes(r)&&(o=o.replace(r,".js")),[".html",".njk",".nunjucks"].includes(r)&&(o=o.replace(r,".html")),[".css",".scss",".sass",".less"].includes(r)&&(o=o.replace(r,".css")),Rs(o||"")}function Rs(t){return t.replace(/\\/g,"/")}function $(t,e={}){if(!e)return!1;let s=ie.default.normalize(Rs(t));return Object.values(e).some(n=>typeof n!="string"?!1:Rs(n).includes(s))}function W(t,e){if(t.getAsset("manifest.json")||t.assets["manifest.json"]){let s=t.assets["manifest.json"].source().toString();return JSON.parse(s||"{}")}return require(e)}function ae(){return process.env.npm_config_user_agent&&process.env.npm_config_user_agent.includes("pnpm")?"pnpm":!1}function Yr(){return process.env.npm_execpath?"npm":!1}async function j(t,e){try{let s=await(0,Qr.detect)();console.log(Mr(t,s?.name||"unknown"));let r="";s?.name==="yarn"?r=`yarn --silent add ${e.join(" ")} --cwd ${__dirname} --optional`:s?.name==="npm"||Yr()?r=`npm --silent install ${e.join(" ")} --prefix ${__dirname} --save-optional`:ae()?r=`pnpm --silent add ${e.join(" ")} --prefix ${__dirname} --save-optional`:r=`${s} --silent install ${e.join(" ")} --cwd ${__dirname} --optional`,(0,As.execSync)(r,{stdio:"inherit"}),await new Promise(n=>setTimeout(n,2e3)),process.env.EXTENSION_ENV==="development"&&(console.log(Ar(t)),s?.name==="yarn"?r="yarn install --silent > /dev/null 2>&1":s?.name==="npm"||Yr()?r="npm install --silent > /dev/null 2>&1":ae()?r="pnpm install --silent > /dev/null 2>&1":r=`${s} install --silent > /dev/null 2>&1`,(0,As.execSync)(r,{stdio:"inherit"})),console.log(Rr(t))}catch(s){console.error(Nr(t,s))}}function it(t){let e=ie.default.join(t,"package.json");if(!ot.default.existsSync(e))return!1;let s=JSON.parse(ot.default.readFileSync(e,"utf-8")),r=["react","vue","@angular/core","svelte","solid-js","preact"],n=s.dependencies||{},o=s.devDependencies||{};for(let i of r)if(n[i]||o[i])return!0;return!1}function tn(t){return!ot.default.existsSync(ie.default.resolve(__dirname,`run-${t}-profile`))}function sn(t){let e=t.name?.replace(/ /g,"-").toLowerCase();return{data:{id:`${e}@extension-js`,manifest:t,management:{id:`${e}@extension-js`,mayDisable:!0,optionsUrl:"",installType:"development",type:"extension",enabled:!0,name:t.name||"",description:t.description||"",version:t.version||"",hostPermissions:t.host_permissions||[],permissions:t.permissions||[],offlineEnabled:t.offline_enabled||!1,shortName:t.short_name||"",isApp:t.app&&t.app.background&&t.app.background.scripts}}}}function P(t,e){return JSON.parse(JSON.stringify(t),function(n,o){let i=n.indexOf(":");if(i===-1)return o;let c=n.substring(0,i);(c===e||c==="chromium"&&Z.includes(e)||c==="chromium"&&e.includes("chromium")||c==="gecko"&&e.includes("gecko"))&&(this[n.substring(i+1)]=o)})}var rn=!1;function Pe(t){let e=nn.default.join(t,"package.json");if(!on.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.sass,n=s.dependencies&&s.dependencies.sass;return r||n?(rn||(process.env.EXTENSION_ENV==="development"&&console.log(v("SASS")),rn=!0),!0):!1}async function an(t){if(!Pe(t))return[];try{require.resolve("sass-loader")}catch{await j("PostCSS",["postcss-loader","postcss-scss","postcss-preset-env"]),await j("SASS",["sass","sass-loader"]),console.log(L("SASS")),process.exit(0)}return[{test:/\.(sass|scss)$/,exclude:/\.module\.(sass|scss)$/,type:"css",use:[{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:{outputStyle:"expanded"}}}]},{test:/\.module\.(sass|scss)$/,type:"css/module",use:[{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:{outputStyle:"expanded"}}}]}]}var ln=a(require("path")),pn=a(require("fs"));var cn=!1;function Ee(t){let e=ln.default.join(t,"package.json");if(!pn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.less,n=s.dependencies&&s.dependencies.less;return r||n?(cn||(process.env.EXTENSION_ENV==="development"&&console.log(v("LESS")),cn=!0),!0):!1}async function fn(t){if(!Ee(t))return[];try{require.resolve("less-loader")}catch{await j("LESS",["less","less-loader"]),console.log(L("LESS")),process.exit(0)}return[{test:/\.less$/,exclude:/\.module\.less$/,type:"css",use:[{loader:require.resolve("less-loader"),options:{sourceMap:!0}}]},{test:/\.module\.less$/,type:"css/module",use:[{loader:require.resolve("less-loader"),options:{sourceMap:!0}}]}]}var R=a(require("path")),N=a(require("fs"));function pl(t){let e=R.default.join(t,"stylelint.config.json"),s=R.default.join(t,".stylelintrc.js file"),r=R.default.join(t,"stylelint.config.mjs"),n=R.default.join(t,".stylelintrc.mjs"),o=R.default.join(t,"stylelint.config.cjs"),i=R.default.join(t,".stylelintrc.cjs"),c=R.default.join(t,".stylelintrc.json"),l=R.default.join(t,".stylelintrc"),p=R.default.join(t,".stylelintrc.yml"),u=R.default.join(t,".stylelintrc.yaml");if(N.default.existsSync(e))return e;if(N.default.existsSync(s))return s;if(N.default.existsSync(r))return r;if(N.default.existsSync(n))return n;if(N.default.existsSync(o))return o;if(N.default.existsSync(i))return i;if(N.default.existsSync(c))return c;if(N.default.existsSync(l))return l;if(N.default.existsSync(p))return p;if(N.default.existsSync(u))return u}var un=!1;function fl(t){let e=R.default.join(t,"package.json");if(!N.default.existsSync(e))return!1;let r=!!pl(t);return r&&(un||(process.env.EXTENSION_ENV==="development"&&console.log(v("Stylelint")),un=!0)),r}async function mn(t){return fl(t),[]}var wn=a(require("path"));var gn=a(require("path")),hn=a(require("fs"));var dn=!1;function at(t){let e=gn.default.join(t,"package.json");if(!hn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.tailwindcss,n=s.dependencies&&s.dependencies.tailwindcss,o=!!(r||n);return o&&(dn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Tailwind")),dn=!0)),o}var Ns=a(require("path")),ct=a(require("fs"));var ce=!1,ul=[".postcssrc",".postcssrc.json",".postcssrc.yaml",".postcssrc.yml",".postcssrc.js",".postcssrc.cjs","postcss.config.js","postcss.config.cjs"];function yn(t){for(let e of ul){let s=Ns.default.join(t,e);if(ct.default.existsSync(s))return s}}function ml(t){let e=Ns.default.join(t,"package.json");if(!ct.default.existsSync(e))return!1;if(ct.default.existsSync(e)){let s=require(e);if(s.dependencies&&s.dependencies.postcss||s.devDependencies&&s.devDependencies.postcss)return ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0}return yn(t)?(ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0):at(t)?(ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0):!1}async function bn(t,e){if(!ml(t))return{};try{require.resolve("postcss-loader")}catch{!Pe(t)&&!Ee(t)&&await j("PostCSS",["postcss","postcss-loader","postcss-preset-env"]),console.log(L("PostCSS")),process.exit(0)}return{test:/\.css$/,type:"css",loader:require.resolve("postcss-loader"),options:{postcssOptions:{ident:"postcss",config:yn(t),plugins:[[require.resolve("postcss-preset-env"),{autoprefixer:{flexbox:"no-2009"},stage:3}]].filter(Boolean)},sourceMap:e.mode==="development"}}}async function lt(t,e){let s=[];if(at(t)||Pe(t)||Ee(t)){let r=await bn(t,e);r.loader&&s.push(r)}return e.loader&&s.push({loader:e.loader.startsWith("builtin:")?e.loader:require.resolve(e.loader),options:{...e.loaderOptions,sourceMap:e.mode==="development"}}),s.filter(Boolean)}var Ts=a(require("path")),xn=a(require("fs"));function pt(t,e){if(!t||!e)return!1;let s=JSON.parse(xn.default.readFileSync(e,"utf8"));for(let r of s.content_scripts||[])if(r.js?.length){for(let n of r.js)if(Ts.default.resolve(Ts.default.dirname(e),n)===t)return!0}return!1}async function vn(t,e){let s=wn.default.join(t,"manifest.json");return[{test:/\.css$/,type:"asset",generator:{filename:"content_scripts/[name].[contenthash:8].css"},issuer:r=>pt(r,s),use:await lt(t,{mode:e})}]}var Sn=a(require("path"));async function _n(t,e){let s=Sn.default.join(t,"manifest.json");return[{test:/\.css$/,type:"css",issuer:r=>!pt(r,s),use:await lt(t,{mode:e})}]}var ft=class t{static name="plugin-css";manifestPath;constructor(e){this.manifestPath=e.manifestPath}async configureOptions(e){let s=e.options.mode||"development",r=Pn.default.dirname(this.manifestPath),n=[],o=await mn(r);n.push(...o);let i=[...await vn(r,s),...await _n(r,s)],c=await an(r),l=await fn(r);c.length&&i.push(...c),l.length&&i.push(...l),e.options.plugins=[...e.options.plugins,...n].filter(Boolean),e.options.module.rules=[...e.options.module.rules,...i].filter(Boolean)}async apply(e){if((e.options.mode||"development")==="production"){e.hooks.beforeRun.tapPromise(t.name,async()=>await this.configureOptions(e));return}await this.configureOptions(e)}};var ut=class{static name="plugin-static-assets";manifestPath;mode;constructor(e){this.manifestPath=e.manifestPath,this.mode=e.mode}async apply(e){let s={test:/\.svg$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2048}}},n=[...e.options.module.rules.some(o=>o&&o.test instanceof RegExp&&o.test.test(".svg")&&o.use!==void 0)?[]:[s],{test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp)$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2*1024}}},{test:/\.(woff|woff2|eot|ttf|otf)$/i,type:"asset",generator:{filename:"assets/[name][ext]"}},{test:/\.(txt|md|csv|tsv|xml|pdf|docx|doc|xls|xlsx|ppt|pptx|zip|gz|gzip|tgz)$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2*1024}}},{test:/\.(csv|tsv)$/i,use:[require.resolve("csv-loader")],generator:{filename:"assets/[name][ext]"}}];e.options.module.rules=[...e.options.module.rules,...n].filter(o=>!!o)}};var $e=a(require("path"));var Us=a(require("path")),Bs=a(require("fs"));var En=!1,dl=[".babelrc",".babelrc.json",".babelrc.js",".babelrc.cjs","babel.config.json","babel.config.js","babel.config.cjs"];function gl(t){let e=Us.default.join(t,"package.json");if(!Bs.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies["babel-core"],n=s.dependencies&&s.dependencies["babel-core"],o=dl.some(i=>Bs.default.existsSync(Us.default.join(t,i)))||!!r||!!n;return o&&(En||(process.env.EXTENSION_ENV==="development"&&process.env.EXTENSION_ENV==="development"&&console.log(v("Babel")),En=!0)),o}async function kn(t,e){gl(e)}var Fn=a(require("path")),Cn=a(require("fs"));var $n=!1;function ke(t){let e=Fn.default.join(t,"package.json");if(!Cn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.preact,n=s.dependencies&&s.dependencies.preact;return(r||n)&&($n||(process.env.EXTENSION_ENV==="development"&&console.log(v("Preact")),$n=!0)),!!r||!!n}async function jn(t){if(!ke(t))return;try{require.resolve("@rspack/plugin-preact-refresh")}catch{await j("Preact",["@prefresh/core","@prefresh/utils","@rspack/plugin-preact-refresh","preact"]),console.log(L("Preact")),process.exit(0)}return{plugins:[new(require("@rspack/plugin-preact-refresh"))],loaders:void 0,alias:{react:"preact/compat","react-dom/test-utils":"preact/test-utils","react-dom":"preact/compat","react/jsx-runtime":"preact/jsx-runtime"}}}var Ln=a(require("path")),On=a(require("fs"));var Dn=!1;function mt(t){let e=Ln.default.join(t,"package.json");if(!On.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.react,n=s.dependencies&&s.dependencies.react;return(r||n)&&(Dn||(process.env.EXTENSION_ENV==="development"&&console.log(v("React")),Dn=!0)),!!r||!!n}async function In(t){if(!mt(t))return;try{require.resolve("react-refresh")}catch{await j("React",["react-refresh","@rspack/plugin-react-refresh"]),console.log(L("React")),process.exit(0)}return{plugins:[new(require("@rspack/plugin-react-refresh"))({overlay:!1})],loaders:void 0,alias:void 0}}var An=a(require("path")),Rn=a(require("fs")),Nn=require("vue-loader");var Mn=!1;function hl(t){let e=An.default.join(t,"package.json");if(!Rn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.vue,n=s.dependencies&&s.dependencies.vue;return(r||n)&&(Mn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Vue")),Mn=!0)),!!r||!!n}async function Tn(t){if(!hl(t))return;try{require.resolve("vue-loader")}catch{await j("Vue",["vue-loader","vue-template-compiler","@vue/compiler-sfc"]),console.log(L("Vue")),process.exit(0)}let e=[{test:/\.vue$/,loader:require.resolve("vue-loader"),options:{experimentalInlineMatchResource:!0},include:t,exclude:/node_modules/}];return{plugins:[new Nn.VueLoaderPlugin],loaders:e,alias:void 0}}var dt=a(require("path")),gt=a(require("fs"));var Un=!1;function K(t){let e=dt.default.join(t,"package.json");if(!gt.default.existsSync(e))return!1;let s=bl(t),r=require(e),n=r.devDependencies&&r.devDependencies.typescript,o=r.dependencies&&r.dependencies.typescript;return Un||((n||o)&&(s?process.env.EXTENSION_ENV==="development"&&console.log(v("TypeScript")):(console.log(Wr()),xl(t))),Un=!0),!!s&&!!(n||o)}function yl(t,e){return{compilerOptions:{allowJs:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,jsx:it(t)?"react-jsx":"preserve",lib:["dom","dom.iterable","esnext"],moduleResolution:"node",module:"esnext",resolveJsonModule:!0,strict:!0,target:"esnext",isolatedModules:!1,skipLibCheck:!0},exclude:["node_modules","dist"]}}function bl(t){let e=dt.default.join(t,"tsconfig.json");if(gt.default.existsSync(e))return e}function xl(t){gt.default.writeFileSync(dt.default.join(t,"tsconfig.json"),JSON.stringify(yl(t,{mode:"development"}),null,2))}var qn=a(require("path")),Wn=a(require("fs")),Jn=require("svelte-preprocess");var Bn=!1;function wl(t){let e=qn.default.join(t,"package.json");if(!Wn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies?.svelte,n=s.dependencies&&s.dependencies.svelte;return(r||n)&&(Bn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Svelte")),Bn=!0)),!!r||!!n}async function zn(t,e){if(!wl(t))return;try{require.resolve("svelte-loader")}catch{await j("TypeScript",["typescript"]),await j("Svelte",["svelte-loader","svelte-preprocess"]),console.log(L("Svelte")),process.exit(0)}return{plugins:void 0,loaders:[{test:/\.svelte\.ts$/,use:[require.resolve("svelte-loader")],include:t,exclude:/node_modules/},{test:/\.(svelte|svelte\.js)$/,use:{loader:require.resolve("svelte-loader"),options:{preprocess:(0,Jn.sveltePreprocess)({typescript:!0}),emitCss:!0,compilerOptions:{dev:e==="development",css:"injected"},hotReload:e==="development"}},include:t,exclude:/node_modules/},{test:/node_modules\/svelte\/.*\.mjs$/,resolve:{fullySpecified:!1}}],alias:void 0}}var ht=class t{static name="plugin-js-frameworks";manifestPath;mode;constructor(e){this.manifestPath=e.manifestPath,this.mode=e.mode}async configureOptions(e){let s=e.options.mode||"development",r=$e.default.dirname(this.manifestPath),n=await kn(e,r),o=await In(r),i=await jn(r),c=await Tn(r),l=await zn(r,s);e.options.resolve.alias={...n?.alias||{},...o?.alias||{},...i?.alias||{},...c?.alias||{},...l?.alias||{},...e.options.resolve.alias},e.options.module.rules=[{test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[$e.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:{loader:"builtin:swc-loader",options:{sync:!0,module:{type:"es6"},minify:s==="production",isModule:!0,sourceMap:this.mode==="development",env:{targets:["chrome >= 100"]},jsc:{parser:{syntax:K(r)?"typescript":"ecmascript",tsx:K(r)&&(mt(r)||ke(r)),jsx:!K(r)&&(mt(r)||ke(r)),dynamicImport:!0},transform:{react:{development:s==="development",refresh:s==="development",runtime:"automatic",importSource:"react",...ke(r)?{pragma:"h",pragmaFrag:"Fragment",throwIfNamespace:!0,useBuiltins:!1}:{}}}}}}},...n?.loaders||[],...o?.loaders||[],...i?.loaders||[],...c?.loaders||[],...l?.loaders||[],...e.options.module.rules].filter(Boolean),o?.plugins?.forEach(p=>p.apply(e)),i?.plugins?.forEach(p=>p.apply(e)),c?.plugins?.forEach(p=>p.apply(e)),l?.plugins?.forEach(p=>p.apply(e)),K(r)&&(e.options.resolve.tsConfig={configFile:$e.default.resolve($e.default.dirname(this.manifestPath),"tsconfig.json")})}async apply(e){if((e.options.mode||"development")==="production"){e.hooks.beforeRun.tapPromise(t.name,async()=>await this.configureOptions(e));return}await this.configureOptions(e)}};var Lo=a(require("path"));var Hn=a(require("path"));function Vn(t,e){if(!e||!e.action||!e.action.default_popup)return;let s=e.action.default_popup;return Hn.default.join(t,s)}var Xn=a(require("path"));function Gn(t,e){if(!e||!e.browser_action||!e.browser_action.default_popup)return;let s=e.browser_action.default_popup;return Xn.default.join(t,s)}var yt=a(require("path"));function Zn(t,e){let s={newtab:void 0};if(!e||!e.chrome_url_overrides)return{"chrome_url_overrides/newtab":void 0};if(e.chrome_url_overrides.history){let r=e.chrome_url_overrides.history;s={"chrome_url_overrides/history":yt.default.join(t,r)}}if(e.chrome_url_overrides.newtab){let r=e.chrome_url_overrides.newtab;s={"chrome_url_overrides/newtab":yt.default.join(t,r)}}if(e.chrome_url_overrides.bookmarks){let r=e.chrome_url_overrides.bookmarks;s={"chrome_url_overrides/bookmarks":yt.default.join(t,r)}}return s}var Kn=a(require("path"));function Yn(t,e){if(!e||!e.devtools_page)return;let s=e.devtools_page;return Kn.default.join(t,s)}var qs=a(require("path"));function Qn(t,e){if(e.options_page){let r=e.options_page;return qs.default.join(t,r)}if(!e||!e.options_ui||!e.options_ui.page)return;let s=e.options_ui.page;return qs.default.join(t,s)}var eo=a(require("path"));function to(t,e){if(!e||!e.page_action||!e.page_action.default_popup)return;let s=e.page_action.default_popup;return eo.default.join(t,s)}var so=a(require("path"));function ro(t,e){if(!e||!e.sandbox||!e.sandbox.pages)return{"sandbox/page-0":void 0};let s=e.sandbox.pages,r={};for(let[n,o]of s.entries())r[`sandbox/page-${n}`]=so.default.join(t,o);return r}var no=a(require("path"));function oo(t,e){if(!e||!e.side_panel||!e.side_panel.default_path)return;let s=e.side_panel.default_path;return no.default.join(t,s)}var io=a(require("path"));function ao(t,e){if(!e||!e.sidebar_action||!e.sidebar_action.default_panel)return;let s=e.sidebar_action.default_panel;return io.default.join(t,s)}function Fe(t,e){return{"action/default_popup":Vn(t,e),"browser_action/default_popup":Gn(t,e),...Zn(t,e),devtools_page:Yn(t,e),"options_ui/page":Qn(t,e),"page_action/default_popup":to(t,e),...ro(t,e),"side_panel/default_path":oo(t,e),"sidebar_action/default_panel":ao(t,e)}}var Ws=a(require("path"));function co(t,e){if(!e||!e.action||!e.action.default_icon)return;if(typeof e.action.default_icon=="string")return Ws.default.join(t,e.action.default_icon);let s=[];for(let r in e.action.default_icon)s.push(Ws.default.join(t,e.action.default_icon[r]));return s}var Js=a(require("path"));function lo(t,e){if(!e||!e.browser_action||!e.browser_action.default_icon)return;let s=[];if(typeof e.browser_action.default_icon=="string")return Js.default.join(t,e.browser_action.default_icon);for(let r in e.browser_action.default_icon){let n=e.browser_action.default_icon[r]=Js.default.join(t,e.browser_action.default_icon[r]);s.push(n)}return s}var zs=a(require("path"));function po(t,e){if(!(!e||!e.browser_action||!e.browser_action.theme_icons)){for(let s of e.browser_action.theme_icons)s.light&&(s.light=zs.default.join(t,s.light)),s.dark&&(s.dark=zs.default.join(t,s.dark)),s.size&&delete s.size;return e.browser_action.theme_icons}}var fo=a(require("path"));function uo(t,e){if(!e||!e.icons)return;let s=[];for(let r in e.icons){let n=fo.default.join(t,e.icons[r]);s.push(n)}return s}var Hs=a(require("path"));function mo(t,e){if(!e||!e.page_action||!e.page_action.default_icon)return;if(typeof e.page_action.default_icon=="string")return Hs.default.join(t,e.page_action.default_icon);let s=[];for(let r in e.page_action.default_icon){let n=Hs.default.join(t,e.page_action.default_icon[r]);s.push(n)}return s}var go=a(require("path"));function ho(t,e){return!e||!e.sidebar_action||!e.sidebar_action.default_icon?void 0:go.default.join(t,e.sidebar_action.default_icon)}function yo(t,e){return{action:co(t,e),browser_action:lo(t,e),"browser_action/theme_icons":po(t,e),icons:uo(t,e),page_action:mo(t,e),sidebar_action:ho(t,e)}}var bo=a(require("path"));function xo(t,e){let s={};return!e||!e.declarative_net_request||!e.declarative_net_request.rule_resources?{"declarative_net_request/rule_resources-0":void 0}:(e.declarative_net_request.rule_resources.forEach(n=>{s[`declarative_net_request/${n.id}`]=bo.default.join(t,n.path)}),s)}var wo=a(require("path"));function vo(t,e){if(!e||!e.storage||!e.storage.managed_schema)return;let s=e.storage.managed_schema;return wo.default.join(t,s)}function So(t,e){return{...xo(t,e),"storage/managed_schema":vo(t,e)}}var Ce=a(require("path")),je=a(require("fs"));function _o(t,e){let s=Ce.default.join(Ce.default.dirname(e),"_locales"),r=[];if(je.default.existsSync(s))for(let n of je.default.readdirSync(s)){let o=Ce.default.join(s,n);if(o&&je.default.statSync(o).isDirectory())for(let i of je.default.readdirSync(o))r.push(Ce.default.join(t,"_locales",n,i))}return r}var Po=a(require("path"));function Eo(t,e){if(!e||!e.background)return;let s=e.background.scripts;if(s)return s.map(r=>Po.default.join(t,r))}var ko=a(require("path"));function $o(t,e){if(!e||!e.background)return;let s=e.background.service_worker;if(s)return ko.default.join(t,s)}var Vs=a(require("path"));function Fo(t,e){if(!e||!e.content_scripts)return{"content_scripts/content-0":void 0};let s=o=>{if(o.js?.length!==0)return o.js?.map(i=>Vs.default.join(t,i))},r=o=>{if(o.css?.length!==0)return o.css?.map(i=>Vs.default.join(t,i))},n={};for(let[o,i]of e.content_scripts.entries()){let c=s(i),l=r(i);n[`content_scripts/content-${o}`]=[...(c||[]).filter(p=>p!=null),...(l||[]).filter(p=>p!=null)]}return n}var Co=a(require("path"));function jo(t,e){if(!e||!e.user_scripts||!e.user_scripts.api_script)return;let s=e.user_scripts.api_script;return Co.default.join(t,s)}function De(t,e){return{"background/scripts":Eo(t,e),"background/service_worker":$o(t,e),...Fo(t,e),"user_scripts/api_script":jo(t,e)}}function Do(t){if(!(!t||!t.web_accessible_resources||!t.web_accessible_resources.length))return t.web_accessible_resources}function le({manifestPath:t,browser:e}){let s=Lo.default.dirname(t),r=require(t),n=P(r,e||"chrome");return{html:Fe(s,n),icons:yo(s,n),json:So(s,n),locales:_o(s,t),scripts:De(s,n),web_accessible_resources:Do(n)}}var pe=a(require("path"));var bt=a(require("fs")),Le=a(require("path"));function xt(t,e){if(!bt.default.existsSync(t)||!bt.default.statSync(t).isDirectory())return[];let s=[];function r(n){let o=bt.default.readdirSync(n,{withFileTypes:!0});for(let i of o){let c=Le.default.join(n,i.name);i.isDirectory()?r(c):i.isFile()&&e(i.name)&&s.push(c)}}return r(t),s}function wt(t,e,s=""){return!e||!e.length?{}:e.reduce((r,n)=>{let o=Le.default.extname(n),i=Le.default.basename(n,o),c=s?`${s}/${i}`:Le.default.relative(t,n);return{...r,[c]:n}},{})}function Oo({manifestPath:t}){let e=pe.default.dirname(t),s={public:pe.default.join(e,"public"),pages:pe.default.join(e,"pages"),scripts:pe.default.join(e,"scripts")},r={public:xt(s.public,()=>!0),pages:xt(s.pages,o=>o.endsWith(".html")),scripts:xt(s.scripts,o=>[".js",".mjs",".jsx",".mjsx",".ts",".mts",".tsx",".mtsx"].includes(pe.default.extname(o)))};return{public:wt(e,r.public),pages:wt(e,r.pages,"pages"),scripts:wt(e,r.scripts,"scripts")}}var Io=a(require("fs")),fe=a(require("@rspack/core"));var vt=class{manifestPath;constructor(e){this.manifestPath=e.manifestPath}apply(e){e.hooks.thisCompilation.tap("manifest:emit-manifest",s=>{s.hooks.processAssets.tap({name:"manifest:emit-manifest",stage:fe.Compilation.PROCESS_ASSETS_STAGE_PRE_PROCESS},()=>{let r=this.manifestPath,n;try{let c=Io.default.readFileSync(r,"utf-8");n=JSON.parse(c),"$schema"in n&&delete n.$schema}catch(c){s.errors.push(new fe.default.WebpackError(Ur(c)));return}let o=JSON.stringify(n,null,2);s.emitAsset("manifest.json",new fe.sources.RawSource(o))})})}};var Oe=require("@rspack/core");function Mo(t,e){return t.background&&t.background.scripts&&{background:{...t.background,...t.background.scripts&&{scripts:[...t.background.scripts.map(s=>h("background/scripts.js",s,e))]}}}}var Ao=a(require("path"));var St=t=>Ao.default.basename(t);function Ro(t,e){return t.browser_action&&{browser_action:{...t.browser_action,...t.browser_action.default_popup&&{default_popup:h("browser_action/default_popup.html",t.browser_action.default_popup,e)},...t.browser_action.default_icon&&{default_icon:typeof t.browser_action.default_icon=="string"?h(`icons/${St(t.browser_action.default_icon)}`,t.browser_action.default_icon,e):Object.fromEntries(Object.entries(t.browser_action.default_icon).map(([s,r])=>[s,h(`icons/${St(r)}`,r,e)]))},...t.browser_action.theme_icons&&{theme_icons:t.browser_action.theme_icons.map(s=>({...s,...s.light&&{light:h(`browser_action/${St(s.light)}`,s.light,e)},...s.dark&&{dark:h(`browser_action/${St(s.dark)}`,s.dark,e)}}))}}}}function No(t,e){return t.declarative_net_request&&{declarative_net_request:{...t.declarative_net_request,rule_resources:t.declarative_net_request.rule_resources.map(s=>({...s,path:s.path&&h(`declarative_net_request/${s.id}.json`,s.path,e)}))}}}function To(t,e){return{...Mo(t,e),...Ro(t,e),...No(t,e)}}var Bo=a(require("path"));var Uo=t=>Bo.default.basename(t);function qo(t,e){return t.action&&{action:{...t.action,...t.action.default_popup&&{default_popup:h("action/default_popup.html",t.action.default_popup,e)},...t.action.default_icon&&{default_icon:typeof t.action.default_icon=="string"?h(`action/${Uo(t.action.default_icon)}`,t.action.default_icon,e):Object.fromEntries(Object.entries(t.action.default_icon).map(([s,r])=>[s,h(`action/${Uo(r)}`,r,e)]))}}}}function Wo(t,e){return t.background&&t.background.service_worker&&{background:{...t.background,...t.background.service_worker&&{service_worker:h("background/service_worker.js",t.background.service_worker,e)}}}}function _t(t,e){return t.side_panel&&{side_panel:{...t.side_panel.default_path&&{default_path:h("side_panel/default_path.html",t.side_panel.default_path,e)}}}}function Jo(t,e){return{...qo(t,e),...Wo(t,e),..._t(t,e)}}function zo(t,e){return t.background&&t.background.page&&{background:{...t.background,...t.background.page&&{page:h("background/page.html",t.background.page,e)}}}}function Ho(t,e){return t.chrome_url_overrides&&{chrome_url_overrides:{...t.chrome_url_overrides.bookmarks&&{bookmarks:h("chrome_url_overrides/bookmarks.html",t.chrome_url_overrides.bookmarks,e)},...t.chrome_url_overrides.history&&{history:h("chrome_url_overrides/history.html",t.chrome_url_overrides.history,e)},...t.chrome_url_overrides.newtab&&{newtab:h("chrome_url_overrides/newtab.html",t.chrome_url_overrides.newtab,e)}}}}function Vo(t,e){return t.content_scripts&&{content_scripts:t.content_scripts.map((s,r)=>{let n=[...new Set(s.js)],o=[...new Set(s.css)];return{...s,js:[...n.map(i=>h(`content_scripts/content-${r}.js`,i,e))],css:[...o.map(i=>h(`content_scripts/content-${r}.css`,i,e))]}})}}function Xo(t,e){return t.devtools_page&&{devtools_page:h("devtools_page.html",t.devtools_page,e)}}var Go=a(require("path"));var vl=t=>Go.default.basename(t);function Zo(t,e){return t.icons&&{icons:Object.fromEntries(Object.entries(t.icons).map(([s,r])=>[s,h(`icons/${vl(r)}`,r,e)]))}}function Ko(t,e){return t.options_page&&{options_page:h("options_ui/page.html",t.options_page,e)}}function Yo(t,e){return t.options_ui&&{options_ui:{...t.options_ui,...t.options_ui.page&&{page:h("options_ui/page.html",t.options_ui.page,e)}}}}var ei=a(require("path"));var Qo=t=>ei.default.basename(t);function ti(t,e){return t.page_action&&{page_action:{...t.page_action,...t.page_action.default_popup&&{default_popup:h("page_action/default_popup.html",t.page_action.default_popup,e)},...t.page_action.default_icon&&{default_icon:typeof t.page_action.default_icon=="string"?h(`icons/${Qo(t.page_action.default_icon)}`,t.page_action.default_icon,e):Object.fromEntries(Object.entries(t.page_action.default_icon).map(([s,r])=>[s,h(`icons/${Qo(r)}`,r,e)]))}}}}function si(t,e){return t.sandbox&&{sandbox:{...t.sandbox,...t.sandbox.pages&&{pages:t.sandbox.pages.map((s,r)=>h(`sandbox/page-${r}.html`,s,e))}}}}var ri=a(require("path"));var Sl=t=>ri.default.basename(t);function ni(t,e){return t.sidebar_action&&{sidebar_action:{...t.sidebar_action,...t.sidebar_action.default_panel&&{default_panel:h("sidebar_action/default_panel.html",t.sidebar_action.default_panel,e)},...t.sidebar_action.default_icon&&{default_icon:h(`icons/${Sl(t.sidebar_action.default_icon)}`,t.sidebar_action.default_icon,e)}}}}function oi(t,e){return t.storage&&{storage:{...t.storage.managed_schema&&{managed_schema:h("storage/managed_schema.json",t.storage.managed_schema,e)}}}}var ii=a(require("path"));var _l=t=>ii.default.basename(t);function ai(t,e){return t.theme&&{theme:{...t.theme,...t.theme.images&&{images:{...t.theme.images,theme_frame:h(`theme/images/${_l(t.theme.images.theme_frame)}`,t.theme.images.theme_frame,e)}}}}}function ci(t,e){return t.user_scripts&&{user_scripts:{...t.user_scripts,...t.user_scripts.api_script&&{api_script:h("user_scripts/api_script.js",t.user_scripts.api_script,e)}}}}function li(t){return t.web_accessible_resources&&t.web_accessible_resources.length&&{web_accessible_resources:t.web_accessible_resources}}function pi(t,e){return{...zo(t,e),...Ho(t,e),...Vo(t,e),...Xo(t,e),...Zo(t,e),...Ko(t,e),...Yo(t,e),...ti(t,e),...si(t,e),..._t(t,e),...ni(t,e),...oi(t,e),...ai(t,e),...ci(t,e),...li(t)}}function Xs(t,e,s){let r=e||require(t);return JSON.stringify({...r,...pi(r,s),...To(r,s),...Jo(r,s)},null,2)}var Pt=class{manifestPath;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.excludeList=e.excludeList}applyDevOverrides(e){return e.content_scripts?e.content_scripts.map((s,r)=>(s.css.length&&!s.js.length&&(s.js=[h(`content_scripts-${r}`,"dev.js",{})]),s)):{}}apply(e){e.hooks.thisCompilation.tap("manifest:update-manifest",s=>{s.hooks.processAssets.tap({name:"manifest:update-manifest",stage:Oe.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},()=>{if(s.errors.length>0)return;let r=W(s,this.manifestPath),n=Xs(this.manifestPath,r,this.excludeList||{}),o={...r,...JSON.parse(n)};e.options.mode==="development"&&o.content_scripts&&(o.content_scripts=this.applyDevOverrides(o));let i=JSON.stringify(o,null,2),c=new Oe.sources.RawSource(i);s.updateAsset("manifest.json",c)}),e.options.mode==="production"&&s.hooks.processAssets.tap("manifest:update-manifest",()=>{if(s.errors.length>0)return;let r=W(s,this.manifestPath),n=Xs(this.manifestPath,r,this.excludeList||{}),o={...r,...JSON.parse(n)},i=JSON.stringify(o,null,2),c=new Oe.sources.RawSource(i);s.updateAsset("manifest.json",c)})})}};var fi=a(require("fs")),Et=class{dependencyList;constructor(e){this.dependencyList=e}apply(e){e.hooks.afterCompile.tap("manifest:add-dependency",s=>{if(s.errors?.length)return;let r=new Set(s.fileDependencies);this.dependencyList&&this.dependencyList.forEach(n=>{fi.default.existsSync(n)&&(r.has(n)||(r.add(n),s.fileDependencies.add(n)))})})}};var ui=a(require("fs")),mi=a(require("path")),$t=a(require("@rspack/core"));var kt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}extractPaths(e){let s=Array.isArray(e)?e:[e];if(typeof s[0]=="string")return s;let r=[];if(typeof e=="object"&&!Array.isArray(e)){let n=e;n.light&&r.push(n.light),n.dark&&r.push(n.dark)}return r}handleErrors(e,s){let r=[".png",".jpg",".jpeg",".svg",".gif",".webp"],n=[".json"],o=[".js",".ts",".jsx",".tsx",".mjs",".cjs"],i=".html",c=Object.entries(this.includeList||{});for(let[l,p]of c)if(p){let u=this.extractPaths(p);for(let m of u){let g=mi.default.extname(m),b=require(this.manifestPath),S=P(b,"chrome").name||"Extension.js";if(!ui.default.existsSync(m)){if(m.startsWith("/"))return;let E=oe(S,l,m);r.includes(g)?e.errors.push(new s(E)):n.includes(g)?e.errors.push(new s(E)):o.includes(g)?e.errors.push(new s(E)):g===i?e.errors.push(new s(E)):e.errors.push(new s(E))}}}}apply(e){e.hooks.compilation.tap("manifest:check-manifest-files",s=>{s.hooks.processAssets.tap({name:"compatibility:check-manifest-files",stage:$t.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COUNT},()=>{let r=$t.default.WebpackError;this.handleErrors(s,r)})})}};var di=a(require("fs")),Ct=a(require("@rspack/core"));var Ft=class{manifestPath;browser;includeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList}flattenAndSort(e){return e.flat(1/0).sort()}apply(e){e.hooks.watchRun.tapAsync("manifest:throw-if-recompile-is-needed",(s,r)=>{if((s.modifiedFiles||new Set).has(this.manifestPath)){let o=s.options.context||"",i=`${o}/package.json`;if(!di.default.existsSync(i)){r();return}let c=require(this.manifestPath),l=P(c,this.browser),p=this.flattenAndSort(Object.values(Fe(o,l))),u=this.flattenAndSort(Object.values(De(o,l)));s.hooks.thisCompilation.tap("manifest:throw-if-recompile-is-needed",m=>{m.hooks.processAssets.tap({name:"manifest:check-manifest-files",stage:Ct.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COMPATIBILITY},()=>{let b=m.getAsset("manifest.json")?.source.source().toString(),_=JSON.parse(b||"{}"),S=this.flattenAndSort(Object.values(Fe(o,_))),E=this.flattenAndSort(Object.values(De(o,_)));if(u.toString()!==E.toString()||p.toString()!==S.toString()){let A=p.filter(q=>!S.includes(q))[0],T=S.filter(q=>!p.includes(q))[0],_e=Br(T,A);m.errors.push(new Ct.default.WebpackError(_e))}})})}r()})}};var jt=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new vt({manifestPath:this.manifestPath}).apply(e),new kt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Pt({manifestPath:this.manifestPath,excludeList:this.excludeList}).apply(e),new Et([this.manifestPath]).apply(e),new Ft({manifestPath:this.manifestPath,browser:this.browser,includeList:this.includeList}).apply(e)}};var Qs=a(require("path"));var Zs=a(require("fs")),Ot=a(require("@rspack/core")),xi=require("@rspack/core");var gi=a(require("fs")),me=a(require("path")),hi=a(require("parse5-utils"));var ue=a(require("parse5-utils"));function Dt(t){try{return new URL(t),!0}catch{return!1}}function Ie(t,e){let{childNodes:s=[]}=t;for(let r of s)if(r.nodeName==="script"){let n=ue.default.getAttribute(r,"src");if(!n||Dt(n))continue;e({filePath:n,childNode:r,assetType:"script"})}else if(r.nodeName==="link"){let n=ue.default.getAttribute(r,"href"),o=ue.default.getAttribute(r,"rel");if(!n||Dt(n))continue;e(o==="dns-prefetch"||o==="icon"||o==="manifest"||o==="modulepreload"||o==="preconnect"||o==="prefetch"||o==="preload"||o==="prerender"?{filePath:n,childNode:r,assetType:"staticHref"}:{filePath:n,childNode:r,assetType:"css"})}else if(r.nodeName==="a"||r.nodeName==="area"){let n=ue.default.getAttribute(r,"href");if(!n||Dt(n))continue;e({filePath:n,childNode:r,assetType:"staticHref"})}else if(r.nodeName==="audio"||r.nodeName==="embed"||r.nodeName==="iframe"||r.nodeName==="img"||r.nodeName==="input"||r.nodeName==="source"||r.nodeName==="track"||r.nodeName==="video"){let n=ue.default.getAttribute(r,"src");if(!n||Dt(n))continue;e({filePath:n,childNode:r,assetType:"staticSrc"})}else Ie(r,e)}function D(t,e){let s={css:[],js:[],static:[]};if(!t)return s;let r=e||gi.default.readFileSync(t,{encoding:"utf8"}),n=hi.default.parse(r),o=(i,c)=>me.default.join(me.default.dirname(i),c.startsWith("/")?me.default.relative(me.default.dirname(i),c):c);for(let i of n.childNodes)if(i.nodeName==="html"){for(let c of i.childNodes)(c.nodeName==="head"||c.nodeName==="body")&&Ie(c,({filePath:l,assetType:p})=>{let u=o(t,l);switch(p){case"script":s.js?.push(u);break;case"css":s.css?.push(u);break;case"staticSrc":case"staticHref":if(l.startsWith("#"))break;s.static?.push(u);break;default:break}});return{css:s.css,js:s.js,static:s.static}}}function yi(t,e,s){let r=Object.keys(t).find(o=>{let i=t[o];return t[o]===e||D(i)?.js?.includes(e)||D(i)?.css?.includes(e)})||"",n=Gs(e);return r?`/${r.replace(n,"")}${s}`:`${e.replace(n,"")}${s}`}function Gs(t){switch(me.default.extname(t)){case".js":case".mjs":case".ts":case".tsx":return".js";case".css":case".scss":case".sass":case".less":return".css";case".html":return".html";default:return".js"}}function z(t,e,s){return s?`/${t}${e}`:`${t}${e}`}function bi(t,e){return Object.values(e||{}).some(s=>s===t)}var Lt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){let s=require(this.manifestPath),n=P(s,"chrome").name||"Extension.js";e.hooks.thisCompilation.tap("html:emit-html-file",o=>{o.hooks.processAssets.tap({name:"AddAssetsToCompilationPlugin",stage:Ot.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{let i=Object.entries(this.includeList||{});for(let c of i){let[l,p]=c;if(p){if(!Zs.default.existsSync(p)){let m=oe(n,l,p);o.warnings.push(new Ot.default.WebpackError(m));return}let u=Zs.default.readFileSync(p,"utf8");if(!$(p,this.excludeList)){let m=new xi.sources.RawSource(u),g=z(l,".html");o.emitAsset(g,m)}}}})})}};var It=a(require("fs")),de=a(require("path")),Y=a(require("@rspack/core"));var Mt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.thisCompilation.tap("html:add-assets-to-compilation",s=>{s.hooks.processAssets.tap({name:"html:add-assets-to-compilation",stage:Y.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{if(s.errors.length>0)return;let r=Object.entries(this.includeList||{});for(let n of r){let[o,i]=n,c=o+".html";if(i){let l=s.getAsset(c);if(l){let p=l.source.source().toString(),u=D(i,p)?.static,m=[...new Set(u)];for(let g of m)if(!g.startsWith("/")){if(!It.default.existsSync(g)&&!bi(g,this.includeList)&&!de.default.basename(g).startsWith("#")){let A=st(i,g);g.startsWith("/")||s.warnings.push(new Y.default.WebpackError(A));return}let b=It.default.readFileSync(g),_=new Y.sources.RawSource(b),S=de.default.join("assets",de.default.basename(g));if(!s.getAsset(S))if(g.endsWith(".html")){let E=D(g),A=[...E?.js||[],...E?.css||[],...E?.static||[]];s.emitAsset(S,_),A.forEach(T=>{let _e=It.default.readFileSync(T),q=new Y.sources.RawSource(_e),Fr=de.default.join("assets",de.default.basename(T));s.getAsset(Fr)||s.emitAsset(Fr,q)})}else s.emitAsset(S,_)}}}}})})}};var wi=a(require("path")),Ks=a(require("fs"));var At=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){let s=this.includeList||{};for(let r of Object.entries(s)){let[n,o]=r;if(o){if(!Ks.default.existsSync(o))return;let i=D(o),c=i?.js||[],l=i?.css||[],p=[...c,...l].filter(u=>!$(u,this.excludeList));if(e.options.mode==="development"){let u=wi.default.resolve(__dirname,"minimum-script-file.mjs");p.push(u)}Ks.default.existsSync(o)&&($(o,this.excludeList)||(e.options.entry={...e.options.entry,[n]:{import:p}}))}}}};var Nt=require("@rspack/core");var Ys=a(require("fs")),H=a(require("path")),O=a(require("parse5-utils"));function vi(t,e,s,r,n){let o=Ys.default.readFileSync(s,{encoding:"utf8"}),i=O.default.parse(o),c=!!t.getAsset(e+".css"),l=!1;for(let p of i.childNodes)if(p.nodeName==="html"){for(let u of p.childNodes){if((u.nodeName==="head"||u.nodeName==="body")&&Ie(u,({filePath:m,childNode:g,assetType:b})=>{let _=H.default.dirname(s),S=H.default.resolve(_,m),E=Gs(S),A=$(H.default.resolve(_,m),n),T=H.default.join("/",H.default.normalize(m)),_e=en(S,r);switch(b){case"script":{A?p=O.default.setAttribute(g,"src",T):(p=O.default.remove(g),l=!0);break}case"css":{A?p=O.default.setAttribute(g,"href",T):(p=O.default.remove(g),c=!0);break}case"staticHref":case"staticSrc":{if(A)p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",T);else if(_e){let q=yi(r,S,E);p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",q)}else{let q=H.default.join("assets",H.default.basename(S,E));Ys.default.existsSync(S)&&(p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",z(q,"",!0)))}break}default:break}}),u.nodeName==="head"&&c){let m=O.default.createNode("link");m.attrs=[{name:"rel",value:"stylesheet"},{name:"href",value:z(e,".css",!0)}],O.default.append(u,m)}if(u.nodeName==="body"&&(l||t.options.mode!=="production")){let m=O.default.createNode("script");m.attrs=[{name:"src",value:z(e,".js",!0)}],O.default.append(u,m)}}return O.default.serialize(i)}}var Rt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("html:update-html-file",s=>{s.hooks.processAssets.tap({name:"html:update-html-file",stage:Nt.Compilation.PROCESS_ASSETS_STAGE_DERIVED},()=>{if(s.errors.length>0)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[o,i]=n;if(i){let c=vi(s,o,i,r,this.excludeList||{});if(!$(i,this.excludeList)&&c){let l=new Nt.sources.RawSource(c),p=z(o,".html");s.updateAsset(p,l)}}}})})}};var Si=a(require("fs")),_i=require("@rspack/core");var Tt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.thisCompilation.tap("html:add-to-file-dependencies",s=>{s.hooks.processAssets.tap({name:"html:add-to-file-dependencies",stage:_i.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[,o]=n;if(o){let i=D(o),c=new Set(s.fileDependencies);if(Si.default.existsSync(o)){let l=[o,...i?.static||[]];for(let p of l)c.has(p)||(c.add(p),p===o&&s.fileDependencies.add(p))}}}})})}};var Pi=a(require("fs"));var Ut=class{manifestPath;includeList;initialHtmlAssets={};constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}hasEntriesChanged(e,s){if(!s||!e||e.length!==s.length)return!0;for(let r=0;r<e.length;r++)if(e[r]!==s[r])return!0;return!1}storeInitialHtmlAssets(e){Object.entries(e).forEach(([s,r])=>{let n=r;if(n){if(!Pi.default.existsSync(n)){let o=require(this.manifestPath),c=P(o,"chrome").name||"Extension.js";console.error(oe(c,s,n)),process.exit(1)}this.initialHtmlAssets[n]={js:D(n)?.js||[],css:D(n)?.css||[]}}})}apply(e){let s=this.includeList||{};this.storeInitialHtmlAssets(s),e.hooks.make.tapAsync("html:throw-if-recompile-is-needed",(r,n)=>{let o=e.modifiedFiles||new Set,i=Array.from(o)[0];if(i&&this.initialHtmlAssets[i]){let c=D(i)?.js||[],l=D(i)?.css||[],{js:p,css:u}=this.initialHtmlAssets[i];(this.hasEntriesChanged(l,u)||this.hasEntriesChanged(c,p))&&console.log(Vr(i))}n()})}};var Ei=a(require("fs")),ki=require("@rspack/core");function El(t,e){let s="Module not found: Error: Can't resolve ",n=e.message.replace(s,"").split("'")[1];if(e.message.includes(s))for(let o of Object.entries(t)){let[,i]=o;if(i){if(!Ei.default.existsSync(i))return null;let c=D(i),l=c?.js?.filter(u=>!u.startsWith("/"))||[],p=c?.css?.filter(u=>!u.startsWith("/"))||[];if(l.includes(n)||p.includes(n)){let u=st(i,n);return new ki.WebpackError(u)}}}return null}var Bt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.compilation.tap("html:handle-common-errors",s=>{s.hooks.afterSeal.tapPromise("html:handle-common-errors",async()=>{s.errors.forEach((r,n)=>{let o=El(this.includeList||{},r);o&&(s.errors[n]=o)})})})}};var qt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Lt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Mt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new At({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Rt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Qs.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Qs.default.join(__dirname,"ensure-hmr-for-scripts.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}}]}),new Tt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Ut({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Bt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var Me=a(require("path"));var er=a(require("fs")),$i=a(require("path"));function Fi(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>{let o=er.default.existsSync(n)&&!$(n,e),i=$i.default.extname(n);return o&&(i===".js"||i===".mjs"||i===".jsx"||i===".ts"||i===".tsx")})}function Ci(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>er.default.existsSync(n)&&!$(n,e)&&(n.endsWith(".css")||n.endsWith(".scss")||n.endsWith(".sass")||n.endsWith(".less")))}var Wt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList||{},this.excludeList=e.excludeList||{}}apply(e){let s=this.includeList||{},r={};for(let[n,o]of Object.entries(s)){let i=Fi(o,this.excludeList),c=Ci(o,this.excludeList),l=[...i,...c];(c.length||i.length)&&(r[n]={import:l})}e.options.entry={...e.options.entry,...r}}};var Q=require("@rspack/core"),kl=['var isBrowser = !!(() => { try { return browser.runtime.getURL("/") } catch(e) {} })()','var isChrome = !!(() => { try { return chrome.runtime.getURL("/") } catch(e) {} })()'],$l=[...kl,`var runtime = isBrowser ? browser : isChrome ? chrome : (typeof self === 'object' && self.addEventListener) ? { get runtime() { throw new Error("No chrome or browser runtime found") } } : { runtime: { getURL: x => x } }`],Jt=class t{apply(e){let{RuntimeGlobals:s}=e.webpack;e.hooks.compilation.tap("PublicPathRuntimeModule",r=>{r.hooks.runtimeRequirementInTree.for(s.publicPath).tap(t.name,n=>{let o=Fl();return r.addRuntimeModule(n,o),!0})})}};function Fl(){class t extends Q.RuntimeModule{constructor(){super("publicPath",Q.RuntimeModule.STAGE_BASIC)}generate(){let s=this.compilation?.outputOptions.publicPath;return Q.Template.asString([...$l,`var path = ${JSON.stringify(this.compilation?.getPath(s||"",{hash:this.compilation.hash||"XXXX"}))}`,`${Q.RuntimeGlobals.publicPath} = typeof importScripts === 'function' || !(isBrowser || isChrome) ? path : runtime.runtime.getURL(path);`])}}return new t}var zt=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList||{},this.excludeList=e.excludeList||{}}apply(e){let s=require(this.manifestPath),r=P(s,this.browser);r.content_scripts?.some(n=>n.world&&n.world.toLowerCase()==="main")&&Z.includes(this.browser)&&!r.key&&(console.error(Zr()),process.exit(1))}};var Ht=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Wt({manifestPath:this.manifestPath,includeList:this.includeList||{},excludeList:this.excludeList||{}}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Me.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Me.default.join(__dirname,"add-hmr-accept-code.js")),options:{manifestPath:this.manifestPath,mode:e.options.mode,includeList:this.includeList||{},excludeList:this.excludeList||{}}}]}),e.options.mode==="production"&&new Jt().apply(e),new zt({manifestPath:this.manifestPath,browser:this.browser||"chrome",includeList:this.includeList||{},excludeList:this.excludeList||{}}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Me.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Me.default.join(__dirname,"deprecated-shadow-root.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList||{},excludeList:this.excludeList||{}}}]})}};var Re=a(require("path")),Ne=a(require("fs")),V=a(require("@rspack/core"));var ge=a(require("path")),Ae=a(require("fs"));function tr(t){let e=ge.default.join(ge.default.dirname(t),"_locales"),s=[];if(Ae.default.existsSync(e))for(let r of Ae.default.readdirSync(e)){let n=ge.default.join(e,r);if(n&&Ae.default.statSync(n).isDirectory())for(let o of Ae.default.readdirSync(n))s.push(ge.default.join(ge.default.dirname(t),"_locales",r,o))}return s}var Vt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("locales:module",s=>{s.hooks.processAssets.tap({name:"locales:module",stage:V.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(!Ne.default.existsSync(this.manifestPath)){let n=require(this.manifestPath),i=P(n,"chrome").name||"Extension.js";s.errors.push(new V.default.WebpackError(Tr(i,this.manifestPath)));return}if(s.errors.length>0)return;let r=tr(this.manifestPath);for(let n of Object.entries(r||[])){let[o,i]=n,c=i;if(c){if(Re.default.extname(c)!==".json")continue;if(!Ne.default.existsSync(c)){s.warnings.push(new V.default.WebpackError(rt(o,c)));return}let l=Ne.default.readFileSync(c),p=new V.sources.RawSource(l),u=e.options.context||Re.default.dirname(this.manifestPath);if(!$(c,this.excludeList)){let m=Re.default.relative(u,c);s.emitAsset(m,p)}}}})}),e.hooks.thisCompilation.tap("locales:module",s=>{s.hooks.processAssets.tap({name:"locales:module",stage:V.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=tr(this.manifestPath);for(let n of Object.entries(r||[])){let[,o]=n;if(o){let i=new Set(s.fileDependencies),c=r||[];for(let l of c)Ne.default.existsSync(l)&&Re.default.extname(l)===".json"&&(i.has(l)||(i.add(l),s.fileDependencies.add(l)))}}})})}};var Xt=a(require("fs")),ee=a(require("@rspack/core"));var Gt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("json:module",s=>{s.hooks.processAssets.tap({name:"json:module",stage:ee.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors.length>0)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[o,i]=n,c=Array.isArray(i)?i:[i];for(let l of c)if(l&&!$(l,this.excludeList)){if(!Xt.default.existsSync(l)){s.warnings.push(new ee.default.WebpackError(rt(o,l)));return}let p=Xt.default.readFileSync(l),u=new ee.sources.RawSource(p);s.emitAsset(o+".json",u)}}})}),e.hooks.thisCompilation.tap("json:module",s=>{s.hooks.processAssets.tap({name:"json:module",stage:ee.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[,o]=n,i=Array.isArray(o)?o:[o];for(let c of i)if(c){let l=new Set(s.fileDependencies);$(c,this.excludeList)||Xt.default.existsSync(c)&&(l.has(c)||(l.add(c),s.fileDependencies.add(c)))}}})})}};var sr=a(require("fs")),ji=a(require("path")),Kt=require("@rspack/core");var Zt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("icons:emit-file",s=>{s.hooks.processAssets.tap({name:"icons:emit-file",stage:Kt.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER},()=>{if(s.errors.length>0)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[o,i]=n;if(i===void 0)continue;let c=Array.isArray(i)?typeof i[0]=="string"?i:i.map(Object.values).flat():[i];for(let l of c)if(l){if(!sr.default.existsSync(l))continue;if(!$(l,this.excludeList)){let p=sr.default.readFileSync(l),u=new Kt.sources.RawSource(p),m=ji.default.basename(l),b=`${o.endsWith("theme_icons")?o.replace("theme_icons",""):o}/${m}`;s.emitAsset(b,u)}}}})})}};var Di=a(require("fs")),Li=require("@rspack/core"),Yt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("icons:add-to-file-dependencies",s=>{s.hooks.processAssets.tap({name:"icons:add-to-file-dependencies",stage:Li.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[,o]=n,i=Array.isArray(o)?typeof o[0]=="string"?o:o.map(Object.values).flat():[o];for(let c of i)if(c){let l=new Set(s.fileDependencies);Di.default.existsSync(c)&&(l.has(c)||(l.add(c),s.fileDependencies.add(c)))}}})})}};var Qt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Zt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Yt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var ts=require("@rspack/core");function Oi(t){return t.map(e=>{try{let s=new URL(e.replace(/^\*:\/\//,"https://"));return e.endsWith(s.pathname)?`${e.substring(0,e.length-s.pathname.length)}/*`:s.pathname==="/"?`${e}/*`:e}catch{return e}})}var es=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}generateManifestPatches(e,s){let r=W(e,this.manifestPath),n=r.web_accessible_resources||[],o=r.web_accessible_resources||[];for(let[l,p]of Object.entries(s)){let u=r.content_scripts?.find(m=>m.js?.some(g=>g.includes(l)));if(u){let m=u.matches||[],g=p.filter(b=>!b.endsWith(".map")&&!b.endsWith(".js"));if(g.length===0)continue;if(r.manifest_version===3){let b=n.find(_=>_.matches.some(S=>m.includes(S)));b?g.forEach(_=>{b.resources.includes(_)||b.resources.push(_)}):n.push({resources:g,matches:Oi(m)})}else g.forEach(b=>{o.includes(b)||o.push(b)})}}r.manifest_version===3?n.length>0&&(r.web_accessible_resources=n):o.length>0&&(r.web_accessible_resources=Array.from(new Set(o)));let i=JSON.stringify(r,null,2),c=new ts.sources.RawSource(i);e.getAsset("manifest.json")&&e.updateAsset("manifest.json",c)}apply(e){e.hooks.thisCompilation.tap("plugin-extension:feature-web-resources",s=>{s.hooks.processAssets.tap({name:"plugin-extension:feature-web-resources",stage:ts.Compilation.PROCESS_ASSETS_STAGE_ANALYSE},()=>{let r=[],n=Object.keys(this.includeList||{});for(let c of n.filter(Boolean))c.startsWith("content_scripts")&&(Array.isArray(c)?r.push(...c):typeof c=="string"&&r.push(c));let o=s.chunkGraph,i={};s.entrypoints.forEach((c,l)=>{if(r.includes(l)){let p=[];c.chunks.forEach(u=>{Array.from(o.getChunkModulesIterable(u)).forEach(g=>{o.getModuleChunks(g).forEach(b=>{b.auxiliaryFiles.forEach(_=>{p.includes(_)||p.push(_)})})})}),i[l]=p}}),this.generateManifestPatches(s,i)})})}};var I=a(require("fs")),M=a(require("path")),Ii=a(require("chokidar")),ss=class{options;constructor(e){this.options=e}ensureDirectoryExistence(e){let s=M.default.dirname(e);if(I.default.existsSync(s))return!0;I.default.mkdirSync(s,{recursive:!0})}copyFile(e,s){this.ensureDirectoryExistence(s),I.default.copyFileSync(e,s)}copyFolder(e,s){I.default.existsSync(s)||I.default.mkdirSync(s,{recursive:!0}),I.default.readdirSync(e).forEach(n=>{let o=M.default.join(e,n),i=M.default.join(s,n);I.default.statSync(o).isDirectory()?this.copyFolder(o,i):this.copyFile(o,i)})}apply(e){let s=M.default.dirname(this.options.manifestPath),r=M.default.join(s,"public"),n=e.options.output?.path||"";I.default.existsSync(r)&&(e.hooks.afterEmit.tap("special-folders:copy-public-folder",()=>{let o=M.default.join(n,"/");I.default.existsSync(o)||I.default.mkdirSync(o,{recursive:!0}),I.default.existsSync(r)&&this.copyFolder(r,o)}),e.options.mode!=="production"&&e.hooks.afterPlugins.tap("special-folders:copy-public-folder",()=>{let o=M.default.join(s,"public"),i=Ii.default.watch(o,{ignoreInitial:!0});i.on("add",c=>{let l=M.default.join(n,M.default.relative(s,c));this.copyFile(c,l)}),i.on("change",c=>{let l=M.default.join(n,M.default.relative(s,c));this.copyFile(c,l)}),i.on("unlink",c=>{let l=M.default.join(n,M.default.relative(s,c));I.default.existsSync(l)&&I.default.unlinkSync(l)}),e.hooks.watchClose.tap("special-folders:copy-public-folder",()=>{i.close().catch(console.error)})}))}};var U=a(require("path")),rr=a(require("chokidar"));var rs=class{manifestPath;constructor(e){this.manifestPath=e}throwCompilationError(e,s,r){let n=U.relative(process.cwd(),s),c=qr(r?"Adding":"Removing",e,e==="pages"?"HTML pages":"script files",n);if(r){console.warn(c);return}console.error(c),process.exit(1)}apply(e){e.hooks.afterPlugins.tap("special-folders:warn-upon-folder-changes",()=>{let s=U.dirname(this.manifestPath),r=U.join(s,"pages"),n=U.join(s,"scripts"),o=rr.watch(r,{ignoreInitial:!0}),i=rr.watch(n,{ignoreInitial:!0}),c=e.options.resolve?.extensions;o.on("add",l=>{l.endsWith(".html")&&this.throwCompilationError("pages",l,!0)}),o.on("unlink",l=>{l.endsWith(".html")&&this.throwCompilationError("pages",l)}),i.on("add",l=>{c?.includes(U.extname(l))&&this.throwCompilationError("scripts",l,!0)}),i.on("unlink",l=>{c?.includes(U.extname(l))&&this.throwCompilationError("scripts",l)}),e.hooks.watchClose.tap("WarnUponFolderChanges",()=>{o.close().catch(console.error),i.close().catch(console.error)})})}};var ns=class{static name="plugin-special-folders";options;constructor(e){this.options=e}apply(e){let{manifestPath:s}=this.options;new ss({manifestPath:s}).apply(e),e.options.mode==="development"&&e.options.watchOptions&&new rs(s).apply(e)}};var os=class{static name="plugin-extension";manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){let s=this.manifestPath,r=le({manifestPath:s,browser:this.browser}),n=Oo({manifestPath:s,browser:this.browser});new jt({browser:this.browser,manifestPath:s,includeList:{...r.html,...r.icons,...r.json,...r.scripts},excludeList:n.public}).apply(e),new qt({manifestPath:s,includeList:{...r.html,...n.pages},excludeList:{...n.public,...n.scripts}}).apply(e),new Ht({manifestPath:s,browser:this.browser,includeList:{...r.scripts,...n.scripts},excludeList:{...n.public,...n.pages}}).apply(e),new Vt({manifestPath:s}).apply(e),new Gt({manifestPath:s,includeList:r.json,excludeList:n.public}).apply(e),new Qt({manifestPath:s,includeList:r.icons,excludeList:n.public}).apply(e),new es({manifestPath:s,includeList:{...r.scripts,...n.scripts},excludeList:n.public}).apply(e),new ns({manifestPath:s}).apply(e)}};var Be=a(require("path"));var Mi=a(require("path")),Ai=a(require("ws"));function is(t,e){t.clients.forEach(s=>{s.readyState===Ai.default.OPEN&&s.send(JSON.stringify(e))})}function Ri(t,e,s){if(!s||!e)return;let r=le({manifestPath:e}).locales,n=le({manifestPath:e}).scripts,o=le({manifestPath:e}).json;if(!t){process.env.EXTENSION_ENV==="development"&&console.error("WebSocket server is not running.");return}Mi.default.basename(s)==="manifest.json"&&is(t,{changedFile:"manifest.json"}),r?.forEach(i=>{i.includes(s)&&is(t,{changedFile:"_locales"})}),Object.entries(n).forEach(([i,c])=>{let l=Array.isArray(c)?c:[c];Object.values(l).flatMap(u=>u).includes(s)&&i==="background/service_worker"&&is(t,{changedFile:"service_worker"})}),Object.entries(o).forEach(([i,c])=>{c?.includes(s)&&i==="declarative_net_request"&&is(t,{changedFile:"declarative_net_request"})})}var or=a(require("path")),Bi=a(require("fs")),Ue=a(require("ws"));var Te=a(require("path")),Cl=a(require("http")),Ti=a(require("https")),nr=a(require("fs"));var Ni=t=>{if(!nr.default.existsSync(t))return;let e=Te.default.basename(t);return nr.default.readFileSync(Te.default.join(__dirname,"certs",e))};function Ui(t){let e={key:Ni(Te.default.join(__dirname,"certs","localhost.key")),cert:Ni(Te.default.join(__dirname,"certs","localhost.cert"))},s=Ti.default.createServer(e,(r,n)=>{n.writeHead(200),n.end()});return s.on("error",r=>{throw console.error(Gr(t)),new Error(r.message)}),{server:s,port:t}}function jl(t,e){switch(e){case"chrome":return new Ue.default.Server({host:"localhost",port:t});case"edge":return new Ue.default.Server({host:"localhost",port:t+1});case"firefox":return new Ue.default.Server({server:Ui(t+2).server});default:return new Ue.default.Server({host:"localhost",port:8888})}}async function qi(t,e){let s=t.options.context||"",r=require(or.default.join(s,"manifest.json")),o=jl(8e3,e.browser);if(o.on("connection",i=>{i.send(JSON.stringify({status:"serverReady"})),i.on("error",c=>{console.log(zr(c))}),i.on("message",c=>{let l=JSON.parse(c.toString());if(l.status==="clientReady"){let p=require(or.default.join(s,"manifest.json"));setTimeout(()=>{console.log(Ms(p,e.browser,l)),console.log("")},2500),tn(e.browser)&&setTimeout(()=>{console.log(Jr(e.browser))},5e3)}})}),e.browser==="firefox"||e.browser==="gecko-based"){let i=sn(r);console.log(Ms(r,e.browser,i)),console.log(""),Bi.default.existsSync(tt)||(console.log(Xr()),console.log(""))}return o}var Wi=a(require("path")),ir=a(require("fs"));function Ji(t,e){let s=Wi.default.resolve(__dirname,`./extensions/${t}-manager-extension/reload-service.js`);try{let r=ir.default.readFileSync(s,"utf8"),n=r.replace(/__RELOAD_PORT__/g,e.toString());n!==r&&ir.default.writeFileSync(s,n,"utf8")}catch(r){console.error(`Error processing file: ${r.message}`)}}process.on("SIGINT",()=>{process.exit()});process.on("SIGTERM",()=>{process.exit()});var qe=class{manifestPath;port;browser;stats;constructor(e){this.manifestPath=e.manifestPath,this.port=e.port||8e3,this.browser=e.browser||"chrome",this.stats=e.stats}async apply(e){if(!this.manifestPath)return;Ji(this.browser,this.port);let s=await qi(e,{...this,mode:e.options.mode,browser:this.browser,stats:this.stats,port:this.port});e.hooks.watchRun.tapAsync("reload:create-web-socket-server",(r,n)=>{let i=(r.modifiedFiles||new Set).values().next().value;if(!i){n();return}let c=Be.default.relative(Be.default.dirname(this.manifestPath),i),l=Be.default.relative(process.cwd(),Be.default.dirname(i));process.env.EXTENSION_ENV==="development"&&console.info(`\u25BA\u25BA Updated file \`${c}\` (relative to ${l})`),this.manifestPath&&Ri(s,this.manifestPath,i),n()})}};var ar=a(require("path"));function zi(t,e,s){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[ar.default.dirname(s)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:ar.default.resolve(__dirname,"./inject-chromium-client-loader"),options:{manifestPath:s,browser:e}}]})}var cr=a(require("path"));function Hi(t,e,s){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[cr.default.dirname(s)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:cr.default.resolve(__dirname,"./inject-firefox-client-loader"),options:{manifestPath:s,browser:e}}]})}var cs=require("@rspack/core");var lr=a(require("content-security-policy-parser"));function Vi(t){let e="";for(let s in t)e+=`${s} ${t[s].join(" ")}; `;return e.trim()}function Xi(t){let e=t.content_security_policy;if(!e)return"script-src 'self' 'unsafe-eval' blob: filesystem:; object-src 'self' blob: filesystem:; ";let s=(0,lr.default)(e);if(!s.get("script-src"))s.set("script-src",["'self'","'unsafe-eval'","blob:","filesystem:"]);else{let n=s.get("script-src")||[];n.includes("'unsafe-eval'")||n.push("'unsafe-eval'"),n.includes("blob:")||n.push("blob:"),n.includes("filesystem:")||n.push("filesystem:"),s.set("script-src",n)}s.get("object-src")||s.set("object-src",["'self'","blob:","filesystem:"]);let r=Object.fromEntries(s.entries());return Vi(r)}function Gi(t){let e=t.content_security_policy;if(!e)return{extension_pages:"script-src 'self'; object-src 'self';"};let s=(0,lr.default)(e.extension_pages||""),r={};for(let i in r)s.get(i)||s.set(i,r[i]);let n=Object.fromEntries(s.entries());return{extension_pages:Vi(n)}}function Zi(t){let e=["/*.json","/*.js","/*.css"],s=t.web_accessible_resources;if(!s||s.length===0)return e;let r=new Set(s);for(let n of e)r.has(n)||r.add(n);return Array.from(r)}function Ki(t){let e=["/*.json","/*.js","/*.css"];return[...t.web_accessible_resources||[],{resources:e,matches:["<all_urls>"]}]}function pr(t,e){return t.background?{background:{...t.background}}:e==="firefox"||e==="gecko-based"?{background:{...t.background||{},scripts:["background/script.js"]}}:t.manifest_version===2?{background:{...t.background||{},scripts:["background/script.js"]}}:{background:{...t.background||{},service_worker:"background/service_worker.js"}}}function fr(t){return t.externally_connectable&&!t.externally_connectable.ids?{externally_connectable:{...t.externally_connectable,ids:[...new Set(t.externally_connectable.ids||[]),"*"]}}:t.externally_connectable&&!t.externally_connectable.ids?{externally_connectable:{...t.externally_connectable,ids:["*"]}}:{}}var as=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}generateManifestPatches(e){let s=W(e,this.manifestPath),r={...s,content_security_policy:s.manifest_version===3?Gi(s):Xi(s),...s.manifest_version===3?s.permissions?{permissions:[...new Set(["scripting",...s.permissions])]}:{permissions:["scripting"]}:{},...pr(s,this.browser),...fr(s),web_accessible_resources:s.manifest_version===3?Ki(s):Zi(s)},n=JSON.stringify(r,null,2),o=new cs.sources.RawSource(n);e.getAsset("manifest.json")&&e.updateAsset("manifest.json",o)}apply(e){e.hooks.thisCompilation.tap("run-chromium:apply-manifest-dev-defaults",s=>{s.hooks.processAssets.tap({name:"run-chromium:apply-manifest-dev-defaults",stage:cs.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},r=>{if(!this.manifestPath){let n="No manifest.json found in your extension bundle. Unable to patch manifest.json.";s&&e.rspack.WebpackError&&s.errors.push(new e.rspack.WebpackError(`run-chromium: ${n}`));return}this.generateManifestPatches(s)})})}};var ur=a(require("fs")),he=a(require("path")),Yi=a(require("webpack-target-webextension"));var ls=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}handleBackground(e,s,r){let n=he.default.resolve(__dirname,s==="firefox"||s==="gecko-based"?"minimum-firefox-file.mjs":"minimum-chromium-file.mjs"),o=he.default.dirname(this.manifestPath),i=P(r,s);if(s==="firefox"||s==="gecko-based"){i=r.background;let c=i?.scripts;if(c&&c.length>0){let l=he.default.join(o,c[0]);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/script",n)}else if(i=r.background,r.manifest_version===3){let c=i?.service_worker;if(c){let l=he.default.join(o,c);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/service_worker",n)}else if(r.manifest_version===2){let c=i?.scripts;if(c&&c.length>0){let l=he.default.join(o,c[0]);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/script",n)}}ensureFileExists(e){if(!ur.default.existsSync(e)&&this.manifestPath){let s=require(this.manifestPath),n=P(s,"chrome").name||"Extension.js",o=Hr(n,e);throw console.error(o),new Error(o)}}addDefaultEntry(e,s,r){e.options.entry={...e.options.entry,[s]:{import:[r]}}}getEntryName(e){if(e.background){if(this.browser==="firefox"||this.browser==="gecko-based")return{eagerChunkLoading:!1,pageEntry:"background/script"};if(e.manifest_version===3)return{eagerChunkLoading:!1,serviceWorkerEntry:"background/service_worker"};if(e.manifest_version===2)return{eagerChunkLoading:!1,pageEntry:"background/script"}}return{eagerChunkLoading:!1,pageEntry:"background"}}convertToWebpackCompiler(e){return{...e,options:{...e.options,mode:"development"}}}apply(e){if(!this.manifestPath||!ur.default.lstatSync(this.manifestPath).isFile())return;let s=require(this.manifestPath),r=P(s,this.browser);this.handleBackground(e,this.browser,r),new Yi.default({background:this.getEntryName(r),weakRuntimeCheck:!0}).apply(this.convertToWebpackCompiler(e))}};var mr=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){(Z.includes(this.browser)||this.browser==="chromium-based")&&zi(e,this.browser,this.manifestPath),(this.browser==="firefox"||this.browser==="gecko-based")&&Hi(e,this.browser,this.manifestPath),new as({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new ls({manifestPath:this.manifestPath,browser:this.browser}).apply(e)}},Qi=mr;var ps=class{static name="plugin-reload";manifestPath;browser;port;stats;autoReload;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.port=e.port,this.stats=e.stats,this.autoReload=e.autoReload}apply(e){e.options.mode==="development"&&new qe({manifestPath:this.manifestPath,browser:this.browser,port:this.port,stats:this.stats}).apply(e),e.options.mode==="development"&&new Qi({manifestPath:this.manifestPath,browser:this.browser,autoReload:this.autoReload,stats:this.stats}).apply(e)}};var ea=a(require("@rspack/core")),fs=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser}apply(e){new ea.default.ProvidePlugin({browser:require.resolve("webextension-polyfill")}).apply(e)}};var ms=require("@rspack/core");var us=class{browser;manifestPath;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}patchManifest(e){let s=P(e,this.browser);return JSON.stringify(s,null,2)}apply(e){e.hooks.compilation.tap("compatibility:browser-specific-fields",s=>{s.hooks.processAssets.tap({name:"compatibility:browser-specific-fields",stage:ms.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE},()=>{let r=W(s,this.manifestPath),n=this.patchManifest(r),o=new ms.sources.RawSource(n);s.updateAsset("manifest.json",o)})})}};var ds=class{static name="plugin-compatibility";manifestPath;browser;polyfill;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.polyfill=e.polyfill||!1}async apply(e){this.polyfill&&this.browser!=="firefox"&&new fs({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e),new us({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e)}};var wc=a(require("os")),wr=a(require("path"));var Fa=a(require("fs")),Ca=a(require("path")),ja=require("child_process");var be=a(require("path")),Je=a(require("fs"));var ta={alternate_error_pages:{enabled:!1},autofill:{enabled:!1},browser:{check_default_browser:!1,default_browser_setting_enabled:!1},default_apps:"install",distribution:{alternate_shortcut_text:!1,auto_launch_chrome:!1,import_bookmarks:!1,import_history:!1,import_home_page:!1,import_search_engine:!1,suppress_first_run_bubble:!0,do_not_register_for_update_launch:!0,make_chrome_default:!1,make_chrome_default_for_user:!1,require_eula:!1,suppress_first_run_default_browser_prompt:!0},dns_prefetching:{enabled:!1},download:{default_directory:"/tmp/",directory_upgrade:!0,open_pdf_in_adobe_reader:!1,prompt_for_download:!0},enable_do_not_track:!0,extensions:{theme:{use_system:!1},toolbarsize:-1,ui:{developer_mode:!0}},plugins:{plugins_list:[{enabled:!1,name:"Java(TM)"}],show_details:!0},profile:{password_manager_enabled:!1},safebrowsing:{enabled:!1,safebrowsingextended_reporting_enabled:!1},savefile:{default_directory:"/tmp",type:0},search:{suggest_enabled:!1},session:{restore_on_startup:1},sync:{suppress_start:!0},sync_promo:{show_on_first_run_allowed:!1,show_ntp_bubble:!1},translate:{enabled:!1}},sa={...ta},ra={...ta};var y=require("@colors/colors/safe");function w(t,e){let s=e==="warn"?(0,y.brightYellow)("\u25BA\u25BA\u25BA"):e==="info"?(0,y.cyan)("\u25BA\u25BA\u25BA"):e==="error"?`${(0,y.bold)((0,y.red)("ERROR"))} in ${ye(t)} ${(0,y.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:(0,y.brightGreen)("\u25BA\u25BA\u25BA");return`${(0,y.gray)("")}${s}`}function ye(t){return t.charAt(0).toUpperCase()+t.slice(1)}function gs(t){let e=ye(t);return`${w(t,"info")} Creating new ${e} user profile...`}function na(t){return`${w(t,"success")} Instance already running.`}function oa(t){return`${w(t,"info")} Instance exited.`}function hs(t,e){let s=t==="firefox"||t==="gecko-based"?"Add-on":"Extension";return`${w(t,"success")} ${ye(t)} ${s} running in ${(0,y.brightBlue)(e||"unknown")} mode.`}function We(t,e){let s=e=="null"?`Browser is not installed
74
+ of your ${(0,f.brightYellow)("extension.config.js")} is defined as your extension URL.`}var nt=class{static name="plugin-compilation";manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){new Ys.default().apply(e),new Qe({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new et().apply(e),e.hooks.done.tapAsync("develop:brand",(r,s)=>{r.compilation.name=void 0;let n=r.compilation.endTime-r.compilation.startTime,o=require(this.manifestPath).name;console.log(Ms(o,n,r)),s()})}};var En=a(require("path"));var on=a(require("path")),an=a(require("fs"));var ie=a(require("path")),ot=a(require("fs")),Ar=require("child_process"),en=require("package-manager-detector");function tn(t,e){return Object.values(e||{}).some(r=>r===t)}function h(t,e,r){let s=ie.default.extname(e),o=$(e,r)?ie.default.normalize(e):t;return[".js",".jsx",".tsx",".ts"].includes(s)&&(o=o.replace(s,".js")),[".html",".njk",".nunjucks"].includes(s)&&(o=o.replace(s,".html")),[".css",".scss",".sass",".less"].includes(s)&&(o=o.replace(s,".css")),Rr(o||"")}function Rr(t){return t.replace(/\\/g,"/")}function $(t,e={}){if(!e)return!1;let r=ie.default.normalize(Rr(t));return Object.values(e).some(n=>typeof n!="string"?!1:Rr(n).includes(r))}function W(t,e){if(t.getAsset("manifest.json")||t.assets["manifest.json"]){let r=t.assets["manifest.json"].source().toString();return JSON.parse(r||"{}")}return require(e)}function ae(){return process.env.npm_config_user_agent&&process.env.npm_config_user_agent.includes("pnpm")?"pnpm":!1}function Qs(){return process.env.npm_execpath?"npm":!1}async function j(t,e){try{let r=await(0,en.detect)();console.log(As(t,r?.name||"unknown"));let s="";r?.name==="yarn"?s=`yarn --silent add ${e.join(" ")} --cwd ${__dirname} --optional`:r?.name==="npm"||Qs()?s=`npm --silent install ${e.join(" ")} --prefix ${__dirname} --save-optional`:ae()?s=`pnpm --silent add ${e.join(" ")} --prefix ${__dirname} --save-optional`:s=`${r} --silent install ${e.join(" ")} --cwd ${__dirname} --optional`,(0,Ar.execSync)(s,{stdio:"inherit"}),await new Promise(n=>setTimeout(n,2e3)),process.env.EXTENSION_ENV==="development"&&(console.log(Rs(t)),r?.name==="yarn"?s="yarn install --silent > /dev/null 2>&1":r?.name==="npm"||Qs()?s="npm install --silent > /dev/null 2>&1":ae()?s="pnpm install --silent > /dev/null 2>&1":s=`${r} install --silent > /dev/null 2>&1`,(0,Ar.execSync)(s,{stdio:"inherit"})),console.log(Ns(t))}catch(r){console.error(Ts(t,r))}}function it(t){let e=ie.default.join(t,"package.json");if(!ot.default.existsSync(e))return!1;let r=JSON.parse(ot.default.readFileSync(e,"utf-8")),s=["react","vue","@angular/core","svelte","solid-js","preact"],n=r.dependencies||{},o=r.devDependencies||{};for(let i of s)if(n[i]||o[i])return!0;return!1}function rn(t){return!ot.default.existsSync(ie.default.resolve(__dirname,`run-${t}-profile`))}function sn(t){let e=t.name?.replace(/ /g,"-").toLowerCase();return{data:{id:`${e}@extension-js`,manifest:t,management:{id:`${e}@extension-js`,mayDisable:!0,optionsUrl:"",installType:"development",type:"extension",enabled:!0,name:t.name||"",description:t.description||"",version:t.version||"",hostPermissions:t.host_permissions||[],permissions:t.permissions||[],offlineEnabled:t.offline_enabled||!1,shortName:t.short_name||"",isApp:t.app&&t.app.background&&t.app.background.scripts}}}}function P(t,e){return JSON.parse(JSON.stringify(t),function(n,o){let i=n.indexOf(":");if(i===-1)return o;let c=n.substring(0,i);(c===e||c==="chromium"&&Z.includes(e)||c==="chromium"&&e.includes("chromium")||c==="gecko"&&e.includes("gecko"))&&(this[n.substring(i+1)]=o)})}var nn=!1;function Pe(t){let e=on.default.join(t,"package.json");if(!an.default.existsSync(e))return!1;let r=require(e),s=r.devDependencies&&r.devDependencies.sass,n=r.dependencies&&r.dependencies.sass;return s||n?(nn||(process.env.EXTENSION_ENV==="development"&&console.log(v("SASS")),nn=!0),!0):!1}async function cn(t){if(!Pe(t))return[];try{require.resolve("sass-loader")}catch{await j("PostCSS",["postcss-loader","postcss-scss","postcss-preset-env"]),await j("SASS",["sass","sass-loader"]),console.log(L("SASS")),process.exit(0)}return[{test:/\.(sass|scss)$/,exclude:/\.module\.(sass|scss)$/,type:"css",use:[{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:{outputStyle:"expanded"}}}]},{test:/\.module\.(sass|scss)$/,type:"css/module",use:[{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:{outputStyle:"expanded"}}}]}]}var pn=a(require("path")),fn=a(require("fs"));var ln=!1;function Ee(t){let e=pn.default.join(t,"package.json");if(!fn.default.existsSync(e))return!1;let r=require(e),s=r.devDependencies&&r.devDependencies.less,n=r.dependencies&&r.dependencies.less;return s||n?(ln||(process.env.EXTENSION_ENV==="development"&&console.log(v("LESS")),ln=!0),!0):!1}async function un(t){if(!Ee(t))return[];try{require.resolve("less-loader")}catch{await j("LESS",["less","less-loader"]),console.log(L("LESS")),process.exit(0)}return[{test:/\.less$/,exclude:/\.module\.less$/,type:"css",use:[{loader:require.resolve("less-loader"),options:{sourceMap:!0}}]},{test:/\.module\.less$/,type:"css/module",use:[{loader:require.resolve("less-loader"),options:{sourceMap:!0}}]}]}var R=a(require("path")),N=a(require("fs"));function ul(t){let e=R.default.join(t,"stylelint.config.json"),r=R.default.join(t,".stylelintrc.js file"),s=R.default.join(t,"stylelint.config.mjs"),n=R.default.join(t,".stylelintrc.mjs"),o=R.default.join(t,"stylelint.config.cjs"),i=R.default.join(t,".stylelintrc.cjs"),c=R.default.join(t,".stylelintrc.json"),l=R.default.join(t,".stylelintrc"),p=R.default.join(t,".stylelintrc.yml"),u=R.default.join(t,".stylelintrc.yaml");if(N.default.existsSync(e))return e;if(N.default.existsSync(r))return r;if(N.default.existsSync(s))return s;if(N.default.existsSync(n))return n;if(N.default.existsSync(o))return o;if(N.default.existsSync(i))return i;if(N.default.existsSync(c))return c;if(N.default.existsSync(l))return l;if(N.default.existsSync(p))return p;if(N.default.existsSync(u))return u}var mn=!1;function ml(t){let e=R.default.join(t,"package.json");if(!N.default.existsSync(e))return!1;let s=!!ul(t);return s&&(mn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Stylelint")),mn=!0)),s}async function dn(t){return ml(t),[]}var vn=a(require("path"));var hn=a(require("path")),yn=a(require("fs"));var gn=!1;function at(t){let e=hn.default.join(t,"package.json");if(!yn.default.existsSync(e))return!1;let r=require(e),s=r.devDependencies&&r.devDependencies.tailwindcss,n=r.dependencies&&r.dependencies.tailwindcss,o=!!(s||n);return o&&(gn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Tailwind")),gn=!0)),o}var Nr=a(require("path")),ct=a(require("fs"));var ce=!1,dl=[".postcssrc",".postcssrc.json",".postcssrc.yaml",".postcssrc.yml",".postcssrc.js",".postcssrc.cjs","postcss.config.js","postcss.config.cjs"];function bn(t){for(let e of dl){let r=Nr.default.join(t,e);if(ct.default.existsSync(r))return r}}function gl(t){let e=Nr.default.join(t,"package.json");if(!ct.default.existsSync(e))return!1;if(ct.default.existsSync(e)){let r=require(e);if(r.dependencies&&r.dependencies.postcss||r.devDependencies&&r.devDependencies.postcss)return ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0}return bn(t)?(ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0):at(t)?(ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0):!1}async function wn(t,e){if(!gl(t))return{};try{require.resolve("postcss-loader")}catch{!Pe(t)&&!Ee(t)&&await j("PostCSS",["postcss","postcss-loader","postcss-preset-env"]),console.log(L("PostCSS")),process.exit(0)}return{test:/\.css$/,type:"css",loader:require.resolve("postcss-loader"),options:{postcssOptions:{ident:"postcss",config:bn(t),plugins:[[require.resolve("postcss-preset-env"),{autoprefixer:{flexbox:"no-2009"},stage:3}]].filter(Boolean)},sourceMap:e.mode==="development"}}}async function lt(t,e){let r=[];if(at(t)||Pe(t)||Ee(t)){let s=await wn(t,e);s.loader&&r.push(s)}return e.loader&&r.push({loader:e.loader.startsWith("builtin:")?e.loader:require.resolve(e.loader),options:{...e.loaderOptions,sourceMap:e.mode==="development"}}),r.filter(Boolean)}var Tr=a(require("path")),xn=a(require("fs"));function pt(t,e){if(!t||!e)return!1;let r=JSON.parse(xn.default.readFileSync(e,"utf8"));for(let s of r.content_scripts||[])if(s.js?.length){for(let n of s.js)if(Tr.default.resolve(Tr.default.dirname(e),n)===t)return!0}return!1}async function Sn(t,e){let r=vn.default.join(t,"manifest.json");return[{test:/\.css$/,type:"asset",generator:{filename:"content_scripts/[name].[contenthash:8].css"},issuer:s=>pt(s,r),use:await lt(t,{mode:e})}]}var _n=a(require("path"));async function Pn(t,e){let r=_n.default.join(t,"manifest.json");return[{test:/\.css$/,type:"css",issuer:s=>!pt(s,r),use:await lt(t,{mode:e})}]}var ft=class t{static name="plugin-css";manifestPath;constructor(e){this.manifestPath=e.manifestPath}async configureOptions(e){let r=e.options.mode||"development",s=En.default.dirname(this.manifestPath),n=[],o=await dn(s);n.push(...o);let i=[...await Sn(s,r),...await Pn(s,r)],c=await cn(s),l=await un(s);c.length&&i.push(...c),l.length&&i.push(...l),e.options.plugins=[...e.options.plugins,...n].filter(Boolean),e.options.module.rules=[...e.options.module.rules,...i].filter(Boolean)}async apply(e){if((e.options.mode||"development")==="production"){e.hooks.beforeRun.tapPromise(t.name,async()=>await this.configureOptions(e));return}await this.configureOptions(e)}};var ut=class{static name="plugin-static-assets";manifestPath;mode;constructor(e){this.manifestPath=e.manifestPath,this.mode=e.mode}async apply(e){let r={test:/\.svg$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2048}}},n=[...e.options.module.rules.some(o=>o&&o.test instanceof RegExp&&o.test.test(".svg")&&o.use!==void 0)?[]:[r],{test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp)$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2*1024}}},{test:/\.(woff|woff2|eot|ttf|otf)$/i,type:"asset",generator:{filename:"assets/[name][ext]"}},{test:/\.(txt|md|csv|tsv|xml|pdf|docx|doc|xls|xlsx|ppt|pptx|zip|gz|gzip|tgz)$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2*1024}}},{test:/\.(csv|tsv)$/i,use:[require.resolve("csv-loader")],generator:{filename:"assets/[name][ext]"}}];e.options.module.rules=[...e.options.module.rules,...n].filter(o=>!!o)}};var $e=a(require("path"));var Ur=a(require("path")),Br=a(require("fs"));var kn=!1,hl=[".babelrc",".babelrc.json",".babelrc.js",".babelrc.cjs","babel.config.json","babel.config.js","babel.config.cjs"];function yl(t){let e=Ur.default.join(t,"package.json");if(!Br.default.existsSync(e))return!1;let r=require(e),s=r.devDependencies&&r.devDependencies["babel-core"],n=r.dependencies&&r.dependencies["babel-core"],o=hl.some(i=>Br.default.existsSync(Ur.default.join(t,i)))||!!s||!!n;return o&&(kn||(process.env.EXTENSION_ENV==="development"&&process.env.EXTENSION_ENV==="development"&&console.log(v("Babel")),kn=!0)),o}async function $n(t,e){yl(e)}var Cn=a(require("path")),jn=a(require("fs"));var Fn=!1;function ke(t){let e=Cn.default.join(t,"package.json");if(!jn.default.existsSync(e))return!1;let r=require(e),s=r.devDependencies&&r.devDependencies.preact,n=r.dependencies&&r.dependencies.preact;return(s||n)&&(Fn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Preact")),Fn=!0)),!!s||!!n}async function Dn(t){if(!ke(t))return;try{require.resolve("@rspack/plugin-preact-refresh")}catch{await j("Preact",["@prefresh/core","@prefresh/utils","@rspack/plugin-preact-refresh","preact"]),console.log(L("Preact")),process.exit(0)}return{plugins:[new(require("@rspack/plugin-preact-refresh"))],loaders:void 0,alias:{react:"preact/compat","react-dom/test-utils":"preact/test-utils","react-dom":"preact/compat","react/jsx-runtime":"preact/jsx-runtime"}}}var On=a(require("path")),In=a(require("fs"));var Ln=!1;function mt(t){let e=On.default.join(t,"package.json");if(!In.default.existsSync(e))return!1;let r=require(e),s=r.devDependencies&&r.devDependencies.react,n=r.dependencies&&r.dependencies.react;return(s||n)&&(Ln||(process.env.EXTENSION_ENV==="development"&&console.log(v("React")),Ln=!0)),!!s||!!n}async function Mn(t){if(!mt(t))return;try{require.resolve("react-refresh")}catch{await j("React",["react-refresh","@rspack/plugin-react-refresh"]),console.log(L("React")),process.exit(0)}return{plugins:[new(require("@rspack/plugin-react-refresh"))({overlay:!1})],loaders:void 0,alias:void 0}}var Rn=a(require("path")),Nn=a(require("fs")),Tn=require("vue-loader");var An=!1;function bl(t){let e=Rn.default.join(t,"package.json");if(!Nn.default.existsSync(e))return!1;let r=require(e),s=r.devDependencies&&r.devDependencies.vue,n=r.dependencies&&r.dependencies.vue;return(s||n)&&(An||(process.env.EXTENSION_ENV==="development"&&console.log(v("Vue")),An=!0)),!!s||!!n}async function Un(t){if(!bl(t))return;try{require.resolve("vue-loader")}catch{await j("Vue",["vue-loader","vue-template-compiler","@vue/compiler-sfc"]),console.log(L("Vue")),process.exit(0)}let e=[{test:/\.vue$/,loader:require.resolve("vue-loader"),options:{experimentalInlineMatchResource:!0},include:t,exclude:/node_modules/}];return{plugins:[new Tn.VueLoaderPlugin],loaders:e,alias:void 0}}var dt=a(require("path")),gt=a(require("fs"));var Bn=!1;function K(t){let e=dt.default.join(t,"package.json");if(!gt.default.existsSync(e))return!1;let r=xl(t),s=require(e),n=s.devDependencies&&s.devDependencies.typescript,o=s.dependencies&&s.dependencies.typescript;return Bn||((n||o)&&(r?process.env.EXTENSION_ENV==="development"&&console.log(v("TypeScript")):(console.log(Js()),vl(t))),Bn=!0),!!r&&!!(n||o)}function wl(t,e){return{compilerOptions:{allowJs:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,jsx:it(t)?"react-jsx":"preserve",lib:["dom","dom.iterable","esnext"],moduleResolution:"node",module:"esnext",resolveJsonModule:!0,strict:!0,target:"esnext",isolatedModules:!1,skipLibCheck:!0},exclude:["node_modules","dist"]}}function xl(t){let e=dt.default.join(t,"tsconfig.json");if(gt.default.existsSync(e))return e}function vl(t){gt.default.writeFileSync(dt.default.join(t,"tsconfig.json"),JSON.stringify(wl(t,{mode:"development"}),null,2))}var Wn=a(require("path")),Jn=a(require("fs")),zn=require("svelte-preprocess");var qn=!1;function Sl(t){let e=Wn.default.join(t,"package.json");if(!Jn.default.existsSync(e))return!1;let r=require(e),s=r.devDependencies&&r.devDependencies?.svelte,n=r.dependencies&&r.dependencies.svelte;return(s||n)&&(qn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Svelte")),qn=!0)),!!s||!!n}async function Hn(t,e){if(!Sl(t))return;try{require.resolve("svelte-loader")}catch{await j("TypeScript",["typescript"]),await j("Svelte",["svelte-loader","svelte-preprocess"]),console.log(L("Svelte")),process.exit(0)}return{plugins:void 0,loaders:[{test:/\.svelte\.ts$/,use:[require.resolve("svelte-loader")],include:t,exclude:/node_modules/},{test:/\.(svelte|svelte\.js)$/,use:{loader:require.resolve("svelte-loader"),options:{preprocess:(0,zn.sveltePreprocess)({typescript:!0}),emitCss:!0,compilerOptions:{dev:e==="development",css:"injected"},hotReload:e==="development"}},include:t,exclude:/node_modules/},{test:/node_modules\/svelte\/.*\.mjs$/,resolve:{fullySpecified:!1}}],alias:void 0}}var ht=class t{static name="plugin-js-frameworks";manifestPath;mode;constructor(e){this.manifestPath=e.manifestPath,this.mode=e.mode}async configureOptions(e){let r=e.options.mode||"development",s=$e.default.dirname(this.manifestPath),n=await $n(e,s),o=await Mn(s),i=await Dn(s),c=await Un(s),l=await Hn(s,r);e.options.resolve.alias={...n?.alias||{},...o?.alias||{},...i?.alias||{},...c?.alias||{},...l?.alias||{},...e.options.resolve.alias},e.options.module.rules=[{test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[$e.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:{loader:"builtin:swc-loader",options:{sync:!0,module:{type:"es6"},minify:r==="production",isModule:!0,sourceMap:this.mode==="development",env:{targets:["chrome >= 100"]},jsc:{parser:{syntax:K(s)?"typescript":"ecmascript",tsx:K(s)&&(mt(s)||ke(s)),jsx:!K(s)&&(mt(s)||ke(s)),dynamicImport:!0},transform:{react:{development:r==="development",refresh:r==="development",runtime:"automatic",importSource:"react",...ke(s)?{pragma:"h",pragmaFrag:"Fragment",throwIfNamespace:!0,useBuiltins:!1}:{}}}}}}},...n?.loaders||[],...o?.loaders||[],...i?.loaders||[],...c?.loaders||[],...l?.loaders||[],...e.options.module.rules].filter(Boolean),o?.plugins?.forEach(p=>p.apply(e)),i?.plugins?.forEach(p=>p.apply(e)),c?.plugins?.forEach(p=>p.apply(e)),l?.plugins?.forEach(p=>p.apply(e)),K(s)&&(e.options.resolve.tsConfig={configFile:$e.default.resolve($e.default.dirname(this.manifestPath),"tsconfig.json")})}async apply(e){if((e.options.mode||"development")==="production"){e.hooks.beforeRun.tapPromise(t.name,async()=>await this.configureOptions(e));return}await this.configureOptions(e)}};var Oo=a(require("path"));var Vn=a(require("path"));function Gn(t,e){if(!e||!e.action||!e.action.default_popup)return;let r=e.action.default_popup;return Vn.default.join(t,r)}var Xn=a(require("path"));function Zn(t,e){if(!e||!e.browser_action||!e.browser_action.default_popup)return;let r=e.browser_action.default_popup;return Xn.default.join(t,r)}var yt=a(require("path"));function Kn(t,e){let r={newtab:void 0};if(!e||!e.chrome_url_overrides)return{"chrome_url_overrides/newtab":void 0};if(e.chrome_url_overrides.history){let s=e.chrome_url_overrides.history;r={"chrome_url_overrides/history":yt.default.join(t,s)}}if(e.chrome_url_overrides.newtab){let s=e.chrome_url_overrides.newtab;r={"chrome_url_overrides/newtab":yt.default.join(t,s)}}if(e.chrome_url_overrides.bookmarks){let s=e.chrome_url_overrides.bookmarks;r={"chrome_url_overrides/bookmarks":yt.default.join(t,s)}}return r}var Yn=a(require("path"));function Qn(t,e){if(!e||!e.devtools_page)return;let r=e.devtools_page;return Yn.default.join(t,r)}var qr=a(require("path"));function eo(t,e){if(e.options_page){let s=e.options_page;return qr.default.join(t,s)}if(!e||!e.options_ui||!e.options_ui.page)return;let r=e.options_ui.page;return qr.default.join(t,r)}var to=a(require("path"));function ro(t,e){if(!e||!e.page_action||!e.page_action.default_popup)return;let r=e.page_action.default_popup;return to.default.join(t,r)}var so=a(require("path"));function no(t,e){if(!e||!e.sandbox||!e.sandbox.pages)return{"sandbox/page-0":void 0};let r=e.sandbox.pages,s={};for(let[n,o]of r.entries())s[`sandbox/page-${n}`]=so.default.join(t,o);return s}var oo=a(require("path"));function io(t,e){if(!e||!e.side_panel||!e.side_panel.default_path)return;let r=e.side_panel.default_path;return oo.default.join(t,r)}var ao=a(require("path"));function co(t,e){if(!e||!e.sidebar_action||!e.sidebar_action.default_panel)return;let r=e.sidebar_action.default_panel;return ao.default.join(t,r)}function Fe(t,e){return{"action/default_popup":Gn(t,e),"browser_action/default_popup":Zn(t,e),...Kn(t,e),devtools_page:Qn(t,e),"options_ui/page":eo(t,e),"page_action/default_popup":ro(t,e),...no(t,e),"side_panel/default_path":io(t,e),"sidebar_action/default_panel":co(t,e)}}var Wr=a(require("path"));function lo(t,e){if(!e||!e.action||!e.action.default_icon)return;if(typeof e.action.default_icon=="string")return Wr.default.join(t,e.action.default_icon);let r=[];for(let s in e.action.default_icon)r.push(Wr.default.join(t,e.action.default_icon[s]));return r}var Jr=a(require("path"));function po(t,e){if(!e||!e.browser_action||!e.browser_action.default_icon)return;let r=[];if(typeof e.browser_action.default_icon=="string")return Jr.default.join(t,e.browser_action.default_icon);for(let s in e.browser_action.default_icon){let n=e.browser_action.default_icon[s]=Jr.default.join(t,e.browser_action.default_icon[s]);r.push(n)}return r}var zr=a(require("path"));function fo(t,e){if(!(!e||!e.browser_action||!e.browser_action.theme_icons)){for(let r of e.browser_action.theme_icons)r.light&&(r.light=zr.default.join(t,r.light)),r.dark&&(r.dark=zr.default.join(t,r.dark)),r.size&&delete r.size;return e.browser_action.theme_icons}}var uo=a(require("path"));function mo(t,e){if(!e||!e.icons)return;let r=[];for(let s in e.icons){let n=uo.default.join(t,e.icons[s]);r.push(n)}return r}var Hr=a(require("path"));function go(t,e){if(!e||!e.page_action||!e.page_action.default_icon)return;if(typeof e.page_action.default_icon=="string")return Hr.default.join(t,e.page_action.default_icon);let r=[];for(let s in e.page_action.default_icon){let n=Hr.default.join(t,e.page_action.default_icon[s]);r.push(n)}return r}var ho=a(require("path"));function yo(t,e){return!e||!e.sidebar_action||!e.sidebar_action.default_icon?void 0:ho.default.join(t,e.sidebar_action.default_icon)}function bo(t,e){return{action:lo(t,e),browser_action:po(t,e),"browser_action/theme_icons":fo(t,e),icons:mo(t,e),page_action:go(t,e),sidebar_action:yo(t,e)}}var wo=a(require("path"));function xo(t,e){let r={};return!e||!e.declarative_net_request||!e.declarative_net_request.rule_resources?{"declarative_net_request/rule_resources-0":void 0}:(e.declarative_net_request.rule_resources.forEach(n=>{r[`declarative_net_request/${n.id}`]=wo.default.join(t,n.path)}),r)}var vo=a(require("path"));function So(t,e){if(!e||!e.storage||!e.storage.managed_schema)return;let r=e.storage.managed_schema;return vo.default.join(t,r)}function _o(t,e){return{...xo(t,e),"storage/managed_schema":So(t,e)}}var Ce=a(require("path")),je=a(require("fs"));function Po(t,e){let r=Ce.default.join(Ce.default.dirname(e),"_locales"),s=[];if(je.default.existsSync(r))for(let n of je.default.readdirSync(r)){let o=Ce.default.join(r,n);if(o&&je.default.statSync(o).isDirectory())for(let i of je.default.readdirSync(o))s.push(Ce.default.join(t,"_locales",n,i))}return s}var Eo=a(require("path"));function ko(t,e){if(!e||!e.background)return;let r=e.background.scripts;if(r)return r.map(s=>Eo.default.join(t,s))}var $o=a(require("path"));function Fo(t,e){if(!e||!e.background)return;let r=e.background.service_worker;if(r)return $o.default.join(t,r)}var Vr=a(require("path"));function Co(t,e){if(!e||!e.content_scripts)return{"content_scripts/content-0":void 0};let r=o=>{if(o.js?.length!==0)return o.js?.map(i=>Vr.default.join(t,i))},s=o=>{if(o.css?.length!==0)return o.css?.map(i=>Vr.default.join(t,i))},n={};for(let[o,i]of e.content_scripts.entries()){let c=r(i),l=s(i);n[`content_scripts/content-${o}`]=[...(c||[]).filter(p=>p!=null),...(l||[]).filter(p=>p!=null)]}return n}var jo=a(require("path"));function Do(t,e){if(!e||!e.user_scripts||!e.user_scripts.api_script)return;let r=e.user_scripts.api_script;return jo.default.join(t,r)}function De(t,e){return{"background/scripts":ko(t,e),"background/service_worker":Fo(t,e),...Co(t,e),"user_scripts/api_script":Do(t,e)}}function Lo(t){if(!(!t||!t.web_accessible_resources||!t.web_accessible_resources.length))return t.web_accessible_resources}function le({manifestPath:t,browser:e}){let r=Oo.default.dirname(t),s=require(t),n=P(s,e||"chrome");return{html:Fe(r,n),icons:bo(r,n),json:_o(r,n),locales:Po(r,t),scripts:De(r,n),web_accessible_resources:Lo(n)}}var pe=a(require("path"));var bt=a(require("fs")),Le=a(require("path"));function wt(t,e){if(!bt.default.existsSync(t)||!bt.default.statSync(t).isDirectory())return[];let r=[];function s(n){let o=bt.default.readdirSync(n,{withFileTypes:!0});for(let i of o){let c=Le.default.join(n,i.name);i.isDirectory()?s(c):i.isFile()&&e(i.name)&&r.push(c)}}return s(t),r}function xt(t,e,r=""){return!e||!e.length?{}:e.reduce((s,n)=>{let o=Le.default.extname(n),i=Le.default.basename(n,o),c=r?`${r}/${i}`:Le.default.relative(t,n);return{...s,[c]:n}},{})}function Io({manifestPath:t}){let e=pe.default.dirname(t),r={public:pe.default.join(e,"public"),pages:pe.default.join(e,"pages"),scripts:pe.default.join(e,"scripts")},s={public:wt(r.public,()=>!0),pages:wt(r.pages,o=>o.endsWith(".html")),scripts:wt(r.scripts,o=>[".js",".mjs",".jsx",".mjsx",".ts",".mts",".tsx",".mtsx"].includes(pe.default.extname(o)))};return{public:xt(e,s.public),pages:xt(e,s.pages,"pages"),scripts:xt(e,s.scripts,"scripts")}}var Mo=a(require("fs")),fe=a(require("@rspack/core"));var vt=class{manifestPath;constructor(e){this.manifestPath=e.manifestPath}apply(e){e.hooks.thisCompilation.tap("manifest:emit-manifest",r=>{r.hooks.processAssets.tap({name:"manifest:emit-manifest",stage:fe.Compilation.PROCESS_ASSETS_STAGE_PRE_PROCESS},()=>{let s=this.manifestPath,n;try{let c=Mo.default.readFileSync(s,"utf-8");n=JSON.parse(c),"$schema"in n&&delete n.$schema}catch(c){r.errors.push(new fe.default.WebpackError(Bs(c)));return}let o=JSON.stringify(n,null,2);r.emitAsset("manifest.json",new fe.sources.RawSource(o))})})}};var Oe=require("@rspack/core");function Ao(t,e){return t.background&&t.background.scripts&&{background:{...t.background,...t.background.scripts&&{scripts:[...t.background.scripts.map(r=>h("background/scripts.js",r,e))]}}}}var Ro=a(require("path"));var St=t=>Ro.default.basename(t);function No(t,e){return t.browser_action&&{browser_action:{...t.browser_action,...t.browser_action.default_popup&&{default_popup:h("browser_action/default_popup.html",t.browser_action.default_popup,e)},...t.browser_action.default_icon&&{default_icon:typeof t.browser_action.default_icon=="string"?h(`icons/${St(t.browser_action.default_icon)}`,t.browser_action.default_icon,e):Object.fromEntries(Object.entries(t.browser_action.default_icon).map(([r,s])=>[r,h(`icons/${St(s)}`,s,e)]))},...t.browser_action.theme_icons&&{theme_icons:t.browser_action.theme_icons.map(r=>({...r,...r.light&&{light:h(`browser_action/${St(r.light)}`,r.light,e)},...r.dark&&{dark:h(`browser_action/${St(r.dark)}`,r.dark,e)}}))}}}}function To(t,e){return t.declarative_net_request&&{declarative_net_request:{...t.declarative_net_request,rule_resources:t.declarative_net_request.rule_resources.map(r=>({...r,path:r.path&&h(`declarative_net_request/${r.id}.json`,r.path,e)}))}}}function Uo(t,e){return{...Ao(t,e),...No(t,e),...To(t,e)}}var qo=a(require("path"));var Bo=t=>qo.default.basename(t);function Wo(t,e){return t.action&&{action:{...t.action,...t.action.default_popup&&{default_popup:h("action/default_popup.html",t.action.default_popup,e)},...t.action.default_icon&&{default_icon:typeof t.action.default_icon=="string"?h(`action/${Bo(t.action.default_icon)}`,t.action.default_icon,e):Object.fromEntries(Object.entries(t.action.default_icon).map(([r,s])=>[r,h(`action/${Bo(s)}`,s,e)]))}}}}function Jo(t,e){return t.background&&t.background.service_worker&&{background:{...t.background,...t.background.service_worker&&{service_worker:h("background/service_worker.js",t.background.service_worker,e)}}}}function _t(t,e){return t.side_panel&&{side_panel:{...t.side_panel.default_path&&{default_path:h("side_panel/default_path.html",t.side_panel.default_path,e)}}}}function zo(t,e){return{...Wo(t,e),...Jo(t,e),..._t(t,e)}}function Ho(t,e){return t.background&&t.background.page&&{background:{...t.background,...t.background.page&&{page:h("background/page.html",t.background.page,e)}}}}function Vo(t,e){return t.chrome_url_overrides&&{chrome_url_overrides:{...t.chrome_url_overrides.bookmarks&&{bookmarks:h("chrome_url_overrides/bookmarks.html",t.chrome_url_overrides.bookmarks,e)},...t.chrome_url_overrides.history&&{history:h("chrome_url_overrides/history.html",t.chrome_url_overrides.history,e)},...t.chrome_url_overrides.newtab&&{newtab:h("chrome_url_overrides/newtab.html",t.chrome_url_overrides.newtab,e)}}}}function Go(t,e){return t.content_scripts&&{content_scripts:t.content_scripts.map((r,s)=>{let n=[...new Set(r.js)],o=[...new Set(r.css)];return{...r,js:[...n.map(i=>h(`content_scripts/content-${s}.js`,i,e))],css:[...o.map(i=>h(`content_scripts/content-${s}.css`,i,e))]}})}}function Xo(t,e){return t.devtools_page&&{devtools_page:h("devtools_page.html",t.devtools_page,e)}}var Zo=a(require("path"));var _l=t=>Zo.default.basename(t);function Ko(t,e){return t.icons&&{icons:Object.fromEntries(Object.entries(t.icons).map(([r,s])=>[r,h(`icons/${_l(s)}`,s,e)]))}}function Yo(t,e){return t.options_page&&{options_page:h("options_ui/page.html",t.options_page,e)}}function Qo(t,e){return t.options_ui&&{options_ui:{...t.options_ui,...t.options_ui.page&&{page:h("options_ui/page.html",t.options_ui.page,e)}}}}var ti=a(require("path"));var ei=t=>ti.default.basename(t);function ri(t,e){return t.page_action&&{page_action:{...t.page_action,...t.page_action.default_popup&&{default_popup:h("page_action/default_popup.html",t.page_action.default_popup,e)},...t.page_action.default_icon&&{default_icon:typeof t.page_action.default_icon=="string"?h(`icons/${ei(t.page_action.default_icon)}`,t.page_action.default_icon,e):Object.fromEntries(Object.entries(t.page_action.default_icon).map(([r,s])=>[r,h(`icons/${ei(s)}`,s,e)]))}}}}function si(t,e){return t.sandbox&&{sandbox:{...t.sandbox,...t.sandbox.pages&&{pages:t.sandbox.pages.map((r,s)=>h(`sandbox/page-${s}.html`,r,e))}}}}var ni=a(require("path"));var Pl=t=>ni.default.basename(t);function oi(t,e){return t.sidebar_action&&{sidebar_action:{...t.sidebar_action,...t.sidebar_action.default_panel&&{default_panel:h("sidebar_action/default_panel.html",t.sidebar_action.default_panel,e)},...t.sidebar_action.default_icon&&{default_icon:h(`icons/${Pl(t.sidebar_action.default_icon)}`,t.sidebar_action.default_icon,e)}}}}function ii(t,e){return t.storage&&{storage:{...t.storage.managed_schema&&{managed_schema:h("storage/managed_schema.json",t.storage.managed_schema,e)}}}}var ai=a(require("path"));var El=t=>ai.default.basename(t);function ci(t,e){return t.theme&&{theme:{...t.theme,...t.theme.images&&{images:{...t.theme.images,theme_frame:h(`theme/images/${El(t.theme.images.theme_frame)}`,t.theme.images.theme_frame,e)}}}}}function li(t,e){return t.user_scripts&&{user_scripts:{...t.user_scripts,...t.user_scripts.api_script&&{api_script:h("user_scripts/api_script.js",t.user_scripts.api_script,e)}}}}function pi(t){return t.web_accessible_resources&&t.web_accessible_resources.length&&{web_accessible_resources:t.web_accessible_resources}}function fi(t,e){return{...Ho(t,e),...Vo(t,e),...Go(t,e),...Xo(t,e),...Ko(t,e),...Yo(t,e),...Qo(t,e),...ri(t,e),...si(t,e),..._t(t,e),...oi(t,e),...ii(t,e),...ci(t,e),...li(t,e),...pi(t)}}function Gr(t,e,r){let s=e||require(t);return JSON.stringify({...s,...fi(s,r),...Uo(s,r),...zo(s,r)},null,2)}var Pt=class{manifestPath;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.excludeList=e.excludeList}applyDevOverrides(e){return e.content_scripts?e.content_scripts.map((r,s)=>(r.css.length&&!r.js.length&&(r.js=[h(`content_scripts-${s}`,"dev.js",{})]),r)):{}}apply(e){e.hooks.thisCompilation.tap("manifest:update-manifest",r=>{r.hooks.processAssets.tap({name:"manifest:update-manifest",stage:Oe.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},()=>{if(r.errors.length>0)return;let s=W(r,this.manifestPath),n=Gr(this.manifestPath,s,this.excludeList||{}),o={...s,...JSON.parse(n)};e.options.mode==="development"&&o.content_scripts&&(o.content_scripts=this.applyDevOverrides(o));let i=JSON.stringify(o,null,2),c=new Oe.sources.RawSource(i);r.updateAsset("manifest.json",c)}),e.options.mode==="production"&&r.hooks.processAssets.tap("manifest:update-manifest",()=>{if(r.errors.length>0)return;let s=W(r,this.manifestPath),n=Gr(this.manifestPath,s,this.excludeList||{}),o={...s,...JSON.parse(n)},i=JSON.stringify(o,null,2),c=new Oe.sources.RawSource(i);r.updateAsset("manifest.json",c)})})}};var ui=a(require("fs")),Et=class{dependencyList;constructor(e){this.dependencyList=e}apply(e){e.hooks.afterCompile.tap("manifest:add-dependency",r=>{if(r.errors?.length)return;let s=new Set(r.fileDependencies);this.dependencyList&&this.dependencyList.forEach(n=>{ui.default.existsSync(n)&&(s.has(n)||(s.add(n),r.fileDependencies.add(n)))})})}};var mi=a(require("fs")),di=a(require("path")),$t=a(require("@rspack/core"));var kt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}extractPaths(e){let r=Array.isArray(e)?e:[e];if(typeof r[0]=="string")return r;let s=[];if(typeof e=="object"&&!Array.isArray(e)){let n=e;n.light&&s.push(n.light),n.dark&&s.push(n.dark)}return s}handleErrors(e,r){let s=[".png",".jpg",".jpeg",".svg",".gif",".webp"],n=[".json"],o=[".js",".ts",".jsx",".tsx",".mjs",".cjs"],i=".html",c=Object.entries(this.includeList||{});for(let[l,p]of c)if(p){let u=this.extractPaths(p);for(let m of u){let g=di.default.extname(m),b=require(this.manifestPath),S=P(b,"chrome").name||"Extension.js";if(!mi.default.existsSync(m)){if(m.startsWith("/"))return;let E=oe(S,l,m);s.includes(g)?e.errors.push(new r(E)):n.includes(g)?e.errors.push(new r(E)):o.includes(g)?e.errors.push(new r(E)):g===i?e.errors.push(new r(E)):e.errors.push(new r(E))}}}}apply(e){e.hooks.compilation.tap("manifest:check-manifest-files",r=>{r.hooks.processAssets.tap({name:"compatibility:check-manifest-files",stage:$t.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COUNT},()=>{let s=$t.default.WebpackError;this.handleErrors(r,s)})})}};var gi=a(require("fs")),Ct=a(require("@rspack/core"));var Ft=class{manifestPath;browser;includeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList}flattenAndSort(e){return e.flat(1/0).sort()}apply(e){e.hooks.watchRun.tapAsync("manifest:throw-if-recompile-is-needed",(r,s)=>{if((r.modifiedFiles||new Set).has(this.manifestPath)){let o=r.options.context||"",i=`${o}/package.json`;if(!gi.default.existsSync(i)){s();return}let c=require(this.manifestPath),l=P(c,this.browser),p=this.flattenAndSort(Object.values(Fe(o,l))),u=this.flattenAndSort(Object.values(De(o,l)));r.hooks.thisCompilation.tap("manifest:throw-if-recompile-is-needed",m=>{m.hooks.processAssets.tap({name:"manifest:check-manifest-files",stage:Ct.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COMPATIBILITY},()=>{let b=m.getAsset("manifest.json")?.source.source().toString(),_=JSON.parse(b||"{}"),S=this.flattenAndSort(Object.values(Fe(o,_))),E=this.flattenAndSort(Object.values(De(o,_)));if(u.toString()!==E.toString()||p.toString()!==S.toString()){let A=p.filter(q=>!S.includes(q))[0],T=S.filter(q=>!p.includes(q))[0],_e=qs(T,A);m.errors.push(new Ct.default.WebpackError(_e))}})})}s()})}};var jt=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new vt({manifestPath:this.manifestPath}).apply(e),new kt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Pt({manifestPath:this.manifestPath,excludeList:this.excludeList}).apply(e),new Et([this.manifestPath]).apply(e),new Ft({manifestPath:this.manifestPath,browser:this.browser,includeList:this.includeList}).apply(e)}};var Qr=a(require("path"));var Zr=a(require("fs")),Ot=a(require("@rspack/core")),xi=require("@rspack/core");var hi=a(require("fs")),me=a(require("path")),yi=a(require("parse5-utils"));var ue=a(require("parse5-utils"));function Dt(t){try{return new URL(t),!0}catch{return!1}}function Ie(t,e){let{childNodes:r=[]}=t;for(let s of r)if(s.nodeName==="script"){let n=ue.default.getAttribute(s,"src");if(!n||Dt(n))continue;e({filePath:n,childNode:s,assetType:"script"})}else if(s.nodeName==="link"){let n=ue.default.getAttribute(s,"href"),o=ue.default.getAttribute(s,"rel");if(!n||Dt(n))continue;e(o==="dns-prefetch"||o==="icon"||o==="manifest"||o==="modulepreload"||o==="preconnect"||o==="prefetch"||o==="preload"||o==="prerender"?{filePath:n,childNode:s,assetType:"staticHref"}:{filePath:n,childNode:s,assetType:"css"})}else if(s.nodeName==="a"||s.nodeName==="area"){let n=ue.default.getAttribute(s,"href");if(!n||Dt(n))continue;e({filePath:n,childNode:s,assetType:"staticHref"})}else if(s.nodeName==="audio"||s.nodeName==="embed"||s.nodeName==="iframe"||s.nodeName==="img"||s.nodeName==="input"||s.nodeName==="source"||s.nodeName==="track"||s.nodeName==="video"){let n=ue.default.getAttribute(s,"src");if(!n||Dt(n))continue;e({filePath:n,childNode:s,assetType:"staticSrc"})}else Ie(s,e)}function D(t,e){let r={css:[],js:[],static:[]};if(!t)return r;let s=e||hi.default.readFileSync(t,{encoding:"utf8"}),n=yi.default.parse(s),o=(i,c)=>me.default.join(me.default.dirname(i),c.startsWith("/")?me.default.relative(me.default.dirname(i),c):c);for(let i of n.childNodes)if(i.nodeName==="html"){for(let c of i.childNodes)(c.nodeName==="head"||c.nodeName==="body")&&Ie(c,({filePath:l,assetType:p})=>{let u=o(t,l);switch(p){case"script":r.js?.push(u);break;case"css":r.css?.push(u);break;case"staticSrc":case"staticHref":if(l.startsWith("#"))break;r.static?.push(u);break;default:break}});return{css:r.css,js:r.js,static:r.static}}}function bi(t,e,r){let s=Object.keys(t).find(o=>{let i=t[o];return t[o]===e||D(i)?.js?.includes(e)||D(i)?.css?.includes(e)})||"",n=Xr(e);return s?`/${s.replace(n,"")}${r}`:`${e.replace(n,"")}${r}`}function Xr(t){switch(me.default.extname(t)){case".js":case".mjs":case".ts":case".tsx":return".js";case".css":case".scss":case".sass":case".less":return".css";case".html":return".html";default:return".js"}}function z(t,e,r){return r?`/${t}${e}`:`${t}${e}`}function wi(t,e){return Object.values(e||{}).some(r=>r===t)}var Lt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){let r=require(this.manifestPath),n=P(r,"chrome").name||"Extension.js";e.hooks.thisCompilation.tap("html:emit-html-file",o=>{o.hooks.processAssets.tap({name:"AddAssetsToCompilationPlugin",stage:Ot.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{let i=Object.entries(this.includeList||{});for(let c of i){let[l,p]=c;if(p){if(!Zr.default.existsSync(p)){let m=oe(n,l,p);o.warnings.push(new Ot.default.WebpackError(m));return}let u=Zr.default.readFileSync(p,"utf8");if(!$(p,this.excludeList)){let m=new xi.sources.RawSource(u),g=z(l,".html");o.emitAsset(g,m)}}}})})}};var It=a(require("fs")),de=a(require("path")),Y=a(require("@rspack/core"));var Mt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.thisCompilation.tap("html:add-assets-to-compilation",r=>{r.hooks.processAssets.tap({name:"html:add-assets-to-compilation",stage:Y.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{if(r.errors.length>0)return;let s=Object.entries(this.includeList||{});for(let n of s){let[o,i]=n,c=o+".html";if(i){let l=r.getAsset(c);if(l){let p=l.source.source().toString(),u=D(i,p)?.static,m=[...new Set(u)];for(let g of m)if(!g.startsWith("/")){if(!It.default.existsSync(g)&&!wi(g,this.includeList)&&!de.default.basename(g).startsWith("#")){let A=rt(i,g);g.startsWith("/")||r.warnings.push(new Y.default.WebpackError(A));return}let b=It.default.readFileSync(g),_=new Y.sources.RawSource(b),S=de.default.join("assets",de.default.basename(g));if(!r.getAsset(S))if(g.endsWith(".html")){let E=D(g),A=[...E?.js||[],...E?.css||[],...E?.static||[]];r.emitAsset(S,_),A.forEach(T=>{let _e=It.default.readFileSync(T),q=new Y.sources.RawSource(_e),Cs=de.default.join("assets",de.default.basename(T));r.getAsset(Cs)||r.emitAsset(Cs,q)})}else r.emitAsset(S,_)}}}}})})}};var vi=a(require("path")),Kr=a(require("fs"));var At=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){let r=this.includeList||{};for(let s of Object.entries(r)){let[n,o]=s;if(o){if(!Kr.default.existsSync(o))return;let i=D(o),c=i?.js||[],l=i?.css||[],p=[...c,...l].filter(u=>!$(u,this.excludeList));if(e.options.mode==="development"){let u=vi.default.resolve(__dirname,"minimum-script-file.mjs");p.push(u)}Kr.default.existsSync(o)&&($(o,this.excludeList)||(e.options.entry={...e.options.entry,[n]:{import:p}}))}}}};var Nt=require("@rspack/core");var Yr=a(require("fs")),H=a(require("path")),O=a(require("parse5-utils"));function Si(t,e,r,s,n){let o=Yr.default.readFileSync(r,{encoding:"utf8"}),i=O.default.parse(o),c=!!t.getAsset(e+".css"),l=!1;for(let p of i.childNodes)if(p.nodeName==="html"){for(let u of p.childNodes){if((u.nodeName==="head"||u.nodeName==="body")&&Ie(u,({filePath:m,childNode:g,assetType:b})=>{let _=H.default.dirname(r),S=H.default.resolve(_,m),E=Xr(S),A=$(H.default.resolve(_,m),n),T=H.default.join("/",H.default.normalize(m)),_e=tn(S,s);switch(b){case"script":{A?p=O.default.setAttribute(g,"src",T):(p=O.default.remove(g),l=!0);break}case"css":{A?p=O.default.setAttribute(g,"href",T):(p=O.default.remove(g),c=!0);break}case"staticHref":case"staticSrc":{if(A)p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",T);else if(_e){let q=bi(s,S,E);p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",q)}else{let q=H.default.join("assets",H.default.basename(S,E));Yr.default.existsSync(S)&&(p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",z(q,"",!0)))}break}default:break}}),u.nodeName==="head"&&c){let m=O.default.createNode("link");m.attrs=[{name:"rel",value:"stylesheet"},{name:"href",value:z(e,".css",!0)}],O.default.append(u,m)}if(u.nodeName==="body"&&(l||t.options.mode!=="production")){let m=O.default.createNode("script");m.attrs=[{name:"src",value:z(e,".js",!0)}],O.default.append(u,m)}}return O.default.serialize(i)}}var Rt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("html:update-html-file",r=>{r.hooks.processAssets.tap({name:"html:update-html-file",stage:Nt.Compilation.PROCESS_ASSETS_STAGE_DERIVED},()=>{if(r.errors.length>0)return;let s=this.includeList||{};for(let n of Object.entries(s)){let[o,i]=n;if(i){let c=Si(r,o,i,s,this.excludeList||{});if(!$(i,this.excludeList)&&c){let l=new Nt.sources.RawSource(c),p=z(o,".html");r.updateAsset(p,l)}}}})})}};var _i=a(require("fs")),Pi=require("@rspack/core");var Tt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.thisCompilation.tap("html:add-to-file-dependencies",r=>{r.hooks.processAssets.tap({name:"html:add-to-file-dependencies",stage:Pi.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(r.errors?.length)return;let s=this.includeList||{};for(let n of Object.entries(s)){let[,o]=n;if(o){let i=D(o),c=new Set(r.fileDependencies);if(_i.default.existsSync(o)){let l=[o,...i?.static||[]];for(let p of l)c.has(p)||(c.add(p),p===o&&r.fileDependencies.add(p))}}}})})}};var Ei=a(require("fs"));var Ut=class{manifestPath;includeList;initialHtmlAssets={};constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}hasEntriesChanged(e,r){if(!r||!e||e.length!==r.length)return!0;for(let s=0;s<e.length;s++)if(e[s]!==r[s])return!0;return!1}storeInitialHtmlAssets(e){Object.entries(e).forEach(([r,s])=>{let n=s;if(n){if(!Ei.default.existsSync(n)){let o=require(this.manifestPath),c=P(o,"chrome").name||"Extension.js";console.error(oe(c,r,n)),process.exit(1)}this.initialHtmlAssets[n]={js:D(n)?.js||[],css:D(n)?.css||[]}}})}apply(e){let r=this.includeList||{};this.storeInitialHtmlAssets(r),e.hooks.make.tapAsync("html:throw-if-recompile-is-needed",(s,n)=>{let o=e.modifiedFiles||new Set,i=Array.from(o)[0];if(i&&this.initialHtmlAssets[i]){let c=D(i)?.js||[],l=D(i)?.css||[],{js:p,css:u}=this.initialHtmlAssets[i];(this.hasEntriesChanged(l,u)||this.hasEntriesChanged(c,p))&&console.log(Gs(i))}n()})}};var ki=a(require("fs")),$i=require("@rspack/core");function $l(t,e){let r="Module not found: Error: Can't resolve ",n=e.message.replace(r,"").split("'")[1];if(e.message.includes(r))for(let o of Object.entries(t)){let[,i]=o;if(i){if(!ki.default.existsSync(i))return null;let c=D(i),l=c?.js?.filter(u=>!u.startsWith("/"))||[],p=c?.css?.filter(u=>!u.startsWith("/"))||[];if(l.includes(n)||p.includes(n)){let u=rt(i,n);return new $i.WebpackError(u)}}}return null}var Bt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.compilation.tap("html:handle-common-errors",r=>{r.hooks.afterSeal.tapPromise("html:handle-common-errors",async()=>{r.errors.forEach((s,n)=>{let o=$l(this.includeList||{},s);o&&(r.errors[n]=o)})})})}};var qt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Lt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Mt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new At({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Rt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Qr.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Qr.default.join(__dirname,"ensure-hmr-for-scripts.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}}]}),new Tt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Ut({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Bt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var Me=a(require("path"));var es=a(require("fs")),Fi=a(require("path"));function Ci(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>{let o=es.default.existsSync(n)&&!$(n,e),i=Fi.default.extname(n);return o&&(i===".js"||i===".mjs"||i===".jsx"||i===".ts"||i===".tsx")})}function ji(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>es.default.existsSync(n)&&!$(n,e)&&(n.endsWith(".css")||n.endsWith(".scss")||n.endsWith(".sass")||n.endsWith(".less")))}var Wt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList||{},this.excludeList=e.excludeList||{}}apply(e){let r=this.includeList||{},s={};for(let[n,o]of Object.entries(r)){let i=Ci(o,this.excludeList),c=ji(o,this.excludeList),l=[...i,...c];(c.length||i.length)&&(s[n]={import:l})}e.options.entry={...e.options.entry,...s}}};var Q=require("@rspack/core"),Fl=['var isBrowser = !!(() => { try { return browser.runtime.getURL("/") } catch(e) {} })()','var isChrome = !!(() => { try { return chrome.runtime.getURL("/") } catch(e) {} })()'],Cl=[...Fl,`var runtime = isBrowser ? browser : isChrome ? chrome : (typeof self === 'object' && self.addEventListener) ? { get runtime() { throw new Error("No chrome or browser runtime found") } } : { runtime: { getURL: x => x } }`],Jt=class t{apply(e){let{RuntimeGlobals:r}=e.webpack;e.hooks.compilation.tap("PublicPathRuntimeModule",s=>{s.hooks.runtimeRequirementInTree.for(r.publicPath).tap(t.name,n=>{let o=jl();return s.addRuntimeModule(n,o),!0})})}};function jl(){class t extends Q.RuntimeModule{constructor(){super("publicPath",Q.RuntimeModule.STAGE_BASIC)}generate(){let r=this.compilation?.outputOptions.publicPath;return Q.Template.asString([...Cl,`var path = ${JSON.stringify(this.compilation?.getPath(r||"",{hash:this.compilation.hash||"XXXX"}))}`,`${Q.RuntimeGlobals.publicPath} = typeof importScripts === 'function' || !(isBrowser || isChrome) ? path : runtime.runtime.getURL(path);`])}}return new t}var zt=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList||{},this.excludeList=e.excludeList||{}}apply(e){let r=require(this.manifestPath),s=P(r,this.browser);s.content_scripts?.some(n=>n.world&&n.world.toLowerCase()==="main")&&Z.includes(this.browser)&&!s.key&&(console.error(Ks()),process.exit(1))}};var Ht=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Wt({manifestPath:this.manifestPath,includeList:this.includeList||{},excludeList:this.excludeList||{}}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Me.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Me.default.join(__dirname,"add-hmr-accept-code.js")),options:{manifestPath:this.manifestPath,mode:e.options.mode,includeList:this.includeList||{},excludeList:this.excludeList||{}}}]}),e.options.mode==="production"&&new Jt().apply(e),new zt({manifestPath:this.manifestPath,browser:this.browser||"chrome",includeList:this.includeList||{},excludeList:this.excludeList||{}}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Me.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Me.default.join(__dirname,"deprecated-shadow-root.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList||{},excludeList:this.excludeList||{}}}]})}};var Re=a(require("path")),Ne=a(require("fs")),V=a(require("@rspack/core"));var ge=a(require("path")),Ae=a(require("fs"));function ts(t){let e=ge.default.join(ge.default.dirname(t),"_locales"),r=[];if(Ae.default.existsSync(e))for(let s of Ae.default.readdirSync(e)){let n=ge.default.join(e,s);if(n&&Ae.default.statSync(n).isDirectory())for(let o of Ae.default.readdirSync(n))r.push(ge.default.join(ge.default.dirname(t),"_locales",s,o))}return r}var Vt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("locales:module",r=>{r.hooks.processAssets.tap({name:"locales:module",stage:V.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(!Ne.default.existsSync(this.manifestPath)){let n=require(this.manifestPath),i=P(n,"chrome").name||"Extension.js";r.errors.push(new V.default.WebpackError(Us(i,this.manifestPath)));return}if(r.errors.length>0)return;let s=ts(this.manifestPath);for(let n of Object.entries(s||[])){let[o,i]=n,c=i;if(c){if(Re.default.extname(c)!==".json")continue;if(!Ne.default.existsSync(c)){r.warnings.push(new V.default.WebpackError(st(o,c)));return}let l=Ne.default.readFileSync(c),p=new V.sources.RawSource(l),u=e.options.context||Re.default.dirname(this.manifestPath);if(!$(c,this.excludeList)){let m=Re.default.relative(u,c);r.emitAsset(m,p)}}}})}),e.hooks.thisCompilation.tap("locales:module",r=>{r.hooks.processAssets.tap({name:"locales:module",stage:V.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(r.errors?.length)return;let s=ts(this.manifestPath);for(let n of Object.entries(s||[])){let[,o]=n;if(o){let i=new Set(r.fileDependencies),c=s||[];for(let l of c)Ne.default.existsSync(l)&&Re.default.extname(l)===".json"&&(i.has(l)||(i.add(l),r.fileDependencies.add(l)))}}})})}};var Gt=a(require("fs")),ee=a(require("@rspack/core"));var Xt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("json:module",r=>{r.hooks.processAssets.tap({name:"json:module",stage:ee.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(r.errors.length>0)return;let s=this.includeList||{};for(let n of Object.entries(s)){let[o,i]=n,c=Array.isArray(i)?i:[i];for(let l of c)if(l&&!$(l,this.excludeList)){if(!Gt.default.existsSync(l)){r.warnings.push(new ee.default.WebpackError(st(o,l)));return}let p=Gt.default.readFileSync(l),u=new ee.sources.RawSource(p);r.emitAsset(o+".json",u)}}})}),e.hooks.thisCompilation.tap("json:module",r=>{r.hooks.processAssets.tap({name:"json:module",stage:ee.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(r.errors?.length)return;let s=this.includeList||{};for(let n of Object.entries(s)){let[,o]=n,i=Array.isArray(o)?o:[o];for(let c of i)if(c){let l=new Set(r.fileDependencies);$(c,this.excludeList)||Gt.default.existsSync(c)&&(l.has(c)||(l.add(c),r.fileDependencies.add(c)))}}})})}};var rs=a(require("fs")),Di=a(require("path")),Kt=require("@rspack/core");var Zt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("icons:emit-file",r=>{r.hooks.processAssets.tap({name:"icons:emit-file",stage:Kt.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER},()=>{if(r.errors.length>0)return;let s=this.includeList||{};for(let n of Object.entries(s)){let[o,i]=n;if(i===void 0)continue;let c=Array.isArray(i)?typeof i[0]=="string"?i:i.map(Object.values).flat():[i];for(let l of c)if(l){if(!rs.default.existsSync(l))continue;if(!$(l,this.excludeList)){let p=rs.default.readFileSync(l),u=new Kt.sources.RawSource(p),m=Di.default.basename(l),b=`${o.endsWith("theme_icons")?o.replace("theme_icons",""):o}/${m}`;r.emitAsset(b,u)}}}})})}};var Li=a(require("fs")),Oi=require("@rspack/core"),Yt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("icons:add-to-file-dependencies",r=>{r.hooks.processAssets.tap({name:"icons:add-to-file-dependencies",stage:Oi.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(r.errors?.length)return;let s=this.includeList||{};for(let n of Object.entries(s)){let[,o]=n,i=Array.isArray(o)?typeof o[0]=="string"?o:o.map(Object.values).flat():[o];for(let c of i)if(c){let l=new Set(r.fileDependencies);Li.default.existsSync(c)&&(l.has(c)||(l.add(c),r.fileDependencies.add(c)))}}})})}};var Qt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Zt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Yt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var tr=require("@rspack/core");function Ii(t){return t.map(e=>{try{let r=new URL(e.replace(/^\*:\/\//,"https://"));return e.endsWith(r.pathname)?`${e.substring(0,e.length-r.pathname.length)}/*`:r.pathname==="/"?`${e}/*`:e}catch{return e}})}var er=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}generateManifestPatches(e,r){let s=W(e,this.manifestPath),n=s.web_accessible_resources||[],o=s.web_accessible_resources||[];for(let[l,p]of Object.entries(r)){let u=s.content_scripts?.find(m=>m.js?.some(g=>g.includes(l)));if(u){let m=u.matches||[],g=p.filter(b=>!b.endsWith(".map")&&!b.endsWith(".js"));if(g.length===0)continue;if(s.manifest_version===3){let b=n.find(_=>_.matches.some(S=>m.includes(S)));b?g.forEach(_=>{b.resources.includes(_)||b.resources.push(_)}):n.push({resources:g,matches:Ii(m)})}else g.forEach(b=>{o.includes(b)||o.push(b)})}}s.manifest_version===3?n.length>0&&(s.web_accessible_resources=n):o.length>0&&(s.web_accessible_resources=Array.from(new Set(o)));let i=JSON.stringify(s,null,2),c=new tr.sources.RawSource(i);e.getAsset("manifest.json")&&e.updateAsset("manifest.json",c)}apply(e){e.hooks.thisCompilation.tap("plugin-extension:feature-web-resources",r=>{r.hooks.processAssets.tap({name:"plugin-extension:feature-web-resources",stage:tr.Compilation.PROCESS_ASSETS_STAGE_ANALYSE},()=>{let s=[],n=Object.keys(this.includeList||{});for(let c of n.filter(Boolean))c.startsWith("content_scripts")&&(Array.isArray(c)?s.push(...c):typeof c=="string"&&s.push(c));let o=r.chunkGraph,i={};r.entrypoints.forEach((c,l)=>{if(s.includes(l)){let p=[];c.chunks.forEach(u=>{Array.from(o.getChunkModulesIterable(u)).forEach(g=>{o.getModuleChunks(g).forEach(b=>{b.auxiliaryFiles.forEach(_=>{p.includes(_)||p.push(_)})})})}),i[l]=p}}),this.generateManifestPatches(r,i)})})}};var I=a(require("fs")),M=a(require("path")),Mi=a(require("chokidar")),rr=class{options;constructor(e){this.options=e}ensureDirectoryExistence(e){let r=M.default.dirname(e);if(I.default.existsSync(r))return!0;I.default.mkdirSync(r,{recursive:!0})}copyFile(e,r){this.ensureDirectoryExistence(r),I.default.copyFileSync(e,r)}copyFolder(e,r){I.default.existsSync(r)||I.default.mkdirSync(r,{recursive:!0}),I.default.readdirSync(e).forEach(n=>{let o=M.default.join(e,n),i=M.default.join(r,n);I.default.statSync(o).isDirectory()?this.copyFolder(o,i):this.copyFile(o,i)})}apply(e){let r=M.default.dirname(this.options.manifestPath),s=M.default.join(r,"public"),n=e.options.output?.path||"";I.default.existsSync(s)&&(e.hooks.afterEmit.tap("special-folders:copy-public-folder",()=>{let o=M.default.join(n,"/");I.default.existsSync(o)||I.default.mkdirSync(o,{recursive:!0}),I.default.existsSync(s)&&this.copyFolder(s,o)}),e.options.mode!=="production"&&e.hooks.afterPlugins.tap("special-folders:copy-public-folder",()=>{let o=M.default.join(r,"public"),i=Mi.default.watch(o,{ignoreInitial:!0});i.on("add",c=>{let l=M.default.join(n,M.default.relative(r,c));this.copyFile(c,l)}),i.on("change",c=>{let l=M.default.join(n,M.default.relative(r,c));this.copyFile(c,l)}),i.on("unlink",c=>{let l=M.default.join(n,M.default.relative(r,c));I.default.existsSync(l)&&I.default.unlinkSync(l)}),e.hooks.watchClose.tap("special-folders:copy-public-folder",()=>{i.close().catch(console.error)})}))}};var U=a(require("path")),ss=a(require("chokidar"));var sr=class{manifestPath;constructor(e){this.manifestPath=e}throwCompilationError(e,r,s){let n=U.relative(process.cwd(),r),c=Ws(s?"Adding":"Removing",e,e==="pages"?"HTML pages":"script files",n);if(s){console.warn(c);return}console.error(c),process.exit(1)}apply(e){e.hooks.afterPlugins.tap("special-folders:warn-upon-folder-changes",()=>{let r=U.dirname(this.manifestPath),s=U.join(r,"pages"),n=U.join(r,"scripts"),o=ss.watch(s,{ignoreInitial:!0}),i=ss.watch(n,{ignoreInitial:!0}),c=e.options.resolve?.extensions;o.on("add",l=>{l.endsWith(".html")&&this.throwCompilationError("pages",l,!0)}),o.on("unlink",l=>{l.endsWith(".html")&&this.throwCompilationError("pages",l)}),i.on("add",l=>{c?.includes(U.extname(l))&&this.throwCompilationError("scripts",l,!0)}),i.on("unlink",l=>{c?.includes(U.extname(l))&&this.throwCompilationError("scripts",l)}),e.hooks.watchClose.tap("WarnUponFolderChanges",()=>{o.close().catch(console.error),i.close().catch(console.error)})})}};var nr=class{static name="plugin-special-folders";options;constructor(e){this.options=e}apply(e){let{manifestPath:r}=this.options;new rr({manifestPath:r}).apply(e),e.options.mode==="development"&&e.options.watchOptions&&new sr(r).apply(e)}};var or=class{static name="plugin-extension";manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){let r=this.manifestPath,s=le({manifestPath:r,browser:this.browser}),n=Io({manifestPath:r,browser:this.browser});new jt({browser:this.browser,manifestPath:r,includeList:{...s.html,...s.icons,...s.json,...s.scripts},excludeList:n.public}).apply(e),new qt({manifestPath:r,includeList:{...s.html,...n.pages},excludeList:{...n.public,...n.scripts}}).apply(e),new Ht({manifestPath:r,browser:this.browser,includeList:{...s.scripts,...n.scripts},excludeList:{...n.public,...n.pages}}).apply(e),new Vt({manifestPath:r}).apply(e),new Xt({manifestPath:r,includeList:s.json,excludeList:n.public}).apply(e),new Qt({manifestPath:r,includeList:s.icons,excludeList:n.public}).apply(e),new er({manifestPath:r,includeList:{...s.scripts,...n.scripts},excludeList:n.public}).apply(e),new nr({manifestPath:r}).apply(e)}};var Be=a(require("path"));var Ai=a(require("path")),Ri=a(require("ws"));function ir(t,e){t.clients.forEach(r=>{r.readyState===Ri.default.OPEN&&r.send(JSON.stringify(e))})}function Ni(t,e,r){if(!r||!e)return;let s=le({manifestPath:e}).locales,n=le({manifestPath:e}).scripts,o=le({manifestPath:e}).json;if(!t){process.env.EXTENSION_ENV==="development"&&console.error("WebSocket server is not running.");return}Ai.default.basename(r)==="manifest.json"&&ir(t,{changedFile:"manifest.json"}),s?.forEach(i=>{i.includes(r)&&ir(t,{changedFile:"_locales"})}),Object.entries(n).forEach(([i,c])=>{let l=Array.isArray(c)?c:[c];Object.values(l).flatMap(u=>u).includes(r)&&i==="background/service_worker"&&ir(t,{changedFile:"service_worker"})}),Object.entries(o).forEach(([i,c])=>{c?.includes(r)&&i==="declarative_net_request"&&ir(t,{changedFile:"declarative_net_request"})})}var os=a(require("path")),qi=a(require("fs")),Ue=a(require("ws"));var Te=a(require("path")),Dl=a(require("http")),Ui=a(require("https")),ns=a(require("fs"));var Ti=t=>{if(!ns.default.existsSync(t))return;let e=Te.default.basename(t);return ns.default.readFileSync(Te.default.join(__dirname,"certs",e))};function Bi(t){let e={key:Ti(Te.default.join(__dirname,"certs","localhost.key")),cert:Ti(Te.default.join(__dirname,"certs","localhost.cert"))},r=Ui.default.createServer(e,(s,n)=>{n.writeHead(200),n.end()});return r.on("error",s=>{throw console.error(Zs(t)),new Error(s.message)}),{server:r,port:t}}function Ll(t,e){switch(e){case"chrome":return new Ue.default.Server({host:"localhost",port:t});case"edge":return new Ue.default.Server({host:"localhost",port:t+1});case"firefox":return new Ue.default.Server({server:Bi(t+2).server});default:return new Ue.default.Server({host:"localhost",port:8888})}}async function Wi(t,e){let r=t.options.context||"",s=require(os.default.join(r,"manifest.json")),o=Ll(8e3,e.browser);if(o.on("connection",i=>{i.send(JSON.stringify({status:"serverReady"})),i.on("error",c=>{console.log(Hs(c))}),i.on("message",c=>{let l=JSON.parse(c.toString());if(l.status==="clientReady"){let p=require(os.default.join(r,"manifest.json"));setTimeout(()=>{console.log(Mr(p,e.browser,l)),console.log("")},2500),rn(e.browser)&&setTimeout(()=>{console.log(zs(e.browser))},5e3)}})}),e.browser==="firefox"||e.browser==="gecko-based"){let i=sn(s);console.log(Mr(s,e.browser,i)),console.log(""),qi.default.existsSync(tt)||(console.log(Xs()),console.log(""))}return o}var Ji=a(require("path")),is=a(require("fs"));function zi(t,e){let r=Ji.default.resolve(__dirname,`./extensions/${t}-manager-extension/reload-service.js`);try{let s=is.default.readFileSync(r,"utf8"),n=s.replace(/__RELOAD_PORT__/g,e.toString());n!==s&&is.default.writeFileSync(r,n,"utf8")}catch(s){console.error(`Error processing file: ${s.message}`)}}process.on("SIGINT",()=>{process.exit()});process.on("SIGTERM",()=>{process.exit()});var qe=class{manifestPath;port;browser;stats;constructor(e){this.manifestPath=e.manifestPath,this.port=e.port||8e3,this.browser=e.browser||"chrome",this.stats=e.stats}async apply(e){if(!this.manifestPath)return;zi(this.browser,this.port);let r=await Wi(e,{...this,mode:e.options.mode,browser:this.browser,stats:this.stats,port:this.port});e.hooks.watchRun.tapAsync("reload:create-web-socket-server",(s,n)=>{let i=(s.modifiedFiles||new Set).values().next().value;if(!i){n();return}let c=Be.default.relative(Be.default.dirname(this.manifestPath),i),l=Be.default.relative(process.cwd(),Be.default.dirname(i));process.env.EXTENSION_ENV==="development"&&console.info(`\u25BA\u25BA Updated file \`${c}\` (relative to ${l})`),this.manifestPath&&Ni(r,this.manifestPath,i),n()})}};var as=a(require("path"));function Hi(t,e,r){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[as.default.dirname(r)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:as.default.resolve(__dirname,"./inject-chromium-client-loader"),options:{manifestPath:r,browser:e}}]})}var cs=a(require("path"));function Vi(t,e,r){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[cs.default.dirname(r)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:cs.default.resolve(__dirname,"./inject-firefox-client-loader"),options:{manifestPath:r,browser:e}}]})}var cr=require("@rspack/core");var ls=a(require("content-security-policy-parser"));function Gi(t){let e="";for(let r in t)e+=`${r} ${t[r].join(" ")}; `;return e.trim()}function Xi(t){let e=t.content_security_policy;if(!e)return"script-src 'self' 'unsafe-eval' blob: filesystem:; object-src 'self' blob: filesystem:; ";let r=(0,ls.default)(e);if(!r.get("script-src"))r.set("script-src",["'self'","'unsafe-eval'","blob:","filesystem:"]);else{let n=r.get("script-src")||[];n.includes("'unsafe-eval'")||n.push("'unsafe-eval'"),n.includes("blob:")||n.push("blob:"),n.includes("filesystem:")||n.push("filesystem:"),r.set("script-src",n)}r.get("object-src")||r.set("object-src",["'self'","blob:","filesystem:"]);let s=Object.fromEntries(r.entries());return Gi(s)}function Zi(t){let e=t.content_security_policy;if(!e)return{extension_pages:"script-src 'self'; object-src 'self';"};let r=(0,ls.default)(e.extension_pages||""),s={};for(let i in s)r.get(i)||r.set(i,s[i]);let n=Object.fromEntries(r.entries());return{extension_pages:Gi(n)}}function Ki(t){let e=["/*.json","/*.js","/*.css"],r=t.web_accessible_resources;if(!r||r.length===0)return e;let s=new Set(r);for(let n of e)s.has(n)||s.add(n);return Array.from(s)}function Yi(t){let e=["/*.json","/*.js","/*.css"];return[...t.web_accessible_resources||[],{resources:e,matches:["<all_urls>"]}]}function ps(t,e){return t.background?{background:{...t.background}}:e==="firefox"||e==="gecko-based"?{background:{...t.background||{},scripts:["background/script.js"]}}:t.manifest_version===2?{background:{...t.background||{},scripts:["background/script.js"]}}:{background:{...t.background||{},service_worker:"background/service_worker.js"}}}function fs(t){return t.externally_connectable&&!t.externally_connectable.ids?{externally_connectable:{...t.externally_connectable,ids:[...new Set(t.externally_connectable.ids||[]),"*"]}}:t.externally_connectable&&!t.externally_connectable.ids?{externally_connectable:{...t.externally_connectable,ids:["*"]}}:{}}var ar=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}generateManifestPatches(e){let r=W(e,this.manifestPath),s={...r,content_security_policy:r.manifest_version===3?Zi(r):Xi(r),...r.manifest_version===3?r.permissions?{permissions:[...new Set(["scripting",...r.permissions])]}:{permissions:["scripting"]}:{},...ps(r,this.browser),...fs(r),web_accessible_resources:r.manifest_version===3?Yi(r):Ki(r)},n=JSON.stringify(s,null,2),o=new cr.sources.RawSource(n);e.getAsset("manifest.json")&&e.updateAsset("manifest.json",o)}apply(e){e.hooks.thisCompilation.tap("run-chromium:apply-manifest-dev-defaults",r=>{r.hooks.processAssets.tap({name:"run-chromium:apply-manifest-dev-defaults",stage:cr.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},s=>{if(!this.manifestPath){let n="No manifest.json found in your extension bundle. Unable to patch manifest.json.";r&&e.rspack.WebpackError&&r.errors.push(new e.rspack.WebpackError(`run-chromium: ${n}`));return}this.generateManifestPatches(r)})})}};var ms=a(require("fs")),he=a(require("path")),ea=a(require("webpack-target-webextension"));var us=a(require("fs"));function Qi(t){try{let e=us.default.readFileSync(t,"utf8");e=e.replace(/module\.exports\.RuntimeGlobal = ['"]__webpack_require__\.webExtRt['"]/,"module.exports.RuntimeGlobal = 'chrome'"),e=e.replace(/module\.exports\.RuntimeGlobalIsBrowser = ['"]__webpack_require__\.webExtRtModern['"]/,"module.exports.RuntimeGlobalIsBrowser = 'browser'"),us.default.writeFileSync(t,e)}catch(e){throw new Error(`Failed to rewrite runtime globals: ${e.message}`)}}var lr=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}handleBackground(e,r,s){let n=he.default.resolve(__dirname,r==="firefox"||r==="gecko-based"?"minimum-firefox-file.mjs":"minimum-chromium-file.mjs"),o=he.default.dirname(this.manifestPath),i=P(s,r);if(r==="firefox"||r==="gecko-based"){i=s.background;let c=i?.scripts;if(c&&c.length>0){let l=he.default.join(o,c[0]);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/script",n)}else if(i=s.background,s.manifest_version===3){let c=i?.service_worker;if(c){let l=he.default.join(o,c);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/service_worker",n)}else if(s.manifest_version===2){let c=i?.scripts;if(c&&c.length>0){let l=he.default.join(o,c[0]);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/script",n)}}ensureFileExists(e){if(!ms.default.existsSync(e)&&this.manifestPath){let r=require(this.manifestPath),n=P(r,"chrome").name||"Extension.js",o=Vs(n,e);throw console.error(o),new Error(o)}}addDefaultEntry(e,r,s){e.options.entry={...e.options.entry,[r]:{import:[s]}}}getEntryName(e){if(e.background){if(this.browser==="firefox"||this.browser==="gecko-based")return{pageEntry:"background/script",tryCatchWrapper:!0,eagerChunkLoading:!1};if(e.manifest_version===3)return{serviceWorkerEntry:"background/service_worker",tryCatchWrapper:!0,eagerChunkLoading:!1};if(e.manifest_version===2)return{pageEntry:"background/script",tryCatchWrapper:!0,eagerChunkLoading:!1}}return{pageEntry:"background",tryCatchWrapper:!0,eagerChunkLoading:!1}}convertToWebpackCompiler(e){return{...e,options:{...e.options,mode:"development"}}}apply(e){if(!this.manifestPath||!ms.default.lstatSync(this.manifestPath).isFile())return;let r=require(this.manifestPath),s=P(r,this.browser);this.handleBackground(e,this.browser,s),new ea.default({background:this.getEntryName(s),weakRuntimeCheck:!0}).apply(this.convertToWebpackCompiler(e));try{let n=require.resolve("webpack-target-webextension/lib/webpack5/RuntimeModules/BrowserRuntime.js");Qi(n)}catch{console.warn("Could not find BrowserRuntime.js file to modify")}}};var ds=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){(Z.includes(this.browser)||this.browser==="chromium-based")&&Hi(e,this.browser,this.manifestPath),(this.browser==="firefox"||this.browser==="gecko-based")&&Vi(e,this.browser,this.manifestPath),new ar({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new lr({manifestPath:this.manifestPath,browser:this.browser}).apply(e)}},ta=ds;var pr=class{static name="plugin-reload";manifestPath;browser;port;stats;autoReload;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.port=e.port,this.stats=e.stats,this.autoReload=e.autoReload}apply(e){e.options.mode==="development"&&new qe({manifestPath:this.manifestPath,browser:this.browser,port:this.port,stats:this.stats}).apply(e),e.options.mode==="development"&&new ta({manifestPath:this.manifestPath,browser:this.browser,autoReload:this.autoReload,stats:this.stats}).apply(e)}};var ra=a(require("@rspack/core")),fr=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser}apply(e){new ra.default.ProvidePlugin({browser:require.resolve("webextension-polyfill")}).apply(e)}};var mr=require("@rspack/core");var ur=class{browser;manifestPath;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}patchManifest(e){let r=P(e,this.browser);return JSON.stringify(r,null,2)}apply(e){e.hooks.compilation.tap("compatibility:browser-specific-fields",r=>{r.hooks.processAssets.tap({name:"compatibility:browser-specific-fields",stage:mr.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE},()=>{let s=W(r,this.manifestPath),n=this.patchManifest(s),o=new mr.sources.RawSource(n);r.updateAsset("manifest.json",o)})})}};var dr=class{static name="plugin-compatibility";manifestPath;browser;polyfill;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.polyfill=e.polyfill||!1}async apply(e){this.polyfill&&this.browser!=="firefox"&&new fr({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e),new ur({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e)}};var Sc=a(require("os")),vs=a(require("path"));var ja=a(require("fs")),Da=a(require("path")),La=require("child_process");var be=a(require("path")),Je=a(require("fs"));var sa={alternate_error_pages:{enabled:!1},autofill:{enabled:!1},browser:{check_default_browser:!1,default_browser_setting_enabled:!1},default_apps:"install",distribution:{alternate_shortcut_text:!1,auto_launch_chrome:!1,import_bookmarks:!1,import_history:!1,import_home_page:!1,import_search_engine:!1,suppress_first_run_bubble:!0,do_not_register_for_update_launch:!0,make_chrome_default:!1,make_chrome_default_for_user:!1,require_eula:!1,suppress_first_run_default_browser_prompt:!0},dns_prefetching:{enabled:!1},download:{default_directory:"/tmp/",directory_upgrade:!0,open_pdf_in_adobe_reader:!1,prompt_for_download:!0},enable_do_not_track:!0,extensions:{theme:{use_system:!1},toolbarsize:-1,ui:{developer_mode:!0}},plugins:{plugins_list:[{enabled:!1,name:"Java(TM)"}],show_details:!0},profile:{password_manager_enabled:!1},safebrowsing:{enabled:!1,safebrowsingextended_reporting_enabled:!1},savefile:{default_directory:"/tmp",type:0},search:{suggest_enabled:!1},session:{restore_on_startup:1},sync:{suppress_start:!0},sync_promo:{show_on_first_run_allowed:!1,show_ntp_bubble:!1},translate:{enabled:!1}},na={...sa},oa={...sa};var y=require("@colors/colors/safe");function x(t,e){let r=e==="warn"?(0,y.brightYellow)("\u25BA\u25BA\u25BA"):e==="info"?(0,y.cyan)("\u25BA\u25BA\u25BA"):e==="error"?`${(0,y.bold)((0,y.red)("ERROR"))} in ${ye(t)} ${(0,y.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:(0,y.brightGreen)("\u25BA\u25BA\u25BA");return`${(0,y.gray)("")}${r}`}function ye(t){return t.charAt(0).toUpperCase()+t.slice(1)}function gr(t){let e=ye(t);return`${x(t,"info")} Creating new ${e} user profile...`}function ia(t){return`${x(t,"success")} Instance already running.`}function aa(t){return`${x(t,"info")} Instance exited.`}function hr(t,e){let r=t==="firefox"||t==="gecko-based"?"Add-on":"Extension";return`${x(t,"success")} ${ye(t)} ${r} running in ${(0,y.brightBlue)(e||"unknown")} mode.`}function We(t,e){let r=e=="null"?`Browser is not installed
75
75
 
76
76
  `:`Can't find the browser path
77
77
 
78
- `;return`${w(t,"error")} ${s}Either install the missing browser or choose a different one via ${(0,y.brightYellow)("--browser")} flag.
79
- ${(0,y.red)("NOT FOUND")} ${(0,y.underline)(e||ye(t)+"BROWSER")}`}function ia(t){return`${w(t,"error")} No Service Worker Support
78
+ `;return`${x(t,"error")} ${r}Either install the missing browser or choose a different one via ${(0,y.brightYellow)("--browser")} flag.
79
+ ${(0,y.red)("NOT FOUND")} ${(0,y.underline)(e||ye(t)+"BROWSER")}`}function ca(t){return`${x(t,"error")} No Service Worker Support
80
80
 
81
81
  Firefox does not support the ${(0,y.brightYellow)("background.service_worker")} field yet.
82
82
  Update your manifest.json file to use ${(0,y.brightYellow)("background.scripts")} instead.
83
83
 
84
- Read more: ${(0,y.underline)("https://bugzilla.mozilla.org/show_bug.cgi?id=1573659")}.`}function aa(t,e){return`${w(t,"error")} Error launching browser:
85
- ${(0,y.red)(e)}`}function ca(t,e){return`${w(t,"error")} ${(0,y.red)(e.stack)}`}function la(t){return`${w(t,"error")} Unable to connect to ${ye(t)}. Too many retries.`}function pa(t,e){return`${w(t,"error")} Error while installing temporary addon:
86
- ${(0,y.red)(e)}`}function fa(t,e){return`${w(t,"error")} Path is not directory
84
+ Read more: ${(0,y.underline)("https://bugzilla.mozilla.org/show_bug.cgi?id=1573659")}.`}function la(t,e){return`${x(t,"error")} Error launching browser:
85
+ ${(0,y.red)(e)}`}function pa(t,e){return`${x(t,"error")} ${(0,y.red)(e.stack)}`}function fa(t){return`${x(t,"error")} Unable to connect to ${ye(t)}. Too many retries.`}function ua(t,e){return`${x(t,"error")} Error while installing temporary addon:
86
+ ${(0,y.red)(e)}`}function ma(t,e){return`${x(t,"error")} Path is not directory
87
87
 
88
88
  Please provide a valid directory path and try again.
89
- ${(0,y.red)("NOT DIRECTORY")} ${(0,y.underline)(e)}`}function ua(t){return`${w(t,"error")} Error parsing message length.`}function ma(t){return`${w(t,"error")} ${(0,y.magenta)("MessagingClient")} connection closed.`}function da(t,e){return`${w(t,"error")} Unexpected ${(0,y.magenta)("MessagingClient")} request without target actor: ${(0,y.brightYellow)(e)}`}function ga(t){return`${w(t,"error")} ${(0,y.magenta)("MessagingClient")} connection closed.`}function ha(t,e){return`${w(t,"error")} Target actor ${(0,y.brightYellow)(e)} already has an active request.`}function ya(t,e){return`${w(t,"error")} Error parsing packet: ${(0,y.red)(e)}`}function ba(t,e){return`${w(t,"error")} Message received without a sender actor:
90
- ${(0,y.brightYellow)(JSON.stringify(e))}`}function xa(t,e){return`${w(t,"error")} Received unexpected message:
91
- ${(0,y.red)(e)}`}function wa(t,e){return`${w(t,"info")} Using own ${(0,y.magenta)("starting URL")} ${(0,y.underline)(e)}. `}function dr(t,e){return`${w(t,"info")} Using own ${(0,y.magenta)(`${ye(t)} browser binary`)} ${(0,y.underline)(e)}. `}function va(t,e){return`${w(t,"info")} Using own ${(0,y.magenta)("browser profile")} ${(0,y.underline)(e)}. `}function Sa(t){return`${w(t,"info")} Using own ${(0,y.magenta)("browser preferences")}. `}function _a(t){return`${w(t,"info")} Using own ${(0,y.magenta)("browser flags")}. `}function Pa(t,e){return`${w(t,"info")} Browser launcher is ${(0,y.brightYellow)(e?"enabled":"disabled")}. `}var Ea=a(require("progress"));function ys(t,e){let r=new Ea.default(`${t} [:bar] :percent :etas`,{complete:"=",incomplete:" ",width:50,total:131072}),n=setInterval(()=>{let o=Math.random()*10*1024;r.tick(o),r.complete&&(clearInterval(n),e())},50)}function ka(t,e,s={}){if(e&&Je.default.existsSync(e))return e;let r=be.default.resolve(__dirname,`run-${t}-profile`);if(!e&&Je.default.existsSync(r))return be.default.resolve(__dirname,`run-${t}-profile`);let o=JSON.stringify({...t==="chrome"?sa:ra,...s});return ys(gs(t),()=>{let i=e||r,c=be.default.join(i,"Default");Je.default.mkdirSync(c,{recursive:!0});let l=be.default.join(c,"Preferences");Je.default.writeFileSync(l,o,"utf8")}),be.default.resolve(__dirname,`run-${t}-profile`)}function $a(t){let e=Array.isArray(t.extension)?t.extension:[t.extension],s=ka(t.browser,t.profile,t.preferences);return[`--load-extension=${e.join()}`,`--user-data-dir=${s}`,"--no-first-run","--disable-client-side-phishing-detection","--disable-component-extensions-with-background-pages","--disable-default-apps","--disable-features=InterestFeedContentSuggestions","--disable-features=Translate","--hide-scrollbars","--mute-audio","--no-default-browser-check","--ash-no-nudges","--disable-search-engine-choice-screen","--disable-features=MediaRoute","--use-mock-keychain","--disable-background-networking","--disable-breakpad","--disable-component-update","--disable-domain-reliability","--disable-features=AutofillServerCommunicatio","--disable-features=CertificateTransparencyComponentUpdate","--disable-sync","--disable-features=OptimizationHints","--disable-features=DialMediaRouteProvider","--no-pings","--enable-features=SidePanelUpdates",...t.browserFlags||[]]}process.on("SIGINT",()=>{process.exit()});process.on("SIGTERM",()=>{process.exit()});var ze=class{extension;browser;browserFlags;profile;preferences;startingUrl;autoReload;stats;chromiumBinary;constructor(e){this.extension=e.extension,this.browser=e.browser,this.browserFlags=e.browserFlags||[],this.profile=e.profile,this.preferences=e.preferences,this.startingUrl=e.startingUrl,this.chromiumBinary=e.chromiumBinary}launchChromium(e){let s;switch(e){case"chrome":s=require(`${e}-location`);break;case"edge":s=require(`${e}-location`)();break;case"chromium-based":s=Ca.default.normalize(this.chromiumBinary);break;default:s=require(`${e}`);break}Fa.default.existsSync(s)||(console.error(We(e,s)),process.exit());let r=$a(this),n=this.startingUrl?[this.startingUrl,...r]:[...r],o=process.env.EXTENSION_ENV==="development"?"inherit":"ignore",i=(0,ja.spawn)(`${s}`,n,{stdio:o});process.env.EXTENSION_ENV==="development"&&(i.stdout?.pipe(process.stdout),i.stderr?.pipe(process.stderr))}apply(e){let s=!1;e.hooks.done.tapAsync("run-browsers:module",(r,n)=>{if(r.compilation.errors.length>0){n();return}if(s){n();return}this.launchChromium(this.browser),setTimeout(()=>{console.log(hs(this.browser,r.compilation.options.mode))},2e3),s=!0,n()})}};var bc=a(require("fs")),xc=a(require("path")),xr=require("child_process");var He=a(require("fs")),bs=a(require("path")),Da=a(require("os")),La=a(require("which")),Oa=process.platform==="darwin",Dl=process.platform==="win32",Ll=!Oa&&!Dl;function Ol(){if(Ll)try{return La.default.sync("firefox")}catch{return null}else if(Oa){let t="/Applications/Firefox.app/Contents/MacOS/firefox",e=bs.default.join(Da.default.homedir(),t.slice(1));return He.default.existsSync(t)?t:He.default.existsSync(e)?e:null}else{let t=bs.default.join("Mozilla Firefox","firefox.exe"),e=[process.env.LOCALAPPDATA,process.env.PROGRAMFILES,process.env["PROGRAMFILES(X86)"]];for(let r of e)if(r){let n=bs.default.join(r,t);if(He.default.existsSync(n))return n}let s=["C:\\Program Files\\Mozilla Firefox\\firefox.exe","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"];for(let r of s)if(He.default.existsSync(r))return r;return null}}var Ia=Ol();var yr=a(require("path")),ws=a(require("fs")),br=a(require("firefox-profile"));var Il={"app.update.enabled":!1,"browser.dom.window.dump.enabled":!0,"browser.formfill.enable":!1,"browser.link.open_newwindow":3,"browser.sessionstore.enabled":!1,"browser.shell.checkDefaultBrowser":!1,"browser.sync.enabled":!1,"browser.startup.page":0,"browser.startup.homepage_welcome_url":"about:blank","browser.startup.homepage_welcome_url_additional":"about:blank","browser.urlbar.suggest.bookmark":!1,"browser.urlbar.suggest.clipboard":!1,"browser.urlbar.suggest.history":!1,"browser.urlbar.suggest.openpage":!1,"browser.urlbar.suggest.remotetab":!1,"browser.urlbar.suggest.searches":!1,"browser.urlbar.suggest.topsites":!1,"browser.urlbar.suggest.engines":!1,"browser.urlbar.suggest.calculator":!1,"browser.urlbar.suggest.recentsearches":!1,"datareporting.policy.dataSubmissionEnabled":!1,"datareporting.policy.firstRunURL":"","devtools.browserconsole.contentMessages":!0,"devtools.chrome.enabled":!0,"devtools.debugger.prompt-connection":!1,"devtools.debugger.remote-enabled":!0,"devtools.errorconsole.enabled":!0,"extensions.installDistroAddons":!1,"extensions.autoDisableScopes":10,"extensions.chrome.enabled":!0,"extensions.logging.enabled":!1,"extensions.checkCompatibility.nightly":!1,"extensions.update.enabled":!1,"extensions.update.notifyUser":!1,"extensions.enabledScopes":5,"extensions.getAddons.cache.enabled":!1,"network.prefetch.next":!1,"network.speculative.preconnect.enabled":!1,"toolkit.telemetry.enabled":!1,"toolkit.telemetry.archive.enabled":!1,"toolkit.telemetry.newProfilePing.enabled":!1,"toolkit.recovery.enabled":!1,"urlclassifier.updateinterval":172800,"security.enterprise_roots.enabled":!0,"xpinstall.signatures.required":!1};function gr(t){return{...Il,...t}}var Ve=a(require("fs")),Xe=a(require("path"));var xs=a(require("path")),Ma=a(require("fs")),d=require("@colors/colors/safe");function k(t){return`${t==="warn"?(0,d.brightYellow)("\u25BA\u25BA\u25BA"):t==="info"?(0,d.cyan)("\u25BA\u25BA\u25BA"):t==="error"?`${(0,d.bold)((0,d.red)("ERROR"))} in Extension.js ${(0,d.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:(0,d.brightGreen)("\u25BA\u25BA\u25BA")}`}function X(t){return`${k("error")} Manifest file not found.
89
+ ${(0,y.red)("NOT DIRECTORY")} ${(0,y.underline)(e)}`}function da(t){return`${x(t,"error")} Error parsing message length.`}function ga(t){return`${x(t,"error")} ${(0,y.magenta)("MessagingClient")} connection closed.`}function ha(t,e){return`${x(t,"error")} Unexpected ${(0,y.magenta)("MessagingClient")} request without target actor: ${(0,y.brightYellow)(e)}`}function ya(t){return`${x(t,"error")} ${(0,y.magenta)("MessagingClient")} connection closed.`}function ba(t,e){return`${x(t,"error")} Target actor ${(0,y.brightYellow)(e)} already has an active request.`}function wa(t,e){return`${x(t,"error")} Error parsing packet: ${(0,y.red)(e)}`}function xa(t,e){return`${x(t,"error")} Message received without a sender actor:
90
+ ${(0,y.brightYellow)(JSON.stringify(e))}`}function va(t,e){return`${x(t,"error")} Received unexpected message:
91
+ ${(0,y.red)(e)}`}function Sa(t,e){return`${x(t,"info")} Using own ${(0,y.magenta)("starting URL")} ${(0,y.underline)(e)}. `}function gs(t,e){return`${x(t,"info")} Using own ${(0,y.magenta)(`${ye(t)} browser binary`)} ${(0,y.underline)(e)}. `}function _a(t,e){return`${x(t,"info")} Using own ${(0,y.magenta)("browser profile")} ${(0,y.underline)(e)}. `}function Pa(t){return`${x(t,"info")} Using own ${(0,y.magenta)("browser preferences")}. `}function Ea(t){return`${x(t,"info")} Using own ${(0,y.magenta)("browser flags")}. `}function ka(t,e){return`${x(t,"info")} Browser launcher is ${(0,y.brightYellow)(e?"enabled":"disabled")}. `}var $a=a(require("progress"));function yr(t,e){let s=new $a.default(`${t} [:bar] :percent :etas`,{complete:"=",incomplete:" ",width:50,total:131072}),n=setInterval(()=>{let o=Math.random()*10*1024;s.tick(o),s.complete&&(clearInterval(n),e())},50)}function Fa(t,e,r={}){if(e&&Je.default.existsSync(e))return e;let s=be.default.resolve(__dirname,`run-${t}-profile`);if(!e&&Je.default.existsSync(s))return be.default.resolve(__dirname,`run-${t}-profile`);let o=JSON.stringify({...t==="chrome"?na:oa,...r});return yr(gr(t),()=>{let i=e||s,c=be.default.join(i,"Default");Je.default.mkdirSync(c,{recursive:!0});let l=be.default.join(c,"Preferences");Je.default.writeFileSync(l,o,"utf8")}),be.default.resolve(__dirname,`run-${t}-profile`)}function Ca(t){let e=Array.isArray(t.extension)?t.extension:[t.extension],r=Fa(t.browser,t.profile,t.preferences);return[`--load-extension=${e.join()}`,`--user-data-dir=${r}`,"--no-first-run","--disable-client-side-phishing-detection","--disable-component-extensions-with-background-pages","--disable-default-apps","--disable-features=InterestFeedContentSuggestions","--disable-features=Translate","--hide-scrollbars","--mute-audio","--no-default-browser-check","--ash-no-nudges","--disable-search-engine-choice-screen","--disable-features=MediaRoute","--use-mock-keychain","--disable-background-networking","--disable-breakpad","--disable-component-update","--disable-domain-reliability","--disable-features=AutofillServerCommunicatio","--disable-features=CertificateTransparencyComponentUpdate","--disable-sync","--disable-features=OptimizationHints","--disable-features=DialMediaRouteProvider","--no-pings","--enable-features=SidePanelUpdates",...t.browserFlags||[]]}process.on("SIGINT",()=>{process.exit()});process.on("SIGTERM",()=>{process.exit()});var ze=class{extension;browser;browserFlags;profile;preferences;startingUrl;autoReload;stats;chromiumBinary;constructor(e){this.extension=e.extension,this.browser=e.browser,this.browserFlags=e.browserFlags||[],this.profile=e.profile,this.preferences=e.preferences,this.startingUrl=e.startingUrl,this.chromiumBinary=e.chromiumBinary}launchChromium(e){let r;switch(e){case"chrome":r=require(`${e}-location`);break;case"edge":r=require(`${e}-location`)();break;case"chromium-based":r=Da.default.normalize(this.chromiumBinary);break;default:r=require(`${e}`);break}ja.default.existsSync(r)||(console.error(We(e,r)),process.exit());let s=Ca(this),n=this.startingUrl?[this.startingUrl,...s]:[...s],o=process.env.EXTENSION_ENV==="development"?"inherit":"ignore",i=(0,La.spawn)(`${r}`,n,{stdio:o});process.env.EXTENSION_ENV==="development"&&(i.stdout?.pipe(process.stdout),i.stderr?.pipe(process.stderr))}apply(e){let r=!1;e.hooks.done.tapAsync("run-browsers:module",(s,n)=>{if(s.compilation.errors.length>0){n();return}if(r){n();return}this.launchChromium(this.browser),setTimeout(()=>{console.log(hr(this.browser,s.compilation.options.mode))},2e3),r=!0,n()})}};var xc=a(require("fs")),vc=a(require("path")),xs=require("child_process");var He=a(require("fs")),br=a(require("path")),Oa=a(require("os")),Ia=a(require("which")),Ma=process.platform==="darwin",Ol=process.platform==="win32",Il=!Ma&&!Ol;function Ml(){if(Il)try{return Ia.default.sync("firefox")}catch{return null}else if(Ma){let t="/Applications/Firefox.app/Contents/MacOS/firefox",e=br.default.join(Oa.default.homedir(),t.slice(1));return He.default.existsSync(t)?t:He.default.existsSync(e)?e:null}else{let t=br.default.join("Mozilla Firefox","firefox.exe"),e=[process.env.LOCALAPPDATA,process.env.PROGRAMFILES,process.env["PROGRAMFILES(X86)"]];for(let s of e)if(s){let n=br.default.join(s,t);if(He.default.existsSync(n))return n}let r=["C:\\Program Files\\Mozilla Firefox\\firefox.exe","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"];for(let s of r)if(He.default.existsSync(s))return s;return null}}var Aa=Ml();var bs=a(require("path")),xr=a(require("fs")),ws=a(require("firefox-profile"));var Al={"app.update.enabled":!1,"browser.dom.window.dump.enabled":!0,"browser.formfill.enable":!1,"browser.link.open_newwindow":3,"browser.sessionstore.enabled":!1,"browser.shell.checkDefaultBrowser":!1,"browser.sync.enabled":!1,"browser.startup.page":0,"browser.startup.homepage_welcome_url":"about:blank","browser.startup.homepage_welcome_url_additional":"about:blank","browser.urlbar.suggest.bookmark":!1,"browser.urlbar.suggest.clipboard":!1,"browser.urlbar.suggest.history":!1,"browser.urlbar.suggest.openpage":!1,"browser.urlbar.suggest.remotetab":!1,"browser.urlbar.suggest.searches":!1,"browser.urlbar.suggest.topsites":!1,"browser.urlbar.suggest.engines":!1,"browser.urlbar.suggest.calculator":!1,"browser.urlbar.suggest.recentsearches":!1,"datareporting.policy.dataSubmissionEnabled":!1,"datareporting.policy.firstRunURL":"","devtools.browserconsole.contentMessages":!0,"devtools.chrome.enabled":!0,"devtools.debugger.prompt-connection":!1,"devtools.debugger.remote-enabled":!0,"devtools.errorconsole.enabled":!0,"extensions.installDistroAddons":!1,"extensions.autoDisableScopes":10,"extensions.chrome.enabled":!0,"extensions.logging.enabled":!1,"extensions.checkCompatibility.nightly":!1,"extensions.update.enabled":!1,"extensions.update.notifyUser":!1,"extensions.enabledScopes":5,"extensions.getAddons.cache.enabled":!1,"network.prefetch.next":!1,"network.speculative.preconnect.enabled":!1,"toolkit.telemetry.enabled":!1,"toolkit.telemetry.archive.enabled":!1,"toolkit.telemetry.newProfilePing.enabled":!1,"toolkit.recovery.enabled":!1,"urlclassifier.updateinterval":172800,"security.enterprise_roots.enabled":!0,"xpinstall.signatures.required":!1};function hs(t){return{...Al,...t}}var Ve=a(require("fs")),Ge=a(require("path"));var wr=a(require("path")),Ra=a(require("fs")),d=require("@colors/colors/safe");function k(t){return`${t==="warn"?(0,d.brightYellow)("\u25BA\u25BA\u25BA"):t==="info"?(0,d.cyan)("\u25BA\u25BA\u25BA"):t==="error"?`${(0,d.bold)((0,d.red)("ERROR"))} in Extension.js ${(0,d.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:(0,d.brightGreen)("\u25BA\u25BA\u25BA")}`}function G(t){return`${k("error")} Manifest file not found.
92
92
 
93
93
  Ensure the path to your extension exists and try again.
94
- ${(0,d.red)("NOT FOUND")} ${(0,d.underline)(t)}`}function Aa(t){let e=t==="firefox"||t==="gecko-based"?"Add-on":"Extension";return`${k("info")} Building ${xe(t)} ${e} package...`}function Ra(t,e){let s=xs.default.join(t,"dist",e.browser||"chrome"),r=xs.default.join(s,"manifest.json"),n=require(r),{name:o,version:i,hostPermissions:c,permissions:l}=n,p=c&&c.length,u=l&&l.length,m=Os().version;return`
94
+ ${(0,d.red)("NOT FOUND")} ${(0,d.underline)(t)}`}function Na(t){let e=t==="firefox"||t==="gecko-based"?"Add-on":"Extension";return`${k("info")} Building ${we(t)} ${e} package...`}function Ta(t,e){let r=wr.default.join(t,"dist",e.browser||"chrome"),s=wr.default.join(r,"manifest.json"),n=require(s),{name:o,version:i,hostPermissions:c,permissions:l}=n,p=c&&c.length,u=l&&l.length,m=Or().version;return`
95
95
  \u{1F9E9} ${(0,d.brightGreen)("Extension.js")} ${(0,d.gray)(`${m}`)}
96
96
  Extension Name ${(0,d.gray)(o)}
97
97
  Extension Version ${(0,d.gray)(i)}
98
98
  Host Permissions ${(0,d.gray)(p?c.join(", "):"Browser defaults")}
99
99
  Permissions ${(0,d.gray)(u?l.join(", "):"Browser defaults")}
100
- `}function Na(t,e,s){let r=e?.toJson(),n=xs.default.join(t,"manifest.json"),o=JSON.parse(Ma.default.readFileSync(n,"utf8")),i=r?.assets,c=`${k("info")} Building ${(0,d.cyan)(o.name)} extension using ${xe(s)} defaults...
100
+ `}function Ua(t,e,r){let s=e?.toJson(),n=wr.default.join(t,"manifest.json"),o=JSON.parse(Ra.default.readFileSync(n,"utf8")),i=s?.assets,c=`${k("info")} Building ${(0,d.cyan)(o.name)} extension using ${we(r)} defaults...
101
101
 
102
102
  `,l=`
103
- Build completed in ${((r?.time||0)/1e3).toFixed(2)} seconds.`,p=`Build Target: ${(0,d.gray)(xe(s))}
103
+ Build completed in ${((s?.time||0)/1e3).toFixed(2)} seconds.`,p=`Build Target: ${(0,d.gray)(we(r))}
104
104
  `,u=`Build Status: ${e?.hasErrors()?(0,d.red)("Failed"):(0,d.brightGreen)("Success")}
105
105
  `,m=`
106
106
  Version: ${(0,d.gray)(o.version)}
107
- `,g=`Size: ${(0,d.gray)(Ml(i))}
108
- `,b="";return b+=c,b+=Al(i),b+=m,b+=g,b+=p,b+=u,b+=l,b}function Ta(){return`${k("success")} No errors or warnings found. Your extension is ${(0,d.brightGreen)("ready for deployment")}.`}function Ua(t,e){return`${k("info")} Fetching data...
109
- ${(0,d.gray)("URL")} ${(0,d.underline)(`https://github.com/${t}/${e}`)}`}function Ba(t){return`${k("info")} Downloading ${(0,d.cyan)(t)}...`}function qa(t){return`
107
+ `,g=`Size: ${(0,d.gray)(Rl(i))}
108
+ `,b="";return b+=c,b+=Nl(i),b+=m,b+=g,b+=p,b+=u,b+=l,b}function Ba(){return`${k("success")} No errors or warnings found. Your extension is ${(0,d.brightGreen)("ready for deployment")}.`}function qa(t,e){return`${k("info")} Fetching data...
109
+ ${(0,d.gray)("URL")} ${(0,d.underline)(`https://github.com/${t}/${e}`)}`}function Wa(t){return`${k("info")} Downloading ${(0,d.cyan)(t)}...`}function Ja(t){return`
110
110
  ${k("info")} Creating a new browser extension...
111
- ${(0,d.gray)("PATH")} ${(0,d.underline)(`${t}`)}`}function Wa(t){return`${k("info")} No ${(0,d.brightYellow)(".gitignore")} found, zipping all the content inside path:
112
- ${(0,d.gray)("PATH")} ${(0,d.underline)(t)}`}function Ja(t){return`${k("info")} Packaging source files. Files in ${(0,d.brightYellow)(".gitignore")} will be excluded...
113
- ${(0,d.gray)("PATH")} ${(0,d.underline)(t)}.`}function za(t){return`${k("info")} Packaging extension distribution files...
114
- ${(0,d.gray)("PATH")} ${(0,d.underline)(t)}`}function Ha(t,e,s,r){return`\u{1F4E6} Package name: ${(0,d.brightYellow)(`${e}`)}, Target Browser: ${`${xe(t)}`}
115
- ${(0,d.gray)("\u2514\u2500")} ${(0,d.underline)(`${s}`)} (source)
116
- ${(0,d.gray)("\u2514\u2500")} ${(0,d.underline)(`${r}`)} (distribution)`}function Va(t,e,s,r){return`\u{1F4E6} Package name: ${(0,d.brightYellow)(`${t}.${e}`)}, Target Browser: ${`${xe(s)}`}
117
- ${(0,d.gray)("\u2514\u2500")} ${(0,d.underline)(`${r}`)} ${(0,d.gray)("(distribution)")}`}function Xa(t,e,s,r){return`\u{1F4E6} Package name: ${(0,d.brightYellow)(`${t}-source.${e}`)}, Target Browser: ${`${xe(s)}`}
118
- ${(0,d.gray)("\u2514\u2500")} ${(0,d.underline)(`${r}`)} (source)`}function Ga(t){return`${k("error")} Failed to compress extension package.
119
- ${(0,d.red)(t)}`}function Za(t){return`${k("info")} Writing type definitions for ${(0,d.cyan)(t.name||"")}...`}function Ka(t){return`${k("error")} Failed to write the extension type definition.
120
- ${(0,d.red)(t)}`}function Ya(t){return`${k("info")} Downloading extension...
121
- ${(0,d.gray)("URL")} ${(0,d.underline)(t)}`}function Qa(t){return`${k("info")} Unpackaging browser extension...
122
- ${(0,d.gray)("PATH")} ${(0,d.underline)(t)}`}function ec(){return`${k("info")} Browser extension unpackaged ${(0,d.brightGreen)("successfully")}. Compiling...`}function tc(t){return`${k("error")} Failed to download or extract ZIP file. ${(0,d.red)(t)}`}function xe(t){return t.charAt(0).toUpperCase()+t.slice(1)}function sc(t){return`${(t/1024).toFixed(2)}KB`}function Ml(t){let e=0;return t?.forEach(s=>{e+=s.size}),sc(e)}function rc(t,e=""){let s="";return Object.keys(t).forEach((r,n,o)=>{let i=n===o.length-1,c=i?"\u2514\u2500":"\u251C\u2500",l=t[r].size?` (${sc(t[r].size)})`:"";s+=`${(0,d.gray)(e)}${(0,d.gray)(c)} ${r}${(0,d.gray)(l)}
123
- `,typeof t[r]=="object"&&!t[r].size&&(s+=rc(t[r],`${e}${i?" ":(0,d.gray)("\u2502 ")}`))}),s}function Al(t){let e={};return t?.forEach(s=>{let r=s.name.split("/"),n=e;r.forEach((o,i)=>{n[o]||(n[o]={}),i===r.length-1?n[o]={size:s.size}:n=n[o]})}),`.
124
- ${rc(e)}`}function nc(t){return`${k("info")} Using ${(0,d.magenta)(t)}. ${(0,d.brightYellow)("This is very experimental")}.`}function oc(){return`${k("info")} Installing project dependencies...`}function ic(t,e,s){return`${k("error")} Command ${t} ${e.join(" ")} failed with exit code ${s}`}function ac(t){return`${k("error")} Can't install project dependencies. ${(0,d.red)(t.message||t.toString())}`}async function we(t){let e=Xe.default.join(t,"extension.config.js");if(Ve.default.existsSync(e)&&await hr(t)){let s=require(e);if(s&&typeof s.config=="function")return s.config}return s=>s}async function lc(t,e){let s=Xe.default.join(t,"extension.config.js");if(Ve.default.existsSync(s)&&await hr(t)){let r=require(s);if(r)return r[e]}return{}}async function ve(t,e="chrome"){let s=Xe.default.join(t,"extension.config.js");if(Ve.default.existsSync(s)&&await hr(t)){let r=require(s);if(r&&r.browser&&r.browser[e])return r.browser[e]||{browser:"chrome"}}return{browser:"chrome"}}var cc=!1;async function hr(t){let e=Xe.default.join(t,"extension.config.js");return Ve.default.existsSync(e)?(cc||(console.log(nc("extension.config.js")),cc=!0),!0):!1}function pc(t,e){let s={...ve(yr.default.resolve(__dirname,"run-firefox"),"firefox"),...gr(e)};Object.keys(s).forEach(o=>{t.setPreference(o,s[o])});let n=Object.keys(e);return n.length>0&&n.forEach(o=>{t.setPreference(o,e[o])}),t.updatePreferences(),t}function Rl(t,e){let s=new br.default({destinationDirectory:t});return pc(s,e)}function Nl(t,e,s){let r;if(ws.default.statSync(e).isDirectory())r=e;else throw new Error(fa(t,e));let o=new br.default({destinationDirectory:r});return pc(o,s)}function fc(t,e,s={}){let r,n=e||yr.default.resolve(__dirname,`run-${t}-profile`),c={...gr(s||{}),...s};return!e&&ws.default.existsSync(n)?r=Nl(t,n,c):(ys(gs(t),()=>{}),ws.default.mkdirSync(n,{recursive:!0}),r=Rl(n,c)),r}async function uc(t,e){let{browser:s,startingUrl:r,preferences:n,profile:o,browserFlags:i=[]}=e,c=fc(s,o,n),l=[];r&&l.push(`--url=${r}`),i&&l.push(...i);let p=t.options.devServer?.port?t.options.devServer?.port+100:9222;return[`--binary-args="${l.join(" ")}"`,`--profile="${c.path()}"`,`--listen=${p}`,"--verbose"].join(" ")}var yc=a(require("path"));var mc=a(require("net")),dc=a(require("events"));function Tl(t,e){let s=e.toString(),r=s.indexOf(":");if(r<1)return{remainingData:e};let n=parseInt(s.substring(0,r),10);if(isNaN(n))return{remainingData:e,error:new Error(ua(t)),fatal:!0};if(e.length-(r+1)<n)return{remainingData:e};let o=e.slice(r+1,r+1+n),i=e.slice(r+1+n);try{let c=JSON.parse(o.toString());return{remainingData:i,parsedMessage:c}}catch(c){return{remainingData:i,error:c,fatal:!1}}}var vs=class extends dc.default{incomingData=Buffer.alloc(0);pendingRequests=[];activeRequests=new Map;connection;async connect(e){await new Promise((s,r)=>{try{let n={port:e,host:"127.0.0.1"},o=mc.default.createConnection(n,()=>{s()});this.connection=o,o.on("data",this.onData.bind(this)),o.on("error",r),o.on("end",this.onEnd.bind(this)),o.on("timeout",this.onTimeout.bind(this)),this.expectReply("root",{resolve:s,reject:r})}catch(n){r(n)}})}disconnect(){this.connection&&(this.connection.removeAllListeners(),this.connection.end(),this.rejectAllRequests(new Error(ma("firefox"))))}rejectAllRequests(e){this.activeRequests.forEach(s=>{s.reject(e)}),this.activeRequests.clear(),this.pendingRequests.forEach(({deferred:s})=>{s.reject(e)}),this.pendingRequests=[]}async request(e){let s=typeof e=="string"?{to:"root",type:e}:e;if(!s.to)throw new Error(da("firefox",s.type));return await new Promise((r,n)=>{let o={resolve:r,reject:n};this.pendingRequests.push({request:s,deferred:o}),this.flushPendingRequests()})}flushPendingRequests(){this.pendingRequests=this.pendingRequests.filter(({request:e,deferred:s})=>{if(this.activeRequests.has(e.to))return!0;if(!this.connection)throw new Error(ga("firefox"));try{let r=`${Buffer.from(JSON.stringify(e)).length}:${JSON.stringify(e)}`;this.connection.write(r),this.expectReply(e.to,s)}catch(r){s.reject(r)}return!1})}expectReply(e,s){if(this.activeRequests.has(e))throw new Error(ha("firefox",e));this.activeRequests.set(e,s)}onData(e){for(this.incomingData=Buffer.concat([this.incomingData,e]);this.readMessage(););}readMessage(){let{remainingData:e,parsedMessage:s,error:r,fatal:n}=Tl("firefox",this.incomingData);return this.incomingData=e,r?(this.emit("error",new Error(ya("firefox",r))),n&&this.disconnect(),!n):s?(this.handleMessage(s),!0):!1}handleMessage(e){if(!e.from){this.emit("error",new Error(ba("firefox",e)));return}let s=this.activeRequests.get(e.from);s?(this.activeRequests.delete(e.from),e.error?s.reject(e):s.resolve(e),this.flushPendingRequests()):this.emit("error",new Error(xa("firefox",JSON.stringify(e))))}onError(e){this.emit("error",e)}onEnd(){this.emit("end")}onTimeout(){this.emit("timeout")}};function gc(t){return t instanceof Error?String(t):`${t.error}: ${t.message}`}function hc(t,e){return Array.isArray(t)&&t.includes(e.code)?!0:e.code===t}var Ul=150,Bl=1e3,Ss=class{options;constructor(e){this.options=e}async connectClient(e){let s;for(let r of Array.from({length:Ul}))try{let n=new vs;return await n.connect(e),n}catch(n){if(hc("ECONNREFUSED",n))await new Promise(o=>setTimeout(o,Bl)),s=n;else throw console.error(ca(this.options.browser,n.stack)),n}throw console.error(la(this.options.browser)),s}async installAddons(e){let{devtools:s}=this.options,r=Array.isArray(this.options.extension)?this.options.extension:[this.options.extension],n=e.options.devServer?.port,o=n?n+100:9222,i=await this.connectClient(o);for(let[c,l]of r.entries()){let p=yc.default.join(l.replace(/"/g,"")),u=c===0&&s;try{let m=await i.request({to:"root",type:"getRoot"});await i.request({to:m.addonsActor,type:"installTemporaryAddon",addonPath:p,openDevTools:u})}catch(m){let g=gc(m);throw new Error(pa(this.options.browser,g))}}}};var se=null;process.on("SIGINT",()=>{se&&se.kill("SIGINT"),process.exit()});process.on("SIGTERM",()=>{se&&se.kill("SIGTERM"),process.exit()});var _s=class{extension;browser;browserFlags;profile;preferences;startingUrl;autoReload;stats;geckoBinary;constructor(e){this.extension=e.extension,this.browser=e.browser||"firefox",this.browserFlags=e.browserFlags||[],this.profile=e.profile,this.preferences=e.preferences,this.startingUrl=e.startingUrl,this.geckoBinary=e.geckoBinary}async getFxRunnerCommand(){let e=ae()?"pnpm dlx fx-runner":"npm exec fx-runner";try{return await new Promise((s,r)=>{(0,xr.exec)(`${e} --version`,n=>{n?r(n):s(null)})}),e}catch{console.error(We("firefox",e)),process.exit(1)}}async launchFirefox(e,s){let r=await this.getFxRunnerCommand(),n;switch(s.browser){case"gecko-based":n=xc.default.normalize(this.geckoBinary);break;default:n=Ia;break}let o=`${r} start --binary "${n}" --foreground --no-remote`;bc.default.existsSync(n||"")||(console.error(We(this.browser,n||"")),process.exit(1));let i=await uc(e,s),c=`${o} ${i}`;se=(0,xr.exec)(c,(p,u,m)=>{if(p!=null)throw p;m.includes("Unable to move the cache")?console.log(na(this.browser)):(console.log(oa(this.browser)),process.exit())}),process.env.EXTENSION_ENV==="development"&&(se.stdout?.pipe(process.stdout),se.stderr?.pipe(process.stderr));let l=new Ss(this);try{await l.installAddons(e)}catch(p){p?.toString()?.includes("background.service_worker is currently disabled")&&(console.error(ia(this.browser)),process.exit(1)),console.error(aa(this.browser,p)),process.exit(1)}}apply(e){let s=!1;e.hooks.done.tapAsync("run-firefox:module",async(r,n)=>{if(r.compilation.errors.length>0){n();return}if(s){n();return}setTimeout(()=>{console.log(hs(this.browser,r.compilation.options.mode))},2e3),await this.launchFirefox(e,{browser:this.browser,browserFlags:this.browserFlags,profile:this.profile,preferences:this.preferences,startingUrl:this.startingUrl,mode:r.compilation.options.mode}),s=!0,n()})}};var Ps=class{static name="plugin-browsers";extension;browser;open;browserFlags;profile;preferences;startingUrl;chromiumBinary;geckoBinary;constructor(e){this.extension=[...e.extension,...e.browserFlags?.filter(s=>!s.startsWith("--load-extension="))||[]],e.chromiumBinary?this.browser="chromium-based":e.geckoBinary?this.browser="gecko-based":this.browser=e.browser||"chrome",this.open=e.open,this.browserFlags=e.browserFlags?.filter(s=>!s.startsWith("--load-extension="))||[],this.profile=e.profile,this.preferences=e.preferences,this.startingUrl=e.startingUrl||"",this.chromiumBinary=e.chromiumBinary,this.geckoBinary=e.geckoBinary}getProfilePath(e,s,r){return r||(e.options.mode==="production"?wr.default.join(wc.default.tmpdir(),"extension-js",s,"profile"):wr.default.resolve(__dirname,`run-${s}-profile`))}async apply(e){let s={stats:!0,open:this.open!=="false",extension:this.extension,browser:this.browser,browserFlags:this.browserFlags||[],profile:this.profile,preferences:this.preferences,startingUrl:this.startingUrl,chromiumBinary:this.chromiumBinary,geckoBinary:this.geckoBinary},r=await ve(e.context,this.browser),n={...s,...r};if(n?.open===!1&&console.log(Pa(this.browser,!1)),n?.startingUrl&&console.log(wa(n?.browser,n?.startingUrl)),n?.chromiumBinary&&console.log(dr("chromium",n?.chromiumBinary)),n?.geckoBinary&&console.log(dr("gecko",n?.geckoBinary)),n?.profile&&console.log(va(n?.browser,n?.profile)),n?.preferences&&console.log(Sa(n?.browser)),n?.browserFlags&&n?.browserFlags.length>0&&console.log(_a(n?.browser)),n.open===!1)return;let o=this.getProfilePath(e,this.browser,this.profile||this.profile);switch(this.browser){case"chrome":case"edge":case"chromium-based":{new ze({...n,browser:this.browser,profile:o}).apply(e);break}case"firefox":case"gecko-based":new _s({...n,browser:this.browser,profile:o}).apply(e);break;default:{new ze({...n,browser:"chrome",profile:o}).apply(e);break}}}};function re(t,e){let s=Ge.default.join(t,"manifest.json"),r=P(require(s),e.browser),n=Ge.default.join(t,`dist/${e.browser}`),o=e.chromiumBinary?"chromium-based":e.geckoBinary?"gecko-based":e.browser,i=e.output?.clean?e.output.clean:e.mode==="development";return{mode:e.mode||"development",entry:{},target:"web",context:t,devtool:r.manifest_version===3?"cheap-source-map":"eval-cheap-source-map",output:{clean:i,path:n,publicPath:"",hotUpdateChunkFilename:"hot/[id].[fullhash].hot-update.js",hotUpdateMainFilename:"hot/[runtime].[fullhash].hot-update.json",environment:{bigIntLiteral:!0,dynamicImport:!0}},resolve:{modules:["node_modules",Ge.default.join(t,"node_modules")],extensions:[".js",".mjs",".jsx",".ts",".mts",".tsx",".json",".wasm",".svelte"]},watchOptions:{ignored:/node_modules|dist/},module:{rules:[],parser:{"css/auto":{namedExports:!1}}},cache:!1,plugins:[new nt({manifestPath:s,browser:o}),new ut({mode:e.mode,manifestPath:s}),new ft({manifestPath:s}),new ht({mode:e.mode,manifestPath:s}),new ds({manifestPath:s,browser:o,polyfill:e.polyfill}),new os({manifestPath:s,browser:o}),new ps({manifestPath:s,browser:o,stats:!0,port:8e3}),new Ps({extension:[n,Ge.default.join(__dirname,"extensions",`${o}-manager-extension`)],browser:o,open:e.open,startingUrl:e.startingUrl,profile:e.profile,preferences:e.preferences,browserFlags:e.browserFlags,chromiumBinary:e.chromiumBinary,geckoBinary:e.geckoBinary})].filter(Boolean),stats:{all:!1,errors:!0,warnings:!0},infrastructureLogging:{level:"none"},performance:{hints:!1,maxAssetSize:999e3,maxEntrypointSize:999e3},optimization:{minimize:e.mode==="production"},experiments:{css:!0,asyncWebAssembly:!0}}}var Ze=a(require("path")),Ec=a(require("go-git-it"));var Es=a(require("path")),vc=a(require("axios")),Sc=a(require("adm-zip"));var vr=a(require("stream")),_c=require("util"),ql=(0,_c.promisify)(vr.default.pipeline);async function Pc(t,e){let s=t.split("?")[0];try{console.log(Ya(s));let r=await(0,vc.default)({url:t,method:"GET",responseType:"stream"}),n=Es.default.extname(s),o=Es.default.basename(s,n),i=Es.default.join(e,o);console.log(Qa(i));let c=[];await ql(r.data,new vr.default.Writable({write(u,m,g){c.push(u),g()}}));let l=Buffer.concat(c);return new Sc.default(l).extractAllTo(i,!0),console.log(ec()),i}catch(r){throw console.error(tc(r)),r}}var Wl=t=>{try{return new URL(t),!0}catch{return!1}};async function Jl(t,e){return await(0,Ec.default)(t,process.cwd(),e),Ze.default.resolve(process.cwd(),Ze.default.basename(t))}async function zl(t){return await Pc(t,process.cwd())}async function G(t){if(!t)return process.cwd();if(Wl(t)){let e=new URL(t);if(e.protocol.startsWith("http")){if(e.origin!=="https://github.com")return await zl(t);let s=e.pathname.split("/"),r=s.slice(1,3)[0],n=s.slice(1,3)[1];console.log(Ua(r,n));let o=Ze.default.basename(e.pathname),i=await Jl(t,Ba(o));return console.log(qa(o)),i}}return Ze.default.resolve(process.cwd(),t)}var J=a(require("path")),kc=a(require("fs")),$c=a(require("ignore")),Fc=a(require("tiny-glob")),Sr=a(require("adm-zip")),Cc=a(require("slugify"));function Hl(t){try{return kc.default.readFileSync(t,"utf8")}catch{return""}}function Vl(t){return(0,Cc.default)(t,{replacement:"-",remove:/[^a-zA-Z0-9 ]/g,lower:!0})}function Xl(t,e){if(e)return"zip";switch(t){case"opera":return"crx";case"firefox":return"xpi";default:return"zip"}}function Gl(t,e){let s=Vl(e.zipFilename||t.name);return e.zipFilename?s:`${s}-${t.version}`}async function Zl(t){let e=J.default.join(t,".gitignore"),s=Hl(e),r=(0,$c.default)();return s?r.add(s):console.log(Wa(t)),(await(0,Fc.default)("**/*",{cwd:t,dot:!0})).filter(o=>!r.ignores(o))}async function jc(t,{browser:e="chrome",...s}){try{let r=J.default.join(t,"dist"),n=J.default.join(r,e),o=s.zipSource?t:n,i=require(J.default.join(o,"manifest.json")),c=Gl(i,{browser:e,...s}),l=Xl(e,s.zipSource),p=J.default.join(n,`${c}.${l}`),u=J.default.join(r,`${c}-source.${l}`);if(s.zipSource){console.log(""),console.log(Ja(u));let m=new Sr.default;(await Zl(t)).forEach(b=>{m.addLocalFile(J.default.join(t,b),J.default.dirname(b))}),m.writeZip(u)}if(s.zip){console.log(""),console.log(za(p));let m=new Sr.default;m.addLocalFolder(n),m.writeZip(p)}s.zip&&s.zipSource?(console.log(""),console.log(Ha(e,c,u,p))):s.zip?(console.log(""),console.log(Va(c,l,e,p))):s.zipSource&&(console.log(""),console.log(Xa(c,l,e,u)))}catch(r){throw console.error(Ga(r)),r}}async function ks(t,e){let s=await G(t);!t?.startsWith("http")&&!Dc.default.existsSync(_r.default.join(s,"manifest.json"))&&(console.log(X(_r.default.join(s,"manifest.json"))),process.exit(1));try{let r=e?.browser||"chrome",n=re(s,{...e,browser:r,mode:"production",output:{clean:!0}}),o=n.plugins?.filter(u=>u?.constructor.name!=="plugin-browsers"&&u?.constructor.name!=="plugin-reload"),c=(await we(s))({...n,plugins:o}),l=(0,Oc.merge)(c),p=(0,Lc.rspack)(l);await new Promise((u,m)=>{p.run(async(g,b)=>{if(g)return console.error(g.stack||g),m(g);e?.silent||console.log(Na(s,b,r)),(e?.zip||e?.zipSource)&&await jc(s,{...e,browser:r}),b?.hasErrors()?(console.log(b.toString({colors:!0})),process.exit(1)):(console.log(Ta()),u())})})}catch(r){process.env.EXTENSION_ENV==="development"&&console.error(r),process.exit(1)}}var Er=a(require("fs")),Fs=a(require("path"));var Ic=a(require("path")),Mc=require("@rspack/core"),Ac=require("@rspack/dev-server"),Rc=require("webpack-merge");function Pr(t){t.stop().then(()=>{process.exit()}).catch(e=>{console.log(`Error in the Extension.js runner: ${e.stack||""}`)})}async function Nc(t,e){let s=lc(t,"dev"),r=ve(t,e.browser),n=re(t,{...e,...s,...r,mode:"development",output:{clean:!0}}),i=(await we(t))(n),c=(0,Rc.merge)(i),l=(0,Mc.rspack)(c),p={host:"127.0.0.1",allowedHosts:"all",static:{watch:{ignored:/\bnode_modules\b/}},compress:!1,devMiddleware:{writeToDisk:!0},watchFiles:it(t)?void 0:{paths:[Ic.default.join(t,"**/*.html")],options:{usePolling:!0,interval:1e3}},client:{logging:process.env.EXTENSION_ENV==="development"?"error":"none",progress:!1,overlay:!1},headers:{"Access-Control-Allow-Origin":"*"},port:"auto",hot:!0},u=new Ac.RspackDevServer(p,l);u.startCallback(m=>{m!=null&&console.log(`Error in the Extension.js runner: ${m.stack||""}`)}),process.on("ERROR",()=>{Pr(u)}),process.on("SIGINT",()=>{Pr(u)}),process.on("SIGTERM",()=>{Pr(u)})}var $s=a(require("path")),Se=a(require("fs/promises"));async function Tc(t){let e=$s.default.join(t,"extension-env.d.ts"),s=process.env.EXTENSION_ENV==="development"?$s.default.resolve(process.cwd(),"programs/cli/types"):"extension/dist/types",r=`// Required Extension.js types for TypeScript projects.
111
+ ${(0,d.gray)("PATH")} ${(0,d.underline)(`${t}`)}`}function za(t){return`${k("info")} No ${(0,d.brightYellow)(".gitignore")} found, zipping all the content inside path:
112
+ ${(0,d.gray)("PATH")} ${(0,d.underline)(t)}`}function Ha(t){return`${k("info")} Packaging source files. Files in ${(0,d.brightYellow)(".gitignore")} will be excluded...
113
+ ${(0,d.gray)("PATH")} ${(0,d.underline)(t)}.`}function Va(t){return`${k("info")} Packaging extension distribution files...
114
+ ${(0,d.gray)("PATH")} ${(0,d.underline)(t)}`}function Ga(t,e,r,s){return`\u{1F4E6} Package name: ${(0,d.brightYellow)(`${e}`)}, Target Browser: ${`${we(t)}`}
115
+ ${(0,d.gray)("\u2514\u2500")} ${(0,d.underline)(`${r}`)} (source)
116
+ ${(0,d.gray)("\u2514\u2500")} ${(0,d.underline)(`${s}`)} (distribution)`}function Xa(t,e,r,s){return`\u{1F4E6} Package name: ${(0,d.brightYellow)(`${t}.${e}`)}, Target Browser: ${`${we(r)}`}
117
+ ${(0,d.gray)("\u2514\u2500")} ${(0,d.underline)(`${s}`)} ${(0,d.gray)("(distribution)")}`}function Za(t,e,r,s){return`\u{1F4E6} Package name: ${(0,d.brightYellow)(`${t}-source.${e}`)}, Target Browser: ${`${we(r)}`}
118
+ ${(0,d.gray)("\u2514\u2500")} ${(0,d.underline)(`${s}`)} (source)`}function Ka(t){return`${k("error")} Failed to compress extension package.
119
+ ${(0,d.red)(t)}`}function Ya(t){return`${k("info")} Writing type definitions for ${(0,d.cyan)(t.name||"")}...`}function Qa(t){return`${k("error")} Failed to write the extension type definition.
120
+ ${(0,d.red)(t)}`}function ec(t){return`${k("info")} Downloading extension...
121
+ ${(0,d.gray)("URL")} ${(0,d.underline)(t)}`}function tc(t){return`${k("info")} Unpackaging browser extension...
122
+ ${(0,d.gray)("PATH")} ${(0,d.underline)(t)}`}function rc(){return`${k("info")} Browser extension unpackaged ${(0,d.brightGreen)("successfully")}. Compiling...`}function sc(t){return`${k("error")} Failed to download or extract ZIP file. ${(0,d.red)(t)}`}function we(t){return t.charAt(0).toUpperCase()+t.slice(1)}function nc(t){return`${(t/1024).toFixed(2)}KB`}function Rl(t){let e=0;return t?.forEach(r=>{e+=r.size}),nc(e)}function oc(t,e=""){let r="";return Object.keys(t).forEach((s,n,o)=>{let i=n===o.length-1,c=i?"\u2514\u2500":"\u251C\u2500",l=t[s].size?` (${nc(t[s].size)})`:"";r+=`${(0,d.gray)(e)}${(0,d.gray)(c)} ${s}${(0,d.gray)(l)}
123
+ `,typeof t[s]=="object"&&!t[s].size&&(r+=oc(t[s],`${e}${i?" ":(0,d.gray)("\u2502 ")}`))}),r}function Nl(t){let e={};return t?.forEach(r=>{let s=r.name.split("/"),n=e;s.forEach((o,i)=>{n[o]||(n[o]={}),i===s.length-1?n[o]={size:r.size}:n=n[o]})}),`.
124
+ ${oc(e)}`}function ic(t){return`${k("info")} Using ${(0,d.magenta)(t)}. ${(0,d.brightYellow)("This is very experimental")}.`}function ac(){return`${k("info")} Installing project dependencies...`}function cc(t,e,r){return`${k("error")} Command ${t} ${e.join(" ")} failed with exit code ${r}`}function lc(t){return`${k("error")} Can't install project dependencies. ${(0,d.red)(t.message||t.toString())}`}async function xe(t){let e=Ge.default.join(t,"extension.config.js");if(Ve.default.existsSync(e)&&await ys(t)){let r=require(e);if(r&&typeof r.config=="function")return r.config}return r=>r}async function fc(t,e){let r=Ge.default.join(t,"extension.config.js");if(Ve.default.existsSync(r)&&await ys(t)){let s=require(r);if(s)return s[e]}return{}}async function ve(t,e="chrome"){let r=Ge.default.join(t,"extension.config.js");if(Ve.default.existsSync(r)&&await ys(t)){let s=require(r);if(s&&s.browser&&s.browser[e])return s.browser[e]||{browser:"chrome"}}return{browser:"chrome"}}var pc=!1;async function ys(t){let e=Ge.default.join(t,"extension.config.js");return Ve.default.existsSync(e)?(pc||(console.log(ic("extension.config.js")),pc=!0),!0):!1}function uc(t,e){let r={...ve(bs.default.resolve(__dirname,"run-firefox"),"firefox"),...hs(e)};Object.keys(r).forEach(o=>{t.setPreference(o,r[o])});let n=Object.keys(e);return n.length>0&&n.forEach(o=>{t.setPreference(o,e[o])}),t.updatePreferences(),t}function Tl(t,e){let r=new ws.default({destinationDirectory:t});return uc(r,e)}function Ul(t,e,r){let s;if(xr.default.statSync(e).isDirectory())s=e;else throw new Error(ma(t,e));let o=new ws.default({destinationDirectory:s});return uc(o,r)}function mc(t,e,r={}){let s,n=e||bs.default.resolve(__dirname,`run-${t}-profile`),c={...hs(r||{}),...r};return!e&&xr.default.existsSync(n)?s=Ul(t,n,c):(yr(gr(t),()=>{}),xr.default.mkdirSync(n,{recursive:!0}),s=Tl(n,c)),s}async function dc(t,e){let{browser:r,startingUrl:s,preferences:n,profile:o,browserFlags:i=[]}=e,c=mc(r,o,n),l=[];s&&l.push(`--url=${s}`),i&&l.push(...i);let p=t.options.devServer?.port?t.options.devServer?.port+100:9222;return[`--binary-args="${l.join(" ")}"`,`--profile="${c.path()}"`,`--listen=${p}`,"--verbose"].join(" ")}var wc=a(require("path"));var gc=a(require("net")),hc=a(require("events"));function Bl(t,e){let r=e.toString(),s=r.indexOf(":");if(s<1)return{remainingData:e};let n=parseInt(r.substring(0,s),10);if(isNaN(n))return{remainingData:e,error:new Error(da(t)),fatal:!0};if(e.length-(s+1)<n)return{remainingData:e};let o=e.slice(s+1,s+1+n),i=e.slice(s+1+n);try{let c=JSON.parse(o.toString());return{remainingData:i,parsedMessage:c}}catch(c){return{remainingData:i,error:c,fatal:!1}}}var vr=class extends hc.default{incomingData=Buffer.alloc(0);pendingRequests=[];activeRequests=new Map;connection;async connect(e){await new Promise((r,s)=>{try{let n={port:e,host:"127.0.0.1"},o=gc.default.createConnection(n,()=>{r()});this.connection=o,o.on("data",this.onData.bind(this)),o.on("error",s),o.on("end",this.onEnd.bind(this)),o.on("timeout",this.onTimeout.bind(this)),this.expectReply("root",{resolve:r,reject:s})}catch(n){s(n)}})}disconnect(){this.connection&&(this.connection.removeAllListeners(),this.connection.end(),this.rejectAllRequests(new Error(ga("firefox"))))}rejectAllRequests(e){this.activeRequests.forEach(r=>{r.reject(e)}),this.activeRequests.clear(),this.pendingRequests.forEach(({deferred:r})=>{r.reject(e)}),this.pendingRequests=[]}async request(e){let r=typeof e=="string"?{to:"root",type:e}:e;if(!r.to)throw new Error(ha("firefox",r.type));return await new Promise((s,n)=>{let o={resolve:s,reject:n};this.pendingRequests.push({request:r,deferred:o}),this.flushPendingRequests()})}flushPendingRequests(){this.pendingRequests=this.pendingRequests.filter(({request:e,deferred:r})=>{if(this.activeRequests.has(e.to))return!0;if(!this.connection)throw new Error(ya("firefox"));try{let s=`${Buffer.from(JSON.stringify(e)).length}:${JSON.stringify(e)}`;this.connection.write(s),this.expectReply(e.to,r)}catch(s){r.reject(s)}return!1})}expectReply(e,r){if(this.activeRequests.has(e))throw new Error(ba("firefox",e));this.activeRequests.set(e,r)}onData(e){for(this.incomingData=Buffer.concat([this.incomingData,e]);this.readMessage(););}readMessage(){let{remainingData:e,parsedMessage:r,error:s,fatal:n}=Bl("firefox",this.incomingData);return this.incomingData=e,s?(this.emit("error",new Error(wa("firefox",s))),n&&this.disconnect(),!n):r?(this.handleMessage(r),!0):!1}handleMessage(e){if(!e.from){this.emit("error",new Error(xa("firefox",e)));return}let r=this.activeRequests.get(e.from);r?(this.activeRequests.delete(e.from),e.error?r.reject(e):r.resolve(e),this.flushPendingRequests()):this.emit("error",new Error(va("firefox",JSON.stringify(e))))}onError(e){this.emit("error",e)}onEnd(){this.emit("end")}onTimeout(){this.emit("timeout")}};function yc(t){return t instanceof Error?String(t):`${t.error}: ${t.message}`}function bc(t,e){return Array.isArray(t)&&t.includes(e.code)?!0:e.code===t}var ql=150,Wl=1e3,Sr=class{options;constructor(e){this.options=e}async connectClient(e){let r;for(let s of Array.from({length:ql}))try{let n=new vr;return await n.connect(e),n}catch(n){if(bc("ECONNREFUSED",n))await new Promise(o=>setTimeout(o,Wl)),r=n;else throw console.error(pa(this.options.browser,n.stack)),n}throw console.error(fa(this.options.browser)),r}async installAddons(e){let{devtools:r}=this.options,s=Array.isArray(this.options.extension)?this.options.extension:[this.options.extension],n=e.options.devServer?.port,o=n?n+100:9222,i=await this.connectClient(o);for(let[c,l]of s.entries()){let p=wc.default.join(l.replace(/"/g,"")),u=c===0&&r;try{let m=await i.request({to:"root",type:"getRoot"});await i.request({to:m.addonsActor,type:"installTemporaryAddon",addonPath:p,openDevTools:u})}catch(m){let g=yc(m);throw new Error(ua(this.options.browser,g))}}}};var re=null;process.on("SIGINT",()=>{re&&re.kill("SIGINT"),process.exit()});process.on("SIGTERM",()=>{re&&re.kill("SIGTERM"),process.exit()});var _r=class{extension;browser;browserFlags;profile;preferences;startingUrl;autoReload;stats;geckoBinary;constructor(e){this.extension=e.extension,this.browser=e.browser||"firefox",this.browserFlags=e.browserFlags||[],this.profile=e.profile,this.preferences=e.preferences,this.startingUrl=e.startingUrl,this.geckoBinary=e.geckoBinary}async getFxRunnerCommand(){let e=ae()?"pnpm dlx fx-runner":"npm exec fx-runner";try{return await new Promise((r,s)=>{(0,xs.exec)(`${e} --version`,n=>{n?s(n):r(null)})}),e}catch{console.error(We("firefox",e)),process.exit(1)}}async launchFirefox(e,r){let s=await this.getFxRunnerCommand(),n;switch(r.browser){case"gecko-based":n=vc.default.normalize(this.geckoBinary);break;default:n=Aa;break}let o=`${s} start --binary "${n}" --foreground --no-remote`;xc.default.existsSync(n||"")||(console.error(We(this.browser,n||"")),process.exit(1));let i=await dc(e,r),c=`${o} ${i}`;re=(0,xs.exec)(c,(p,u,m)=>{if(p!=null)throw p;m.includes("Unable to move the cache")?console.log(ia(this.browser)):(console.log(aa(this.browser)),process.exit())}),process.env.EXTENSION_ENV==="development"&&(re.stdout?.pipe(process.stdout),re.stderr?.pipe(process.stderr));let l=new Sr(this);try{await l.installAddons(e)}catch(p){p?.toString()?.includes("background.service_worker is currently disabled")&&(console.error(ca(this.browser)),process.exit(1)),console.error(la(this.browser,p)),process.exit(1)}}apply(e){let r=!1;e.hooks.done.tapAsync("run-firefox:module",async(s,n)=>{if(s.compilation.errors.length>0){n();return}if(r){n();return}setTimeout(()=>{console.log(hr(this.browser,s.compilation.options.mode))},2e3),await this.launchFirefox(e,{browser:this.browser,browserFlags:this.browserFlags,profile:this.profile,preferences:this.preferences,startingUrl:this.startingUrl,mode:s.compilation.options.mode}),r=!0,n()})}};var Pr=class{static name="plugin-browsers";extension;browser;open;browserFlags;profile;preferences;startingUrl;chromiumBinary;geckoBinary;constructor(e){this.extension=[...e.extension,...e.browserFlags?.filter(r=>!r.startsWith("--load-extension="))||[]],e.chromiumBinary?this.browser="chromium-based":e.geckoBinary?this.browser="gecko-based":this.browser=e.browser||"chrome",this.open=e.open,this.browserFlags=e.browserFlags?.filter(r=>!r.startsWith("--load-extension="))||[],this.profile=e.profile,this.preferences=e.preferences,this.startingUrl=e.startingUrl||"",this.chromiumBinary=e.chromiumBinary,this.geckoBinary=e.geckoBinary}getProfilePath(e,r,s){return s||(e.options.mode==="production"?vs.default.join(Sc.default.tmpdir(),"extension-js",r,"profile"):vs.default.resolve(__dirname,`run-${r}-profile`))}async apply(e){let r={stats:!0,open:this.open!=="false",extension:this.extension,browser:this.browser,browserFlags:this.browserFlags||[],profile:this.profile,preferences:this.preferences,startingUrl:this.startingUrl,chromiumBinary:this.chromiumBinary,geckoBinary:this.geckoBinary},s=await ve(e.context,this.browser),n={...r,...s};if(n?.open===!1&&console.log(ka(this.browser,!1)),n?.startingUrl&&console.log(Sa(n?.browser,n?.startingUrl)),n?.chromiumBinary&&console.log(gs("chromium",n?.chromiumBinary)),n?.geckoBinary&&console.log(gs("gecko",n?.geckoBinary)),n?.profile&&console.log(_a(n?.browser,n?.profile)),n?.preferences&&console.log(Pa(n?.browser)),n?.browserFlags&&n?.browserFlags.length>0&&console.log(Ea(n?.browser)),n.open===!1)return;let o=this.getProfilePath(e,this.browser,this.profile||this.profile);switch(this.browser){case"chrome":case"edge":case"chromium-based":{new ze({...n,browser:this.browser,profile:o}).apply(e);break}case"firefox":case"gecko-based":new _r({...n,browser:this.browser,profile:o}).apply(e);break;default:{new ze({...n,browser:"chrome",profile:o}).apply(e);break}}}};function se(t,e){let r=Xe.default.join(t,"manifest.json"),s=P(require(r),e.browser),n=Xe.default.join(t,`dist/${e.browser}`),o=e.chromiumBinary?"chromium-based":e.geckoBinary?"gecko-based":e.browser,i=e.output?.clean?e.output.clean:e.mode==="development";return{mode:e.mode||"development",entry:{},target:"web",context:t,devtool:s.manifest_version===3?"cheap-source-map":"eval-cheap-source-map",output:{clean:i,path:n,publicPath:"/",hotUpdateChunkFilename:"hot/[id].[fullhash].hot-update.js",hotUpdateMainFilename:"hot/[runtime].[fullhash].hot-update.json",environment:{bigIntLiteral:!0,dynamicImport:!0}},resolve:{modules:["node_modules",Xe.default.join(t,"node_modules")],extensions:[".js",".mjs",".jsx",".ts",".mts",".tsx",".json",".wasm",".svelte"]},watchOptions:{ignored:/node_modules|dist/},module:{rules:[],parser:{"css/auto":{namedExports:!1}}},cache:!1,plugins:[new nt({manifestPath:r,browser:o}),new ut({mode:e.mode,manifestPath:r}),new ft({manifestPath:r}),new ht({mode:e.mode,manifestPath:r}),new dr({manifestPath:r,browser:o,polyfill:e.polyfill}),new or({manifestPath:r,browser:o}),new pr({manifestPath:r,browser:o,stats:!0,port:8e3}),new Pr({extension:[n,Xe.default.join(__dirname,"extensions",`${o}-manager-extension`)],browser:o,open:e.open,startingUrl:e.startingUrl,profile:e.profile,preferences:e.preferences,browserFlags:e.browserFlags,chromiumBinary:e.chromiumBinary,geckoBinary:e.geckoBinary})].filter(Boolean),stats:{all:!1,errors:!0,warnings:!0},infrastructureLogging:{level:"none"},performance:{hints:!1,maxAssetSize:999e3,maxEntrypointSize:999e3},optimization:{minimize:e.mode==="production"},experiments:{css:!0,asyncWebAssembly:!0}}}var Ze=a(require("path")),$c=a(require("go-git-it"));var Er=a(require("path")),_c=a(require("axios")),Pc=a(require("adm-zip"));var Ss=a(require("stream")),Ec=require("util"),Jl=(0,Ec.promisify)(Ss.default.pipeline);async function kc(t,e){let r=t.split("?")[0];try{console.log(ec(r));let s=await(0,_c.default)({url:t,method:"GET",responseType:"stream"}),n=Er.default.extname(r),o=Er.default.basename(r,n),i=Er.default.join(e,o);console.log(tc(i));let c=[];await Jl(s.data,new Ss.default.Writable({write(u,m,g){c.push(u),g()}}));let l=Buffer.concat(c);return new Pc.default(l).extractAllTo(i,!0),console.log(rc()),i}catch(s){throw console.error(sc(s)),s}}var zl=t=>{try{return new URL(t),!0}catch{return!1}};async function Hl(t,e){return await(0,$c.default)(t,process.cwd(),e),Ze.default.resolve(process.cwd(),Ze.default.basename(t))}async function Vl(t){return await kc(t,process.cwd())}async function X(t){if(!t)return process.cwd();if(zl(t)){let e=new URL(t);if(e.protocol.startsWith("http")){if(e.origin!=="https://github.com")return await Vl(t);let r=e.pathname.split("/"),s=r.slice(1,3)[0],n=r.slice(1,3)[1];console.log(qa(s,n));let o=Ze.default.basename(e.pathname),i=await Hl(t,Wa(o));return console.log(Ja(o)),i}}return Ze.default.resolve(process.cwd(),t)}var J=a(require("path")),Fc=a(require("fs")),Cc=a(require("ignore")),jc=a(require("tiny-glob")),_s=a(require("adm-zip")),Dc=a(require("slugify"));function Gl(t){try{return Fc.default.readFileSync(t,"utf8")}catch{return""}}function Xl(t){return(0,Dc.default)(t,{replacement:"-",remove:/[^a-zA-Z0-9 ]/g,lower:!0})}function Zl(t,e){if(e)return"zip";switch(t){case"opera":return"crx";case"firefox":return"xpi";default:return"zip"}}function Kl(t,e){let r=Xl(e.zipFilename||t.name);return e.zipFilename?r:`${r}-${t.version}`}async function Yl(t){let e=J.default.join(t,".gitignore"),r=Gl(e),s=(0,Cc.default)();return r?s.add(r):console.log(za(t)),(await(0,jc.default)("**/*",{cwd:t,dot:!0})).filter(o=>!s.ignores(o))}async function Lc(t,{browser:e="chrome",...r}){try{let s=J.default.join(t,"dist"),n=J.default.join(s,e),o=r.zipSource?t:n,i=require(J.default.join(o,"manifest.json")),c=Kl(i,{browser:e,...r}),l=Zl(e,r.zipSource),p=J.default.join(n,`${c}.${l}`),u=J.default.join(s,`${c}-source.${l}`);if(r.zipSource){console.log(""),console.log(Ha(u));let m=new _s.default;(await Yl(t)).forEach(b=>{m.addLocalFile(J.default.join(t,b),J.default.dirname(b))}),m.writeZip(u)}if(r.zip){console.log(""),console.log(Va(p));let m=new _s.default;m.addLocalFolder(n),m.writeZip(p)}r.zip&&r.zipSource?(console.log(""),console.log(Ga(e,c,u,p))):r.zip?(console.log(""),console.log(Xa(c,l,e,p))):r.zipSource&&(console.log(""),console.log(Za(c,l,e,u)))}catch(s){throw console.error(Ka(s)),s}}async function kr(t,e){let r=await X(t);!t?.startsWith("http")&&!Oc.default.existsSync(Ps.default.join(r,"manifest.json"))&&(console.log(G(Ps.default.join(r,"manifest.json"))),process.exit(1));try{let s=e?.browser||"chrome",n=se(r,{...e,browser:s,mode:"production",output:{clean:!0}}),o=n.plugins?.filter(u=>u?.constructor.name!=="plugin-browsers"&&u?.constructor.name!=="plugin-reload"),c=(await xe(r))({...n,plugins:o}),l=(0,Mc.merge)(c),p=(0,Ic.rspack)(l);await new Promise((u,m)=>{p.run(async(g,b)=>{if(g)return console.error(g.stack||g),m(g);e?.silent||console.log(Ua(r,b,s)),(e?.zip||e?.zipSource)&&await Lc(r,{...e,browser:s}),b?.hasErrors()?(console.log(b.toString({colors:!0})),process.exit(1)):(console.log(Ba()),u())})})}catch(s){process.env.EXTENSION_ENV==="development"&&console.error(s),process.exit(1)}}var ks=a(require("fs")),Fr=a(require("path"));var Ac=a(require("path")),Rc=require("@rspack/core"),Nc=require("@rspack/dev-server"),Tc=require("webpack-merge");function Es(t){t.stop().then(()=>{process.exit()}).catch(e=>{console.log(`Error in the Extension.js runner: ${e.stack||""}`)})}async function Uc(t,e){let r=fc(t,"dev"),s=ve(t,e.browser),n=se(t,{...e,...r,...s,mode:"development",output:{clean:!0}}),i=(await xe(t))(n),c=(0,Tc.merge)(i),l=(0,Rc.rspack)(c),p={host:"127.0.0.1",allowedHosts:"all",static:{watch:{ignored:/\bnode_modules\b/}},compress:!1,devMiddleware:{writeToDisk:!0},watchFiles:it(t)?void 0:{paths:[Ac.default.join(t,"**/*.html")],options:{usePolling:!0,interval:1e3}},client:{logging:process.env.EXTENSION_ENV==="development"?"error":"none",progress:!1,overlay:!1},headers:{"Access-Control-Allow-Origin":"*"},port:"auto",hot:!0},u=new Nc.RspackDevServer(p,l);u.startCallback(m=>{m!=null&&console.log(`Error in the Extension.js runner: ${m.stack||""}`)}),process.on("ERROR",()=>{Es(u)}),process.on("SIGINT",()=>{Es(u)}),process.on("SIGTERM",()=>{Es(u)})}var $r=a(require("path")),Se=a(require("fs/promises"));async function Bc(t){let e=$r.default.join(t,"extension-env.d.ts"),r=process.env.EXTENSION_ENV==="development"?$r.default.resolve(process.cwd(),"programs/cli/types"):"extension/dist/types",s=`// Required Extension.js types for TypeScript projects.
125
125
  // This file is auto-generated and should not be excluded.
126
126
  // If you need additional types, consider creating a new *.d.ts file and
127
127
  // referencing it in the "include" array of your tsconfig.json file.
128
128
  // See https://www.typescriptlang.org/tsconfig#include for more information.
129
- /// <reference types="${s}/index.d.ts" />
129
+ /// <reference types="${r}/index.d.ts" />
130
130
 
131
131
  // Polyfill types for browser.* APIs.
132
- /// <reference types="${s}/polyfill.d.ts" />
133
- `;try{await Se.default.access(e),(await Se.default.readFile(e,"utf8")).includes("develop/dist/types")&&await Se.default.writeFile(e,r),process.env.EXTENSION_ENV==="development"&&await Se.default.writeFile(e,r)}catch{let o=require($s.default.join(t,"manifest.json"));console.log(Za(o));try{await Se.default.writeFile(e,r)}catch(i){console.log(Ka(i))}}}var Uc=a(require("path")),Bc=require("cross-spawn"),qc=a(require("fs")),Wc=require("package-manager-detector");async function Kl(){let t=await(0,Wc.detect)(),e="npm";if(ae())return"pnpm";switch(t?.name){case"yarn":e="yarn";break;case"pnpm":e="pnpm";break;default:e="npm"}return e}function Yl(){return["install"]}async function Jc(t){let e=Uc.default.join(t,"node_modules"),s=await Kl(),r=Yl(),n=process.cwd();try{process.chdir(t),await qc.default.promises.mkdir(e,{recursive:!0});let o=process.env.EXTENSION_ENV==="development"?"inherit":"ignore",i=(0,Bc.spawn)(s,r,{stdio:o});await new Promise((c,l)=>{i.on("close",p=>{p!==0?l(new Error(ic(s,r,p))):c()}),i.on("error",p=>{l(p)})})}catch(o){console.error(ac(o)),process.exit(1)}finally{process.chdir(n)}}async function zc(t,e){let s=await G(t),r=Fs.default.join(s,"manifest.json");!t?.startsWith("http")&&!Er.default.existsSync(r)&&(console.log(X(Fs.default.join(s,"manifest.json"))),process.exit(1));try{K(s)&&await Tc(s);let n=Fs.default.join(s,"node_modules");Er.default.existsSync(n)||(console.log(oc()),await Jc(s)),setTimeout(async()=>{await Nc(s,{...e,mode:"development",browser:e.browser||"chrome"})},50)}catch(n){process.env.EXTENSION_ENV==="development"&&console.error(n),process.exit(1)}}var Hc=a(require("fs")),kr=a(require("path")),Vc=require("@rspack/core"),Xc=require("webpack-merge");async function Cs(t,e){let s=await G(t);!t?.startsWith("http")&&!Hc.default.existsSync(kr.default.join(s,"manifest.json"))&&(console.log(X(kr.default.join(s,"manifest.json"))),process.exit(1));try{let r=e.browser||"chrome",n=re(s,{mode:"production",profile:e.profile,browser:r,chromiumBinary:e.chromiumBinary,geckoBinary:e.geckoBinary,startingUrl:e.startingUrl,output:{clean:!1}}),o=n.plugins?.filter(u=>u?.constructor.name==="plugin-browsers");console.log(Aa(r));let c=(await we(s))({...n,plugins:o}),l=(0,Xc.merge)(c);(0,Vc.rspack)(l).run(async(u,m)=>{u&&(console.error(u.stack||u),process.exit(1)),m?.hasErrors()?(console.log(m.toString({colors:!0})),process.exit(1)):console.log(Ra(s,{browser:r,mode:"production"}))})}catch(r){process.env.EXTENSION_ENV==="development"&&console.error(r),process.exit(1)}}var Gc=a(require("fs")),$r=a(require("path"));async function Zc(t,e){let s=await G(t);!t?.startsWith("http")&&!Gc.default.existsSync($r.default.join(s,"manifest.json"))&&(console.log(X($r.default.join(s,"manifest.json"))),process.exit(1));try{let r=e.browser||"chrome";await ks(t,{...e,browser:r,silent:!0}),await Cs(t,{...e,browser:r})}catch(r){process.env.EXTENSION_ENV==="development"&&console.error(r),process.exit(1)}}0&&(module.exports={extensionBuild,extensionDev,extensionPreview,extensionStart});
132
+ /// <reference types="${r}/polyfill.d.ts" />
133
+ `;try{await Se.default.access(e),(await Se.default.readFile(e,"utf8")).includes("develop/dist/types")&&await Se.default.writeFile(e,s),process.env.EXTENSION_ENV==="development"&&await Se.default.writeFile(e,s)}catch{let o=require($r.default.join(t,"manifest.json"));console.log(Ya(o));try{await Se.default.writeFile(e,s)}catch(i){console.log(Qa(i))}}}var qc=a(require("path")),Wc=require("cross-spawn"),Jc=a(require("fs")),zc=require("package-manager-detector");async function Ql(){let t=await(0,zc.detect)(),e="npm";if(ae())return"pnpm";switch(t?.name){case"yarn":e="yarn";break;case"pnpm":e="pnpm";break;default:e="npm"}return e}function ep(){return["install"]}async function Hc(t){let e=qc.default.join(t,"node_modules"),r=await Ql(),s=ep(),n=process.cwd();try{process.chdir(t),await Jc.default.promises.mkdir(e,{recursive:!0});let o=process.env.EXTENSION_ENV==="development"?"inherit":"ignore",i=(0,Wc.spawn)(r,s,{stdio:o});await new Promise((c,l)=>{i.on("close",p=>{p!==0?l(new Error(cc(r,s,p))):c()}),i.on("error",p=>{l(p)})})}catch(o){console.error(lc(o)),process.exit(1)}finally{process.chdir(n)}}async function Vc(t,e){let r=await X(t),s=Fr.default.join(r,"manifest.json");!t?.startsWith("http")&&!ks.default.existsSync(s)&&(console.log(G(Fr.default.join(r,"manifest.json"))),process.exit(1));try{K(r)&&await Bc(r);let n=Fr.default.join(r,"node_modules");ks.default.existsSync(n)||(console.log(ac()),await Hc(r)),setTimeout(async()=>{await Uc(r,{...e,mode:"development",browser:e.browser||"chrome"})},50)}catch(n){process.env.EXTENSION_ENV==="development"&&console.error(n),process.exit(1)}}var Gc=a(require("fs")),$s=a(require("path")),Xc=require("@rspack/core"),Zc=require("webpack-merge");async function Cr(t,e){let r=await X(t);!t?.startsWith("http")&&!Gc.default.existsSync($s.default.join(r,"manifest.json"))&&(console.log(G($s.default.join(r,"manifest.json"))),process.exit(1));try{let s=e.browser||"chrome",n=se(r,{mode:"production",profile:e.profile,browser:s,chromiumBinary:e.chromiumBinary,geckoBinary:e.geckoBinary,startingUrl:e.startingUrl,output:{clean:!1}}),o=n.plugins?.filter(u=>u?.constructor.name==="plugin-browsers");console.log(Na(s));let c=(await xe(r))({...n,plugins:o}),l=(0,Zc.merge)(c);(0,Xc.rspack)(l).run(async(u,m)=>{u&&(console.error(u.stack||u),process.exit(1)),m?.hasErrors()?(console.log(m.toString({colors:!0})),process.exit(1)):console.log(Ta(r,{browser:s,mode:"production"}))})}catch(s){process.env.EXTENSION_ENV==="development"&&console.error(s),process.exit(1)}}var Kc=a(require("fs")),Fs=a(require("path"));async function Yc(t,e){let r=await X(t);!t?.startsWith("http")&&!Kc.default.existsSync(Fs.default.join(r,"manifest.json"))&&(console.log(G(Fs.default.join(r,"manifest.json"))),process.exit(1));try{let s=e.browser||"chrome";await kr(t,{...e,browser:s,silent:!0}),await Cr(t,{...e,browser:s})}catch(s){process.env.EXTENSION_ENV==="development"&&console.error(s),process.exit(1)}}0&&(module.exports={extensionBuild,extensionDev,extensionPreview,extensionStart});