extension-develop 2.0.0-rc.7 → 2.0.0
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.
- package/dist/module.js +23 -23
- package/package.json +3 -1
- package/dist/run-chrome-profile/ChromeFeatureState +0 -1
- package/dist/run-chrome-profile/Default/Affiliation Database +0 -0
- package/dist/run-chrome-profile/Default/Affiliation Database-journal +0 -0
- package/dist/run-chrome-profile/Default/AutofillStrikeDatabase/LOCK +0 -0
- package/dist/run-chrome-profile/Default/AutofillStrikeDatabase/LOG +0 -0
- package/dist/run-chrome-profile/Default/AutofillStrikeDatabase/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/BrowsingTopicsSiteData +0 -0
- package/dist/run-chrome-profile/Default/BrowsingTopicsSiteData-journal +0 -0
- package/dist/run-chrome-profile/Default/BrowsingTopicsState +0 -12
- package/dist/run-chrome-profile/Default/BudgetDatabase/LOCK +0 -0
- package/dist/run-chrome-profile/Default/BudgetDatabase/LOG +0 -0
- package/dist/run-chrome-profile/Default/BudgetDatabase/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/025191c01cb9560a_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/05b7af632a0788c4_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/06d18b346a40f753_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/09442a94267e5d1b_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/0a659b2fa80f7d18_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/0c5ece120a4aa9c4_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/0df08bba9fc5fdac_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/15145040f7f12f31_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/18cae013af62500a_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/1e88f258e3680439_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/207a53d3f4a4c4bc_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/22b58fcf518f5674_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/24111eb856fec6e6_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/257b9ada9582cd59_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/275fd93a285332c0_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/27be01069ada1058_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/2bd215b1cc3c8643_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/2d6ffdfbd670a4e8_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/30a7fd0752f0c20d_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/3164cf42e96b9664_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/31907c8cd5dbb0d7_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/378470234e1889fb_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/39b962857089ba5e_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/3fb3b062de8f8809_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/4496d0a64b8e2ff1_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/459aacad64df1a20_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/492ed577e4693e3f_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/4cb485a7a714929a_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/4ff29ec24ac18d79_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/544232310d1a0a06_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/55ed72b0b4c0b90e_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/57c911b58ffc1b31_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/5f883d2c96d94f47_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/668471e493562a86_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/686b16113c27b51c_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/6995a7c799490d3d_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/6f7f729885fc6405_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/70f5010b6251d3d7_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/78ed79bc5487503a_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/84e415bdea6bf983_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/9046ef8fa437e5d7_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/93d81321f8c35eab_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/94a5260219485fdf_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/961c7a9dcf1d5fe3_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/963f816968a47709_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/97eb05d149fa8180_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/a54fc271588d9d41_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/a7ec2678f15b2b6d_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/b3095246000ea960_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/ba3f88b58ae6c933_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/bbde820c1fee5c3c_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/bf5945304ded8ca6_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/c894826beba9fc11_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/caca5541d401cf41_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/d3c2a489bef951de_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/d9a190d1d7d66bdd_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/d9d9fe0a0f8883f0_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/da5600d748a3d40d_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/e2fbeb70759b0860_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/e32ff760e1b4ec46_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/e5c658ea95c0a29a_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/e85ac8952d7783d7_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/ea75bd91e54a494a_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/ebadaa36379fd994_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/f3a443b4d8db944d_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/f3a70b90dcd40113_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/f4f5420fc5a9003d_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/f9e143e57946c84b_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/index +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/index-dir/the-real-index +0 -0
- package/dist/run-chrome-profile/Default/ClientCertificates/LOCK +0 -0
- package/dist/run-chrome-profile/Default/ClientCertificates/LOG +0 -0
- package/dist/run-chrome-profile/Default/ClientCertificates/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/0861135386d2c738_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/19f6466fb9b618ce_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/1b5a04a8f66ab70c_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/20a1d4f1d64a6e4a_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/218fe828c74bdb99_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/3d7a6b9ba7b8e97d_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/476e356260f818d6_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/4ade40caa2a85163_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/56560d269952a184_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/64849f954a94216e_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/6580147029871082_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/6aec1e7616284cdd_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/7d53e29663da0b76_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/838d85c38184d753_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/95a62562b95ac9f9_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/9b6ef7d7a65e720d_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/a096196665df2f44_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/a572b6bb234d4a65_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/a8bfd7ab3bf7adbd_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/b5d00710776b3b78_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/ba446f34fd660131_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/bd25d8bae4a347fb_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/d833cd33af1db7c6_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/d876d0d7d35cd53f_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/d91fc36c8dfd76dc_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/e1435a1865ecedae_0 +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/index +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/js/index-dir/the-real-index +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/wasm/index +0 -0
- package/dist/run-chrome-profile/Default/Code Cache/wasm/index-dir/the-real-index +0 -0
- package/dist/run-chrome-profile/Default/Cookies +0 -0
- package/dist/run-chrome-profile/Default/Cookies-journal +0 -0
- package/dist/run-chrome-profile/Default/DIPS +0 -0
- package/dist/run-chrome-profile/Default/DawnGraphiteCache/data_0 +0 -0
- package/dist/run-chrome-profile/Default/DawnGraphiteCache/data_1 +0 -0
- package/dist/run-chrome-profile/Default/DawnGraphiteCache/data_2 +0 -0
- package/dist/run-chrome-profile/Default/DawnGraphiteCache/data_3 +0 -0
- package/dist/run-chrome-profile/Default/DawnGraphiteCache/index +0 -0
- package/dist/run-chrome-profile/Default/DawnWebGPUCache/data_0 +0 -0
- package/dist/run-chrome-profile/Default/DawnWebGPUCache/data_1 +0 -0
- package/dist/run-chrome-profile/Default/DawnWebGPUCache/data_2 +0 -0
- package/dist/run-chrome-profile/Default/DawnWebGPUCache/data_3 +0 -0
- package/dist/run-chrome-profile/Default/DawnWebGPUCache/index +0 -0
- package/dist/run-chrome-profile/Default/Download Service/EntryDB/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Download Service/EntryDB/LOG +0 -0
- package/dist/run-chrome-profile/Default/Download Service/EntryDB/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/Extension Rules/000003.log +0 -0
- package/dist/run-chrome-profile/Default/Extension Rules/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/Extension Rules/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Extension Rules/LOG +0 -3
- package/dist/run-chrome-profile/Default/Extension Rules/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/Extension Rules/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/Extension Scripts/000003.log +0 -0
- package/dist/run-chrome-profile/Default/Extension Scripts/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/Extension Scripts/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Extension Scripts/LOG +0 -3
- package/dist/run-chrome-profile/Default/Extension Scripts/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/Extension Scripts/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/Extension State/000003.log +0 -0
- package/dist/run-chrome-profile/Default/Extension State/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/Extension State/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Extension State/LOG +0 -3
- package/dist/run-chrome-profile/Default/Extension State/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/Extension State/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/Favicons +0 -0
- package/dist/run-chrome-profile/Default/Favicons-journal +0 -0
- package/dist/run-chrome-profile/Default/Feature Engagement Tracker/AvailabilityDB/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Feature Engagement Tracker/AvailabilityDB/LOG +0 -0
- package/dist/run-chrome-profile/Default/Feature Engagement Tracker/AvailabilityDB/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/Feature Engagement Tracker/EventDB/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Feature Engagement Tracker/EventDB/LOG +0 -0
- package/dist/run-chrome-profile/Default/Feature Engagement Tracker/EventDB/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/GPUCache/data_0 +0 -0
- package/dist/run-chrome-profile/Default/GPUCache/data_1 +0 -0
- package/dist/run-chrome-profile/Default/GPUCache/data_2 +0 -0
- package/dist/run-chrome-profile/Default/GPUCache/data_3 +0 -0
- package/dist/run-chrome-profile/Default/GPUCache/index +0 -0
- package/dist/run-chrome-profile/Default/History +0 -0
- package/dist/run-chrome-profile/Default/History-journal +0 -0
- package/dist/run-chrome-profile/Default/LOCK +0 -0
- package/dist/run-chrome-profile/Default/LOG +0 -0
- package/dist/run-chrome-profile/Default/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/Local Extension Settings/pbpgonifamlpcahjkkkfelffkegofkgg/000003.log +0 -0
- package/dist/run-chrome-profile/Default/Local Extension Settings/pbpgonifamlpcahjkkkfelffkegofkgg/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/Local Extension Settings/pbpgonifamlpcahjkkkfelffkegofkgg/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Local Extension Settings/pbpgonifamlpcahjkkkfelffkegofkgg/LOG +0 -3
- package/dist/run-chrome-profile/Default/Local Extension Settings/pbpgonifamlpcahjkkkfelffkegofkgg/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/Local Extension Settings/pbpgonifamlpcahjkkkfelffkegofkgg/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/Local Storage/leveldb/000003.log +0 -0
- package/dist/run-chrome-profile/Default/Local Storage/leveldb/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/Local Storage/leveldb/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Local Storage/leveldb/LOG +0 -3
- package/dist/run-chrome-profile/Default/Local Storage/leveldb/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/Local Storage/leveldb/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/Login Data +0 -0
- package/dist/run-chrome-profile/Default/Login Data For Account +0 -0
- package/dist/run-chrome-profile/Default/Login Data For Account-journal +0 -0
- package/dist/run-chrome-profile/Default/Login Data-journal +0 -0
- package/dist/run-chrome-profile/Default/Network Action Predictor +0 -0
- package/dist/run-chrome-profile/Default/Network Action Predictor-journal +0 -0
- package/dist/run-chrome-profile/Default/Network Persistent State +0 -1
- package/dist/run-chrome-profile/Default/PersistentOriginTrials/LOCK +0 -0
- package/dist/run-chrome-profile/Default/PersistentOriginTrials/LOG +0 -0
- package/dist/run-chrome-profile/Default/PersistentOriginTrials/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/Platform Notifications/000003.log +0 -0
- package/dist/run-chrome-profile/Default/Platform Notifications/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/Platform Notifications/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Platform Notifications/LOG +0 -3
- package/dist/run-chrome-profile/Default/Platform Notifications/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/Platform Notifications/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/Preferences +0 -1
- package/dist/run-chrome-profile/Default/PreferredApps +0 -1
- package/dist/run-chrome-profile/Default/README +0 -1
- package/dist/run-chrome-profile/Default/Reporting and NEL +0 -0
- package/dist/run-chrome-profile/Default/Reporting and NEL-journal +0 -0
- package/dist/run-chrome-profile/Default/Safe Browsing Cookies +0 -0
- package/dist/run-chrome-profile/Default/Safe Browsing Cookies-journal +0 -0
- package/dist/run-chrome-profile/Default/Secure Preferences +0 -1
- package/dist/run-chrome-profile/Default/Segmentation Platform/SegmentInfoDB/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Segmentation Platform/SegmentInfoDB/LOG +0 -0
- package/dist/run-chrome-profile/Default/Segmentation Platform/SegmentInfoDB/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/Segmentation Platform/SignalDB/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Segmentation Platform/SignalDB/LOG +0 -0
- package/dist/run-chrome-profile/Default/Segmentation Platform/SignalDB/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/Segmentation Platform/SignalStorageConfigDB/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Segmentation Platform/SignalStorageConfigDB/LOG +0 -0
- package/dist/run-chrome-profile/Default/Segmentation Platform/SignalStorageConfigDB/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/Database/000003.log +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/Database/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/Service Worker/Database/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/Database/LOG +0 -3
- package/dist/run-chrome-profile/Default/Service Worker/Database/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/Service Worker/Database/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/013888a1cda32b90_0 +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/013888a1cda32b90_1 +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/4cb013792b196a35_0 +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/7b4fd8111178d5b1_0 +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/7b4fd8111178d5b1_1 +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/ba23d8ecda68de77_0 +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/d0757ff92c7cde0a_0 +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/d0757ff92c7cde0a_1 +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/f1cdccba37924bda_0 +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/index +0 -0
- package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/index-dir/the-real-index +0 -0
- package/dist/run-chrome-profile/Default/Session Storage/000003.log +0 -0
- package/dist/run-chrome-profile/Default/Session Storage/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/Session Storage/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Session Storage/LOG +0 -3
- package/dist/run-chrome-profile/Default/Session Storage/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/Session Storage/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/Sessions/Session_13388296523755223 +0 -0
- package/dist/run-chrome-profile/Default/Sessions/Session_13388296533026691 +0 -0
- package/dist/run-chrome-profile/Default/Sessions/Tabs_13388296523963369 +0 -0
- package/dist/run-chrome-profile/Default/Sessions/Tabs_13388296533217699 +0 -0
- package/dist/run-chrome-profile/Default/Shared Dictionary/cache/index +0 -0
- package/dist/run-chrome-profile/Default/Shared Dictionary/cache/index-dir/the-real-index +0 -0
- package/dist/run-chrome-profile/Default/Shared Dictionary/db +0 -0
- package/dist/run-chrome-profile/Default/Shared Dictionary/db-journal +0 -0
- package/dist/run-chrome-profile/Default/SharedStorage +0 -0
- package/dist/run-chrome-profile/Default/Shortcuts +0 -0
- package/dist/run-chrome-profile/Default/Shortcuts-journal +0 -0
- package/dist/run-chrome-profile/Default/Site Characteristics Database/000003.log +0 -0
- package/dist/run-chrome-profile/Default/Site Characteristics Database/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/Site Characteristics Database/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Site Characteristics Database/LOG +0 -3
- package/dist/run-chrome-profile/Default/Site Characteristics Database/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/Site Characteristics Database/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/Sync Data/LevelDB/000003.log +0 -0
- package/dist/run-chrome-profile/Default/Sync Data/LevelDB/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/Sync Data/LevelDB/LOCK +0 -0
- package/dist/run-chrome-profile/Default/Sync Data/LevelDB/LOG +0 -3
- package/dist/run-chrome-profile/Default/Sync Data/LevelDB/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/Sync Data/LevelDB/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/Top Sites +0 -0
- package/dist/run-chrome-profile/Default/Top Sites-journal +0 -0
- package/dist/run-chrome-profile/Default/TransportSecurity +0 -1
- package/dist/run-chrome-profile/Default/Trust Tokens +0 -0
- package/dist/run-chrome-profile/Default/Trust Tokens-journal +0 -0
- package/dist/run-chrome-profile/Default/Visited Links +0 -0
- package/dist/run-chrome-profile/Default/Web Data +0 -0
- package/dist/run-chrome-profile/Default/Web Data-journal +0 -0
- package/dist/run-chrome-profile/Default/WebStorage/QuotaManager +0 -0
- package/dist/run-chrome-profile/Default/WebStorage/QuotaManager-journal +0 -0
- package/dist/run-chrome-profile/Default/chrome_cart_db/LOCK +0 -0
- package/dist/run-chrome-profile/Default/chrome_cart_db/LOG +0 -0
- package/dist/run-chrome-profile/Default/chrome_cart_db/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/commerce_subscription_db/LOCK +0 -0
- package/dist/run-chrome-profile/Default/commerce_subscription_db/LOG +0 -0
- package/dist/run-chrome-profile/Default/commerce_subscription_db/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/discounts_db/LOCK +0 -0
- package/dist/run-chrome-profile/Default/discounts_db/LOG +0 -0
- package/dist/run-chrome-profile/Default/discounts_db/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/heavy_ad_intervention_opt_out.db +0 -0
- package/dist/run-chrome-profile/Default/heavy_ad_intervention_opt_out.db-journal +0 -0
- package/dist/run-chrome-profile/Default/optimization_guide_hint_cache_store/LOCK +0 -0
- package/dist/run-chrome-profile/Default/optimization_guide_hint_cache_store/LOG +0 -0
- package/dist/run-chrome-profile/Default/optimization_guide_hint_cache_store/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/parcel_tracking_db/LOCK +0 -0
- package/dist/run-chrome-profile/Default/parcel_tracking_db/LOG +0 -0
- package/dist/run-chrome-profile/Default/parcel_tracking_db/LOG.old +0 -0
- package/dist/run-chrome-profile/Default/passkey_enclave_state +0 -1
- package/dist/run-chrome-profile/Default/shared_proto_db/000003.log +0 -0
- package/dist/run-chrome-profile/Default/shared_proto_db/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/shared_proto_db/LOCK +0 -0
- package/dist/run-chrome-profile/Default/shared_proto_db/LOG +0 -3
- package/dist/run-chrome-profile/Default/shared_proto_db/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/shared_proto_db/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/shared_proto_db/metadata/000003.log +0 -0
- package/dist/run-chrome-profile/Default/shared_proto_db/metadata/CURRENT +0 -1
- package/dist/run-chrome-profile/Default/shared_proto_db/metadata/LOCK +0 -0
- package/dist/run-chrome-profile/Default/shared_proto_db/metadata/LOG +0 -3
- package/dist/run-chrome-profile/Default/shared_proto_db/metadata/LOG.old +0 -3
- package/dist/run-chrome-profile/Default/shared_proto_db/metadata/MANIFEST-000001 +0 -0
- package/dist/run-chrome-profile/Default/trusted_vault.pb +0 -2
- package/dist/run-chrome-profile/GrShaderCache/data_0 +0 -0
- package/dist/run-chrome-profile/GrShaderCache/data_1 +0 -0
- package/dist/run-chrome-profile/GrShaderCache/data_2 +0 -0
- package/dist/run-chrome-profile/GrShaderCache/data_3 +0 -0
- package/dist/run-chrome-profile/GrShaderCache/index +0 -0
- package/dist/run-chrome-profile/GraphiteDawnCache/data_0 +0 -0
- package/dist/run-chrome-profile/GraphiteDawnCache/data_1 +0 -0
- package/dist/run-chrome-profile/GraphiteDawnCache/data_2 +0 -0
- package/dist/run-chrome-profile/GraphiteDawnCache/data_3 +0 -0
- package/dist/run-chrome-profile/GraphiteDawnCache/f_000001 +0 -0
- package/dist/run-chrome-profile/GraphiteDawnCache/f_000002 +0 -0
- package/dist/run-chrome-profile/GraphiteDawnCache/f_000003 +0 -0
- package/dist/run-chrome-profile/GraphiteDawnCache/f_000004 +0 -0
- package/dist/run-chrome-profile/GraphiteDawnCache/index +0 -0
- package/dist/run-chrome-profile/Last Version +0 -1
- package/dist/run-chrome-profile/Local State +0 -1
- package/dist/run-chrome-profile/ShaderCache/data_0 +0 -0
- package/dist/run-chrome-profile/ShaderCache/data_1 +0 -0
- package/dist/run-chrome-profile/ShaderCache/data_2 +0 -0
- package/dist/run-chrome-profile/ShaderCache/data_3 +0 -0
- package/dist/run-chrome-profile/ShaderCache/index +0 -0
- package/dist/run-chrome-profile/Variations +0 -1
- package/dist/run-chrome-profile/first_party_sets.db +0 -0
- package/dist/run-chrome-profile/first_party_sets.db-journal +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/13/E6DC4029A1E4B4C1/3CF18F0F16C8CE09/model-info.pb +0 -1
- package/dist/run-chrome-profile/optimization_guide_model_store/13/E6DC4029A1E4B4C1/3CF18F0F16C8CE09/model.tflite +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/15/E6DC4029A1E4B4C1/D5BCEC4E5AAF74EA/VERSION.txt +0 -4
- package/dist/run-chrome-profile/optimization_guide_model_store/15/E6DC4029A1E4B4C1/D5BCEC4E5AAF74EA/model-info.pb +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/15/E6DC4029A1E4B4C1/D5BCEC4E5AAF74EA/model.tflite +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/15/E6DC4029A1E4B4C1/D5BCEC4E5AAF74EA/override_list.pb.gz +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/2/E6DC4029A1E4B4C1/52963069BD02697B/model-info.pb +0 -1
- package/dist/run-chrome-profile/optimization_guide_model_store/2/E6DC4029A1E4B4C1/52963069BD02697B/model.tflite +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/20/E6DC4029A1E4B4C1/AEDAEAFE1BA40A26/model-info.pb +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/20/E6DC4029A1E4B4C1/AEDAEAFE1BA40A26/model.tflite +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/24/E6DC4029A1E4B4C1/7C893FFC02F661B8/enus_denylist_encoded_241007.txt +0 -580
- package/dist/run-chrome-profile/optimization_guide_model_store/24/E6DC4029A1E4B4C1/7C893FFC02F661B8/model-info.pb +0 -5
- package/dist/run-chrome-profile/optimization_guide_model_store/24/E6DC4029A1E4B4C1/7C893FFC02F661B8/model.tflite +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/24/E6DC4029A1E4B4C1/7C893FFC02F661B8/vocab_en-us.txt +0 -303
- package/dist/run-chrome-profile/optimization_guide_model_store/25/E6DC4029A1E4B4C1/F87CF299C0E14D75/model-info.pb +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/25/E6DC4029A1E4B4C1/F87CF299C0E14D75/model.tflite +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/25/E6DC4029A1E4B4C1/F87CF299C0E14D75/visual_model_desktop.tflite +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/26/E6DC4029A1E4B4C1/92C138FC1F6BC7A5/model-info.pb +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/26/E6DC4029A1E4B4C1/92C138FC1F6BC7A5/model.tflite +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/45/E6DC4029A1E4B4C1/99FA23F9C3B6B1E9/model-info.pb +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/45/E6DC4029A1E4B4C1/99FA23F9C3B6B1E9/model.tflite +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/9/E6DC4029A1E4B4C1/201FE93993560CC9/model-info.pb +0 -0
- package/dist/run-chrome-profile/optimization_guide_model_store/9/E6DC4029A1E4B4C1/201FE93993560CC9/model.tflite +0 -0
- package/dist/run-chrome-profile/segmentation_platform/ukm_db +0 -0
- package/dist/run-chrome-profile/segmentation_platform/ukm_db-wal +0 -0
package/dist/module.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";var Zc=Object.create;var Qe=Object.defineProperty;var Kc=Object.getOwnPropertyDescriptor;var Yc=Object.getOwnPropertyNames;var Qc=Object.getPrototypeOf,el=Object.prototype.hasOwnProperty;var tl=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),sl=(t,e)=>{for(var s in e)Qe(t,s,{get:e[s],enumerable:!0})},Dr=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Yc(e))!el.call(t,n)&&n!==s&&Qe(t,n,{get:()=>e[n],enumerable:!(r=Kc(e,n))||r.enumerable});return t};var a=(t,e,s)=>(s=t!=null?Zc(Qc(t)):{},Dr(e||!t||!t.__esModule?Qe(s,"default",{value:t,enumerable:!0}):s,t)),rl=t=>Dr(Qe({},"__esModule",{value:!0}),t);var As=tl((
|
|
1
|
+
"use strict";var Zc=Object.create;var Qe=Object.defineProperty;var Kc=Object.getOwnPropertyDescriptor;var Yc=Object.getOwnPropertyNames;var Qc=Object.getPrototypeOf,el=Object.prototype.hasOwnProperty;var tl=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),sl=(t,e)=>{for(var s in e)Qe(t,s,{get:e[s],enumerable:!0})},Dr=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Yc(e))!el.call(t,n)&&n!==s&&Qe(t,n,{get:()=>e[n],enumerable:!(r=Kc(e,n))||r.enumerable});return t};var a=(t,e,s)=>(s=t!=null?Zc(Qc(t)):{},Dr(e||!t||!t.__esModule?Qe(s,"default",{value:t,enumerable:!0}):s,t)),rl=t=>Dr(Qe({},"__esModule",{value:!0}),t);var As=tl((op,ol)=>{ol.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",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/core":"^1.10.1","@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","resolve-url-loader":"^5.0.0","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 Yl={};sl(Yl,{extensionBuild:()=>Cs,extensionDev:()=>Jc,extensionPreview:()=>Ls,extensionStart:()=>Gc});module.exports=rl(Yl);var jc=a(require("fs")),Er=a(require("path")),Dc=require("@rspack/core"),Lc=require("webpack-merge");var Ke=a(require("path"));var Qr=a(require("case-sensitive-paths-webpack-plugin"));var Os=a(require("fs")),et=a(require("path")),ne=require("@rspack/core"),Is=a(require("dotenv")),tt=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){let s=et.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=et.default.join(s,m);if(Os.default.existsSync(g)){o=g;break}}let i=o?Is.default.config({path:o}).parsed||{}:{},c=et.default.join(s,".env.defaults"),p={...Os.default.existsSync(c)?Is.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 Ms=a(require("fs")),Lr=a(require("path")),st=class{apply(e){let s=Lr.default.join(e.options.output.path||"");if(Ms.default.existsSync(s))try{Ms.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 Rs=a(require("path")),f=require("@colors/colors/safe");var Or=a(require("path")),rt=Or.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),Z=["chrome","edge"],nl=["firefox"],rp=[...Z,...nl];var Ir=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 Mr(t){return t.charAt(0).toUpperCase()+t.slice(1)}function Ar(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 Rr(t,e){return`${(0,Ir.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 D(t){return`${F(t,"success")} installation completed. Run the program again and happy hacking.`}function Nr(t){return`${F(t,"info")} dependencies are being installed. This only happens for core contributors...`}function Tr(t){return`${F(t,"success")} dependencies installed ${(0,f.brightGreen)("successfully")}.`}function Ur(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 nt(t,e){if(!t)throw new Error("This operation is impossible. Please report a bug.");switch(Rs.default.extname(e)){case".js":case".ts":case".jsx":case".tsx":return
|
|
4
|
+
${(0,f.red)(e?.toString()||"")}`}function nt(t,e){if(!t)throw new Error("This operation is impossible. Please report a bug.");switch(Rs.default.extname(e)){case".js":case".ts":case".jsx":case".tsx":return il(t,e);case".css":case".scss":case".sass":case".less":return al(t,e);default:return cl(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})
|
|
5
5
|
|
|
6
6
|
`:r;return`${F("manifest.json","error")} File Not Found
|
|
7
7
|
|
|
8
|
-
${
|
|
9
|
-
`:`Check the ${(0,f.brightYellow)(
|
|
10
|
-
`}${(0,f.red)("NOT FOUND")} ${(0,f.underline)(s)}`}function
|
|
8
|
+
${o?`Check the ${(0,f.brightYellow)("pages")} folder in your project root directory.
|
|
9
|
+
`:`Check the ${(0,f.brightYellow)(i)} field in your manifest.json file.
|
|
10
|
+
`}${(0,f.red)("NOT FOUND")} ${(0,f.underline)(s)}`}function ot(t,e){return`File Not Found
|
|
11
11
|
|
|
12
12
|
Check the ${(0,f.brightYellow)(t)} field in your manifest.json file.
|
|
13
13
|
${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function Br(t,e){return`${F(t,"error")} Manifest Not Found
|
|
@@ -35,11 +35,11 @@ ${(0,f.brightYellow)("Manager Extension")} in ${(0,f.underline)(n)} and try agai
|
|
|
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:
|
|
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=As().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)(
|
|
42
|
+
Extension ID ${(0,f.gray)(o)}`}function Hr(t){return`This is your first run using Extension.js via ${Mr(t)}. Welcome! \u{1F389}
|
|
43
43
|
|
|
44
44
|
\u{1F9E9} Learn more at ${(0,f.underline)("https://extension.js.org")}`}function Vr(t){return`${F("WebSocket","error")} General WebSocket Error:
|
|
45
45
|
${(0,f.red)(t)}`}function Xr(t,e){return`${F("manifest.json","error")} File Not Found
|
|
@@ -48,7 +48,7 @@ Check the ${(0,f.brightYellow)(t.replace("/","."))} field in your manifest.json
|
|
|
48
48
|
${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function Gr(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
|
|
51
|
+
${(0,f.gray)("PATH")} ${(0,f.underline)(t)}`}function il(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
54
|
${(0,f.red)("NOT FOUND")} ${(0,f.underline)(e)}`}function al(t,e){return`${F("HTML","error")} File Not Found
|
|
@@ -71,41 +71,41 @@ Learn more about ${(0,f.bold)("mkcert")}: ${(0,f.underline)("https://github.com/
|
|
|
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 ot=class{static name="plugin-compilation";manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){new Qr.default().apply(e),new tt({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new st().apply(e),e.hooks.done.tapAsync("develop:brand",(s,r)=>{s.compilation.name=void 0;let n=s.compilation.endTime-s.compilation.startTime,i=require(this.manifestPath).name;console.log(Ar(i,n,s)),r()})}};var _n=a(require("path"));var an=a(require("path")),cn=a(require("fs"));var oe=a(require("path")),at=a(require("fs")),Ts=require("child_process"),tn=require("package-manager-detector");function sn(t,e){return Object.values(e||{}).some(s=>s===t)}function h(t,e,s){let r=oe.default.extname(e),i=$(e,s)?oe.default.normalize(e):t;return[".js",".jsx",".tsx",".ts"].includes(r)&&(i=i.replace(r,".js")),[".html",".njk",".nunjucks"].includes(r)&&(i=i.replace(r,".html")),[".css",".scss",".sass",".less"].includes(r)&&(i=i.replace(r,".css")),Us(i||"")}function Us(t){return t.replace(/\\/g,"/")}function $(t,e={}){if(!e)return!1;let s=oe.default.normalize(Us(t));return Object.values(e).some(n=>typeof n!="string"?!1:Us(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 en(){return process.env.npm_execpath?"npm":!1}async function j(t,e){try{let s=await(0,tn.detect)();console.log(Rr(t,s?.name||"unknown"));let r="";s?.name==="yarn"?r=`yarn --silent add ${e.join(" ")} --cwd ${__dirname} --optional`:s?.name==="npm"||en()?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,Ts.execSync)(r,{stdio:"inherit"}),await new Promise(n=>setTimeout(n,2e3)),process.env.EXTENSION_ENV==="development"&&(console.log(Nr(t)),s?.name==="yarn"?r="yarn install --silent > /dev/null 2>&1":s?.name==="npm"||en()?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,Ts.execSync)(r,{stdio:"inherit"})),console.log(Tr(t))}catch(s){console.error(Ur(t,s))}}function ct(t){let e=oe.default.join(t,"package.json");if(!at.default.existsSync(e))return!1;let s=JSON.parse(at.default.readFileSync(e,"utf-8")),r=["react","vue","@angular/core","svelte","solid-js","preact"],n=s.dependencies||{},i=s.devDependencies||{};for(let o of r)if(n[o]||i[o])return!0;return!1}function rn(t){return!at.default.existsSync(oe.default.resolve(__dirname,`run-${t}-profile`))}function nn(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,i){let o=n.indexOf(":");if(o===-1)return i;let c=n.substring(0,o);(c===e||c==="chromium"&&Z.includes(e)||c==="chromium"&&e.includes("chromium")||c==="gecko"&&e.includes("gecko"))&&(this[n.substring(o+1)]=i)})}var on=!1;function Pe(t){let e=an.default.join(t,"package.json");if(!cn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.sass,n=s.dependencies&&s.dependencies.sass;return r||n?(on||(process.env.EXTENSION_ENV==="development"&&console.log(v("SASS")),on=!0),!0):!1}async function ln(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(D("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 fn=a(require("path")),un=a(require("fs"));var pn=!1;function Ee(t){let e=fn.default.join(t,"package.json");if(!un.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.less,n=s.dependencies&&s.dependencies.less;return r||n?(pn||(process.env.EXTENSION_ENV==="development"&&console.log(v("LESS")),pn=!0),!0):!1}async function mn(t){if(!Ee(t))return[];try{require.resolve("less-loader")}catch{await j("LESS",["less","less-loader"]),console.log(D("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 ll(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"),i=R.default.join(t,"stylelint.config.cjs"),o=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(i))return i;if(N.default.existsSync(o))return o;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 dn=!1;function pl(t){let e=R.default.join(t,"package.json");if(!N.default.existsSync(e))return!1;let r=!!ll(t);return r&&(dn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Stylelint")),dn=!0)),r}async function gn(t){return pl(t),[]}var xn=a(require("path"));var ke=a(require("path")),$e=a(require("fs"));var hn=!1;function lt(t){let e=ke.default.join(t,"package.json");if(!$e.default.existsSync(e))return!1;let s=fl(t),r=require(e),n=r.devDependencies&&r.devDependencies.tailwindcss,i=r.dependencies&&r.dependencies.tailwindcss,o=!!s&&!!(n||i);return o&&(hn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Tailwind")),hn=!0)),o}function fl(t){let e=ke.default.join(t,"tailwind.config.mjs"),s=ke.default.join(t,"tailwind.config.cjs"),r=ke.default.join(t,"tailwind.config.js");if($e.default.existsSync(e))return e;if($e.default.existsSync(s))return s;if($e.default.existsSync(r))return r}var ft=a(require("path")),pt=a(require("fs"));var ce=!1;function ul(t){let e=ft.default.join(t,"package.json");if(!pt.default.existsSync(e))return!1;let s=[".postcssrc",".postcssrc.json",".postcssrc.yaml",".postcssrc.yml",".postcssrc.js",".postcssrc.cjs","postcss.config.js","postcss.config.cjs"];if(pt.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}for(let r of s)if(pt.default.existsSync(ft.default.join(t,r)))return ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0;return lt(t)?(ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0):!1}async function yn(t,e){if(!ul(t))return{};try{require.resolve("postcss-loader")}catch{!Pe(t)&&!Ee(t)&&await j("PostCSS",["postcss","postcss-loader","postcss-preset-env"]),console.log(D("PostCSS")),process.exit(0)}return{loader:require.resolve("postcss-loader"),options:{postcssOptions:{ident:"postcss",config:ft.default.resolve(t,"postcss.config.js"),plugins:[[require.resolve("postcss-preset-env"),{autoprefixer:{flexbox:"no-2009"},stage:3}]].filter(Boolean)},sourceMap:e.mode==="development"}}}async function ut(t,e){let s=[];if(lt(t)||Pe(t)||Ee(t)){let r=await yn(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 Bs=a(require("path")),bn=a(require("fs"));function mt(t,e){if(!t||!e)return!1;let s=JSON.parse(bn.default.readFileSync(e,"utf8"));for(let r of s.content_scripts||[])if(r.js?.length){for(let n of r.js)if(Bs.default.resolve(Bs.default.dirname(e),n)===t)return!0}return!1}async function wn(t,e){let s=xn.default.join(t,"manifest.json");return[{test:/\.css$/,type:"asset",generator:{filename:"content_scripts/[name].[contenthash:8].css"},issuer:r=>mt(r,s),use:await ut(t,{mode:e})}]}var vn=a(require("path"));async function Sn(t,e){let s=vn.default.join(t,"manifest.json");return[{test:/\.css$/,type:"css",issuer:r=>!mt(r,s),use:await ut(t,{mode:e})}]}var dt=class t{static name="plugin-css";manifestPath;constructor(e){this.manifestPath=e.manifestPath}async configureOptions(e){let s=e.options.mode||"development",r=_n.default.dirname(this.manifestPath),n=[],i=await gn(r);n.push(...i);let o=[...await wn(r,s),...await Sn(r,s)],c=await ln(r),l=await mn(r);c.length&&o.push(...c),l.length&&o.push(...l),e.options.plugins=[...e.options.plugins,...n].filter(Boolean),e.options.module.rules=[...e.options.module.rules,...o].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 gt=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(i=>i&&i.test instanceof RegExp&&i.test.test(".svg")&&i.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(i=>!!i)}};var Ce=a(require("path"));var qs=a(require("path")),Ws=a(require("fs"));var Pn=!1,ml=[".babelrc",".babelrc.json",".babelrc.js",".babelrc.cjs","babel.config.json","babel.config.js","babel.config.cjs"];function dl(t){let e=qs.default.join(t,"package.json");if(!Ws.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies["babel-core"],n=s.dependencies&&s.dependencies["babel-core"],i=ml.some(o=>Ws.default.existsSync(qs.default.join(t,o)))||!!r||!!n;return i&&(Pn||(process.env.EXTENSION_ENV==="development"&&process.env.EXTENSION_ENV==="development"&&console.log(v("Babel")),Pn=!0)),i}async function En(t,e){dl(e)}var $n=a(require("path")),Fn=a(require("fs"));var kn=!1;function Fe(t){let e=$n.default.join(t,"package.json");if(!Fn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.preact,n=s.dependencies&&s.dependencies.preact;return(r||n)&&(kn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Preact")),kn=!0)),!!r||!!n}async function Cn(t){if(!Fe(t))return;try{require.resolve("@rspack/plugin-preact-refresh")}catch{await j("Preact",["@prefresh/core","@prefresh/utils","@rspack/plugin-preact-refresh","preact"]),console.log(D("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 Dn=a(require("path")),Ln=a(require("fs"));var jn=!1;function ht(t){let e=Dn.default.join(t,"package.json");if(!Ln.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.react,n=s.dependencies&&s.dependencies.react;return(r||n)&&(jn||(process.env.EXTENSION_ENV==="development"&&console.log(v("React")),jn=!0)),!!r||!!n}async function On(t){if(!ht(t))return;try{require.resolve("react-refresh")}catch{await j("React",["react-refresh","@rspack/plugin-react-refresh"]),console.log(D("React")),process.exit(0)}return{plugins:[new(require("@rspack/plugin-react-refresh"))({overlay:!1})],loaders:void 0,alias:void 0}}var Mn=a(require("path")),An=a(require("fs")),Rn=require("vue-loader");var In=!1;function gl(t){let e=Mn.default.join(t,"package.json");if(!An.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.vue,n=s.dependencies&&s.dependencies.vue;return(r||n)&&(In||(process.env.EXTENSION_ENV==="development"&&console.log(v("Vue")),In=!0)),!!r||!!n}async function Nn(t){if(!gl(t))return;try{require.resolve("vue-loader")}catch{await j("Vue",["vue-loader","vue-template-compiler","@vue/compiler-sfc"]),console.log(D("Vue")),process.exit(0)}let e=[{test:/\.vue$/,loader:require.resolve("vue-loader"),options:{experimentalInlineMatchResource:!0},include:t,exclude:/node_modules/}];return{plugins:[new Rn.VueLoaderPlugin],loaders:e,alias:void 0}}var yt=a(require("path")),bt=a(require("fs"));var Tn=!1;function K(t){let e=yt.default.join(t,"package.json");if(!bt.default.existsSync(e))return!1;let s=yl(t),r=require(e),n=r.devDependencies&&r.devDependencies.typescript,i=r.dependencies&&r.dependencies.typescript;return Tn||((n||i)&&(s?process.env.EXTENSION_ENV==="development"&&console.log(v("TypeScript")):(console.log(zr()),bl(t))),Tn=!0),!!s&&!!(n||i)}function hl(t,e){return{compilerOptions:{allowJs:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,jsx:ct(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 yl(t){let e=yt.default.join(t,"tsconfig.json");if(bt.default.existsSync(e))return e}function bl(t){bt.default.writeFileSync(yt.default.join(t,"tsconfig.json"),JSON.stringify(hl(t,{mode:"development"}),null,2))}var Bn=a(require("path")),qn=a(require("fs")),Wn=require("svelte-preprocess");var Un=!1;function xl(t){let e=Bn.default.join(t,"package.json");if(!qn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies?.svelte,n=s.dependencies&&s.dependencies.svelte;return(r||n)&&(Un||(process.env.EXTENSION_ENV==="development"&&console.log(v("Svelte")),Un=!0)),!!r||!!n}async function Jn(t,e){if(!xl(t))return;try{require.resolve("svelte-loader")}catch{await j("TypeScript",["typescript"]),await j("Svelte",["svelte-loader","svelte-preprocess"]),console.log(D("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,Wn.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 xt=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=Ce.default.dirname(this.manifestPath),n=await En(e,r),i=await On(r),o=await Cn(r),c=await Nn(r),l=await Jn(r,s);e.options.resolve.alias={...n?.alias||{},...i?.alias||{},...o?.alias||{},...c?.alias||{},...l?.alias||{},...e.options.resolve.alias},e.options.module.rules=[{test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Ce.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)&&(ht(r)||Fe(r)),jsx:!K(r)&&(ht(r)||Fe(r)),dynamicImport:!0},transform:{react:{development:s==="development",refresh:s==="development",runtime:"automatic",importSource:"react",...Fe(r)?{pragma:"h",pragmaFrag:"Fragment",throwIfNamespace:!0,useBuiltins:!1}:{}}}}}}},...n?.loaders||[],...i?.loaders||[],...o?.loaders||[],...c?.loaders||[],...l?.loaders||[],...e.options.module.rules].filter(Boolean),i?.plugins?.forEach(p=>p.apply(e)),o?.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:Ce.default.resolve(Ce.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 ji=a(require("path"));var zn=a(require("path"));function Hn(t,e){if(!e||!e.action||!e.action.default_popup)return;let s=e.action.default_popup;return zn.default.join(t,s)}var Vn=a(require("path"));function Xn(t,e){if(!e||!e.browser_action||!e.browser_action.default_popup)return;let s=e.browser_action.default_popup;return Vn.default.join(t,s)}var wt=a(require("path"));function Gn(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":wt.default.join(t,r)}}if(e.chrome_url_overrides.newtab){let r=e.chrome_url_overrides.newtab;s={"chrome_url_overrides/newtab":wt.default.join(t,r)}}if(e.chrome_url_overrides.bookmarks){let r=e.chrome_url_overrides.bookmarks;s={"chrome_url_overrides/bookmarks":wt.default.join(t,r)}}return s}var Zn=a(require("path"));function Kn(t,e){if(!e||!e.devtools_page)return;let s=e.devtools_page;return Zn.default.join(t,s)}var Js=a(require("path"));function Yn(t,e){if(e.options_page){let r=e.options_page;return Js.default.join(t,r)}if(!e||!e.options_ui||!e.options_ui.page)return;let s=e.options_ui.page;return Js.default.join(t,s)}var Qn=a(require("path"));function ei(t,e){if(!e||!e.page_action||!e.page_action.default_popup)return;let s=e.page_action.default_popup;return Qn.default.join(t,s)}var ti=a(require("path"));function si(t,e){if(!e||!e.sandbox||!e.sandbox.pages)return{"sandbox/page-0":void 0};let s=e.sandbox.pages,r={};for(let[n,i]of s.entries())r[`sandbox/page-${n}`]=ti.default.join(t,i);return r}var ri=a(require("path"));function ni(t,e){if(!e||!e.side_panel||!e.side_panel.default_path)return;let s=e.side_panel.default_path;return ri.default.join(t,s)}var ii=a(require("path"));function oi(t,e){if(!e||!e.sidebar_action||!e.sidebar_action.default_panel)return;let s=e.sidebar_action.default_panel;return ii.default.join(t,s)}function je(t,e){return{"action/default_popup":Hn(t,e),"browser_action/default_popup":Xn(t,e),...Gn(t,e),devtools_page:Kn(t,e),"options_ui/page":Yn(t,e),"page_action/default_popup":ei(t,e),...si(t,e),"side_panel/default_path":ni(t,e),"sidebar_action/default_panel":oi(t,e)}}var zs=a(require("path"));function ai(t,e){if(!e||!e.action||!e.action.default_icon)return;if(typeof e.action.default_icon=="string")return zs.default.join(t,e.action.default_icon);let s=[];for(let r in e.action.default_icon)s.push(zs.default.join(t,e.action.default_icon[r]));return s}var Hs=a(require("path"));function ci(t,e){if(!e||!e.browser_action||!e.browser_action.default_icon)return;let s=[];if(typeof e.browser_action.default_icon=="string")return Hs.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]=Hs.default.join(t,e.browser_action.default_icon[r]);s.push(n)}return s}var Vs=a(require("path"));function li(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=Vs.default.join(t,s.light)),s.dark&&(s.dark=Vs.default.join(t,s.dark)),s.size&&delete s.size;return e.browser_action.theme_icons}}var pi=a(require("path"));function fi(t,e){if(!e||!e.icons)return;let s=[];for(let r in e.icons){let n=pi.default.join(t,e.icons[r]);s.push(n)}return s}var Xs=a(require("path"));function ui(t,e){if(!e||!e.page_action||!e.page_action.default_icon)return;if(typeof e.page_action.default_icon=="string")return Xs.default.join(t,e.page_action.default_icon);let s=[];for(let r in e.page_action.default_icon){let n=Xs.default.join(t,e.page_action.default_icon[r]);s.push(n)}return s}var mi=a(require("path"));function di(t,e){return!e||!e.sidebar_action||!e.sidebar_action.default_icon?void 0:mi.default.join(t,e.sidebar_action.default_icon)}function gi(t,e){return{action:ai(t,e),browser_action:ci(t,e),"browser_action/theme_icons":li(t,e),icons:fi(t,e),page_action:ui(t,e),sidebar_action:di(t,e)}}var hi=a(require("path"));function yi(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}`]=hi.default.join(t,n.path)}),s)}var bi=a(require("path"));function xi(t,e){if(!e||!e.storage||!e.storage.managed_schema)return;let s=e.storage.managed_schema;return bi.default.join(t,s)}function wi(t,e){return{...yi(t,e),"storage/managed_schema":xi(t,e)}}var De=a(require("path")),Le=a(require("fs"));function vi(t,e){let s=De.default.join(De.default.dirname(e),"_locales"),r=[];if(Le.default.existsSync(s))for(let n of Le.default.readdirSync(s)){let i=De.default.join(s,n);if(i&&Le.default.statSync(i).isDirectory())for(let o of Le.default.readdirSync(i))r.push(De.default.join(t,"_locales",n,o))}return r}var Si=a(require("path"));function _i(t,e){if(!e||!e.background)return;let s=e.background.scripts;if(s)return s.map(r=>Si.default.join(t,r))}var Pi=a(require("path"));function Ei(t,e){if(!e||!e.background)return;let s=e.background.service_worker;if(s)return Pi.default.join(t,s)}var Gs=a(require("path"));function ki(t,e){if(!e||!e.content_scripts)return{"content_scripts/content-0":void 0};let s=i=>{if(i.js?.length!==0)return i.js?.map(o=>Gs.default.join(t,o))},r=i=>{if(i.css?.length!==0)return i.css?.map(o=>Gs.default.join(t,o))},n={};for(let[i,o]of e.content_scripts.entries()){let c=s(o),l=r(o);n[`content_scripts/content-${i}`]=[...(c||[]).filter(p=>p!=null),...(l||[]).filter(p=>p!=null)]}return n}var $i=a(require("path"));function Fi(t,e){if(!e||!e.user_scripts||!e.user_scripts.api_script)return;let s=e.user_scripts.api_script;return $i.default.join(t,s)}function Oe(t,e){return{"background/scripts":_i(t,e),"background/service_worker":Ei(t,e),...ki(t,e),"user_scripts/api_script":Fi(t,e)}}function Ci(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=ji.default.dirname(t),r=require(t),n=P(r,e||"chrome");return{html:je(s,n),icons:gi(s,n),json:wi(s,n),locales:vi(s,t),scripts:Oe(s,n),web_accessible_resources:Ci(n)}}var pe=a(require("path"));var vt=a(require("fs")),Ie=a(require("path"));function St(t,e){if(!vt.default.existsSync(t)||!vt.default.statSync(t).isDirectory())return[];let s=[];function r(n){let i=vt.default.readdirSync(n,{withFileTypes:!0});for(let o of i){let c=Ie.default.join(n,o.name);o.isDirectory()?r(c):o.isFile()&&e(o.name)&&s.push(c)}}return r(t),s}function _t(t,e,s=""){return!e||!e.length?{}:e.reduce((r,n)=>{let i=Ie.default.extname(n),o=Ie.default.basename(n,i),c=s?`${s}/${o}`:Ie.default.relative(t,n);return{...r,[c]:n}},{})}function Di({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:St(s.public,()=>!0),pages:St(s.pages,i=>i.endsWith(".html")),scripts:St(s.scripts,i=>[".js",".mjs",".jsx",".mjsx",".ts",".mts",".tsx",".mtsx"].includes(pe.default.extname(i)))};return{public:_t(e,r.public),pages:_t(e,r.pages,"pages"),scripts:_t(e,r.scripts,"scripts")}}var Li=a(require("fs")),fe=a(require("@rspack/core"));var Pt=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=Li.default.readFileSync(r,"utf-8");n=JSON.parse(c),"$schema"in n&&delete n.$schema}catch(c){s.errors.push(new fe.default.WebpackError(qr(c)));return}let i=JSON.stringify(n,null,2);s.emitAsset("manifest.json",new fe.sources.RawSource(i))})})}};var Me=require("@rspack/core");function Oi(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 Ii=a(require("path"));var Et=t=>Ii.default.basename(t);function Mi(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/${Et(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/${Et(r)}`,r,e)]))},...t.browser_action.theme_icons&&{theme_icons:t.browser_action.theme_icons.map(s=>({...s,...s.light&&{light:h(`browser_action/${Et(s.light)}`,s.light,e)},...s.dark&&{dark:h(`browser_action/${Et(s.dark)}`,s.dark,e)}}))}}}}function Ai(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 Ri(t,e){return{...Oi(t,e),...Mi(t,e),...Ai(t,e)}}var Ti=a(require("path"));var Ni=t=>Ti.default.basename(t);function Ui(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/${Ni(t.action.default_icon)}`,t.action.default_icon,e):Object.fromEntries(Object.entries(t.action.default_icon).map(([s,r])=>[s,h(`action/${Ni(r)}`,r,e)]))}}}}function Bi(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 kt(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 qi(t,e){return{...Ui(t,e),...Bi(t,e),...kt(t,e)}}function Wi(t,e){return t.background&&t.background.page&&{background:{...t.background,...t.background.page&&{page:h("background/page.html",t.background.page,e)}}}}function Ji(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 zi(t,e){return t.content_scripts&&{content_scripts:t.content_scripts.map((s,r)=>{let n=[...new Set(s.js)],i=[...new Set(s.css)];return{...s,js:[...n.map(o=>h(`content_scripts/content-${r}.js`,o,e))],css:[...i.map(o=>h(`content_scripts/content-${r}.css`,o,e))]}})}}function Hi(t,e){return t.devtools_page&&{devtools_page:h("devtools_page.html",t.devtools_page,e)}}var Vi=a(require("path"));var wl=t=>Vi.default.basename(t);function Xi(t,e){return t.icons&&{icons:Object.fromEntries(Object.entries(t.icons).map(([s,r])=>[s,h(`icons/${wl(r)}`,r,e)]))}}function Gi(t,e){return t.options_page&&{options_page:h("options_ui/page.html",t.options_page,e)}}function Zi(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 Yi=a(require("path"));var Ki=t=>Yi.default.basename(t);function Qi(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/${Ki(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/${Ki(r)}`,r,e)]))}}}}function eo(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 to=a(require("path"));var vl=t=>to.default.basename(t);function so(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/${vl(t.sidebar_action.default_icon)}`,t.sidebar_action.default_icon,e)}}}}function ro(t,e){return t.storage&&{storage:{...t.storage.managed_schema&&{managed_schema:h("storage/managed_schema.json",t.storage.managed_schema,e)}}}}var no=a(require("path"));var Sl=t=>no.default.basename(t);function io(t,e){return t.theme&&{theme:{...t.theme,...t.theme.images&&{images:{...t.theme.images,theme_frame:h(`theme/images/${Sl(t.theme.images.theme_frame)}`,t.theme.images.theme_frame,e)}}}}}function oo(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 ao(t){return t.web_accessible_resources&&t.web_accessible_resources.length&&{web_accessible_resources:t.web_accessible_resources}}function co(t,e){return{...Wi(t,e),...Ji(t,e),...zi(t,e),...Hi(t,e),...Xi(t,e),...Gi(t,e),...Zi(t,e),...Qi(t,e),...eo(t,e),...kt(t,e),...so(t,e),...ro(t,e),...io(t,e),...oo(t,e),...ao(t)}}function Zs(t,e,s){let r=e||require(t);return JSON.stringify({...r,...co(r,s),...Ri(r,s),...qi(r,s)},null,2)}var $t=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:Me.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},()=>{if(s.errors.length>0)return;let r=W(s,this.manifestPath),n=Zs(this.manifestPath,r,this.excludeList||{}),i={...r,...JSON.parse(n)};e.options.mode==="development"&&i.content_scripts&&(i.content_scripts=this.applyDevOverrides(i));let o=JSON.stringify(i,null,2),c=new Me.sources.RawSource(o);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=Zs(this.manifestPath,r,this.excludeList||{}),i={...r,...JSON.parse(n)},o=JSON.stringify(i,null,2),c=new Me.sources.RawSource(o);s.updateAsset("manifest.json",c)})})}};var lo=a(require("fs")),Ft=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=>{lo.default.existsSync(n)&&(r.has(n)||(r.add(n),s.fileDependencies.add(n)))})})}};var po=a(require("fs")),fo=a(require("path")),jt=a(require("@rspack/core"));var Ct=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"],i=[".js",".ts",".jsx",".tsx",".mjs",".cjs"],o=".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=fo.default.extname(m),b=require(this.manifestPath),S=P(b,"chrome").name||"Extension.js";if(!po.default.existsSync(m)){if(m.startsWith("/"))return;let E=ie(S,l,m);r.includes(g)?e.errors.push(new s(E)):n.includes(g)?e.errors.push(new s(E)):i.includes(g)?e.errors.push(new s(E)):g===o?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:jt.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COUNT},()=>{let r=jt.default.WebpackError;this.handleErrors(s,r)})})}};var uo=a(require("fs")),Lt=a(require("@rspack/core"));var Dt=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 i=s.options.context||"",o=`${i}/package.json`;if(!uo.default.existsSync(o)){r();return}let c=require(this.manifestPath),l=P(c,this.browser),p=this.flattenAndSort(Object.values(je(i,l))),u=this.flattenAndSort(Object.values(Oe(i,l)));s.hooks.thisCompilation.tap("manifest:throw-if-recompile-is-needed",m=>{m.hooks.processAssets.tap({name:"manifest:check-manifest-files",stage:Lt.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COMPATIBILITY},()=>{let b=m.getAsset("manifest.json")?.source.source().toString(),_=JSON.parse(b||"{}"),S=this.flattenAndSort(Object.values(je(i,_))),E=this.flattenAndSort(Object.values(Oe(i,_)));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=Wr(T,A);m.errors.push(new Lt.default.WebpackError(_e))}})})}r()})}};var Ot=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 Pt({manifestPath:this.manifestPath}).apply(e),new Ct({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new $t({manifestPath:this.manifestPath,excludeList:this.excludeList}).apply(e),new Ft([this.manifestPath]).apply(e),new Dt({manifestPath:this.manifestPath,browser:this.browser,includeList:this.includeList}).apply(e)}};var tr=a(require("path"));var Ys=a(require("fs")),At=a(require("@rspack/core")),bo=require("@rspack/core");var mo=a(require("fs")),me=a(require("path")),go=a(require("parse5-utils"));var ue=a(require("parse5-utils"));function It(t){try{return new URL(t),!0}catch{return!1}}function Ae(t,e){let{childNodes:s=[]}=t;for(let r of s)if(r.nodeName==="script"){let n=ue.default.getAttribute(r,"src");if(!n||It(n))continue;e({filePath:n,childNode:r,assetType:"script"})}else if(r.nodeName==="link"){let n=ue.default.getAttribute(r,"href"),i=ue.default.getAttribute(r,"rel");if(!n||It(n))continue;e(i==="dns-prefetch"||i==="icon"||i==="manifest"||i==="modulepreload"||i==="preconnect"||i==="prefetch"||i==="preload"||i==="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||It(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||It(n))continue;e({filePath:n,childNode:r,assetType:"staticSrc"})}else Ae(r,e)}function L(t,e){let s={css:[],js:[],static:[]};if(!t)return s;let r=e||mo.default.readFileSync(t,{encoding:"utf8"}),n=go.default.parse(r),i=(o,c)=>me.default.join(me.default.dirname(o),c.startsWith("/")?me.default.relative(me.default.dirname(o),c):c);for(let o of n.childNodes)if(o.nodeName==="html"){for(let c of o.childNodes)(c.nodeName==="head"||c.nodeName==="body")&&Ae(c,({filePath:l,assetType:p})=>{let u=i(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 ho(t,e,s){let r=Object.keys(t).find(i=>{let o=t[i];return t[i]===e||L(o)?.js?.includes(e)||L(o)?.css?.includes(e)})||"",n=Ks(e);return r?`/${r.replace(n,"")}${s}`:`${e.replace(n,"")}${s}`}function Ks(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 yo(t,e){return Object.values(e||{}).some(s=>s===t)}var Mt=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",i=>{i.hooks.processAssets.tap({name:"AddAssetsToCompilationPlugin",stage:At.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{let o=Object.entries(this.includeList||{});for(let c of o){let[l,p]=c;if(p){if(!Ys.default.existsSync(p)){let m=ie(n,l,p);i.warnings.push(new At.default.WebpackError(m));return}let u=Ys.default.readFileSync(p,"utf8");if(!$(p,this.excludeList)){let m=new bo.sources.RawSource(u),g=z(l,".html");i.emitAsset(g,m)}}}})})}};var Rt=a(require("fs")),de=a(require("path")),Y=a(require("@rspack/core"));var Nt=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[i,o]=n,c=i+".html";if(o){let l=s.getAsset(c);if(l){let p=l.source.source().toString(),u=L(o,p)?.static,m=[...new Set(u)];for(let g of m)if(!g.startsWith("/")){if(!Rt.default.existsSync(g)&&!yo(g,this.includeList)&&!de.default.basename(g).startsWith("#")){let A=nt(o,g);g.startsWith("/")||s.warnings.push(new Y.default.WebpackError(A));return}let b=Rt.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=L(g),A=[...E?.js||[],...E?.css||[],...E?.static||[]];s.emitAsset(S,_),A.forEach(T=>{let _e=Rt.default.readFileSync(T),q=new Y.sources.RawSource(_e),jr=de.default.join("assets",de.default.basename(T));s.getAsset(jr)||s.emitAsset(jr,q)})}else s.emitAsset(S,_)}}}}})})}};var xo=a(require("path")),Qs=a(require("fs"));var Tt=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,i]=r;if(i){if(!Qs.default.existsSync(i))return;let o=L(i),c=o?.js||[],l=o?.css||[],p=[...c,...l].filter(u=>!$(u,this.excludeList));if(e.options.mode==="development"){let u=xo.default.resolve(__dirname,"minimum-script-file.mjs");p.push(u)}Qs.default.existsSync(i)&&($(i,this.excludeList)||(e.options.entry={...e.options.entry,[n]:{import:p}}))}}}};var Bt=require("@rspack/core");var er=a(require("fs")),H=a(require("path")),O=a(require("parse5-utils"));function wo(t,e,s,r,n){let i=er.default.readFileSync(s,{encoding:"utf8"}),o=O.default.parse(i),c=!!t.getAsset(e+".css"),l=!1;for(let p of o.childNodes)if(p.nodeName==="html"){for(let u of p.childNodes){if((u.nodeName==="head"||u.nodeName==="body")&&Ae(u,({filePath:m,childNode:g,assetType:b})=>{let _=H.default.dirname(s),S=H.default.resolve(_,m),E=Ks(S),A=$(H.default.resolve(_,m),n),T=H.default.join("/",H.default.normalize(m)),_e=sn(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=ho(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));er.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(o)}}var Ut=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:Bt.Compilation.PROCESS_ASSETS_STAGE_DERIVED},()=>{if(s.errors.length>0)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[i,o]=n;if(o){let c=wo(s,i,o,r,this.excludeList||{});if(!$(o,this.excludeList)&&c){let l=new Bt.sources.RawSource(c),p=z(i,".html");s.updateAsset(p,l)}}}})})}};var vo=a(require("fs")),So=require("@rspack/core");var qt=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:So.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[,i]=n;if(i){let o=L(i),c=new Set(s.fileDependencies);if(vo.default.existsSync(i)){let l=[i,...o?.static||[]];for(let p of l)c.has(p)||(c.add(p),p===i&&s.fileDependencies.add(p))}}}})})}};var _o=a(require("fs"));var Wt=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(!_o.default.existsSync(n)){let i=require(this.manifestPath),c=P(i,"chrome").name||"Extension.js";console.error(ie(c,s,n)),process.exit(1)}this.initialHtmlAssets[n]={js:L(n)?.js||[],css:L(n)?.css||[]}}})}apply(e){let s=this.includeList||{};this.storeInitialHtmlAssets(s),e.hooks.make.tapAsync("html:throw-if-recompile-is-needed",(r,n)=>{let i=e.modifiedFiles||new Set,o=Array.from(i)[0];if(o&&this.initialHtmlAssets[o]){let c=L(o)?.js||[],l=L(o)?.css||[],{js:p,css:u}=this.initialHtmlAssets[o];(this.hasEntriesChanged(l,u)||this.hasEntriesChanged(c,p))&&console.log(Gr(o))}n()})}};var Po=a(require("fs")),Eo=require("@rspack/core");function Pl(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 i of Object.entries(t)){let[,o]=i;if(o){if(!Po.default.existsSync(o))return null;let c=L(o),l=c?.js?.filter(u=>!u.startsWith("/"))||[],p=c?.css?.filter(u=>!u.startsWith("/"))||[];if(l.includes(n)||p.includes(n)){let u=nt(o,n);return new Eo.WebpackError(u)}}}return null}var Jt=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 i=Pl(this.includeList||{},r);i&&(s.errors[n]=i)})})})}};var zt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Mt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Nt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),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),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[tr.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(tr.default.join(__dirname,"ensure-hmr-for-scripts.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}}]}),new qt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Wt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Jt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var Re=a(require("path"));var sr=a(require("fs")),ko=a(require("path"));function $o(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>{let i=sr.default.existsSync(n)&&!$(n,e),o=ko.default.extname(n);return i&&(o===".js"||o===".mjs"||o===".jsx"||o===".ts"||o===".tsx")})}function Fo(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>sr.default.existsSync(n)&&!$(n,e)&&(n.endsWith(".css")||n.endsWith(".scss")||n.endsWith(".sass")||n.endsWith(".less")))}var Ht=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,i]of Object.entries(s)){let o=$o(i,this.excludeList),c=Fo(i,this.excludeList),l=[...o,...c];(c.length||o.length)&&(r[n]={import:l})}e.options.entry={...e.options.entry,...r}}};var Q=require("@rspack/core"),El=['var isBrowser = !!(() => { try { return browser.runtime.getURL("/") } catch(e) {} })()','var isChrome = !!(() => { try { return chrome.runtime.getURL("/") } catch(e) {} })()'],kl=[...El,`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 } }`],Vt=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 i=$l();return r.addRuntimeModule(n,i),!0})})}};function $l(){class t extends Q.RuntimeModule{constructor(){super("publicPath",Q.RuntimeModule.STAGE_BASIC)}generate(){let s=this.compilation?.outputOptions.publicPath;return Q.Template.asString([...kl,`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 Xt=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(Yr()),process.exit(1))}};var Gt=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 Ht({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:[Re.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Re.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 Vt().apply(e),new Xt({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:[Re.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Re.default.join(__dirname,"deprecated-shadow-root.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList||{},excludeList:this.excludeList||{}}}]})}};var Te=a(require("path")),Ue=a(require("fs")),V=a(require("@rspack/core"));var ge=a(require("path")),Ne=a(require("fs"));function rr(t){let e=ge.default.join(ge.default.dirname(t),"_locales"),s=[];if(Ne.default.existsSync(e))for(let r of Ne.default.readdirSync(e)){let n=ge.default.join(e,r);if(n&&Ne.default.statSync(n).isDirectory())for(let i of Ne.default.readdirSync(n))s.push(ge.default.join(ge.default.dirname(t),"_locales",r,i))}return s}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("locales:module",s=>{s.hooks.processAssets.tap({name:"locales:module",stage:V.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(!Ue.default.existsSync(this.manifestPath)){let n=require(this.manifestPath),o=P(n,"chrome").name||"Extension.js";s.errors.push(new V.default.WebpackError(Br(o,this.manifestPath)));return}if(s.errors.length>0)return;let r=rr(this.manifestPath);for(let n of Object.entries(r||[])){let[i,o]=n,c=o;if(c){if(Te.default.extname(c)!==".json")continue;if(!Ue.default.existsSync(c)){s.warnings.push(new V.default.WebpackError(it(i,c)));return}let l=Ue.default.readFileSync(c),p=new V.sources.RawSource(l),u=e.options.context||Te.default.dirname(this.manifestPath);if(!$(c,this.excludeList)){let m=Te.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=rr(this.manifestPath);for(let n of Object.entries(r||[])){let[,i]=n;if(i){let o=new Set(s.fileDependencies),c=r||[];for(let l of c)Ue.default.existsSync(l)&&Te.default.extname(l)===".json"&&(o.has(l)||(o.add(l),s.fileDependencies.add(l)))}}})})}};var Kt=a(require("fs")),ee=a(require("@rspack/core"));var 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("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[i,o]=n,c=Array.isArray(o)?o:[o];for(let l of c)if(l&&!$(l,this.excludeList)){if(!Kt.default.existsSync(l)){s.warnings.push(new ee.default.WebpackError(it(i,l)));return}let p=Kt.default.readFileSync(l),u=new ee.sources.RawSource(p);s.emitAsset(i+".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[,i]=n,o=Array.isArray(i)?i:[i];for(let c of o)if(c){let l=new Set(s.fileDependencies);$(c,this.excludeList)||Kt.default.existsSync(c)&&(l.has(c)||(l.add(c),s.fileDependencies.add(c)))}}})})}};var nr=a(require("fs")),Co=a(require("path")),es=require("@rspack/core");var Qt=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:es.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER},()=>{if(s.errors.length>0)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[i,o]=n;if(o===void 0)continue;let c=Array.isArray(o)?typeof o[0]=="string"?o:o.map(Object.values).flat():[o];for(let l of c)if(l){if(!nr.default.existsSync(l))continue;if(!$(l,this.excludeList)){let p=nr.default.readFileSync(l),u=new es.sources.RawSource(p),m=Co.default.basename(l),b=`${i.endsWith("theme_icons")?i.replace("theme_icons",""):i}/${m}`;s.emitAsset(b,u)}}}})})}};var jo=a(require("fs")),Do=require("@rspack/core"),ts=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:Do.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[,i]=n,o=Array.isArray(i)?typeof i[0]=="string"?i:i.map(Object.values).flat():[i];for(let c of o)if(c){let l=new Set(s.fileDependencies);jo.default.existsSync(c)&&(l.has(c)||(l.add(c),s.fileDependencies.add(c)))}}})})}};var ss=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Qt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new ts({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var ns=require("@rspack/core");function Lo(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 rs=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||[],i=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:Lo(m)})}else g.forEach(b=>{i.includes(b)||i.push(b)})}}r.manifest_version===3?n.length>0&&(r.web_accessible_resources=n):i.length>0&&(r.web_accessible_resources=Array.from(new Set(i)));let o=JSON.stringify(r,null,2),c=new ns.sources.RawSource(o);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:ns.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 i=s.chunkGraph,o={};s.entrypoints.forEach((c,l)=>{if(r.includes(l)){let p=[];c.chunks.forEach(u=>{Array.from(i.getChunkModulesIterable(u)).forEach(g=>{i.getModuleChunks(g).forEach(b=>{b.auxiliaryFiles.forEach(_=>{p.includes(_)||p.push(_)})})})}),o[l]=p}}),this.generateManifestPatches(s,o)})})}};var I=a(require("fs")),M=a(require("path")),Oo=a(require("chokidar")),is=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 i=M.default.join(e,n),o=M.default.join(s,n);I.default.statSync(i).isDirectory()?this.copyFolder(i,o):this.copyFile(i,o)})}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 i=M.default.join(n,"/");I.default.existsSync(i)||I.default.mkdirSync(i,{recursive:!0}),I.default.existsSync(r)&&this.copyFolder(r,i)}),e.options.mode!=="production"&&e.hooks.afterPlugins.tap("special-folders:copy-public-folder",()=>{let i=M.default.join(s,"public"),o=Oo.default.watch(i,{ignoreInitial:!0});o.on("add",c=>{let l=M.default.join(n,M.default.relative(s,c));this.copyFile(c,l)}),o.on("change",c=>{let l=M.default.join(n,M.default.relative(s,c));this.copyFile(c,l)}),o.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",()=>{o.close().catch(console.error)})}))}};var U=a(require("path")),ir=a(require("chokidar"));var os=class{manifestPath;constructor(e){this.manifestPath=e}throwCompilationError(e,s,r){let n=U.relative(process.cwd(),s),c=Jr(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"),i=ir.watch(r,{ignoreInitial:!0}),o=ir.watch(n,{ignoreInitial:!0}),c=e.options.resolve?.extensions;i.on("add",l=>{l.endsWith(".html")&&this.throwCompilationError("pages",l,!0)}),i.on("unlink",l=>{l.endsWith(".html")&&this.throwCompilationError("pages",l)}),o.on("add",l=>{c?.includes(U.extname(l))&&this.throwCompilationError("scripts",l,!0)}),o.on("unlink",l=>{c?.includes(U.extname(l))&&this.throwCompilationError("scripts",l)}),e.hooks.watchClose.tap("WarnUponFolderChanges",()=>{i.close().catch(console.error),o.close().catch(console.error)})})}};var as=class{static name="plugin-special-folders";options;constructor(e){this.options=e}apply(e){let{manifestPath:s}=this.options;new is({manifestPath:s}).apply(e),e.options.mode==="development"&&e.options.watchOptions&&new os(s).apply(e)}};var cs=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=Di({manifestPath:s,browser:this.browser});new Ot({browser:this.browser,manifestPath:s,includeList:{...r.html,...r.icons,...r.json,...r.scripts},excludeList:n.public}).apply(e),new zt({manifestPath:s,includeList:{...r.html,...n.pages},excludeList:{...n.public,...n.scripts}}).apply(e),new Gt({manifestPath:s,browser:this.browser,includeList:{...r.scripts,...n.scripts},excludeList:{...n.public,...n.pages}}).apply(e),new Zt({manifestPath:s}).apply(e),new Yt({manifestPath:s,includeList:r.json,excludeList:n.public}).apply(e),new ss({manifestPath:s,includeList:r.icons,excludeList:n.public}).apply(e),new rs({manifestPath:s,includeList:{...r.scripts,...n.scripts},excludeList:n.public}).apply(e),new as({manifestPath:s}).apply(e)}};var We=a(require("path"));var Io=a(require("path")),Mo=a(require("ws"));function ls(t,e){t.clients.forEach(s=>{s.readyState===Mo.default.OPEN&&s.send(JSON.stringify(e))})}function Ao(t,e,s){if(!s||!e)return;let r=le({manifestPath:e}).locales,n=le({manifestPath:e}).scripts,i=le({manifestPath:e}).json;if(!t){process.env.EXTENSION_ENV==="development"&&console.error("WebSocket server is not running.");return}Io.default.basename(s)==="manifest.json"&&ls(t,{changedFile:"manifest.json"}),r?.forEach(o=>{o.includes(s)&&ls(t,{changedFile:"_locales"})}),Object.entries(n).forEach(([o,c])=>{let l=Array.isArray(c)?c:[c];Object.values(l).flatMap(u=>u).includes(s)&&o==="background/service_worker"&&ls(t,{changedFile:"service_worker"})}),Object.entries(i).forEach(([o,c])=>{c?.includes(s)&&o==="declarative_net_request"&&ls(t,{changedFile:"declarative_net_request"})})}var ar=a(require("path")),Uo=a(require("fs")),qe=a(require("ws"));var Be=a(require("path")),Fl=a(require("http")),No=a(require("https")),or=a(require("fs"));var Ro=t=>{if(!or.default.existsSync(t))return;let e=Be.default.basename(t);return or.default.readFileSync(Be.default.join(__dirname,"certs",e))};function To(t){let e={key:Ro(Be.default.join(__dirname,"certs","localhost.key")),cert:Ro(Be.default.join(__dirname,"certs","localhost.cert"))},s=No.default.createServer(e,(r,n)=>{n.writeHead(200),n.end()});return s.on("error",r=>{throw console.error(Kr(t)),new Error(r.message)}),{server:s,port:t}}function Cl(t,e){switch(e){case"chrome":return new qe.default.Server({host:"localhost",port:t});case"edge":return new qe.default.Server({host:"localhost",port:t+1});case"firefox":return new qe.default.Server({server:To(t+2).server});default:return new qe.default.Server({host:"localhost",port:8888})}}async function Bo(t,e){let s=t.options.context||"",r=require(ar.default.join(s,"manifest.json")),i=Cl(8e3,e.browser);if(i.on("connection",o=>{o.send(JSON.stringify({status:"serverReady"})),o.on("error",c=>{console.log(Vr(c))}),o.on("message",c=>{let l=JSON.parse(c.toString());if(l.status==="clientReady"){let p=require(ar.default.join(s,"manifest.json"));setTimeout(()=>{console.log(Ns(p,e.browser,l)),console.log("")},2500),rn(e.browser)&&setTimeout(()=>{console.log(Hr(e.browser))},5e3)}})}),e.browser==="firefox"||e.browser==="gecko-based"){let o=nn(r);console.log(Ns(r,e.browser,o)),console.log(""),Uo.default.existsSync(rt)||(console.log(Zr()),console.log(""))}return i}var qo=a(require("path")),cr=a(require("fs"));function Wo(t,e){let s=qo.default.resolve(__dirname,`./extensions/${t}-manager-extension/reload-service.js`);try{let r=cr.default.readFileSync(s,"utf8"),n=r.replace(/__RELOAD_PORT__/g,e.toString());n!==r&&cr.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 Je=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;Wo(this.browser,this.port);let s=await Bo(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 o=(r.modifiedFiles||new Set).values().next().value;if(!o){n();return}let c=We.default.relative(We.default.dirname(this.manifestPath),o),l=We.default.relative(process.cwd(),We.default.dirname(o));process.env.EXTENSION_ENV==="development"&&console.info(`\u25BA\u25BA Updated file \`${c}\` (relative to ${l})`),this.manifestPath&&Ao(s,this.manifestPath,o),n()})}};var lr=a(require("path"));function Jo(t,e,s){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[lr.default.dirname(s)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:lr.default.resolve(__dirname,"./inject-chromium-client-loader"),options:{manifestPath:s,browser:e}}]})}var pr=a(require("path"));function zo(t,e,s){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[pr.default.dirname(s)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:pr.default.resolve(__dirname,"./inject-firefox-client-loader"),options:{manifestPath:s,browser:e}}]})}var fs=require("@rspack/core");var fr=a(require("content-security-policy-parser"));function Ho(t){let e="";for(let s in t)e+=`${s} ${t[s].join(" ")}; `;return e.trim()}function Vo(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,fr.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 Ho(r)}function Xo(t){let e=t.content_security_policy;if(!e)return{extension_pages:"script-src 'self'; object-src 'self';"};let s=(0,fr.default)(e.extension_pages||""),r={};for(let o in r)s.get(o)||s.set(o,r[o]);let n=Object.fromEntries(s.entries());return{extension_pages:Ho(n)}}function Go(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 Zo(t){let e=["/*.json","/*.js","/*.css"];return[...t.web_accessible_resources||[],{resources:e,matches:["<all_urls>"]}]}function ur(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 mr(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 ps=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?Xo(s):Vo(s),...s.manifest_version===3?s.permissions?{permissions:[...new Set(["scripting",...s.permissions])]}:{permissions:["scripting"]}:{},...ur(s,this.browser),...mr(s),web_accessible_resources:s.manifest_version===3?Zo(s):Go(s)},n=JSON.stringify(r,null,2),i=new fs.sources.RawSource(n);e.getAsset("manifest.json")&&e.updateAsset("manifest.json",i)}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:fs.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 dr=a(require("fs")),he=a(require("path")),Ko=a(require("webpack-target-webextension"));var us=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"),i=he.default.dirname(this.manifestPath),o=P(r,s);if(s==="firefox"||s==="gecko-based"){o=r.background;let c=o?.scripts;if(c&&c.length>0){let l=he.default.join(i,c[0]);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/script",n)}else if(o=r.background,r.manifest_version===3){let c=o?.service_worker;if(c){let l=he.default.join(i,c);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/service_worker",n)}else if(r.manifest_version===2){let c=o?.scripts;if(c&&c.length>0){let l=he.default.join(i,c[0]);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/script",n)}}ensureFileExists(e){if(!dr.default.existsSync(e)&&this.manifestPath){let s=require(this.manifestPath),n=P(s,"chrome").name||"Extension.js",i=Xr(n,e);throw console.error(i),new Error(i)}}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{pageEntry:"background/script"};if(e.manifest_version===3)return{serviceWorkerEntry:"background/service_worker"};if(e.manifest_version===2)return{pageEntry:"background/script"}}return{pageEntry:"background"}}apply(e){if(!this.manifestPath||!dr.default.lstatSync(this.manifestPath).isFile())return;let s=require(this.manifestPath),r=P(s,this.browser);this.handleBackground(e,this.browser,r),new Ko.default({background:this.getEntryName(r),weakRuntimeCheck:!0}).apply(e)}};var gr=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){(Z.includes(this.browser)||this.browser==="chromium-based")&&Jo(e,this.browser,this.manifestPath),(this.browser==="firefox"||this.browser==="gecko-based")&&zo(e,this.browser,this.manifestPath),new ps({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new us({manifestPath:this.manifestPath,browser:this.browser}).apply(e)}},Yo=gr;var ms=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 Je({manifestPath:this.manifestPath,browser:this.browser,port:this.port,stats:this.stats}).apply(e),e.options.mode==="development"&&new Yo({manifestPath:this.manifestPath,browser:this.browser,autoReload:this.autoReload,stats:this.stats}).apply(e)}};var Qo=a(require("@rspack/core")),ds=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser}apply(e){new Qo.default.ProvidePlugin({browser:require.resolve("webextension-polyfill")}).apply(e)}};var hs=require("@rspack/core");var gs=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:hs.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE},()=>{let r=W(s,this.manifestPath),n=this.patchManifest(r),i=new hs.sources.RawSource(n);s.updateAsset("manifest.json",i)})})}};var ys=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 ds({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e),new gs({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e)}};var xc=a(require("os")),Sr=a(require("path"));var $a=a(require("fs")),Fa=a(require("path")),Ca=require("child_process");var be=a(require("path")),He=a(require("fs"));var ea={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}},ta={...ea},sa={...ea};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 bs(t){let e=ye(t);return`${w(t,"info")} Creating new ${e} user profile...`}function ra(t){return`${w(t,"success")} Instance already running.`}function na(t){return`${w(t,"info")} Instance exited.`}function xs(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 ze(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 it=class{static name="plugin-compilation";manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){new Qr.default().apply(e),new tt({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new st().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(Ar(o,n,s)),r()})}};var _n=a(require("path"));var an=a(require("path")),cn=a(require("fs"));var ie=a(require("path")),at=a(require("fs")),Ts=require("child_process"),tn=require("package-manager-detector");function sn(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")),Us(o||"")}function Us(t){return t.replace(/\\/g,"/")}function $(t,e={}){if(!e)return!1;let s=ie.default.normalize(Us(t));return Object.values(e).some(n=>typeof n!="string"?!1:Us(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 en(){return process.env.npm_execpath?"npm":!1}async function j(t,e){try{let s=await(0,tn.detect)();console.log(Rr(t,s?.name||"unknown"));let r="";s?.name==="yarn"?r=`yarn --silent add ${e.join(" ")} --cwd ${__dirname} --optional`:s?.name==="npm"||en()?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,Ts.execSync)(r,{stdio:"inherit"}),await new Promise(n=>setTimeout(n,2e3)),process.env.EXTENSION_ENV==="development"&&(console.log(Nr(t)),s?.name==="yarn"?r="yarn install --silent > /dev/null 2>&1":s?.name==="npm"||en()?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,Ts.execSync)(r,{stdio:"inherit"})),console.log(Tr(t))}catch(s){console.error(Ur(t,s))}}function ct(t){let e=ie.default.join(t,"package.json");if(!at.default.existsSync(e))return!1;let s=JSON.parse(at.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 rn(t){return!at.default.existsSync(ie.default.resolve(__dirname,`run-${t}-profile`))}function nn(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 on=!1;function Pe(t){let e=an.default.join(t,"package.json");if(!cn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.sass,n=s.dependencies&&s.dependencies.sass;return r||n?(on||(process.env.EXTENSION_ENV==="development"&&console.log(v("SASS")),on=!0),!0):!1}async function ln(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","resolve-url-loader"]),console.log(D("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 fn=a(require("path")),un=a(require("fs"));var pn=!1;function Ee(t){let e=fn.default.join(t,"package.json");if(!un.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.less,n=s.dependencies&&s.dependencies.less;return r||n?(pn||(process.env.EXTENSION_ENV==="development"&&console.log(v("LESS")),pn=!0),!0):!1}async function mn(t){if(!Ee(t))return[];try{require.resolve("less-loader")}catch{await j("LESS",["less","less-loader","resolve-url-loader"]),console.log(D("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 ll(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 dn=!1;function pl(t){let e=R.default.join(t,"package.json");if(!N.default.existsSync(e))return!1;let r=!!ll(t);return r&&(dn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Stylelint")),dn=!0)),r}async function gn(t){return pl(t),[]}var xn=a(require("path"));var ke=a(require("path")),$e=a(require("fs"));var hn=!1;function lt(t){let e=ke.default.join(t,"package.json");if(!$e.default.existsSync(e))return!1;let s=fl(t),r=require(e),n=r.devDependencies&&r.devDependencies.tailwindcss,o=r.dependencies&&r.dependencies.tailwindcss,i=!!s&&!!(n||o);return i&&(hn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Tailwind")),hn=!0)),i}function fl(t){let e=ke.default.join(t,"tailwind.config.mjs"),s=ke.default.join(t,"tailwind.config.cjs"),r=ke.default.join(t,"tailwind.config.js");if($e.default.existsSync(e))return e;if($e.default.existsSync(s))return s;if($e.default.existsSync(r))return r}var ft=a(require("path")),pt=a(require("fs"));var ce=!1;function ul(t){let e=ft.default.join(t,"package.json");if(!pt.default.existsSync(e))return!1;let s=[".postcssrc",".postcssrc.json",".postcssrc.yaml",".postcssrc.yml",".postcssrc.js",".postcssrc.cjs","postcss.config.js","postcss.config.cjs"];if(pt.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}for(let r of s)if(pt.default.existsSync(ft.default.join(t,r)))return ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0;return lt(t)?(ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0):!1}async function yn(t,e){if(!ul(t))return{};try{require.resolve("postcss-loader")}catch{!Pe(t)&&!Ee(t)&&await j("PostCSS",["postcss","postcss-loader","postcss-preset-env"]),console.log(D("PostCSS")),process.exit(0)}return{loader:require.resolve("postcss-loader"),options:{postcssOptions:{ident:"postcss",config:ft.default.resolve(t,"postcss.config.js"),plugins:[[require.resolve("postcss-preset-env"),{autoprefixer:{flexbox:"no-2009"},stage:3}]].filter(Boolean)},sourceMap:e.mode==="development"}}}async function ut(t,e){let s=[];if(lt(t)||Pe(t)||Ee(t)){let r=await yn(t,e);r.loader&&s.push(r)}return e.loader&&s.push({loader:require.resolve("resolve-url-loader"),options:{sourceMap:e.mode==="development",root:t}},{loader:e.loader.startsWith("builtin:")?e.loader:require.resolve(e.loader),options:{...e.loaderOptions,sourceMap:e.mode==="development"}}),s.filter(Boolean)}var Bs=a(require("path")),bn=a(require("fs"));function mt(t,e){if(!t||!e)return!1;let s=JSON.parse(bn.default.readFileSync(e,"utf8"));for(let r of s.content_scripts||[])if(r.js?.length){for(let n of r.js)if(Bs.default.resolve(Bs.default.dirname(e),n)===t)return!0}return!1}async function wn(t,e){let s=xn.default.join(t,"manifest.json");return[{test:/\.css$/,type:"asset",generator:{filename:"content_scripts/[name].[contenthash:8].css"},issuer:r=>mt(r,s),use:await ut(t,{mode:e})}]}var vn=a(require("path"));async function Sn(t,e){let s=vn.default.join(t,"manifest.json");return[{test:/\.css$/,type:"css",issuer:r=>!mt(r,s),use:await ut(t,{mode:e})}]}var dt=class t{static name="plugin-css";manifestPath;constructor(e){this.manifestPath=e.manifestPath}async configureOptions(e){let s=e.options.mode||"development",r=_n.default.dirname(this.manifestPath),n=[],o=await gn(r);n.push(...o);let i=[...await wn(r,s),...await Sn(r,s)],c=await ln(r),l=await mn(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 gt=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 Ce=a(require("path"));var qs=a(require("path")),Ws=a(require("fs"));var Pn=!1,ml=[".babelrc",".babelrc.json",".babelrc.js",".babelrc.cjs","babel.config.json","babel.config.js","babel.config.cjs"];function dl(t){let e=qs.default.join(t,"package.json");if(!Ws.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies["babel-core"],n=s.dependencies&&s.dependencies["babel-core"],o=ml.some(i=>Ws.default.existsSync(qs.default.join(t,i)))||!!r||!!n;return o&&(Pn||(process.env.EXTENSION_ENV==="development"&&process.env.EXTENSION_ENV==="development"&&console.log(v("Babel")),Pn=!0)),o}async function En(t,e){dl(e)}var $n=a(require("path")),Fn=a(require("fs"));var kn=!1;function Fe(t){let e=$n.default.join(t,"package.json");if(!Fn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.preact,n=s.dependencies&&s.dependencies.preact;return(r||n)&&(kn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Preact")),kn=!0)),!!r||!!n}async function Cn(t){if(!Fe(t))return;try{require.resolve("@rspack/plugin-preact-refresh")}catch{await j("Preact",["@prefresh/core","@prefresh/utils","@rspack/plugin-preact-refresh","preact"]),console.log(D("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 Dn=a(require("path")),Ln=a(require("fs"));var jn=!1;function ht(t){let e=Dn.default.join(t,"package.json");if(!Ln.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.react,n=s.dependencies&&s.dependencies.react;return(r||n)&&(jn||(process.env.EXTENSION_ENV==="development"&&console.log(v("React")),jn=!0)),!!r||!!n}async function On(t){if(!ht(t))return;try{require.resolve("react-refresh")}catch{await j("React",["react-refresh","@rspack/plugin-react-refresh"]),console.log(D("React")),process.exit(0)}return{plugins:[new(require("@rspack/plugin-react-refresh"))({overlay:!1})],loaders:void 0,alias:void 0}}var Mn=a(require("path")),An=a(require("fs")),Rn=require("vue-loader");var In=!1;function gl(t){let e=Mn.default.join(t,"package.json");if(!An.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.vue,n=s.dependencies&&s.dependencies.vue;return(r||n)&&(In||(process.env.EXTENSION_ENV==="development"&&console.log(v("Vue")),In=!0)),!!r||!!n}async function Nn(t){if(!gl(t))return;try{require.resolve("vue-loader")}catch{await j("Vue",["vue-loader","vue-template-compiler","@vue/compiler-sfc"]),console.log(D("Vue")),process.exit(0)}let e=[{test:/\.vue$/,loader:require.resolve("vue-loader"),options:{experimentalInlineMatchResource:!0},include:t,exclude:/node_modules/}];return{plugins:[new Rn.VueLoaderPlugin],loaders:e,alias:void 0}}var yt=a(require("path")),bt=a(require("fs"));var Tn=!1;function K(t){let e=yt.default.join(t,"package.json");if(!bt.default.existsSync(e))return!1;let s=yl(t),r=require(e),n=r.devDependencies&&r.devDependencies.typescript,o=r.dependencies&&r.dependencies.typescript;return Tn||((n||o)&&(s?process.env.EXTENSION_ENV==="development"&&console.log(v("TypeScript")):(console.log(zr()),bl(t))),Tn=!0),!!s&&!!(n||o)}function hl(t,e){return{compilerOptions:{allowJs:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,jsx:ct(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 yl(t){let e=yt.default.join(t,"tsconfig.json");if(bt.default.existsSync(e))return e}function bl(t){bt.default.writeFileSync(yt.default.join(t,"tsconfig.json"),JSON.stringify(hl(t,{mode:"development"}),null,2))}var Bn=a(require("path")),qn=a(require("fs")),Wn=require("svelte-preprocess");var Un=!1;function xl(t){let e=Bn.default.join(t,"package.json");if(!qn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies?.svelte,n=s.dependencies&&s.dependencies.svelte;return(r||n)&&(Un||(process.env.EXTENSION_ENV==="development"&&console.log(v("Svelte")),Un=!0)),!!r||!!n}async function Jn(t,e){if(!xl(t))return;try{require.resolve("svelte-loader")}catch{await j("TypeScript",["typescript"]),await j("Svelte",["svelte-loader","svelte-preprocess"]),console.log(D("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,Wn.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 xt=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=Ce.default.dirname(this.manifestPath),n=await En(e,r),o=await On(r),i=await Cn(r),c=await Nn(r),l=await Jn(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:[Ce.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)&&(ht(r)||Fe(r)),jsx:!K(r)&&(ht(r)||Fe(r)),dynamicImport:!0},transform:{react:{development:s==="development",refresh:s==="development",runtime:"automatic",importSource:"react",...Fe(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:Ce.default.resolve(Ce.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 Do=a(require("path"));var zn=a(require("path"));function Hn(t,e){if(!e||!e.action||!e.action.default_popup)return;let s=e.action.default_popup;return zn.default.join(t,s)}var Vn=a(require("path"));function Xn(t,e){if(!e||!e.browser_action||!e.browser_action.default_popup)return;let s=e.browser_action.default_popup;return Vn.default.join(t,s)}var wt=a(require("path"));function Gn(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":wt.default.join(t,r)}}if(e.chrome_url_overrides.newtab){let r=e.chrome_url_overrides.newtab;s={"chrome_url_overrides/newtab":wt.default.join(t,r)}}if(e.chrome_url_overrides.bookmarks){let r=e.chrome_url_overrides.bookmarks;s={"chrome_url_overrides/bookmarks":wt.default.join(t,r)}}return s}var Zn=a(require("path"));function Kn(t,e){if(!e||!e.devtools_page)return;let s=e.devtools_page;return Zn.default.join(t,s)}var Js=a(require("path"));function Yn(t,e){if(e.options_page){let r=e.options_page;return Js.default.join(t,r)}if(!e||!e.options_ui||!e.options_ui.page)return;let s=e.options_ui.page;return Js.default.join(t,s)}var Qn=a(require("path"));function eo(t,e){if(!e||!e.page_action||!e.page_action.default_popup)return;let s=e.page_action.default_popup;return Qn.default.join(t,s)}var to=a(require("path"));function so(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}`]=to.default.join(t,o);return r}var ro=a(require("path"));function no(t,e){if(!e||!e.side_panel||!e.side_panel.default_path)return;let s=e.side_panel.default_path;return ro.default.join(t,s)}var oo=a(require("path"));function io(t,e){if(!e||!e.sidebar_action||!e.sidebar_action.default_panel)return;let s=e.sidebar_action.default_panel;return oo.default.join(t,s)}function je(t,e){return{"action/default_popup":Hn(t,e),"browser_action/default_popup":Xn(t,e),...Gn(t,e),devtools_page:Kn(t,e),"options_ui/page":Yn(t,e),"page_action/default_popup":eo(t,e),...so(t,e),"side_panel/default_path":no(t,e),"sidebar_action/default_panel":io(t,e)}}var zs=a(require("path"));function ao(t,e){if(!e||!e.action||!e.action.default_icon)return;if(typeof e.action.default_icon=="string")return zs.default.join(t,e.action.default_icon);let s=[];for(let r in e.action.default_icon)s.push(zs.default.join(t,e.action.default_icon[r]));return s}var Hs=a(require("path"));function co(t,e){if(!e||!e.browser_action||!e.browser_action.default_icon)return;let s=[];if(typeof e.browser_action.default_icon=="string")return Hs.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]=Hs.default.join(t,e.browser_action.default_icon[r]);s.push(n)}return s}var Vs=a(require("path"));function lo(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=Vs.default.join(t,s.light)),s.dark&&(s.dark=Vs.default.join(t,s.dark)),s.size&&delete s.size;return e.browser_action.theme_icons}}var po=a(require("path"));function fo(t,e){if(!e||!e.icons)return;let s=[];for(let r in e.icons){let n=po.default.join(t,e.icons[r]);s.push(n)}return s}var Xs=a(require("path"));function uo(t,e){if(!e||!e.page_action||!e.page_action.default_icon)return;if(typeof e.page_action.default_icon=="string")return Xs.default.join(t,e.page_action.default_icon);let s=[];for(let r in e.page_action.default_icon){let n=Xs.default.join(t,e.page_action.default_icon[r]);s.push(n)}return s}var mo=a(require("path"));function go(t,e){return!e||!e.sidebar_action||!e.sidebar_action.default_icon?void 0:mo.default.join(t,e.sidebar_action.default_icon)}function ho(t,e){return{action:ao(t,e),browser_action:co(t,e),"browser_action/theme_icons":lo(t,e),icons:fo(t,e),page_action:uo(t,e),sidebar_action:go(t,e)}}var yo=a(require("path"));function bo(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}`]=yo.default.join(t,n.path)}),s)}var xo=a(require("path"));function wo(t,e){if(!e||!e.storage||!e.storage.managed_schema)return;let s=e.storage.managed_schema;return xo.default.join(t,s)}function vo(t,e){return{...bo(t,e),"storage/managed_schema":wo(t,e)}}var De=a(require("path")),Le=a(require("fs"));function So(t,e){let s=De.default.join(De.default.dirname(e),"_locales"),r=[];if(Le.default.existsSync(s))for(let n of Le.default.readdirSync(s)){let o=De.default.join(s,n);if(o&&Le.default.statSync(o).isDirectory())for(let i of Le.default.readdirSync(o))r.push(De.default.join(t,"_locales",n,i))}return r}var _o=a(require("path"));function Po(t,e){if(!e||!e.background)return;let s=e.background.scripts;if(s)return s.map(r=>_o.default.join(t,r))}var Eo=a(require("path"));function ko(t,e){if(!e||!e.background)return;let s=e.background.service_worker;if(s)return Eo.default.join(t,s)}var Gs=a(require("path"));function $o(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=>Gs.default.join(t,i))},r=o=>{if(o.css?.length!==0)return o.css?.map(i=>Gs.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 Fo=a(require("path"));function Co(t,e){if(!e||!e.user_scripts||!e.user_scripts.api_script)return;let s=e.user_scripts.api_script;return Fo.default.join(t,s)}function Oe(t,e){return{"background/scripts":Po(t,e),"background/service_worker":ko(t,e),...$o(t,e),"user_scripts/api_script":Co(t,e)}}function jo(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=Do.default.dirname(t),r=require(t),n=P(r,e||"chrome");return{html:je(s,n),icons:ho(s,n),json:vo(s,n),locales:So(s,t),scripts:Oe(s,n),web_accessible_resources:jo(n)}}var pe=a(require("path"));var vt=a(require("fs")),Ie=a(require("path"));function St(t,e){if(!vt.default.existsSync(t)||!vt.default.statSync(t).isDirectory())return[];let s=[];function r(n){let o=vt.default.readdirSync(n,{withFileTypes:!0});for(let i of o){let c=Ie.default.join(n,i.name);i.isDirectory()?r(c):i.isFile()&&e(i.name)&&s.push(c)}}return r(t),s}function _t(t,e,s=""){return!e||!e.length?{}:e.reduce((r,n)=>{let o=Ie.default.extname(n),i=Ie.default.basename(n,o),c=s?`${s}/${i}`:Ie.default.relative(t,n);return{...r,[c]:n}},{})}function Lo({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:St(s.public,()=>!0),pages:St(s.pages,o=>o.endsWith(".html")),scripts:St(s.scripts,o=>[".js",".mjs",".jsx",".mjsx",".ts",".mts",".tsx",".mtsx"].includes(pe.default.extname(o)))};return{public:_t(e,r.public),pages:_t(e,r.pages,"pages"),scripts:_t(e,r.scripts,"scripts")}}var Oo=a(require("fs")),fe=a(require("@rspack/core"));var Pt=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=Oo.default.readFileSync(r,"utf-8");n=JSON.parse(c),"$schema"in n&&delete n.$schema}catch(c){s.errors.push(new fe.default.WebpackError(qr(c)));return}let o=JSON.stringify(n,null,2);s.emitAsset("manifest.json",new fe.sources.RawSource(o))})})}};var Me=require("@rspack/core");function Io(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 Mo=a(require("path"));var Et=t=>Mo.default.basename(t);function Ao(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/${Et(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/${Et(r)}`,r,e)]))},...t.browser_action.theme_icons&&{theme_icons:t.browser_action.theme_icons.map(s=>({...s,...s.light&&{light:h(`browser_action/${Et(s.light)}`,s.light,e)},...s.dark&&{dark:h(`browser_action/${Et(s.dark)}`,s.dark,e)}}))}}}}function Ro(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 No(t,e){return{...Io(t,e),...Ao(t,e),...Ro(t,e)}}var Uo=a(require("path"));var To=t=>Uo.default.basename(t);function Bo(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/${To(t.action.default_icon)}`,t.action.default_icon,e):Object.fromEntries(Object.entries(t.action.default_icon).map(([s,r])=>[s,h(`action/${To(r)}`,r,e)]))}}}}function qo(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 kt(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 Wo(t,e){return{...Bo(t,e),...qo(t,e),...kt(t,e)}}function Jo(t,e){return t.background&&t.background.page&&{background:{...t.background,...t.background.page&&{page:h("background/page.html",t.background.page,e)}}}}function zo(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 Ho(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 Vo(t,e){return t.devtools_page&&{devtools_page:h("devtools_page.html",t.devtools_page,e)}}var Xo=a(require("path"));var wl=t=>Xo.default.basename(t);function Go(t,e){return t.icons&&{icons:Object.fromEntries(Object.entries(t.icons).map(([s,r])=>[s,h(`icons/${wl(r)}`,r,e)]))}}function Zo(t,e){return t.options_page&&{options_page:h("options_ui/page.html",t.options_page,e)}}function Ko(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 Qo=a(require("path"));var Yo=t=>Qo.default.basename(t);function ei(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/${Yo(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/${Yo(r)}`,r,e)]))}}}}function ti(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 si=a(require("path"));var vl=t=>si.default.basename(t);function ri(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/${vl(t.sidebar_action.default_icon)}`,t.sidebar_action.default_icon,e)}}}}function ni(t,e){return t.storage&&{storage:{...t.storage.managed_schema&&{managed_schema:h("storage/managed_schema.json",t.storage.managed_schema,e)}}}}var oi=a(require("path"));var Sl=t=>oi.default.basename(t);function ii(t,e){return t.theme&&{theme:{...t.theme,...t.theme.images&&{images:{...t.theme.images,theme_frame:h(`theme/images/${Sl(t.theme.images.theme_frame)}`,t.theme.images.theme_frame,e)}}}}}function ai(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 ci(t){return t.web_accessible_resources&&t.web_accessible_resources.length&&{web_accessible_resources:t.web_accessible_resources}}function li(t,e){return{...Jo(t,e),...zo(t,e),...Ho(t,e),...Vo(t,e),...Go(t,e),...Zo(t,e),...Ko(t,e),...ei(t,e),...ti(t,e),...kt(t,e),...ri(t,e),...ni(t,e),...ii(t,e),...ai(t,e),...ci(t)}}function Zs(t,e,s){let r=e||require(t);return JSON.stringify({...r,...li(r,s),...No(r,s),...Wo(r,s)},null,2)}var $t=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:Me.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},()=>{if(s.errors.length>0)return;let r=W(s,this.manifestPath),n=Zs(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 Me.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=Zs(this.manifestPath,r,this.excludeList||{}),o={...r,...JSON.parse(n)},i=JSON.stringify(o,null,2),c=new Me.sources.RawSource(i);s.updateAsset("manifest.json",c)})})}};var pi=a(require("fs")),Ft=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=>{pi.default.existsSync(n)&&(r.has(n)||(r.add(n),s.fileDependencies.add(n)))})})}};var fi=a(require("fs")),ui=a(require("path")),jt=a(require("@rspack/core"));var Ct=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=ui.default.extname(m),b=require(this.manifestPath),S=P(b,"chrome").name||"Extension.js";if(!fi.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:jt.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COUNT},()=>{let r=jt.default.WebpackError;this.handleErrors(s,r)})})}};var mi=a(require("fs")),Lt=a(require("@rspack/core"));var Dt=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(!mi.default.existsSync(i)){r();return}let c=require(this.manifestPath),l=P(c,this.browser),p=this.flattenAndSort(Object.values(je(o,l))),u=this.flattenAndSort(Object.values(Oe(o,l)));s.hooks.thisCompilation.tap("manifest:throw-if-recompile-is-needed",m=>{m.hooks.processAssets.tap({name:"manifest:check-manifest-files",stage:Lt.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COMPATIBILITY},()=>{let b=m.getAsset("manifest.json")?.source.source().toString(),_=JSON.parse(b||"{}"),S=this.flattenAndSort(Object.values(je(o,_))),E=this.flattenAndSort(Object.values(Oe(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=Wr(T,A);m.errors.push(new Lt.default.WebpackError(_e))}})})}r()})}};var Ot=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 Pt({manifestPath:this.manifestPath}).apply(e),new Ct({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new $t({manifestPath:this.manifestPath,excludeList:this.excludeList}).apply(e),new Ft([this.manifestPath]).apply(e),new Dt({manifestPath:this.manifestPath,browser:this.browser,includeList:this.includeList}).apply(e)}};var tr=a(require("path"));var Ys=a(require("fs")),At=a(require("@rspack/core")),bi=require("@rspack/core");var di=a(require("fs")),me=a(require("path")),gi=a(require("parse5-utils"));var ue=a(require("parse5-utils"));function It(t){try{return new URL(t),!0}catch{return!1}}function Ae(t,e){let{childNodes:s=[]}=t;for(let r of s)if(r.nodeName==="script"){let n=ue.default.getAttribute(r,"src");if(!n||It(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||It(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||It(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||It(n))continue;e({filePath:n,childNode:r,assetType:"staticSrc"})}else Ae(r,e)}function L(t,e){let s={css:[],js:[],static:[]};if(!t)return s;let r=e||di.default.readFileSync(t,{encoding:"utf8"}),n=gi.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")&&Ae(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 hi(t,e,s){let r=Object.keys(t).find(o=>{let i=t[o];return t[o]===e||L(i)?.js?.includes(e)||L(i)?.css?.includes(e)})||"",n=Ks(e);return r?`/${r.replace(n,"")}${s}`:`${e.replace(n,"")}${s}`}function Ks(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 yi(t,e){return Object.values(e||{}).some(s=>s===t)}var Mt=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:At.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{let i=Object.entries(this.includeList||{});for(let c of i){let[l,p]=c;if(p){if(!Ys.default.existsSync(p)){let m=oe(n,l,p);o.warnings.push(new At.default.WebpackError(m));return}let u=Ys.default.readFileSync(p,"utf8");if(!$(p,this.excludeList)){let m=new bi.sources.RawSource(u),g=z(l,".html");o.emitAsset(g,m)}}}})})}};var Rt=a(require("fs")),de=a(require("path")),Y=a(require("@rspack/core"));var Nt=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=L(i,p)?.static,m=[...new Set(u)];for(let g of m)if(!g.startsWith("/")){if(!Rt.default.existsSync(g)&&!yi(g,this.includeList)&&!de.default.basename(g).startsWith("#")){let A=nt(i,g);g.startsWith("/")||s.warnings.push(new Y.default.WebpackError(A));return}let b=Rt.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=L(g),A=[...E?.js||[],...E?.css||[],...E?.static||[]];s.emitAsset(S,_),A.forEach(T=>{let _e=Rt.default.readFileSync(T),q=new Y.sources.RawSource(_e),jr=de.default.join("assets",de.default.basename(T));s.getAsset(jr)||s.emitAsset(jr,q)})}else s.emitAsset(S,_)}}}}})})}};var xi=a(require("path")),Qs=a(require("fs"));var Tt=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(!Qs.default.existsSync(o))return;let i=L(o),c=i?.js||[],l=i?.css||[],p=[...c,...l].filter(u=>!$(u,this.excludeList));if(e.options.mode==="development"){let u=xi.default.resolve(__dirname,"minimum-script-file.mjs");p.push(u)}Qs.default.existsSync(o)&&($(o,this.excludeList)||(e.options.entry={...e.options.entry,[n]:{import:p}}))}}}};var Bt=require("@rspack/core");var er=a(require("fs")),H=a(require("path")),O=a(require("parse5-utils"));function wi(t,e,s,r,n){let o=er.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")&&Ae(u,({filePath:m,childNode:g,assetType:b})=>{let _=H.default.dirname(s),S=H.default.resolve(_,m),E=Ks(S),A=$(H.default.resolve(_,m),n),T=H.default.join("/",H.default.normalize(m)),_e=sn(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=hi(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));er.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 Ut=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:Bt.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=wi(s,o,i,r,this.excludeList||{});if(!$(i,this.excludeList)&&c){let l=new Bt.sources.RawSource(c),p=z(o,".html");s.updateAsset(p,l)}}}})})}};var vi=a(require("fs")),Si=require("@rspack/core");var qt=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:Si.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=L(o),c=new Set(s.fileDependencies);if(vi.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 _i=a(require("fs"));var Wt=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(!_i.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:L(n)?.js||[],css:L(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=L(i)?.js||[],l=L(i)?.css||[],{js:p,css:u}=this.initialHtmlAssets[i];(this.hasEntriesChanged(l,u)||this.hasEntriesChanged(c,p))&&console.log(Gr(i))}n()})}};var Pi=a(require("fs")),Ei=require("@rspack/core");function Pl(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(!Pi.default.existsSync(i))return null;let c=L(i),l=c?.js?.filter(u=>!u.startsWith("/"))||[],p=c?.css?.filter(u=>!u.startsWith("/"))||[];if(l.includes(n)||p.includes(n)){let u=nt(i,n);return new Ei.WebpackError(u)}}}return null}var Jt=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=Pl(this.includeList||{},r);o&&(s.errors[n]=o)})})})}};var zt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Mt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Nt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),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),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[tr.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(tr.default.join(__dirname,"ensure-hmr-for-scripts.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}}]}),new qt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Wt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Jt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var Re=a(require("path"));var sr=a(require("fs")),ki=a(require("path"));function $i(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>{let o=sr.default.existsSync(n)&&!$(n,e),i=ki.default.extname(n);return o&&(i===".js"||i===".mjs"||i===".jsx"||i===".ts"||i===".tsx")})}function Fi(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>sr.default.existsSync(n)&&!$(n,e)&&(n.endsWith(".css")||n.endsWith(".scss")||n.endsWith(".sass")||n.endsWith(".less")))}var Ht=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=$i(o,this.excludeList),c=Fi(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"),El=['var isBrowser = !!(() => { try { return browser.runtime.getURL("/") } catch(e) {} })()','var isChrome = !!(() => { try { return chrome.runtime.getURL("/") } catch(e) {} })()'],kl=[...El,`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 } }`],Vt=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=$l();return r.addRuntimeModule(n,o),!0})})}};function $l(){class t extends Q.RuntimeModule{constructor(){super("publicPath",Q.RuntimeModule.STAGE_BASIC)}generate(){let s=this.compilation?.outputOptions.publicPath;return Q.Template.asString([...kl,`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 Xt=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(Yr()),process.exit(1))}};var Gt=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 Ht({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:[Re.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Re.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 Vt().apply(e),new Xt({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:[Re.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Re.default.join(__dirname,"deprecated-shadow-root.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList||{},excludeList:this.excludeList||{}}}]})}};var Te=a(require("path")),Ue=a(require("fs")),V=a(require("@rspack/core"));var ge=a(require("path")),Ne=a(require("fs"));function rr(t){let e=ge.default.join(ge.default.dirname(t),"_locales"),s=[];if(Ne.default.existsSync(e))for(let r of Ne.default.readdirSync(e)){let n=ge.default.join(e,r);if(n&&Ne.default.statSync(n).isDirectory())for(let o of Ne.default.readdirSync(n))s.push(ge.default.join(ge.default.dirname(t),"_locales",r,o))}return s}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("locales:module",s=>{s.hooks.processAssets.tap({name:"locales:module",stage:V.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(!Ue.default.existsSync(this.manifestPath)){let n=require(this.manifestPath),i=P(n,"chrome").name||"Extension.js";s.errors.push(new V.default.WebpackError(Br(i,this.manifestPath)));return}if(s.errors.length>0)return;let r=rr(this.manifestPath);for(let n of Object.entries(r||[])){let[o,i]=n,c=i;if(c){if(Te.default.extname(c)!==".json")continue;if(!Ue.default.existsSync(c)){s.warnings.push(new V.default.WebpackError(ot(o,c)));return}let l=Ue.default.readFileSync(c),p=new V.sources.RawSource(l),u=e.options.context||Te.default.dirname(this.manifestPath);if(!$(c,this.excludeList)){let m=Te.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=rr(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)Ue.default.existsSync(l)&&Te.default.extname(l)===".json"&&(i.has(l)||(i.add(l),s.fileDependencies.add(l)))}}})})}};var Kt=a(require("fs")),ee=a(require("@rspack/core"));var 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("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(!Kt.default.existsSync(l)){s.warnings.push(new ee.default.WebpackError(ot(o,l)));return}let p=Kt.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)||Kt.default.existsSync(c)&&(l.has(c)||(l.add(c),s.fileDependencies.add(c)))}}})})}};var nr=a(require("fs")),Ci=a(require("path")),es=require("@rspack/core");var Qt=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:es.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(!nr.default.existsSync(l))continue;if(!$(l,this.excludeList)){let p=nr.default.readFileSync(l),u=new es.sources.RawSource(p),m=Ci.default.basename(l),b=`${o.endsWith("theme_icons")?o.replace("theme_icons",""):o}/${m}`;s.emitAsset(b,u)}}}})})}};var ji=a(require("fs")),Di=require("@rspack/core"),ts=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:Di.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);ji.default.existsSync(c)&&(l.has(c)||(l.add(c),s.fileDependencies.add(c)))}}})})}};var ss=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Qt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new ts({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var ns=require("@rspack/core");function Li(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 rs=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:Li(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 ns.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:ns.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")),Oi=a(require("chokidar")),os=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=Oi.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")),or=a(require("chokidar"));var is=class{manifestPath;constructor(e){this.manifestPath=e}throwCompilationError(e,s,r){let n=U.relative(process.cwd(),s),c=Jr(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=or.watch(r,{ignoreInitial:!0}),i=or.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 as=class{static name="plugin-special-folders";options;constructor(e){this.options=e}apply(e){let{manifestPath:s}=this.options;new os({manifestPath:s}).apply(e),e.options.mode==="development"&&e.options.watchOptions&&new is(s).apply(e)}};var cs=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=Lo({manifestPath:s,browser:this.browser});new Ot({browser:this.browser,manifestPath:s,includeList:{...r.html,...r.icons,...r.json,...r.scripts},excludeList:n.public}).apply(e),new zt({manifestPath:s,includeList:{...r.html,...n.pages},excludeList:{...n.public,...n.scripts}}).apply(e),new Gt({manifestPath:s,browser:this.browser,includeList:{...r.scripts,...n.scripts},excludeList:{...n.public,...n.pages}}).apply(e),new Zt({manifestPath:s}).apply(e),new Yt({manifestPath:s,includeList:r.json,excludeList:n.public}).apply(e),new ss({manifestPath:s,includeList:r.icons,excludeList:n.public}).apply(e),new rs({manifestPath:s,includeList:{...r.scripts,...n.scripts},excludeList:n.public}).apply(e),new as({manifestPath:s}).apply(e)}};var We=a(require("path"));var Ii=a(require("path")),Mi=a(require("ws"));function ls(t,e){t.clients.forEach(s=>{s.readyState===Mi.default.OPEN&&s.send(JSON.stringify(e))})}function Ai(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}Ii.default.basename(s)==="manifest.json"&&ls(t,{changedFile:"manifest.json"}),r?.forEach(i=>{i.includes(s)&&ls(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"&&ls(t,{changedFile:"service_worker"})}),Object.entries(o).forEach(([i,c])=>{c?.includes(s)&&i==="declarative_net_request"&&ls(t,{changedFile:"declarative_net_request"})})}var ar=a(require("path")),Ui=a(require("fs")),qe=a(require("ws"));var Be=a(require("path")),Fl=a(require("http")),Ni=a(require("https")),ir=a(require("fs"));var Ri=t=>{if(!ir.default.existsSync(t))return;let e=Be.default.basename(t);return ir.default.readFileSync(Be.default.join(__dirname,"certs",e))};function Ti(t){let e={key:Ri(Be.default.join(__dirname,"certs","localhost.key")),cert:Ri(Be.default.join(__dirname,"certs","localhost.cert"))},s=Ni.default.createServer(e,(r,n)=>{n.writeHead(200),n.end()});return s.on("error",r=>{throw console.error(Kr(t)),new Error(r.message)}),{server:s,port:t}}function Cl(t,e){switch(e){case"chrome":return new qe.default.Server({host:"localhost",port:t});case"edge":return new qe.default.Server({host:"localhost",port:t+1});case"firefox":return new qe.default.Server({server:Ti(t+2).server});default:return new qe.default.Server({host:"localhost",port:8888})}}async function Bi(t,e){let s=t.options.context||"",r=require(ar.default.join(s,"manifest.json")),o=Cl(8e3,e.browser);if(o.on("connection",i=>{i.send(JSON.stringify({status:"serverReady"})),i.on("error",c=>{console.log(Vr(c))}),i.on("message",c=>{let l=JSON.parse(c.toString());if(l.status==="clientReady"){let p=require(ar.default.join(s,"manifest.json"));setTimeout(()=>{console.log(Ns(p,e.browser,l)),console.log("")},2500),rn(e.browser)&&setTimeout(()=>{console.log(Hr(e.browser))},5e3)}})}),e.browser==="firefox"||e.browser==="gecko-based"){let i=nn(r);console.log(Ns(r,e.browser,i)),console.log(""),Ui.default.existsSync(rt)||(console.log(Zr()),console.log(""))}return o}var qi=a(require("path")),cr=a(require("fs"));function Wi(t,e){let s=qi.default.resolve(__dirname,`./extensions/${t}-manager-extension/reload-service.js`);try{let r=cr.default.readFileSync(s,"utf8"),n=r.replace(/__RELOAD_PORT__/g,e.toString());n!==r&&cr.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 Je=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;Wi(this.browser,this.port);let s=await Bi(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=We.default.relative(We.default.dirname(this.manifestPath),i),l=We.default.relative(process.cwd(),We.default.dirname(i));process.env.EXTENSION_ENV==="development"&&console.info(`\u25BA\u25BA Updated file \`${c}\` (relative to ${l})`),this.manifestPath&&Ai(s,this.manifestPath,i),n()})}};var lr=a(require("path"));function Ji(t,e,s){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[lr.default.dirname(s)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:lr.default.resolve(__dirname,"./inject-chromium-client-loader"),options:{manifestPath:s,browser:e}}]})}var pr=a(require("path"));function zi(t,e,s){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[pr.default.dirname(s)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:pr.default.resolve(__dirname,"./inject-firefox-client-loader"),options:{manifestPath:s,browser:e}}]})}var fs=require("@rspack/core");var fr=a(require("content-security-policy-parser"));function Hi(t){let e="";for(let s in t)e+=`${s} ${t[s].join(" ")}; `;return e.trim()}function Vi(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,fr.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 Hi(r)}function Xi(t){let e=t.content_security_policy;if(!e)return{extension_pages:"script-src 'self'; object-src 'self';"};let s=(0,fr.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:Hi(n)}}function Gi(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 Zi(t){let e=["/*.json","/*.js","/*.css"];return[...t.web_accessible_resources||[],{resources:e,matches:["<all_urls>"]}]}function ur(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 mr(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 ps=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?Xi(s):Vi(s),...s.manifest_version===3?s.permissions?{permissions:[...new Set(["scripting",...s.permissions])]}:{permissions:["scripting"]}:{},...ur(s,this.browser),...mr(s),web_accessible_resources:s.manifest_version===3?Zi(s):Gi(s)},n=JSON.stringify(r,null,2),o=new fs.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:fs.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 dr=a(require("fs")),he=a(require("path")),Ki=a(require("webpack-target-webextension"));var us=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(!dr.default.existsSync(e)&&this.manifestPath){let s=require(this.manifestPath),n=P(s,"chrome").name||"Extension.js",o=Xr(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{pageEntry:"background/script"};if(e.manifest_version===3)return{serviceWorkerEntry:"background/service_worker"};if(e.manifest_version===2)return{pageEntry:"background/script"}}return{pageEntry:"background"}}apply(e){if(!this.manifestPath||!dr.default.lstatSync(this.manifestPath).isFile())return;let s=require(this.manifestPath),r=P(s,this.browser);this.handleBackground(e,this.browser,r),new Ki.default({background:this.getEntryName(r),weakRuntimeCheck:!0}).apply(e)}};var gr=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){(Z.includes(this.browser)||this.browser==="chromium-based")&&Ji(e,this.browser,this.manifestPath),(this.browser==="firefox"||this.browser==="gecko-based")&&zi(e,this.browser,this.manifestPath),new ps({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new us({manifestPath:this.manifestPath,browser:this.browser}).apply(e)}},Yi=gr;var ms=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 Je({manifestPath:this.manifestPath,browser:this.browser,port:this.port,stats:this.stats}).apply(e),e.options.mode==="development"&&new Yi({manifestPath:this.manifestPath,browser:this.browser,autoReload:this.autoReload,stats:this.stats}).apply(e)}};var Qi=a(require("@rspack/core")),ds=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser}apply(e){new Qi.default.ProvidePlugin({browser:require.resolve("webextension-polyfill")}).apply(e)}};var hs=require("@rspack/core");var gs=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:hs.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE},()=>{let r=W(s,this.manifestPath),n=this.patchManifest(r),o=new hs.sources.RawSource(n);s.updateAsset("manifest.json",o)})})}};var ys=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 ds({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e),new gs({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e)}};var xc=a(require("os")),Sr=a(require("path"));var $a=a(require("fs")),Fa=a(require("path")),Ca=require("child_process");var be=a(require("path")),He=a(require("fs"));var ea={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}},ta={...ea},sa={...ea};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 bs(t){let e=ye(t);return`${w(t,"info")} Creating new ${e} user profile...`}function ra(t){return`${w(t,"success")} Instance already running.`}function na(t){return`${w(t,"info")} Instance exited.`}function xs(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 ze(t,e){let s=e=="null"?`Browser is not installed
|
|
75
75
|
|
|
76
76
|
`:`Can't find the browser path
|
|
77
77
|
|
|
78
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
|
|
79
|
+
${(0,y.red)("NOT FOUND")} ${(0,y.underline)(e||ye(t)+"BROWSER")}`}function oa(t){return`${w(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
|
|
84
|
+
Read more: ${(0,y.underline)("https://bugzilla.mozilla.org/show_bug.cgi?id=1573659")}.`}function ia(t,e){return`${w(t,"error")} Error launching browser:
|
|
85
85
|
${(0,y.red)(e)}`}function aa(t,e){return`${w(t,"error")} ${(0,y.red)(e.stack)}`}function ca(t){return`${w(t,"error")} Unable to connect to ${ye(t)}. Too many retries.`}function la(t,e){return`${w(t,"error")} Error while installing temporary addon:
|
|
86
86
|
${(0,y.red)(e)}`}function pa(t,e){return`${w(t,"error")} Path is not directory
|
|
87
87
|
|
|
88
88
|
Please provide a valid directory path and try again.
|
|
89
89
|
${(0,y.red)("NOT DIRECTORY")} ${(0,y.underline)(e)}`}function fa(t){return`${w(t,"error")} Error parsing message length.`}function ua(t){return`${w(t,"error")} ${(0,y.magenta)("MessagingClient")} connection closed.`}function ma(t,e){return`${w(t,"error")} Unexpected ${(0,y.magenta)("MessagingClient")} request without target actor: ${(0,y.brightYellow)(e)}`}function da(t){return`${w(t,"error")} ${(0,y.magenta)("MessagingClient")} connection closed.`}function ga(t,e){return`${w(t,"error")} Target actor ${(0,y.brightYellow)(e)} already has an active request.`}function ha(t,e){return`${w(t,"error")} Error parsing packet: ${(0,y.red)(e)}`}function ya(t,e){return`${w(t,"error")} Message received without a sender actor:
|
|
90
90
|
${(0,y.brightYellow)(JSON.stringify(e))}`}function ba(t,e){return`${w(t,"error")} Received unexpected message:
|
|
91
|
-
${(0,y.red)(e)}`}function xa(t,e){return`${w(t,"info")} Using own ${(0,y.magenta)("starting URL")} ${(0,y.underline)(e)}. `}function hr(t,e){return`${w(t,"info")} Using own ${(0,y.magenta)(`${ye(t)} browser binary`)} ${(0,y.underline)(e)}. `}function wa(t,e){return`${w(t,"info")} Using own ${(0,y.magenta)("browser profile")} ${(0,y.underline)(e)}. `}function va(t){return`${w(t,"info")} Using own ${(0,y.magenta)("browser preferences")}. `}function Sa(t){return`${w(t,"info")} Using own ${(0,y.magenta)("browser flags")}. `}function _a(t,e){return`${w(t,"info")} Browser launcher is ${(0,y.brightYellow)(e?"enabled":"disabled")}. `}var Pa=a(require("progress"));function ws(t,e){let r=new Pa.default(`${t} [:bar] :percent :etas`,{complete:"=",incomplete:" ",width:50,total:131072}),n=setInterval(()=>{let
|
|
91
|
+
${(0,y.red)(e)}`}function xa(t,e){return`${w(t,"info")} Using own ${(0,y.magenta)("starting URL")} ${(0,y.underline)(e)}. `}function hr(t,e){return`${w(t,"info")} Using own ${(0,y.magenta)(`${ye(t)} browser binary`)} ${(0,y.underline)(e)}. `}function wa(t,e){return`${w(t,"info")} Using own ${(0,y.magenta)("browser profile")} ${(0,y.underline)(e)}. `}function va(t){return`${w(t,"info")} Using own ${(0,y.magenta)("browser preferences")}. `}function Sa(t){return`${w(t,"info")} Using own ${(0,y.magenta)("browser flags")}. `}function _a(t,e){return`${w(t,"info")} Browser launcher is ${(0,y.brightYellow)(e?"enabled":"disabled")}. `}var Pa=a(require("progress"));function ws(t,e){let r=new Pa.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 Ea(t,e,s={}){if(e&&He.default.existsSync(e))return e;let r=be.default.resolve(__dirname,`run-${t}-profile`);if(!e&&He.default.existsSync(r))return be.default.resolve(__dirname,`run-${t}-profile`);let o=JSON.stringify({...t==="chrome"?ta:sa,...s});return ws(bs(t),()=>{let i=e||r,c=be.default.join(i,"Default");He.default.mkdirSync(c,{recursive:!0});let l=be.default.join(c,"Preferences");He.default.writeFileSync(l,o,"utf8")}),be.default.resolve(__dirname,`run-${t}-profile`)}function ka(t){let e=Array.isArray(t.extension)?t.extension:[t.extension],s=Ea(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 Ve=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=Fa.default.normalize(this.chromiumBinary);break;default:s=require(`${e}`);break}$a.default.existsSync(s)||(console.error(ze(e,s)),process.exit());let r=ka(this),n=this.startingUrl?[this.startingUrl,...r]:[...r],o=process.env.EXTENSION_ENV==="development"?"inherit":"ignore",i=(0,Ca.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(xs(this.browser,r.compilation.options.mode))},2e3),s=!0,n()})}};var yc=a(require("fs")),bc=a(require("path")),vr=require("child_process");var Xe=a(require("fs")),vs=a(require("path")),ja=a(require("os")),Da=a(require("which")),La=process.platform==="darwin",jl=process.platform==="win32",Dl=!La&&!jl;function Ll(){if(Dl)try{return Da.default.sync("firefox")}catch{return null}else if(La){let t="/Applications/Firefox.app/Contents/MacOS/firefox",e=vs.default.join(ja.default.homedir(),t.slice(1));return Xe.default.existsSync(t)?t:Xe.default.existsSync(e)?e:null}else{let t=vs.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=vs.default.join(r,t);if(Xe.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(Xe.default.existsSync(r))return r;return null}}var Oa=Ll();var xr=a(require("path")),_s=a(require("fs")),wr=a(require("firefox-profile"));var Ol={"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 yr(t){return{...Ol,...t}}var Ge=a(require("fs")),Ze=a(require("path"));var Ss=a(require("path")),Ia=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.
|
|
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 Ma(t){let e=t==="firefox"||t==="gecko-based"?"Add-on":"Extension";return`${k("info")} Building ${xe(t)} ${e} package...`}function Aa(t,e){let s=Ss.default.join(t,"dist",e.browser||"chrome"),r=Ss.default.join(s,"manifest.json"),n=require(r),{name:
|
|
94
|
+
${(0,d.red)("NOT FOUND")} ${(0,d.underline)(t)}`}function Ma(t){let e=t==="firefox"||t==="gecko-based"?"Add-on":"Extension";return`${k("info")} Building ${xe(t)} ${e} package...`}function Aa(t,e){let s=Ss.default.join(t,"dist",e.browser||"chrome"),r=Ss.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=As().version;return`
|
|
95
95
|
\u{1F9E9} ${(0,d.brightGreen)("Extension.js")} ${(0,d.gray)(`${m}`)}
|
|
96
|
-
Extension Name ${(0,d.gray)(
|
|
97
|
-
Extension Version ${(0,d.gray)(
|
|
96
|
+
Extension Name ${(0,d.gray)(o)}
|
|
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 Ra(t,e,s){let r=e?.toJson(),n=Ss.default.join(t,"manifest.json"),
|
|
100
|
+
`}function Ra(t,e,s){let r=e?.toJson(),n=Ss.default.join(t,"manifest.json"),o=JSON.parse(Ia.default.readFileSync(n,"utf8")),i=r?.assets,c=`${k("info")} Building ${(0,d.cyan)(o.name)} extension using ${xe(s)} defaults...
|
|
101
101
|
|
|
102
102
|
`,l=`
|
|
103
103
|
Build completed in ${((r?.time||0)/1e3).toFixed(2)} seconds.`,p=`Build Target: ${(0,d.gray)(xe(s))}
|
|
104
104
|
`,u=`Build Status: ${e?.hasErrors()?(0,d.red)("Failed"):(0,d.brightGreen)("Success")}
|
|
105
105
|
`,m=`
|
|
106
|
-
Version: ${(0,d.gray)(
|
|
107
|
-
`,g=`Size: ${(0,d.gray)(Il(
|
|
108
|
-
`,b="";return b+=c,b+=Ml(
|
|
106
|
+
Version: ${(0,d.gray)(o.version)}
|
|
107
|
+
`,g=`Size: ${(0,d.gray)(Il(i))}
|
|
108
|
+
`,b="";return b+=c,b+=Ml(i),b+=m,b+=g,b+=p,b+=u,b+=l,b}function Na(){return`${k("success")} No errors or warnings found. Your extension is ${(0,d.brightGreen)("ready for deployment")}.`}function Ta(t,e){return`${k("info")} Fetching data...
|
|
109
109
|
${(0,d.gray)("URL")} ${(0,d.underline)(`https://github.com/${t}/${e}`)}`}function Ua(t){return`${k("info")} Downloading ${(0,d.cyan)(t)}...`}function Ba(t){return`
|
|
110
110
|
${k("info")} Creating a new browser extension...
|
|
111
111
|
${(0,d.gray)("PATH")} ${(0,d.underline)(`${t}`)}`}function qa(t){return`${k("info")} No ${(0,d.brightYellow)(".gitignore")} found, zipping all the content inside path:
|
|
@@ -119,9 +119,9 @@ ${(0,d.gray)("PATH")} ${(0,d.underline)(t)}`}function za(t,e,s,r){return`\u{1F4E
|
|
|
119
119
|
${(0,d.red)(t)}`}function Ga(t){return`${k("info")} Writing type definitions for ${(0,d.cyan)(t.name||"")}...`}function Za(t){return`${k("error")} Failed to write the extension type definition.
|
|
120
120
|
${(0,d.red)(t)}`}function Ka(t){return`${k("info")} Downloading extension...
|
|
121
121
|
${(0,d.gray)("URL")} ${(0,d.underline)(t)}`}function Ya(t){return`${k("info")} Unpackaging browser extension...
|
|
122
|
-
${(0,d.gray)("PATH")} ${(0,d.underline)(t)}`}function Qa(){return`${k("info")} Browser extension unpackaged ${(0,d.brightGreen)("successfully")}. Compiling...`}function ec(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 tc(t){return`${(t/1024).toFixed(2)}KB`}function Il(t){let e=0;return t?.forEach(s=>{e+=s.size}),tc(e)}function sc(t,e=""){let s="";return Object.keys(t).forEach((r,n,
|
|
123
|
-
`,typeof t[r]=="object"&&!t[r].size&&(s+=sc(t[r],`${e}${
|
|
124
|
-
${sc(e)}`}function rc(t){return`${k("info")} Using ${(0,d.magenta)(t)}. ${(0,d.brightYellow)("This is very experimental")}.`}function nc(){return`${k("info")} Installing project dependencies...`}function ic(t,e,s){return`${k("error")} Command ${t} ${e.join(" ")} failed with exit code ${s}`}function oc(t){return`${k("error")} Can't install project dependencies. ${(0,d.red)(t.message||t.toString())}`}async function we(t){let e=Ze.default.join(t,"extension.config.js");if(Ge.default.existsSync(e)&&await br(t)){let s=require(e);if(s&&typeof s.config=="function")return s.config}return s=>s}async function cc(t,e){let s=Ze.default.join(t,"extension.config.js");if(Ge.default.existsSync(s)&&await br(t)){let r=require(s);if(r)return r[e]}return{}}async function ve(t,e="chrome"){let s=Ze.default.join(t,"extension.config.js");if(Ge.default.existsSync(s)&&await br(t)){let r=require(s);if(r&&r.browser&&r.browser[e])return r.browser[e]||{browser:"chrome"}}return{browser:"chrome"}}var ac=!1;async function br(t){let e=Ze.default.join(t,"extension.config.js");return Ge.default.existsSync(e)?(ac||(console.log(rc("extension.config.js")),ac=!0),!0):!1}function lc(t,e){let s={...ve(xr.default.resolve(__dirname,"run-firefox"),"firefox"),...yr(e)};Object.keys(s).forEach(i=>{t.setPreference(i,s[i])});let n=Object.keys(e);return n.length>0&&n.forEach(i=>{t.setPreference(i,e[i])}),t.updatePreferences(),t}function Al(t,e){let s=new wr.default({destinationDirectory:t});return lc(s,e)}function Rl(t,e,s){let r;if(_s.default.statSync(e).isDirectory())r=e;else throw new Error(pa(t,e));let i=new wr.default({destinationDirectory:r});return lc(i,s)}function pc(t,e,s={}){let r,n=e||xr.default.resolve(__dirname,`run-${t}-profile`),c={...yr(s||{}),...s};return!e&&_s.default.existsSync(n)?r=Rl(t,n,c):(ws(bs(t),()=>{}),_s.default.mkdirSync(n,{recursive:!0}),r=Al(n,c)),r}async function fc(t,e){let{browser:s,startingUrl:r,preferences:n,profile:i,browserFlags:o=[]}=e,c=pc(s,i,n),l=[];r&&l.push(`--url=${r}`),o&&l.push(...o);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 hc=a(require("path"));var uc=a(require("net")),mc=a(require("events"));function Nl(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(fa(t)),fatal:!0};if(e.length-(r+1)<n)return{remainingData:e};let i=e.slice(r+1,r+1+n),o=e.slice(r+1+n);try{let c=JSON.parse(i.toString());return{remainingData:o,parsedMessage:c}}catch(c){return{remainingData:o,error:c,fatal:!1}}}var Ps=class extends mc.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"},i=uc.default.createConnection(n,()=>{s()});this.connection=i,i.on("data",this.onData.bind(this)),i.on("error",r),i.on("end",this.onEnd.bind(this)),i.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(ua("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(ma("firefox",s.type));return await new Promise((r,n)=>{let i={resolve:r,reject:n};this.pendingRequests.push({request:s,deferred:i}),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(da("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(ga("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}=Nl("firefox",this.incomingData);return this.incomingData=e,r?(this.emit("error",new Error(ha("firefox",r))),n&&this.disconnect(),!n):s?(this.handleMessage(s),!0):!1}handleMessage(e){if(!e.from){this.emit("error",new Error(ya("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(ba("firefox",JSON.stringify(e))))}onError(e){this.emit("error",e)}onEnd(){this.emit("end")}onTimeout(){this.emit("timeout")}};function dc(t){return t instanceof Error?String(t):`${t.error}: ${t.message}`}function gc(t,e){return Array.isArray(t)&&t.includes(e.code)?!0:e.code===t}var Tl=150,Ul=1e3,Es=class{options;constructor(e){this.options=e}async connectClient(e){let s;for(let r of Array.from({length:Tl}))try{let n=new Ps;return await n.connect(e),n}catch(n){if(gc("ECONNREFUSED",n))await new Promise(i=>setTimeout(i,Ul)),s=n;else throw console.error(aa(this.options.browser,n.stack)),n}throw console.error(ca(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,i=n?n+100:9222,o=await this.connectClient(i);for(let[c,l]of r.entries()){let p=hc.default.join(l.replace(/"/g,"")),u=c===0&&s;try{let m=await o.request({to:"root",type:"getRoot"});await o.request({to:m.addonsActor,type:"installTemporaryAddon",addonPath:p,openDevTools:u})}catch(m){let g=dc(m);throw new Error(la(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 ks=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,vr.exec)(`${e} --version`,n=>{n?r(n):s(null)})}),e}catch{console.error(ze("firefox",e)),process.exit(1)}}async launchFirefox(e,s){let r=await this.getFxRunnerCommand(),n;switch(s.browser){case"gecko-based":n=bc.default.normalize(this.geckoBinary);break;default:n=Oa;break}let i=`${r} start --binary "${n}" --foreground --no-remote`;yc.default.existsSync(n||"")||(console.error(ze(this.browser,n||"")),process.exit(1));let o=await fc(e,s),c=`${i} ${o}`;se=(0,vr.exec)(c,(p,u,m)=>{if(p!=null)throw p;m.includes("Unable to move the cache")?console.log(ra(this.browser)):(console.log(na(this.browser)),process.exit())}),process.env.EXTENSION_ENV==="development"&&(se.stdout?.pipe(process.stdout),se.stderr?.pipe(process.stderr));let l=new Es(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(oa(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(xs(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 $s=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"?Sr.default.join(xc.default.tmpdir(),"extension-js",s,"profile"):Sr.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(_a(this.browser,!1)),n?.startingUrl&&console.log(xa(n?.browser,n?.startingUrl)),n?.chromiumBinary&&console.log(hr("chromium",n?.chromiumBinary)),n?.geckoBinary&&console.log(hr("gecko",n?.geckoBinary)),n?.profile&&console.log(wa(n?.browser,n?.profile)),n?.preferences&&console.log(va(n?.browser)),n?.browserFlags&&n?.browserFlags.length>0&&console.log(Sa(n?.browser)),n.open===!1)return;let i=this.getProfilePath(e,this.browser,this.profile||this.profile);switch(this.browser){case"chrome":case"edge":case"chromium-based":{new Ve({...n,browser:this.browser,profile:i}).apply(e);break}case"firefox":case"gecko-based":new ks({...n,browser:this.browser,profile:i}).apply(e);break;default:{new Ve({...n,browser:"chrome",profile:i}).apply(e);break}}}};function re(t,e){let s=Ke.default.join(t,"manifest.json"),r=P(require(s),e.browser),n=Ke.default.join(t,`dist/${e.browser}`),i=e.chromiumBinary?"chromium-based":e.geckoBinary?"gecko-based":e.browser,o=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:o,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",Ke.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 ot({manifestPath:s,browser:i}),new gt({mode:e.mode,manifestPath:s}),new dt({manifestPath:s}),new xt({mode:e.mode,manifestPath:s}),new ys({manifestPath:s,browser:i,polyfill:e.polyfill}),new cs({manifestPath:s,browser:i}),new ms({manifestPath:s,browser:i,stats:!0,port:8e3}),new $s({extension:[n,Ke.default.join(__dirname,"extensions",`${i}-manager-extension`)],browser:i,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 Ye=a(require("path")),Pc=a(require("go-git-it"));var Fs=a(require("path")),wc=a(require("axios")),vc=a(require("adm-zip"));var _r=a(require("stream")),Sc=require("util"),Bl=(0,Sc.promisify)(_r.default.pipeline);async function _c(t,e){let s=t.split("?")[0];try{console.log(Ka(s));let r=await(0,wc.default)({url:t,method:"GET",responseType:"stream"}),n=Fs.default.extname(s),i=Fs.default.basename(s,n),o=Fs.default.join(e,i);console.log(Ya(o));let c=[];await Bl(r.data,new _r.default.Writable({write(u,m,g){c.push(u),g()}}));let l=Buffer.concat(c);return new vc.default(l).extractAllTo(o,!0),console.log(Qa()),o}catch(r){throw console.error(ec(r)),r}}var ql=t=>{try{return new URL(t),!0}catch{return!1}};async function Wl(t,e){return await(0,Pc.default)(t,process.cwd(),e),Ye.default.resolve(process.cwd(),Ye.default.basename(t))}async function Jl(t){return await _c(t,process.cwd())}async function G(t){if(!t)return process.cwd();if(ql(t)){let e=new URL(t);if(e.protocol.startsWith("http")){if(e.origin!=="https://github.com")return await Jl(t);let s=e.pathname.split("/"),r=s.slice(1,3)[0],n=s.slice(1,3)[1];console.log(Ta(r,n));let i=Ye.default.basename(e.pathname),o=await Wl(t,Ua(i));return console.log(Ba(i)),o}}return Ye.default.resolve(process.cwd(),t)}var J=a(require("path")),Ec=a(require("fs")),kc=a(require("ignore")),$c=a(require("tiny-glob")),Pr=a(require("adm-zip")),Fc=a(require("slugify"));function zl(t){try{return Ec.default.readFileSync(t,"utf8")}catch{return""}}function Hl(t){return(0,Fc.default)(t,{replacement:"-",remove:/[^a-zA-Z0-9 ]/g,lower:!0})}function Vl(t,e){if(e)return"zip";switch(t){case"opera":return"crx";case"firefox":return"xpi";default:return"zip"}}function Xl(t,e){let s=Hl(e.zipFilename||t.name);return e.zipFilename?s:`${s}-${t.version}`}async function Gl(t){let e=J.default.join(t,".gitignore"),s=zl(e),r=(0,kc.default)();return s?r.add(s):console.log(qa(t)),(await(0,$c.default)("**/*",{cwd:t,dot:!0})).filter(i=>!r.ignores(i))}async function Cc(t,{browser:e="chrome",...s}){try{let r=J.default.join(t,"dist"),n=J.default.join(r,e),i=s.zipSource?t:n,o=require(J.default.join(i,"manifest.json")),c=Xl(o,{browser:e,...s}),l=Vl(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(Wa(u));let m=new Pr.default;(await Gl(t)).forEach(b=>{m.addLocalFile(J.default.join(t,b),J.default.dirname(b))}),m.writeZip(u)}if(s.zip){console.log(""),console.log(Ja(p));let m=new Pr.default;m.addLocalFolder(n),m.writeZip(p)}s.zip&&s.zipSource?(console.log(""),console.log(za(e,c,u,p))):s.zip?(console.log(""),console.log(Ha(c,l,e,p))):s.zipSource&&(console.log(""),console.log(Va(c,l,e,u)))}catch(r){throw console.error(Xa(r)),r}}async function Cs(t,e){let s=await G(t);!t?.startsWith("http")&&!jc.default.existsSync(Er.default.join(s,"manifest.json"))&&(console.log(X(Er.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}}),i=n.plugins?.filter(u=>u?.constructor.name!=="plugin-browsers"&&u?.constructor.name!=="plugin-reload"),c=(await we(s))({...n,plugins:i}),l=(0,Lc.merge)(c),p=(0,Dc.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(Ra(s,b,r)),(e?.zip||e?.zipSource)&&await Cc(s,{...e,browser:r}),b?.hasErrors()?(console.log(b.toString({colors:!0})),process.exit(1)):(console.log(Na()),u())})})}catch(r){process.env.EXTENSION_ENV==="development"&&console.error(r),process.exit(1)}}var $r=a(require("fs")),Ds=a(require("path"));var Oc=a(require("path")),Ic=require("@rspack/core"),Mc=require("@rspack/dev-server"),Ac=require("webpack-merge");function kr(t){t.stop().then(()=>{process.exit()}).catch(e=>{console.log(`Error in the Extension.js runner: ${e.stack||""}`)})}async function Rc(t,e){let s=cc(t,"dev"),r=ve(t,e.browser),n=re(t,{...e,...s,...r,mode:"development",output:{clean:!0}}),o=(await we(t))(n),c=(0,Ac.merge)(o),l=(0,Ic.rspack)(c),p={host:"127.0.0.1",allowedHosts:"all",static:{watch:{ignored:/\bnode_modules\b/}},compress:!1,devMiddleware:{writeToDisk:!0},watchFiles:ct(t)?void 0:{paths:[Oc.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 Mc.RspackDevServer(p,l);u.startCallback(m=>{m!=null&&console.log(`Error in the Extension.js runner: ${m.stack||""}`)}),process.on("ERROR",()=>{kr(u)}),process.on("SIGINT",()=>{kr(u)}),process.on("SIGTERM",()=>{kr(u)})}var js=a(require("path")),Se=a(require("fs/promises"));async function Nc(t){let e=js.default.join(t,"extension-env.d.ts"),s=process.env.EXTENSION_ENV==="development"?js.default.resolve(process.cwd(),"programs/cli/types"):"extension/dist/types",r=`// Required Extension.js types for TypeScript projects.
|
|
122
|
+
${(0,d.gray)("PATH")} ${(0,d.underline)(t)}`}function Qa(){return`${k("info")} Browser extension unpackaged ${(0,d.brightGreen)("successfully")}. Compiling...`}function ec(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 tc(t){return`${(t/1024).toFixed(2)}KB`}function Il(t){let e=0;return t?.forEach(s=>{e+=s.size}),tc(e)}function sc(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?` (${tc(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+=sc(t[r],`${e}${i?" ":(0,d.gray)("\u2502 ")}`))}),s}function Ml(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
|
+
${sc(e)}`}function rc(t){return`${k("info")} Using ${(0,d.magenta)(t)}. ${(0,d.brightYellow)("This is very experimental")}.`}function nc(){return`${k("info")} Installing project dependencies...`}function oc(t,e,s){return`${k("error")} Command ${t} ${e.join(" ")} failed with exit code ${s}`}function ic(t){return`${k("error")} Can't install project dependencies. ${(0,d.red)(t.message||t.toString())}`}async function we(t){let e=Ze.default.join(t,"extension.config.js");if(Ge.default.existsSync(e)&&await br(t)){let s=require(e);if(s&&typeof s.config=="function")return s.config}return s=>s}async function cc(t,e){let s=Ze.default.join(t,"extension.config.js");if(Ge.default.existsSync(s)&&await br(t)){let r=require(s);if(r)return r[e]}return{}}async function ve(t,e="chrome"){let s=Ze.default.join(t,"extension.config.js");if(Ge.default.existsSync(s)&&await br(t)){let r=require(s);if(r&&r.browser&&r.browser[e])return r.browser[e]||{browser:"chrome"}}return{browser:"chrome"}}var ac=!1;async function br(t){let e=Ze.default.join(t,"extension.config.js");return Ge.default.existsSync(e)?(ac||(console.log(rc("extension.config.js")),ac=!0),!0):!1}function lc(t,e){let s={...ve(xr.default.resolve(__dirname,"run-firefox"),"firefox"),...yr(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 Al(t,e){let s=new wr.default({destinationDirectory:t});return lc(s,e)}function Rl(t,e,s){let r;if(_s.default.statSync(e).isDirectory())r=e;else throw new Error(pa(t,e));let o=new wr.default({destinationDirectory:r});return lc(o,s)}function pc(t,e,s={}){let r,n=e||xr.default.resolve(__dirname,`run-${t}-profile`),c={...yr(s||{}),...s};return!e&&_s.default.existsSync(n)?r=Rl(t,n,c):(ws(bs(t),()=>{}),_s.default.mkdirSync(n,{recursive:!0}),r=Al(n,c)),r}async function fc(t,e){let{browser:s,startingUrl:r,preferences:n,profile:o,browserFlags:i=[]}=e,c=pc(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 hc=a(require("path"));var uc=a(require("net")),mc=a(require("events"));function Nl(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(fa(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 Ps=class extends mc.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=uc.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(ua("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(ma("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(da("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(ga("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}=Nl("firefox",this.incomingData);return this.incomingData=e,r?(this.emit("error",new Error(ha("firefox",r))),n&&this.disconnect(),!n):s?(this.handleMessage(s),!0):!1}handleMessage(e){if(!e.from){this.emit("error",new Error(ya("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(ba("firefox",JSON.stringify(e))))}onError(e){this.emit("error",e)}onEnd(){this.emit("end")}onTimeout(){this.emit("timeout")}};function dc(t){return t instanceof Error?String(t):`${t.error}: ${t.message}`}function gc(t,e){return Array.isArray(t)&&t.includes(e.code)?!0:e.code===t}var Tl=150,Ul=1e3,Es=class{options;constructor(e){this.options=e}async connectClient(e){let s;for(let r of Array.from({length:Tl}))try{let n=new Ps;return await n.connect(e),n}catch(n){if(gc("ECONNREFUSED",n))await new Promise(o=>setTimeout(o,Ul)),s=n;else throw console.error(aa(this.options.browser,n.stack)),n}throw console.error(ca(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=hc.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=dc(m);throw new Error(la(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 ks=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,vr.exec)(`${e} --version`,n=>{n?r(n):s(null)})}),e}catch{console.error(ze("firefox",e)),process.exit(1)}}async launchFirefox(e,s){let r=await this.getFxRunnerCommand(),n;switch(s.browser){case"gecko-based":n=bc.default.normalize(this.geckoBinary);break;default:n=Oa;break}let o=`${r} start --binary "${n}" --foreground --no-remote`;yc.default.existsSync(n||"")||(console.error(ze(this.browser,n||"")),process.exit(1));let i=await fc(e,s),c=`${o} ${i}`;se=(0,vr.exec)(c,(p,u,m)=>{if(p!=null)throw p;m.includes("Unable to move the cache")?console.log(ra(this.browser)):(console.log(na(this.browser)),process.exit())}),process.env.EXTENSION_ENV==="development"&&(se.stdout?.pipe(process.stdout),se.stderr?.pipe(process.stderr));let l=new Es(this);try{await l.installAddons(e)}catch(p){p?.toString()?.includes("background.service_worker is currently disabled")&&(console.error(oa(this.browser)),process.exit(1)),console.error(ia(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(xs(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 $s=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"?Sr.default.join(xc.default.tmpdir(),"extension-js",s,"profile"):Sr.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(_a(this.browser,!1)),n?.startingUrl&&console.log(xa(n?.browser,n?.startingUrl)),n?.chromiumBinary&&console.log(hr("chromium",n?.chromiumBinary)),n?.geckoBinary&&console.log(hr("gecko",n?.geckoBinary)),n?.profile&&console.log(wa(n?.browser,n?.profile)),n?.preferences&&console.log(va(n?.browser)),n?.browserFlags&&n?.browserFlags.length>0&&console.log(Sa(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 Ve({...n,browser:this.browser,profile:o}).apply(e);break}case"firefox":case"gecko-based":new ks({...n,browser:this.browser,profile:o}).apply(e);break;default:{new Ve({...n,browser:"chrome",profile:o}).apply(e);break}}}};function re(t,e){let s=Ke.default.join(t,"manifest.json"),r=P(require(s),e.browser),n=Ke.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",Ke.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 it({manifestPath:s,browser:o}),new gt({mode:e.mode,manifestPath:s}),new dt({manifestPath:s}),new xt({mode:e.mode,manifestPath:s}),new ys({manifestPath:s,browser:o,polyfill:e.polyfill}),new cs({manifestPath:s,browser:o}),new ms({manifestPath:s,browser:o,stats:!0,port:8e3}),new $s({extension:[n,Ke.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 Ye=a(require("path")),Pc=a(require("go-git-it"));var Fs=a(require("path")),wc=a(require("axios")),vc=a(require("adm-zip"));var _r=a(require("stream")),Sc=require("util"),Bl=(0,Sc.promisify)(_r.default.pipeline);async function _c(t,e){let s=t.split("?")[0];try{console.log(Ka(s));let r=await(0,wc.default)({url:t,method:"GET",responseType:"stream"}),n=Fs.default.extname(s),o=Fs.default.basename(s,n),i=Fs.default.join(e,o);console.log(Ya(i));let c=[];await Bl(r.data,new _r.default.Writable({write(u,m,g){c.push(u),g()}}));let l=Buffer.concat(c);return new vc.default(l).extractAllTo(i,!0),console.log(Qa()),i}catch(r){throw console.error(ec(r)),r}}var ql=t=>{try{return new URL(t),!0}catch{return!1}};async function Wl(t,e){return await(0,Pc.default)(t,process.cwd(),e),Ye.default.resolve(process.cwd(),Ye.default.basename(t))}async function Jl(t){return await _c(t,process.cwd())}async function G(t){if(!t)return process.cwd();if(ql(t)){let e=new URL(t);if(e.protocol.startsWith("http")){if(e.origin!=="https://github.com")return await Jl(t);let s=e.pathname.split("/"),r=s.slice(1,3)[0],n=s.slice(1,3)[1];console.log(Ta(r,n));let o=Ye.default.basename(e.pathname),i=await Wl(t,Ua(o));return console.log(Ba(o)),i}}return Ye.default.resolve(process.cwd(),t)}var J=a(require("path")),Ec=a(require("fs")),kc=a(require("ignore")),$c=a(require("tiny-glob")),Pr=a(require("adm-zip")),Fc=a(require("slugify"));function zl(t){try{return Ec.default.readFileSync(t,"utf8")}catch{return""}}function Hl(t){return(0,Fc.default)(t,{replacement:"-",remove:/[^a-zA-Z0-9 ]/g,lower:!0})}function Vl(t,e){if(e)return"zip";switch(t){case"opera":return"crx";case"firefox":return"xpi";default:return"zip"}}function Xl(t,e){let s=Hl(e.zipFilename||t.name);return e.zipFilename?s:`${s}-${t.version}`}async function Gl(t){let e=J.default.join(t,".gitignore"),s=zl(e),r=(0,kc.default)();return s?r.add(s):console.log(qa(t)),(await(0,$c.default)("**/*",{cwd:t,dot:!0})).filter(o=>!r.ignores(o))}async function Cc(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=Xl(i,{browser:e,...s}),l=Vl(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(Wa(u));let m=new Pr.default;(await Gl(t)).forEach(b=>{m.addLocalFile(J.default.join(t,b),J.default.dirname(b))}),m.writeZip(u)}if(s.zip){console.log(""),console.log(Ja(p));let m=new Pr.default;m.addLocalFolder(n),m.writeZip(p)}s.zip&&s.zipSource?(console.log(""),console.log(za(e,c,u,p))):s.zip?(console.log(""),console.log(Ha(c,l,e,p))):s.zipSource&&(console.log(""),console.log(Va(c,l,e,u)))}catch(r){throw console.error(Xa(r)),r}}async function Cs(t,e){let s=await G(t);!t?.startsWith("http")&&!jc.default.existsSync(Er.default.join(s,"manifest.json"))&&(console.log(X(Er.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,Lc.merge)(c),p=(0,Dc.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(Ra(s,b,r)),(e?.zip||e?.zipSource)&&await Cc(s,{...e,browser:r}),b?.hasErrors()?(console.log(b.toString({colors:!0})),process.exit(1)):(console.log(Na()),u())})})}catch(r){process.env.EXTENSION_ENV==="development"&&console.error(r),process.exit(1)}}var $r=a(require("fs")),Ds=a(require("path"));var Oc=a(require("path")),Ic=require("@rspack/core"),Mc=require("@rspack/dev-server"),Ac=require("webpack-merge");function kr(t){t.stop().then(()=>{process.exit()}).catch(e=>{console.log(`Error in the Extension.js runner: ${e.stack||""}`)})}async function Rc(t,e){let s=cc(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,Ac.merge)(i),l=(0,Ic.rspack)(c),p={host:"127.0.0.1",allowedHosts:"all",static:{watch:{ignored:/\bnode_modules\b/}},compress:!1,devMiddleware:{writeToDisk:!0},watchFiles:ct(t)?void 0:{paths:[Oc.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 Mc.RspackDevServer(p,l);u.startCallback(m=>{m!=null&&console.log(`Error in the Extension.js runner: ${m.stack||""}`)}),process.on("ERROR",()=>{kr(u)}),process.on("SIGINT",()=>{kr(u)}),process.on("SIGTERM",()=>{kr(u)})}var js=a(require("path")),Se=a(require("fs/promises"));async function Nc(t){let e=js.default.join(t,"extension-env.d.ts"),s=process.env.EXTENSION_ENV==="development"?js.default.resolve(process.cwd(),"programs/cli/types"):"extension/dist/types",r=`// 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.
|
|
@@ -130,4 +130,4 @@ ${sc(e)}`}function rc(t){return`${k("info")} Using ${(0,d.magenta)(t)}. ${(0,d.b
|
|
|
130
130
|
|
|
131
131
|
// Polyfill types for browser.* APIs.
|
|
132
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
|
|
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(js.default.join(t,"manifest.json"));console.log(Ga(o));try{await Se.default.writeFile(e,r)}catch(i){console.log(Za(i))}}}var Tc=a(require("path")),Uc=require("cross-spawn"),Bc=a(require("fs")),qc=require("package-manager-detector");async function Zl(){let t=await(0,qc.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 Kl(){return["install"]}async function Wc(t){let e=Tc.default.join(t,"node_modules"),s=await Zl(),r=Kl(),n=process.cwd();try{process.chdir(t),await Bc.default.promises.mkdir(e,{recursive:!0});let o=process.env.EXTENSION_ENV==="development"?"inherit":"ignore",i=(0,Uc.spawn)(s,r,{stdio:o});await new Promise((c,l)=>{i.on("close",p=>{p!==0?l(new Error(oc(s,r,p))):c()}),i.on("error",p=>{l(p)})})}catch(o){console.error(ic(o)),process.exit(1)}finally{process.chdir(n)}}async function Jc(t,e){let s=await G(t),r=Ds.default.join(s,"manifest.json");!t?.startsWith("http")&&!$r.default.existsSync(r)&&(console.log(X(Ds.default.join(s,"manifest.json"))),process.exit(1));try{K(s)&&await Nc(s);let n=Ds.default.join(s,"node_modules");$r.default.existsSync(n)||(console.log(nc()),await Wc(s)),setTimeout(async()=>{await Rc(s,{...e,mode:"development",browser:e.browser||"chrome"})},50)}catch(n){process.env.EXTENSION_ENV==="development"&&console.error(n),process.exit(1)}}var zc=a(require("fs")),Fr=a(require("path")),Hc=require("@rspack/core"),Vc=require("webpack-merge");async function Ls(t,e){let s=await G(t);!t?.startsWith("http")&&!zc.default.existsSync(Fr.default.join(s,"manifest.json"))&&(console.log(X(Fr.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(Ma(r));let c=(await we(s))({...n,plugins:o}),l=(0,Vc.merge)(c);(0,Hc.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(Aa(s,{browser:r,mode:"production"}))})}catch(r){process.env.EXTENSION_ENV==="development"&&console.error(r),process.exit(1)}}var Xc=a(require("fs")),Cr=a(require("path"));async function Gc(t,e){let s=await G(t);!t?.startsWith("http")&&!Xc.default.existsSync(Cr.default.join(s,"manifest.json"))&&(console.log(X(Cr.default.join(s,"manifest.json"))),process.exit(1));try{let r=e.browser||"chrome";await Cs(t,{...e,browser:r,silent:!0}),await Ls(t,{...e,browser:r})}catch(r){process.env.EXTENSION_ENV==="development"&&console.error(r),process.exit(1)}}0&&(module.exports={extensionBuild,extensionDev,extensionPreview,extensionStart});
|