extension-develop 3.18.4 → 3.18.5-canary.local-b4fd0431
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/0~dev-server.mjs +49 -8
- package/dist/0~rslib-runtime.mjs +9 -5
- package/dist/0~rspack-config.mjs +546 -129
- package/dist/0~zip.mjs +1 -1
- package/dist/{946.mjs → 101.mjs} +566 -536
- package/dist/{962.mjs → 839.mjs} +207 -107
- package/dist/bridge.mjs +2 -2
- package/dist/ensure-hmr-for-scripts.js +1 -1
- package/dist/ensure-hmr-for-scripts.mjs +1 -1
- package/dist/extension-js-devtools/chrome/content_scripts/content-0.js +2 -2
- package/dist/extension-js-devtools/chrome/pages/centralized-logger.js +4 -4
- package/dist/extension-js-devtools/chrome/pages/welcome.js +2 -2
- package/dist/extension-js-devtools/chrome/scripts/logger-client.js +1 -1
- package/dist/extension-js-devtools/chromium/content_scripts/content-0.js +2 -2
- package/dist/extension-js-devtools/chromium/pages/centralized-logger.js +4 -4
- package/dist/extension-js-devtools/chromium/pages/welcome.js +2 -2
- package/dist/extension-js-devtools/chromium/scripts/logger-client.js +1 -1
- package/dist/extension-js-devtools/edge/content_scripts/content-0.js +2 -2
- package/dist/extension-js-devtools/edge/pages/centralized-logger.js +4 -4
- package/dist/extension-js-devtools/edge/pages/welcome.js +2 -2
- package/dist/extension-js-devtools/edge/scripts/logger-client.js +1 -1
- package/dist/extension-js-devtools/firefox/content_scripts/content-0.js +2 -2
- package/dist/extension-js-devtools/firefox/pages/centralized-logger.js +4 -4
- package/dist/extension-js-devtools/firefox/pages/welcome.js +2 -2
- package/dist/extension-js-devtools/firefox/scripts/logger-client.js +1 -1
- package/dist/extension-js-theme/brave/background/service_worker.js +2003 -0
- package/dist/extension-js-theme/brave/background/service_worker.js.map +1 -0
- package/dist/extension-js-theme/brave/manifest.json +45 -0
- package/dist/extension-js-theme/chrome/Cached Theme.pak +0 -0
- package/dist/extension-js-theme/chromium/Cached Theme.pak +0 -0
- package/dist/extension-js-theme/extension-js/brave/events.ndjson +4 -0
- package/dist/extension-js-theme/extension-js/brave/logs.ndjson +3 -0
- package/dist/extension-js-theme/extension-js/brave/ready.json +20 -0
- package/dist/extension-js-theme/extension-js/firefox/events.ndjson +130 -4
- package/dist/extension-js-theme/extension-js/firefox/ready.json +7 -7
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/.extension-js-managed-profile +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/ChromeFeatureState +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/AccessibilityAnnotatorDatabase +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Account Web Data +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Account Web Data-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Affiliation Database +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Affiliation Database-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/AutofillAiModelCache/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/AutofillAiModelCache/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/AutofillStrikeDatabase/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/AutofillStrikeDatabase/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/BookmarkMergedSurfaceOrdering +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/BrowsingTopicsSiteData +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/BrowsingTopicsSiteData-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/BrowsingTopicsState +12 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/BudgetDatabase/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/BudgetDatabase/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Cache/Cache_Data/index +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Cache/Cache_Data/sqldb0 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Cache/Cache_Data/sqldb1 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Cache/Cache_Data/sqldb2 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Cache/No_Vary_Search/journal.baj +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Cache/No_Vary_Search/snapshot.baf +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/ClientCertificates/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/ClientCertificates/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Code Cache/pc/05_@;2t2fb2=a6@=`6`2`218;50[[=243915.92@2126345=;-629[`2.db +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Code Cache/pc/05_@;2t2fb2=a6@=`6`2`218;50[[=243915.92@2126345=;-629[`2.journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Collaboration/MessageDB +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Collaboration/MessageDB-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Cookies +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Cookies-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DIPS +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DIPS-wal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DataSharing/DataSharingDB +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DataSharing/DataSharingDB-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DawnGraphiteCache/data_0 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DawnGraphiteCache/data_1 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DawnGraphiteCache/data_2 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DawnGraphiteCache/data_3 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DawnGraphiteCache/index +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DawnWebGPUCache/data_0 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DawnWebGPUCache/data_1 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DawnWebGPUCache/data_2 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DawnWebGPUCache/data_3 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/DawnWebGPUCache/index +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension Rules/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension Rules/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension Rules/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension Rules/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension Rules/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension Scripts/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension Scripts/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension Scripts/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension Scripts/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension Scripts/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension State/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension State/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension State/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension State/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Extension State/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Favicons +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Favicons-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Feature Engagement Tracker/AvailabilityDB/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Feature Engagement Tracker/AvailabilityDB/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Feature Engagement Tracker/EventDB/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Feature Engagement Tracker/EventDB/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/GCM Store/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/GCM Store/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/GCM Store/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/GCM Store/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/GCM Store/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/GPUCache/data_0 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/GPUCache/data_1 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/GPUCache/data_2 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/GPUCache/data_3 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/GPUCache/index +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/History +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/History-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Local Extension Settings/dkmhcppnegfldhbleoedeifghnmaielp/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Local Extension Settings/dkmhcppnegfldhbleoedeifghnmaielp/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Local Extension Settings/dkmhcppnegfldhbleoedeifghnmaielp/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Local Extension Settings/dkmhcppnegfldhbleoedeifghnmaielp/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Local Extension Settings/dkmhcppnegfldhbleoedeifghnmaielp/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Local Storage/leveldb/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Local Storage/leveldb/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Local Storage/leveldb/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Local Storage/leveldb/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Local Storage/leveldb/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Login Data +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Login Data For Account +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Login Data For Account-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Login Data-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Network Action Predictor +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Network Action Predictor-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Network Persistent State +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/PersistentOriginTrials/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/PersistentOriginTrials/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Preferences +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/PreferredApps +1 -0
- NEL +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Reporting and NEL-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/SCT Auditing Pending Reports +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Safe Browsing Cookies +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Safe Browsing Cookies-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Secure Preferences +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Segmentation Platform/SegmentInfoDB/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Segmentation Platform/SegmentInfoDB/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Segmentation Platform/SignalDB/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Segmentation Platform/SignalDB/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Segmentation Platform/SignalStorageConfigDB/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Segmentation Platform/SignalStorageConfigDB/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/ServerCertificate +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/ServerCertificate-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Service Worker/Database/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Service Worker/Database/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Service Worker/Database/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Service Worker/Database/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Service Worker/Database/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_0 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_1 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Service Worker/ScriptCache/4cb013792b196a35_0 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Service Worker/ScriptCache/4cb013792b196a35_1 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Service Worker/ScriptCache/index +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Service Worker/ScriptCache/index-dir/the-real-index +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Session Storage/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Session Storage/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Session Storage/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Session Storage/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Session Storage/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Sessions/Session_13426296971679614 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Sessions/Tabs_13426296976710116 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Shared Dictionary/cache/index +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Shared Dictionary/cache/index-dir/the-real-index +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Shared Dictionary/db +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Shared Dictionary/db-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/SharedStorage +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Shortcuts +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Shortcuts-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Site Characteristics Database/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Site Characteristics Database/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Site Characteristics Database/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Site Characteristics Database/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Site Characteristics Database/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Sync Data/LevelDB/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Sync Data/LevelDB/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Sync Data/LevelDB/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Sync Data/LevelDB/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Sync Data/LevelDB/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Top Sites +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Top Sites-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/TransportSecurity +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Trust Tokens +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Trust Tokens-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Web Data +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/Web Data-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/WebStorage/QuotaManager +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/WebStorage/QuotaManager-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/chrome_cart_db/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/chrome_cart_db/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/commerce_subscription_db/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/commerce_subscription_db/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/discount_infos_db/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/discount_infos_db/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/discounts_db/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/discounts_db/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/engine_allowlist.bf +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/heavy_ad_intervention_opt_out.db +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/heavy_ad_intervention_opt_out.db-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/optimization_guide_hint_cache_store/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/optimization_guide_hint_cache_store/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/parcel_tracking_db/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/parcel_tracking_db/LOG +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/shared_proto_db/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/shared_proto_db/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/shared_proto_db/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/shared_proto_db/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/shared_proto_db/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/shared_proto_db/metadata/000003.log +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/shared_proto_db/metadata/CURRENT +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/shared_proto_db/metadata/LOCK +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/shared_proto_db/metadata/LOG +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/shared_proto_db/metadata/MANIFEST-000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Default/trusted_vault.pb +2 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/GPUPersistentCache/GPUCache/6SE4MO4T2PYNTMRZGJ6B4HK2AV4LBDP4/cache.db +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/GPUPersistentCache/GPUCache/6SE4MO4T2PYNTMRZGJ6B4HK2AV4LBDP4/cache.db-wal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/GPUPersistentCache/GPUCache/6SE4MO4T2PYNTMRZGJ6B4HK2AV4LBDP4/cache.journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/GraphiteDawnCache/data_0 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/GraphiteDawnCache/data_1 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/GraphiteDawnCache/data_2 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/GraphiteDawnCache/data_3 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/GraphiteDawnCache/f_000001 +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/GraphiteDawnCache/index +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Last Version +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Local State +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/Variations +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/extensions_crx_cache/metadata.json +1 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/first_party_sets.db +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/first_party_sets.db-journal +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/segmentation_platform/ukm_db +0 -0
- package/dist/extension-js-theme/extension-js/profiles/brave-profile/circular-scarlet-slug/segmentation_platform/ukm_db-wal +0 -0
- package/dist/extension-js-theme/theme-dist-bak/chrome/Cached Theme.pak +0 -0
- package/dist/extension-js-theme/theme-dist-bak/chrome/manifest.json +22 -0
- package/dist/extension-js-theme/theme-dist-bak/chromium/Cached Theme.pak +0 -0
- package/dist/extension-js-theme/theme-dist-bak/chromium/manifest.json +22 -0
- package/dist/extension-js-theme/theme-dist-bak/edge/Cached Theme.pak +0 -0
- package/dist/extension-js-theme/theme-dist-bak/edge/manifest.json +22 -0
- package/dist/extension-js-theme/theme-dist-bak/firefox/manifest.json +66 -0
- package/dist/feature-scripts-classic-concat-loader.js +81 -0
- package/dist/feature-scripts-classic-concat-loader.mjs +81 -0
- package/dist/feature-scripts-content-script-wrapper.js +47 -8
- package/dist/feature-scripts-content-script-wrapper.mjs +47 -8
- package/dist/module.mjs +2 -2
- package/dist/preview.mjs +1 -1
- package/package.json +13 -12
- package/dist/extension-js-devtools/extension-js/chrome/events.ndjson +0 -2
- package/dist/extension-js-devtools/extension-js/chrome/ready.json +0 -16
- package/dist/extension-js-devtools/extension-js/chromium/events.ndjson +0 -2
- package/dist/extension-js-devtools/extension-js/chromium/ready.json +0 -16
- package/dist/extension-js-devtools/extension-js/edge/events.ndjson +0 -2
- package/dist/extension-js-devtools/extension-js/edge/ready.json +0 -16
- package/dist/extension-js-devtools/extension-js/firefox/events.ndjson +0 -2
- package/dist/extension-js-devtools/extension-js/firefox/ready.json +0 -16
- package/dist/extension-js-theme/extension-js/chrome/events.ndjson +0 -2
- package/dist/extension-js-theme/extension-js/chrome/ready.json +0 -16
- package/dist/extension-js-theme/extension-js/chromium/events.ndjson +0 -2
- package/dist/extension-js-theme/extension-js/chromium/ready.json +0 -16
- package/dist/extension-js-theme/extension-js/edge/events.ndjson +0 -2
- package/dist/extension-js-theme/extension-js/edge/ready.json +0 -16
- /package/dist/{314.mjs → 224.mjs} +0 -0
- /package/dist/{526.mjs → 291.mjs} +0 -0
- /package/dist/{45.mjs → 875.mjs} +0 -0
package/dist/{946.mjs → 101.mjs}
RENAMED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { createRequire as __extjsCreateRequire } from "node:module"; const require = __extjsCreateRequire(import.meta.url);
|
|
2
|
-
import pintor from "pintor";
|
|
3
2
|
import { pathToFileURL } from "url";
|
|
4
3
|
import { createRequire } from "module";
|
|
5
4
|
import dotenv from "dotenv";
|
|
5
|
+
import pintor from "pintor";
|
|
6
6
|
import { fetchExtensionFromStore } from "extension-from-store";
|
|
7
7
|
import path_0 from "path";
|
|
8
8
|
import { getSpecialFoldersData } from "browser-extension-manifest-fields";
|
|
9
9
|
import { fileURLToPath as __rspack_fileURLToPath } from "node:url";
|
|
10
10
|
import { dirname as __rspack_dirname } from "node:path";
|
|
11
|
-
|
|
11
|
+
var __rspack_import_meta_dirname__ = __rspack_dirname(__rspack_fileURLToPath(import.meta.url));
|
|
12
12
|
import * as __rspack_external_fs from "fs";
|
|
13
|
+
import * as __rspack_external_path from "path";
|
|
13
14
|
import * as __rspack_external_os from "os";
|
|
14
15
|
import * as __rspack_external_vm from "vm";
|
|
15
|
-
var package_namespaceObject = JSON.parse('{"rE":"3.18.
|
|
16
|
+
var package_namespaceObject = /*#__PURE__*/ JSON.parse('{"rE":"3.18.5-canary.local-b4fd0431","El":{"@prefresh/core":"1.5.9","@prefresh/utils":"1.2.1","@rspack/core":"^2.1.1","@rspack/dev-server":"2.1.0","@rspack/plugin-preact-refresh":"2.0.1","@rspack/plugin-react-refresh":"2.0.2","@vue/compiler-sfc":"3.5.26","adm-zip":"^0.5.16","browser-extension-manifest-fields":"^2.2.7","case-sensitive-paths-webpack-plugin":"^2.4.0","content-security-policy-parser":"^0.6.0","dotenv":"^17.2.3","es-module-lexer":"^2.1.0","extension-from-store":"^0.1.1","go-git-it":"^5.1.5","ignore":"^7.0.5","less":"4.5.1","less-loader":"13.0.0","parse5-utilities":"^1.0.0","pintor":"0.3.0","postcss":"8.5.10","postcss-loader":"8.2.1","postcss-preset-env":"11.1.1","postcss-scss":"4.0.9","preact":"10.27.3","prefers-yarn":"2.0.1","react-refresh":"0.18.0","sass-loader":"17.0.0","schema-utils":"^4.3.3","svelte-loader":"3.2.4","tiny-glob":"^0.2.9","typescript":"5.9.3","vue":"3.5.26","vue-loader":"17.4.2","webextension-polyfill":"^0.12.0","webpack-merge":"^6.0.1","webpack-target-webextension":"^2.1.3","ws":"^8.20.1"}}');
|
|
16
17
|
const fmt = {
|
|
17
18
|
heading: (title)=>pintor.underline(pintor.blue(title)),
|
|
18
19
|
label: (key)=>pintor.gray(key.toUpperCase()),
|
|
@@ -88,11 +89,20 @@ function buildWebpack(projectDir, stats, browser) {
|
|
|
88
89
|
const statsJson = stats?.toJson({
|
|
89
90
|
all: false,
|
|
90
91
|
assets: true,
|
|
91
|
-
|
|
92
|
+
timings: true
|
|
92
93
|
});
|
|
93
94
|
const outputPath = 'string' == typeof stats?.compilation?.outputOptions?.path ? stats.compilation.outputOptions.path : '';
|
|
94
|
-
const
|
|
95
|
-
const
|
|
95
|
+
const distManifestPath = outputPath ? __rspack_external_path.join(outputPath, 'manifest.json') : '';
|
|
96
|
+
const manifestPath = distManifestPath && __rspack_external_fs.existsSync(distManifestPath) ? distManifestPath : __rspack_external_path.join(projectDir, 'manifest.json');
|
|
97
|
+
let manifest = {};
|
|
98
|
+
try {
|
|
99
|
+
manifest = JSON.parse(__rspack_external_fs.readFileSync(manifestPath, 'utf8'));
|
|
100
|
+
} catch {
|
|
101
|
+
manifest = {
|
|
102
|
+
name: __rspack_external_path.basename(projectDir),
|
|
103
|
+
version: ''
|
|
104
|
+
};
|
|
105
|
+
}
|
|
96
106
|
const assets = statsJson?.assets;
|
|
97
107
|
const heading = `${getLoggingPrefix('info')} Building ${pintor.blue(manifest.name)} extension using ${capitalizedBrowserName(browser)} defaults...\n`;
|
|
98
108
|
const buildTime = `\nBuild completed in ${((statsJson?.time || 0) / 1000).toFixed(2)} seconds.\n`;
|
|
@@ -261,7 +271,7 @@ function getFileSize(fileSizeInBytes) {
|
|
|
261
271
|
function getAssetsSize(assets) {
|
|
262
272
|
let totalSize = 0;
|
|
263
273
|
assets?.forEach((asset)=>{
|
|
264
|
-
totalSize += asset
|
|
274
|
+
totalSize += asset?.size || 0;
|
|
265
275
|
});
|
|
266
276
|
return getFileSize(totalSize);
|
|
267
277
|
}
|
|
@@ -279,6 +289,7 @@ function printTree(node, prefix = '') {
|
|
|
279
289
|
function getAssetsTree(assets) {
|
|
280
290
|
const assetTree = {};
|
|
281
291
|
assets?.forEach((asset)=>{
|
|
292
|
+
if ('string' != typeof asset?.name) return;
|
|
282
293
|
const paths = asset.name.split('/');
|
|
283
294
|
let currentLevel = assetTree;
|
|
284
295
|
paths.forEach((part, index)=>{
|
|
@@ -374,117 +385,498 @@ function managedDependencyConflict(duplicates, userPackageJsonPath) {
|
|
|
374
385
|
const list = duplicates.map((d)=>`- ${pintor.yellow(d)}`).join('\n');
|
|
375
386
|
return `${getLoggingPrefix('error')} Your project declares dependencies that are managed by ${pintor.blue('Extension.js')} and referenced in ${pintor.underline('extension.config.js')}\n${pintor.red('This can cause version conflicts and break the development/build process.')}\n\n${pintor.gray('Managed dependencies (remove these from your package.json):')}\n${list}\n\n${pintor.gray('PATH')} ${pintor.underline(userPackageJsonPath)}\nIf you need a different version, open an issue so we can consider bundling it safely.\nOperation aborted.`;
|
|
376
387
|
}
|
|
377
|
-
|
|
378
|
-
const
|
|
379
|
-
|
|
388
|
+
function loadCommonJsConfigWithStableDirname(absolutePath) {
|
|
389
|
+
const code = __rspack_external_fs.readFileSync(absolutePath, 'utf-8');
|
|
390
|
+
const dirname = __rspack_external_path.dirname(absolutePath);
|
|
391
|
+
const requireFn = createRequire(absolutePath);
|
|
392
|
+
const module = {
|
|
393
|
+
exports: {}
|
|
394
|
+
};
|
|
395
|
+
const exports = module.exports;
|
|
396
|
+
const wrapped = `(function (exports, require, module, __filename, __dirname) {\n${code}\n})`;
|
|
397
|
+
const fn = new __rspack_external_vm.Script(wrapped, {
|
|
398
|
+
filename: absolutePath
|
|
399
|
+
}).runInThisContext();
|
|
400
|
+
fn(exports, requireFn, module, absolutePath, dirname);
|
|
401
|
+
return module.exports?.default || module.exports;
|
|
402
|
+
}
|
|
403
|
+
function findNearestWorkspaceRoot(startDir) {
|
|
404
|
+
let current = __rspack_external_path.resolve(startDir);
|
|
380
405
|
while(true){
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
} catch {}
|
|
386
|
-
if (currentDir === root) return;
|
|
387
|
-
currentDir = __rspack_external_path.dirname(currentDir);
|
|
406
|
+
if (__rspack_external_fs.existsSync(__rspack_external_path.join(current, 'pnpm-workspace.yaml'))) return current;
|
|
407
|
+
const parent = __rspack_external_path.dirname(current);
|
|
408
|
+
if (parent === current) return;
|
|
409
|
+
current = parent;
|
|
388
410
|
}
|
|
389
411
|
}
|
|
390
|
-
|
|
412
|
+
function preloadEnvFilesFromDir(envDir, options) {
|
|
413
|
+
let loadedAny = false;
|
|
391
414
|
try {
|
|
392
|
-
const
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
415
|
+
const defaultsPath = __rspack_external_path.join(envDir, '.env.defaults');
|
|
416
|
+
if (__rspack_external_fs.existsSync(defaultsPath)) {
|
|
417
|
+
dotenv.config({
|
|
418
|
+
path: defaultsPath,
|
|
419
|
+
override: Boolean(options?.override),
|
|
420
|
+
quiet: true
|
|
421
|
+
});
|
|
422
|
+
loadedAny = true;
|
|
423
|
+
}
|
|
424
|
+
const envCandidates = [
|
|
425
|
+
'.env.development',
|
|
426
|
+
'.env.local',
|
|
427
|
+
'.env'
|
|
428
|
+
];
|
|
429
|
+
for (const filename of envCandidates){
|
|
430
|
+
const filePath = __rspack_external_path.join(envDir, filename);
|
|
431
|
+
if (__rspack_external_fs.existsSync(filePath)) {
|
|
432
|
+
dotenv.config({
|
|
433
|
+
path: filePath,
|
|
434
|
+
override: Boolean(options?.override),
|
|
435
|
+
quiet: true
|
|
436
|
+
});
|
|
437
|
+
loadedAny = true;
|
|
438
|
+
break;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
} catch {}
|
|
442
|
+
return {
|
|
443
|
+
loadedAny,
|
|
444
|
+
envDir
|
|
445
|
+
};
|
|
401
446
|
}
|
|
402
|
-
function
|
|
447
|
+
function findConfigFile(projectPath) {
|
|
448
|
+
const candidates = [
|
|
449
|
+
__rspack_external_path.join(projectPath, 'extension.config.js'),
|
|
450
|
+
__rspack_external_path.join(projectPath, 'extension.config.mjs'),
|
|
451
|
+
__rspack_external_path.join(projectPath, 'extension.config.cjs')
|
|
452
|
+
];
|
|
453
|
+
return candidates.find((p)=>__rspack_external_fs.existsSync(p));
|
|
454
|
+
}
|
|
455
|
+
function preloadEnvFiles(projectDir) {
|
|
456
|
+
const local = preloadEnvFilesFromDir(projectDir);
|
|
457
|
+
if (local.loadedAny) return local;
|
|
458
|
+
const workspaceRoot = findNearestWorkspaceRoot(projectDir);
|
|
459
|
+
if (workspaceRoot && workspaceRoot !== projectDir) return preloadEnvFilesFromDir(workspaceRoot);
|
|
460
|
+
return local;
|
|
461
|
+
}
|
|
462
|
+
const loadedConfigCache = new Map();
|
|
463
|
+
async function loadConfigFile(configPath) {
|
|
464
|
+
const absolutePath = __rspack_external_path.resolve(configPath);
|
|
465
|
+
const cached = loadedConfigCache.get(absolutePath);
|
|
466
|
+
if (cached) return cached;
|
|
467
|
+
const loading = loadConfigFileUncached(absolutePath);
|
|
468
|
+
loadedConfigCache.set(absolutePath, loading);
|
|
403
469
|
try {
|
|
404
|
-
|
|
405
|
-
const content = __rspack_external_fs.readFileSync(packageJsonPath, 'utf-8');
|
|
406
|
-
JSON.parse(content);
|
|
407
|
-
return true;
|
|
470
|
+
return await loading;
|
|
408
471
|
} catch (error) {
|
|
409
|
-
|
|
410
|
-
|
|
472
|
+
loadedConfigCache.delete(absolutePath);
|
|
473
|
+
throw error;
|
|
411
474
|
}
|
|
412
475
|
}
|
|
413
|
-
|
|
476
|
+
async function loadConfigFileUncached(absolutePath) {
|
|
477
|
+
const projectDir = __rspack_external_path.dirname(absolutePath);
|
|
478
|
+
preloadEnvFiles(projectDir);
|
|
414
479
|
try {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
const
|
|
458
|
-
const
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
480
|
+
if (absolutePath.endsWith('.cjs')) {
|
|
481
|
+
const requireFn = createRequire(import.meta.url);
|
|
482
|
+
const required = requireFn(absolutePath);
|
|
483
|
+
return required?.default || required;
|
|
484
|
+
}
|
|
485
|
+
let esmImportPath = absolutePath;
|
|
486
|
+
let shimTmpDir;
|
|
487
|
+
try {
|
|
488
|
+
const originalContent = __rspack_external_fs.readFileSync(absolutePath, 'utf-8');
|
|
489
|
+
if (originalContent.includes('import.meta.env')) {
|
|
490
|
+
shimTmpDir = __rspack_external_fs.mkdtempSync(__rspack_external_path.join(__rspack_external_os.tmpdir(), 'extension-config-esm-'));
|
|
491
|
+
const tmpPath = __rspack_external_path.join(shimTmpDir, __rspack_external_path.basename(absolutePath));
|
|
492
|
+
const envObjectLiteral = JSON.stringify(Object.fromEntries(Object.entries(process.env).map(([k, v])=>[
|
|
493
|
+
k,
|
|
494
|
+
v
|
|
495
|
+
])), null, 0);
|
|
496
|
+
const shimHeader = `const __IMPORT_META_ENV__ = Object.freeze(${envObjectLiteral});\n`;
|
|
497
|
+
const replaced = originalContent.replace(/import\.meta\.env/g, '__IMPORT_META_ENV__');
|
|
498
|
+
__rspack_external_fs.writeFileSync(tmpPath, `${shimHeader}${replaced}`, 'utf-8');
|
|
499
|
+
esmImportPath = tmpPath;
|
|
500
|
+
}
|
|
501
|
+
} catch {}
|
|
502
|
+
try {
|
|
503
|
+
const module = await import(pathToFileURL(esmImportPath).href);
|
|
504
|
+
return module.default || module;
|
|
505
|
+
} finally{
|
|
506
|
+
if (shimTmpDir) try {
|
|
507
|
+
__rspack_external_fs.rmSync(shimTmpDir, {
|
|
508
|
+
recursive: true,
|
|
509
|
+
force: true
|
|
510
|
+
});
|
|
511
|
+
} catch {}
|
|
512
|
+
}
|
|
513
|
+
} catch (err) {
|
|
514
|
+
const error = err;
|
|
515
|
+
try {
|
|
516
|
+
if (!absolutePath.endsWith('.mjs')) {
|
|
517
|
+
const requireFn = createRequire(import.meta.url);
|
|
518
|
+
let required;
|
|
519
|
+
try {
|
|
520
|
+
required = requireFn(absolutePath);
|
|
521
|
+
} catch (requireErr) {
|
|
522
|
+
const message = String(error?.message || '') + ' ' + String(requireErr?.message || '');
|
|
523
|
+
const looksLikeCommonJsInEsm = message.includes('require is not defined in ES module scope') || message.includes('Cannot use import statement outside a module') || message.includes('ERR_REQUIRE_ESM');
|
|
524
|
+
if (looksLikeCommonJsInEsm) try {
|
|
525
|
+
required = loadCommonJsConfigWithStableDirname(absolutePath);
|
|
526
|
+
} catch {
|
|
527
|
+
const tmpDir = __rspack_external_fs.mkdtempSync(__rspack_external_path.join(__rspack_external_os.tmpdir(), 'extension-config-'));
|
|
528
|
+
try {
|
|
529
|
+
const tmpCjsPath = __rspack_external_path.join(tmpDir, __rspack_external_path.basename(absolutePath, __rspack_external_path.extname(absolutePath)) + '.cjs');
|
|
530
|
+
__rspack_external_fs.copyFileSync(absolutePath, tmpCjsPath);
|
|
531
|
+
required = requireFn(tmpCjsPath);
|
|
532
|
+
} finally{
|
|
533
|
+
try {
|
|
534
|
+
__rspack_external_fs.rmSync(tmpDir, {
|
|
535
|
+
recursive: true,
|
|
536
|
+
force: true
|
|
537
|
+
});
|
|
538
|
+
} catch {}
|
|
539
|
+
}
|
|
464
540
|
}
|
|
541
|
+
else throw requireErr;
|
|
465
542
|
}
|
|
466
|
-
return
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
543
|
+
return required?.default || required;
|
|
544
|
+
}
|
|
545
|
+
} catch {}
|
|
546
|
+
try {
|
|
547
|
+
const content = __rspack_external_fs.readFileSync(absolutePath, 'utf-8');
|
|
548
|
+
return JSON.parse(content);
|
|
549
|
+
} catch (jsonErr) {
|
|
550
|
+
throw new Error(`Failed to load config file: ${absolutePath}\nError: ${error.message || error}`);
|
|
473
551
|
}
|
|
474
|
-
} catch {}
|
|
475
|
-
async function tryGitClone() {
|
|
476
|
-
const { default: goGitIt } = await import("go-git-it");
|
|
477
|
-
await withTimeout(goGitIt(pathOrRemoteUrl, cwd, text), REMOTE_FETCH_TIMEOUT_MS, pathOrRemoteUrl);
|
|
478
552
|
}
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
553
|
+
}
|
|
554
|
+
async function loadCustomConfig(projectPath) {
|
|
555
|
+
const configPath = findConfigFile(projectPath);
|
|
556
|
+
if (configPath) {
|
|
557
|
+
if (await config_loader_isUsingExperimentalConfig(projectPath)) try {
|
|
558
|
+
const userConfig = await loadConfigFile(configPath);
|
|
559
|
+
if (userConfig && 'function' == typeof userConfig.config) return userConfig.config;
|
|
560
|
+
if (userConfig && userConfig.config && 'object' == typeof userConfig.config) {
|
|
561
|
+
const partial = userConfig.config;
|
|
562
|
+
return (config)=>{
|
|
563
|
+
const requireFn = createRequire(import.meta.url);
|
|
564
|
+
const { merge } = requireFn('webpack-merge');
|
|
565
|
+
return merge(config, partial);
|
|
566
|
+
};
|
|
567
|
+
}
|
|
568
|
+
} catch (err) {
|
|
569
|
+
const error = err;
|
|
570
|
+
console.error(configLoadingError(configPath, error));
|
|
571
|
+
throw err;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
return (config)=>config;
|
|
575
|
+
}
|
|
576
|
+
async function loadCommandConfig(projectPath, command) {
|
|
577
|
+
const configPath = findConfigFile(projectPath);
|
|
578
|
+
if (configPath) {
|
|
579
|
+
if (await config_loader_isUsingExperimentalConfig(projectPath)) try {
|
|
580
|
+
const userConfig = await loadConfigFile(configPath);
|
|
581
|
+
const baseExtensions = userConfig && userConfig.extensions ? {
|
|
582
|
+
extensions: userConfig.extensions
|
|
583
|
+
} : {};
|
|
584
|
+
const baseTranspilePackages = userConfig && Array.isArray(userConfig.transpilePackages) ? {
|
|
585
|
+
transpilePackages: userConfig.transpilePackages
|
|
586
|
+
} : {};
|
|
587
|
+
const basePerfBudgets = userConfig && userConfig.perfBudgets && 'object' == typeof userConfig.perfBudgets ? {
|
|
588
|
+
perfBudgets: userConfig.perfBudgets
|
|
589
|
+
} : {};
|
|
590
|
+
const perCommand = userConfig && userConfig.commands && userConfig.commands[command] ? userConfig.commands[command] : {};
|
|
591
|
+
return {
|
|
592
|
+
...baseExtensions,
|
|
593
|
+
...baseTranspilePackages,
|
|
594
|
+
...basePerfBudgets,
|
|
595
|
+
...perCommand
|
|
596
|
+
};
|
|
597
|
+
} catch (err) {
|
|
598
|
+
const error = err;
|
|
599
|
+
console.error(configLoadingError(configPath, error));
|
|
600
|
+
throw err;
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
return {};
|
|
604
|
+
}
|
|
605
|
+
async function loadBrowserConfig(projectPath, browser = 'chrome') {
|
|
606
|
+
const configPath = findConfigFile(projectPath);
|
|
607
|
+
if (configPath) {
|
|
608
|
+
if (await config_loader_isUsingExperimentalConfig(projectPath)) try {
|
|
609
|
+
const userConfig = await loadConfigFile(configPath);
|
|
610
|
+
if (userConfig && userConfig.browser) {
|
|
611
|
+
const browsers = userConfig.browser;
|
|
612
|
+
if ('chromium-based' === browser) {
|
|
613
|
+
if (browsers['chromium-based']) return browsers['chromium-based'];
|
|
614
|
+
if (browsers.chromium) return browsers.chromium;
|
|
615
|
+
} else if ('gecko-based' === browser) {
|
|
616
|
+
if (browsers['gecko-based']) return browsers['gecko-based'];
|
|
617
|
+
if (browsers.firefox) return browsers.firefox;
|
|
618
|
+
} else {
|
|
619
|
+
const direct = browsers[browser];
|
|
620
|
+
if (direct) return direct;
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
} catch (err) {
|
|
624
|
+
const error = err;
|
|
625
|
+
console.error(configLoadingError(configPath, error));
|
|
626
|
+
throw err;
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
return {
|
|
630
|
+
browser: browser || 'chrome'
|
|
631
|
+
};
|
|
632
|
+
}
|
|
633
|
+
let userMessageDelivered = false;
|
|
634
|
+
async function config_loader_isUsingExperimentalConfig(projectPath) {
|
|
635
|
+
const configPath = findConfigFile(projectPath);
|
|
636
|
+
if (configPath) {
|
|
637
|
+
if (!userMessageDelivered) {
|
|
638
|
+
if ('true' === process.env.EXTENSION_AUTHOR_MODE) console.log(isUsingExperimentalConfig('extension.config.js'));
|
|
639
|
+
userMessageDelivered = true;
|
|
640
|
+
}
|
|
641
|
+
return true;
|
|
642
|
+
}
|
|
643
|
+
return false;
|
|
644
|
+
}
|
|
645
|
+
function asAbsolute(p) {
|
|
646
|
+
return __rspack_external_path.isAbsolute(p) ? p : __rspack_external_path.resolve(p);
|
|
647
|
+
}
|
|
648
|
+
function getDirs(struct) {
|
|
649
|
+
const manifestDir = asAbsolute(__rspack_external_path.dirname(struct.manifestPath));
|
|
650
|
+
const packageJsonDir = asAbsolute(struct.packageJsonPath ? __rspack_external_path.dirname(struct.packageJsonPath) : manifestDir);
|
|
651
|
+
return {
|
|
652
|
+
manifestDir,
|
|
653
|
+
packageJsonDir
|
|
654
|
+
};
|
|
655
|
+
}
|
|
656
|
+
function getNodeModulesDir(packageJsonDir) {
|
|
657
|
+
return asAbsolute(__rspack_external_path.join(packageJsonDir, 'node_modules'));
|
|
658
|
+
}
|
|
659
|
+
function needsInstall(packageJsonDir) {
|
|
660
|
+
const nm = getNodeModulesDir(packageJsonDir);
|
|
661
|
+
const packageJsonPath = __rspack_external_path.join(packageJsonDir, 'package.json');
|
|
662
|
+
if (!__rspack_external_fs.existsSync(packageJsonPath)) return false;
|
|
663
|
+
try {
|
|
664
|
+
const raw = __rspack_external_fs.readFileSync(packageJsonPath, 'utf-8');
|
|
665
|
+
const packageJson = JSON.parse(raw);
|
|
666
|
+
const depsCount = Object.keys(packageJson?.dependencies || {}).length;
|
|
667
|
+
const devDepsCount = Object.keys(packageJson?.devDependencies || {}).length;
|
|
668
|
+
if (depsCount + devDepsCount === 0) return false;
|
|
669
|
+
if (!__rspack_external_fs.existsSync(nm)) return true;
|
|
670
|
+
const deps = Object.keys(packageJson?.dependencies || {});
|
|
671
|
+
const devDeps = Object.keys(packageJson?.devDependencies || {});
|
|
672
|
+
if (__rspack_external_fs.existsSync(__rspack_external_path.join(nm, '.pnpm'))) return false;
|
|
673
|
+
if (__rspack_external_fs.existsSync(__rspack_external_path.join(nm, '.modules.yaml'))) return false;
|
|
674
|
+
const hasInstalledDep = [
|
|
675
|
+
...deps,
|
|
676
|
+
...devDeps
|
|
677
|
+
].some((dep)=>__rspack_external_fs.existsSync(__rspack_external_path.join(nm, dep)));
|
|
678
|
+
return !hasInstalledDep;
|
|
679
|
+
} catch {
|
|
680
|
+
return true;
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
function normalizeBrowser(browser, chromiumBinary, geckoBinary, safariBinary) {
|
|
684
|
+
const requested = String(browser || '');
|
|
685
|
+
if (chromiumBinary) {
|
|
686
|
+
if (!requested || 'chromium-based' === requested) return 'chromium-based';
|
|
687
|
+
if ('chromium' === requested) return 'chromium';
|
|
688
|
+
if ('edge' === requested) return 'edge';
|
|
689
|
+
if ('chrome' === requested) return 'chrome';
|
|
690
|
+
}
|
|
691
|
+
if (geckoBinary) {
|
|
692
|
+
if (!requested || 'gecko-based' === requested || 'firefox-based' === requested) return 'gecko-based';
|
|
693
|
+
if ('firefox' === requested) return 'firefox';
|
|
694
|
+
}
|
|
695
|
+
if (safariBinary) {
|
|
696
|
+
if (!requested || 'webkit-based' === requested) return 'webkit-based';
|
|
697
|
+
if ('safari' === requested) return 'safari';
|
|
698
|
+
}
|
|
699
|
+
switch(requested){
|
|
700
|
+
case 'chrome':
|
|
701
|
+
return 'chrome';
|
|
702
|
+
case 'edge':
|
|
703
|
+
return 'edge';
|
|
704
|
+
case 'chromium':
|
|
705
|
+
return 'chromium';
|
|
706
|
+
case 'brave':
|
|
707
|
+
return 'brave';
|
|
708
|
+
case 'opera':
|
|
709
|
+
return 'opera';
|
|
710
|
+
case 'vivaldi':
|
|
711
|
+
return 'vivaldi';
|
|
712
|
+
case 'yandex':
|
|
713
|
+
return 'yandex';
|
|
714
|
+
case 'chromium-based':
|
|
715
|
+
return 'chromium-based';
|
|
716
|
+
case 'firefox':
|
|
717
|
+
return 'firefox';
|
|
718
|
+
case 'waterfox':
|
|
719
|
+
return 'waterfox';
|
|
720
|
+
case 'librewolf':
|
|
721
|
+
return 'librewolf';
|
|
722
|
+
case 'gecko-based':
|
|
723
|
+
case 'firefox-based':
|
|
724
|
+
return 'gecko-based';
|
|
725
|
+
case 'safari':
|
|
726
|
+
return 'safari';
|
|
727
|
+
case 'webkit-based':
|
|
728
|
+
return 'webkit-based';
|
|
729
|
+
default:
|
|
730
|
+
return 'chrome';
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
function getDistPath(packageJsonDir, browser) {
|
|
734
|
+
return asAbsolute(__rspack_external_path.join(packageJsonDir, 'dist', browser));
|
|
735
|
+
}
|
|
736
|
+
function computePreviewOutputPath(struct, browser, explicitOutputPath) {
|
|
737
|
+
const { manifestDir, packageJsonDir } = getDirs(struct);
|
|
738
|
+
if (explicitOutputPath) return asAbsolute(explicitOutputPath);
|
|
739
|
+
if (struct.packageJsonPath) {
|
|
740
|
+
const distDir = getDistPath(packageJsonDir, browser);
|
|
741
|
+
try {
|
|
742
|
+
if (__rspack_external_fs.existsSync(__rspack_external_path.join(distDir, 'manifest.json'))) return distDir;
|
|
743
|
+
} catch {}
|
|
744
|
+
}
|
|
745
|
+
return manifestDir;
|
|
746
|
+
}
|
|
747
|
+
function devtoolsEngineFor(browser) {
|
|
748
|
+
switch(browser){
|
|
749
|
+
case 'chrome':
|
|
750
|
+
return 'chrome';
|
|
751
|
+
case 'edge':
|
|
752
|
+
return 'edge';
|
|
753
|
+
case 'chromium':
|
|
754
|
+
case 'chromium-based':
|
|
755
|
+
case 'brave':
|
|
756
|
+
case 'opera':
|
|
757
|
+
case 'vivaldi':
|
|
758
|
+
case 'yandex':
|
|
759
|
+
return 'chromium';
|
|
760
|
+
case 'firefox':
|
|
761
|
+
case 'gecko-based':
|
|
762
|
+
case 'waterfox':
|
|
763
|
+
case 'librewolf':
|
|
764
|
+
return 'firefox';
|
|
765
|
+
default:
|
|
766
|
+
return 'chrome';
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
async function findUpLocal(filename, options) {
|
|
770
|
+
const root = __rspack_external_path.parse(options.cwd).root;
|
|
771
|
+
let currentDir = options.cwd;
|
|
772
|
+
while(true){
|
|
773
|
+
const candidate = __rspack_external_path.join(currentDir, filename);
|
|
774
|
+
try {
|
|
775
|
+
const stat = await __rspack_external_fs.promises.stat(candidate);
|
|
776
|
+
if (stat.isFile()) return candidate;
|
|
777
|
+
} catch {}
|
|
778
|
+
if (currentDir === root) return;
|
|
779
|
+
currentDir = __rspack_external_path.dirname(currentDir);
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
async function findNearestPackageJson(manifestPath) {
|
|
783
|
+
try {
|
|
784
|
+
const manifestDir = __rspack_external_path.dirname(manifestPath);
|
|
785
|
+
const packageJsonPath = await findUpLocal('package.json', {
|
|
786
|
+
cwd: manifestDir
|
|
787
|
+
});
|
|
788
|
+
return packageJsonPath || null;
|
|
789
|
+
} catch (error) {
|
|
790
|
+
console.warn('Failed to find package.json:', error);
|
|
791
|
+
return null;
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
function validatePackageJson(packageJsonPath) {
|
|
795
|
+
try {
|
|
796
|
+
if (!__rspack_external_fs.existsSync(packageJsonPath)) return false;
|
|
797
|
+
const content = __rspack_external_fs.readFileSync(packageJsonPath, 'utf-8');
|
|
798
|
+
JSON.parse(content);
|
|
799
|
+
return true;
|
|
800
|
+
} catch (error) {
|
|
801
|
+
console.warn('Invalid package.json at:', packageJsonPath, error);
|
|
802
|
+
return false;
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
const isUrl = (url)=>{
|
|
806
|
+
try {
|
|
807
|
+
new URL(url);
|
|
808
|
+
return true;
|
|
809
|
+
} catch (e) {
|
|
810
|
+
return false;
|
|
811
|
+
}
|
|
812
|
+
};
|
|
813
|
+
const REMOTE_FETCH_TIMEOUT_MS = (()=>{
|
|
814
|
+
const raw = parseInt(String(process.env.EXTENSION_FETCH_TIMEOUT_MS || ''), 10);
|
|
815
|
+
return Number.isFinite(raw) && raw > 0 ? raw : 60000;
|
|
816
|
+
})();
|
|
817
|
+
function withTimeout(task, ms, label) {
|
|
818
|
+
let timer;
|
|
819
|
+
const timeout = new Promise((_, reject)=>{
|
|
820
|
+
timer = setTimeout(()=>reject(new Error(remoteFetchTimedOut(label, ms))), ms);
|
|
821
|
+
});
|
|
822
|
+
return Promise.race([
|
|
823
|
+
task,
|
|
824
|
+
timeout
|
|
825
|
+
]).finally(()=>{
|
|
826
|
+
if (timer) clearTimeout(timer);
|
|
827
|
+
});
|
|
828
|
+
}
|
|
829
|
+
async function importUrlSourceFromGithub(pathOrRemoteUrl, text) {
|
|
830
|
+
const cwd = process.cwd();
|
|
831
|
+
const url = new URL(pathOrRemoteUrl);
|
|
832
|
+
const segments = url.pathname.split('/').filter(Boolean);
|
|
833
|
+
const repoName = segments.length >= 2 ? segments[1] : segments[segments.length - 1];
|
|
834
|
+
const treeIndex = segments.indexOf('tree');
|
|
835
|
+
const expectedName = -1 !== treeIndex && segments.length > treeIndex + 2 ? segments[segments.length - 1] : repoName;
|
|
836
|
+
const expectedPath = __rspack_external_path.resolve(cwd, expectedName);
|
|
837
|
+
if (__rspack_external_fs.existsSync(expectedPath)) try {
|
|
838
|
+
const entries = __rspack_external_fs.readdirSync(expectedPath);
|
|
839
|
+
if (0 === entries.length) __rspack_external_fs.rmSync(expectedPath, {
|
|
840
|
+
recursive: true,
|
|
841
|
+
force: true
|
|
842
|
+
});
|
|
843
|
+
else {
|
|
844
|
+
const hasManifest = (dir)=>{
|
|
845
|
+
const stack = [
|
|
846
|
+
dir
|
|
847
|
+
];
|
|
848
|
+
while(stack.length){
|
|
849
|
+
const current = stack.pop();
|
|
850
|
+
const items = __rspack_external_fs.readdirSync(current, {
|
|
851
|
+
withFileTypes: true
|
|
852
|
+
});
|
|
853
|
+
for (const it of items){
|
|
854
|
+
if (it.isFile() && 'manifest.json' === it.name) return true;
|
|
855
|
+
if (it.isDirectory() && 'node_modules' !== it.name && 'dist' !== it.name && !it.name.startsWith('.')) stack.push(__rspack_external_path.join(current, it.name));
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
return false;
|
|
859
|
+
};
|
|
860
|
+
if (hasManifest(expectedPath)) return expectedPath;
|
|
861
|
+
__rspack_external_fs.rmSync(expectedPath, {
|
|
862
|
+
recursive: true,
|
|
863
|
+
force: true
|
|
864
|
+
});
|
|
865
|
+
}
|
|
866
|
+
} catch {}
|
|
867
|
+
async function tryGitClone() {
|
|
868
|
+
const { default: goGitIt } = await import("go-git-it");
|
|
869
|
+
await withTimeout(goGitIt(pathOrRemoteUrl, cwd, text), REMOTE_FETCH_TIMEOUT_MS, pathOrRemoteUrl);
|
|
870
|
+
}
|
|
871
|
+
async function tryZipFallback() {
|
|
872
|
+
const branch = -1 !== treeIndex && segments.length > treeIndex + 1 ? segments[treeIndex + 1] : 'main';
|
|
873
|
+
const owner = segments[0];
|
|
874
|
+
const repo = segments[1];
|
|
875
|
+
const subdir = -1 !== treeIndex && segments.length > treeIndex + 2 ? segments.slice(treeIndex + 2).join('/') : '';
|
|
876
|
+
const zipUrl = `https://codeload.github.com/${owner}/${repo}/zip/refs/heads/${branch}`;
|
|
877
|
+
const extractedPath = await importUrlSourceFromZip(zipUrl);
|
|
878
|
+
const extractedDirs = __rspack_external_fs.readdirSync(extractedPath, {
|
|
879
|
+
withFileTypes: true
|
|
488
880
|
}).filter((d)=>d.isDirectory()).map((d)=>d.name);
|
|
489
881
|
const repoRootDir = extractedDirs.find((d)=>d.startsWith(`${repo}-${branch}`));
|
|
490
882
|
const repoRoot = repoRootDir ? __rspack_external_path.join(extractedPath, repoRootDir) : extractedPath;
|
|
@@ -574,341 +966,84 @@ function collectManifestCandidates(rootDir, maxDepth) {
|
|
|
574
966
|
try {
|
|
575
967
|
entries = __rspack_external_fs.readdirSync(dir, {
|
|
576
968
|
withFileTypes: true
|
|
577
|
-
});
|
|
578
|
-
} catch {
|
|
579
|
-
return;
|
|
580
|
-
}
|
|
581
|
-
for (const entry of entries){
|
|
582
|
-
if (entry.isFile() && 'manifest.json' === entry.name) {
|
|
583
|
-
results.push(__rspack_external_path.join(dir, entry.name));
|
|
584
|
-
continue;
|
|
585
|
-
}
|
|
586
|
-
if (entry.isDirectory() && !entry.name.startsWith('.') && !SKIP_DIRS.has(entry.name)) walk(__rspack_external_path.join(dir, entry.name), depth + 1);
|
|
587
|
-
}
|
|
588
|
-
};
|
|
589
|
-
walk(rootDir, 0);
|
|
590
|
-
return results;
|
|
591
|
-
}
|
|
592
|
-
async function getProjectStructure(pathOrRemoteUrl) {
|
|
593
|
-
const projectPath = await getProjectPath(pathOrRemoteUrl);
|
|
594
|
-
const isUnderDir = (baseDir, candidatePath)=>{
|
|
595
|
-
const rel = __rspack_external_path.relative(baseDir, candidatePath);
|
|
596
|
-
return Boolean(rel && !rel.startsWith('..') && !__rspack_external_path.isAbsolute(rel));
|
|
597
|
-
};
|
|
598
|
-
const packageJsonPathFromProject = await findNearestPackageJson(__rspack_external_path.join(projectPath, 'manifest.json'));
|
|
599
|
-
const packageJsonDirFromProject = packageJsonPathFromProject ? __rspack_external_path.dirname(packageJsonPathFromProject) : void 0;
|
|
600
|
-
const rootManifestPath = __rspack_external_path.join(projectPath, 'manifest.json');
|
|
601
|
-
const srcManifestPath = __rspack_external_path.join(projectPath, 'src', 'manifest.json');
|
|
602
|
-
let manifestPath = __rspack_external_fs.existsSync(srcManifestPath) ? srcManifestPath : rootManifestPath;
|
|
603
|
-
if (!__rspack_external_fs.existsSync(manifestPath)) if (packageJsonDirFromProject) {
|
|
604
|
-
const absoluteCandidates = collectManifestCandidates(projectPath, 3);
|
|
605
|
-
const relativeCandidates = absoluteCandidates.map((candidate)=>__rspack_external_path.relative(projectPath, candidate) || candidate);
|
|
606
|
-
if (1 === absoluteCandidates.length) {
|
|
607
|
-
manifestPath = absoluteCandidates[0];
|
|
608
|
-
console.log(resolvedWorkspaceManifest(projectPath, manifestPath));
|
|
609
|
-
} else throw new Error(manifestNotFoundError(manifestPath, relativeCandidates));
|
|
610
|
-
} else {
|
|
611
|
-
const MAX_DEPTH = 5;
|
|
612
|
-
const findManifest = (dir, depth)=>{
|
|
613
|
-
if (depth > MAX_DEPTH) return null;
|
|
614
|
-
let files;
|
|
615
|
-
try {
|
|
616
|
-
files = __rspack_external_fs.readdirSync(dir, {
|
|
617
|
-
withFileTypes: true
|
|
618
|
-
});
|
|
619
|
-
} catch {
|
|
620
|
-
return null;
|
|
621
|
-
}
|
|
622
|
-
for (const file of files){
|
|
623
|
-
if (file.isFile() && 'manifest.json' === file.name) return __rspack_external_path.join(dir, file.name);
|
|
624
|
-
if (file.isDirectory() && !file.name.startsWith('.') && 'node_modules' !== file.name && 'dist' !== file.name && 'public' !== file.name) {
|
|
625
|
-
const found = findManifest(__rspack_external_path.join(dir, file.name), depth + 1);
|
|
626
|
-
if (found) return found;
|
|
627
|
-
}
|
|
628
|
-
}
|
|
629
|
-
return null;
|
|
630
|
-
};
|
|
631
|
-
const foundManifest = findManifest(projectPath, 0);
|
|
632
|
-
if (foundManifest) manifestPath = foundManifest;
|
|
633
|
-
else throw new Error(manifestNotFoundError(manifestPath));
|
|
634
|
-
}
|
|
635
|
-
const packageJsonPath = await findNearestPackageJson(manifestPath);
|
|
636
|
-
const packageJsonDir = packageJsonPath ? __rspack_external_path.dirname(packageJsonPath) : void 0;
|
|
637
|
-
if (packageJsonDir) {
|
|
638
|
-
const publicRoot = __rspack_external_path.join(packageJsonDir, 'public');
|
|
639
|
-
if (isUnderDir(publicRoot, manifestPath)) {
|
|
640
|
-
const fallbackSrc = __rspack_external_path.join(packageJsonDir, 'src', 'manifest.json');
|
|
641
|
-
const fallbackRoot = __rspack_external_path.join(packageJsonDir, 'manifest.json');
|
|
642
|
-
if (__rspack_external_fs.existsSync(fallbackSrc)) manifestPath = fallbackSrc;
|
|
643
|
-
else if (__rspack_external_fs.existsSync(fallbackRoot)) manifestPath = fallbackRoot;
|
|
644
|
-
else throw new Error(manifestNotFoundError(fallbackRoot));
|
|
645
|
-
}
|
|
646
|
-
}
|
|
647
|
-
if (!packageJsonPath || !validatePackageJson(packageJsonPath)) return {
|
|
648
|
-
manifestPath
|
|
649
|
-
};
|
|
650
|
-
return {
|
|
651
|
-
manifestPath,
|
|
652
|
-
packageJsonPath
|
|
653
|
-
};
|
|
654
|
-
}
|
|
655
|
-
function loadCommonJsConfigWithStableDirname(absolutePath) {
|
|
656
|
-
const code = __rspack_external_fs.readFileSync(absolutePath, 'utf-8');
|
|
657
|
-
const dirname = __rspack_external_path.dirname(absolutePath);
|
|
658
|
-
const requireFn = createRequire(absolutePath);
|
|
659
|
-
const module = {
|
|
660
|
-
exports: {}
|
|
661
|
-
};
|
|
662
|
-
const exports = module.exports;
|
|
663
|
-
const wrapped = `(function (exports, require, module, __filename, __dirname) {\n${code}\n})`;
|
|
664
|
-
const fn = new __rspack_external_vm.Script(wrapped, {
|
|
665
|
-
filename: absolutePath
|
|
666
|
-
}).runInThisContext();
|
|
667
|
-
fn(exports, requireFn, module, absolutePath, dirname);
|
|
668
|
-
return module.exports?.default || module.exports;
|
|
669
|
-
}
|
|
670
|
-
function findNearestWorkspaceRoot(startDir) {
|
|
671
|
-
let current = __rspack_external_path.resolve(startDir);
|
|
672
|
-
while(true){
|
|
673
|
-
if (__rspack_external_fs.existsSync(__rspack_external_path.join(current, 'pnpm-workspace.yaml'))) return current;
|
|
674
|
-
const parent = __rspack_external_path.dirname(current);
|
|
675
|
-
if (parent === current) return;
|
|
676
|
-
current = parent;
|
|
677
|
-
}
|
|
678
|
-
}
|
|
679
|
-
function preloadEnvFilesFromDir(envDir, options) {
|
|
680
|
-
let loadedAny = false;
|
|
681
|
-
try {
|
|
682
|
-
const defaultsPath = __rspack_external_path.join(envDir, '.env.defaults');
|
|
683
|
-
if (__rspack_external_fs.existsSync(defaultsPath)) {
|
|
684
|
-
dotenv.config({
|
|
685
|
-
path: defaultsPath,
|
|
686
|
-
override: Boolean(options?.override),
|
|
687
|
-
quiet: true
|
|
688
|
-
});
|
|
689
|
-
loadedAny = true;
|
|
690
|
-
}
|
|
691
|
-
const envCandidates = [
|
|
692
|
-
'.env.development',
|
|
693
|
-
'.env.local',
|
|
694
|
-
'.env'
|
|
695
|
-
];
|
|
696
|
-
for (const filename of envCandidates){
|
|
697
|
-
const filePath = __rspack_external_path.join(envDir, filename);
|
|
698
|
-
if (__rspack_external_fs.existsSync(filePath)) {
|
|
699
|
-
dotenv.config({
|
|
700
|
-
path: filePath,
|
|
701
|
-
override: Boolean(options?.override),
|
|
702
|
-
quiet: true
|
|
703
|
-
});
|
|
704
|
-
loadedAny = true;
|
|
705
|
-
break;
|
|
706
|
-
}
|
|
707
|
-
}
|
|
708
|
-
} catch {}
|
|
709
|
-
return {
|
|
710
|
-
loadedAny,
|
|
711
|
-
envDir
|
|
712
|
-
};
|
|
713
|
-
}
|
|
714
|
-
function findConfigFile(projectPath) {
|
|
715
|
-
const candidates = [
|
|
716
|
-
__rspack_external_path.join(projectPath, 'extension.config.js'),
|
|
717
|
-
__rspack_external_path.join(projectPath, 'extension.config.mjs'),
|
|
718
|
-
__rspack_external_path.join(projectPath, 'extension.config.cjs')
|
|
719
|
-
];
|
|
720
|
-
return candidates.find((p)=>__rspack_external_fs.existsSync(p));
|
|
721
|
-
}
|
|
722
|
-
function preloadEnvFiles(projectDir) {
|
|
723
|
-
const local = preloadEnvFilesFromDir(projectDir);
|
|
724
|
-
if (local.loadedAny) return local;
|
|
725
|
-
const workspaceRoot = findNearestWorkspaceRoot(projectDir);
|
|
726
|
-
if (workspaceRoot && workspaceRoot !== projectDir) return preloadEnvFilesFromDir(workspaceRoot);
|
|
727
|
-
return local;
|
|
728
|
-
}
|
|
729
|
-
const loadedConfigCache = new Map();
|
|
730
|
-
async function loadConfigFile(configPath) {
|
|
731
|
-
const absolutePath = __rspack_external_path.resolve(configPath);
|
|
732
|
-
const cached = loadedConfigCache.get(absolutePath);
|
|
733
|
-
if (cached) return cached;
|
|
734
|
-
const loading = loadConfigFileUncached(absolutePath);
|
|
735
|
-
loadedConfigCache.set(absolutePath, loading);
|
|
736
|
-
try {
|
|
737
|
-
return await loading;
|
|
738
|
-
} catch (error) {
|
|
739
|
-
loadedConfigCache.delete(absolutePath);
|
|
740
|
-
throw error;
|
|
741
|
-
}
|
|
742
|
-
}
|
|
743
|
-
async function loadConfigFileUncached(absolutePath) {
|
|
744
|
-
const projectDir = __rspack_external_path.dirname(absolutePath);
|
|
745
|
-
preloadEnvFiles(projectDir);
|
|
746
|
-
try {
|
|
747
|
-
if (absolutePath.endsWith('.cjs')) {
|
|
748
|
-
const requireFn = createRequire(import.meta.url);
|
|
749
|
-
const required = requireFn(absolutePath);
|
|
750
|
-
return required?.default || required;
|
|
751
|
-
}
|
|
752
|
-
let esmImportPath = absolutePath;
|
|
753
|
-
let shimTmpDir;
|
|
754
|
-
try {
|
|
755
|
-
const originalContent = __rspack_external_fs.readFileSync(absolutePath, 'utf-8');
|
|
756
|
-
if (originalContent.includes('import.meta.env')) {
|
|
757
|
-
shimTmpDir = __rspack_external_fs.mkdtempSync(__rspack_external_path.join(__rspack_external_os.tmpdir(), 'extension-config-esm-'));
|
|
758
|
-
const tmpPath = __rspack_external_path.join(shimTmpDir, __rspack_external_path.basename(absolutePath));
|
|
759
|
-
const envObjectLiteral = JSON.stringify(Object.fromEntries(Object.entries(process.env).map(([k, v])=>[
|
|
760
|
-
k,
|
|
761
|
-
v
|
|
762
|
-
])), null, 0);
|
|
763
|
-
const shimHeader = `const __IMPORT_META_ENV__ = Object.freeze(${envObjectLiteral});\n`;
|
|
764
|
-
const replaced = originalContent.replace(/import\.meta\.env/g, '__IMPORT_META_ENV__');
|
|
765
|
-
__rspack_external_fs.writeFileSync(tmpPath, `${shimHeader}${replaced}`, 'utf-8');
|
|
766
|
-
esmImportPath = tmpPath;
|
|
767
|
-
}
|
|
768
|
-
} catch {}
|
|
769
|
-
try {
|
|
770
|
-
const module = await import(pathToFileURL(esmImportPath).href);
|
|
771
|
-
return module.default || module;
|
|
772
|
-
} finally{
|
|
773
|
-
if (shimTmpDir) try {
|
|
774
|
-
__rspack_external_fs.rmSync(shimTmpDir, {
|
|
775
|
-
recursive: true,
|
|
776
|
-
force: true
|
|
777
|
-
});
|
|
778
|
-
} catch {}
|
|
779
|
-
}
|
|
780
|
-
} catch (err) {
|
|
781
|
-
const error = err;
|
|
782
|
-
try {
|
|
783
|
-
if (!absolutePath.endsWith('.mjs')) {
|
|
784
|
-
const requireFn = createRequire(import.meta.url);
|
|
785
|
-
let required;
|
|
786
|
-
try {
|
|
787
|
-
required = requireFn(absolutePath);
|
|
788
|
-
} catch (requireErr) {
|
|
789
|
-
const message = String(error?.message || '') + ' ' + String(requireErr?.message || '');
|
|
790
|
-
const looksLikeCommonJsInEsm = message.includes('require is not defined in ES module scope') || message.includes('Cannot use import statement outside a module') || message.includes('ERR_REQUIRE_ESM');
|
|
791
|
-
if (looksLikeCommonJsInEsm) try {
|
|
792
|
-
required = loadCommonJsConfigWithStableDirname(absolutePath);
|
|
793
|
-
} catch {
|
|
794
|
-
const tmpDir = __rspack_external_fs.mkdtempSync(__rspack_external_path.join(__rspack_external_os.tmpdir(), 'extension-config-'));
|
|
795
|
-
try {
|
|
796
|
-
const tmpCjsPath = __rspack_external_path.join(tmpDir, __rspack_external_path.basename(absolutePath, __rspack_external_path.extname(absolutePath)) + '.cjs');
|
|
797
|
-
__rspack_external_fs.copyFileSync(absolutePath, tmpCjsPath);
|
|
798
|
-
required = requireFn(tmpCjsPath);
|
|
799
|
-
} finally{
|
|
800
|
-
try {
|
|
801
|
-
__rspack_external_fs.rmSync(tmpDir, {
|
|
802
|
-
recursive: true,
|
|
803
|
-
force: true
|
|
804
|
-
});
|
|
805
|
-
} catch {}
|
|
806
|
-
}
|
|
807
|
-
}
|
|
808
|
-
else throw requireErr;
|
|
809
|
-
}
|
|
810
|
-
return required?.default || required;
|
|
811
|
-
}
|
|
812
|
-
} catch {}
|
|
813
|
-
try {
|
|
814
|
-
const content = __rspack_external_fs.readFileSync(absolutePath, 'utf-8');
|
|
815
|
-
return JSON.parse(content);
|
|
816
|
-
} catch (jsonErr) {
|
|
817
|
-
throw new Error(`Failed to load config file: ${absolutePath}\nError: ${error.message || error}`);
|
|
969
|
+
});
|
|
970
|
+
} catch {
|
|
971
|
+
return;
|
|
818
972
|
}
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
if (configPath) {
|
|
824
|
-
if (await config_loader_isUsingExperimentalConfig(projectPath)) try {
|
|
825
|
-
const userConfig = await loadConfigFile(configPath);
|
|
826
|
-
if (userConfig && 'function' == typeof userConfig.config) return userConfig.config;
|
|
827
|
-
if (userConfig && userConfig.config && 'object' == typeof userConfig.config) {
|
|
828
|
-
const partial = userConfig.config;
|
|
829
|
-
return (config)=>{
|
|
830
|
-
const requireFn = createRequire(import.meta.url);
|
|
831
|
-
const { merge } = requireFn('webpack-merge');
|
|
832
|
-
return merge(config, partial);
|
|
833
|
-
};
|
|
973
|
+
for (const entry of entries){
|
|
974
|
+
if (entry.isFile() && 'manifest.json' === entry.name) {
|
|
975
|
+
results.push(__rspack_external_path.join(dir, entry.name));
|
|
976
|
+
continue;
|
|
834
977
|
}
|
|
835
|
-
|
|
836
|
-
const error = err;
|
|
837
|
-
console.error(configLoadingError(configPath, error));
|
|
838
|
-
throw err;
|
|
839
|
-
}
|
|
840
|
-
}
|
|
841
|
-
return (config)=>config;
|
|
842
|
-
}
|
|
843
|
-
async function loadCommandConfig(projectPath, command) {
|
|
844
|
-
const configPath = findConfigFile(projectPath);
|
|
845
|
-
if (configPath) {
|
|
846
|
-
if (await config_loader_isUsingExperimentalConfig(projectPath)) try {
|
|
847
|
-
const userConfig = await loadConfigFile(configPath);
|
|
848
|
-
const baseExtensions = userConfig && userConfig.extensions ? {
|
|
849
|
-
extensions: userConfig.extensions
|
|
850
|
-
} : {};
|
|
851
|
-
const baseTranspilePackages = userConfig && Array.isArray(userConfig.transpilePackages) ? {
|
|
852
|
-
transpilePackages: userConfig.transpilePackages
|
|
853
|
-
} : {};
|
|
854
|
-
const basePerfBudgets = userConfig && userConfig.perfBudgets && 'object' == typeof userConfig.perfBudgets ? {
|
|
855
|
-
perfBudgets: userConfig.perfBudgets
|
|
856
|
-
} : {};
|
|
857
|
-
const perCommand = userConfig && userConfig.commands && userConfig.commands[command] ? userConfig.commands[command] : {};
|
|
858
|
-
return {
|
|
859
|
-
...baseExtensions,
|
|
860
|
-
...baseTranspilePackages,
|
|
861
|
-
...basePerfBudgets,
|
|
862
|
-
...perCommand
|
|
863
|
-
};
|
|
864
|
-
} catch (err) {
|
|
865
|
-
const error = err;
|
|
866
|
-
console.error(configLoadingError(configPath, error));
|
|
867
|
-
throw err;
|
|
978
|
+
if (entry.isDirectory() && !entry.name.startsWith('.') && !SKIP_DIRS.has(entry.name)) walk(__rspack_external_path.join(dir, entry.name), depth + 1);
|
|
868
979
|
}
|
|
869
|
-
}
|
|
870
|
-
|
|
980
|
+
};
|
|
981
|
+
walk(rootDir, 0);
|
|
982
|
+
return results;
|
|
871
983
|
}
|
|
872
|
-
async function
|
|
873
|
-
const
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
984
|
+
async function getProjectStructure(pathOrRemoteUrl) {
|
|
985
|
+
const projectPath = await getProjectPath(pathOrRemoteUrl);
|
|
986
|
+
const isUnderDir = (baseDir, candidatePath)=>{
|
|
987
|
+
const rel = __rspack_external_path.relative(baseDir, candidatePath);
|
|
988
|
+
return Boolean(rel && !rel.startsWith('..') && !__rspack_external_path.isAbsolute(rel));
|
|
989
|
+
};
|
|
990
|
+
const packageJsonPathFromProject = await findNearestPackageJson(__rspack_external_path.join(projectPath, 'manifest.json'));
|
|
991
|
+
const packageJsonDirFromProject = packageJsonPathFromProject ? __rspack_external_path.dirname(packageJsonPathFromProject) : void 0;
|
|
992
|
+
const rootManifestPath = __rspack_external_path.join(projectPath, 'manifest.json');
|
|
993
|
+
const srcManifestPath = __rspack_external_path.join(projectPath, 'src', 'manifest.json');
|
|
994
|
+
let manifestPath = __rspack_external_fs.existsSync(srcManifestPath) ? srcManifestPath : rootManifestPath;
|
|
995
|
+
if (!__rspack_external_fs.existsSync(manifestPath)) if (packageJsonDirFromProject) {
|
|
996
|
+
const absoluteCandidates = collectManifestCandidates(projectPath, 3);
|
|
997
|
+
const relativeCandidates = absoluteCandidates.map((candidate)=>__rspack_external_path.relative(projectPath, candidate) || candidate);
|
|
998
|
+
if (1 === absoluteCandidates.length) {
|
|
999
|
+
manifestPath = absoluteCandidates[0];
|
|
1000
|
+
console.log(resolvedWorkspaceManifest(projectPath, manifestPath));
|
|
1001
|
+
} else throw new Error(manifestNotFoundError(manifestPath, relativeCandidates));
|
|
1002
|
+
} else {
|
|
1003
|
+
const MAX_DEPTH = 5;
|
|
1004
|
+
const findManifest = (dir, depth)=>{
|
|
1005
|
+
if (depth > MAX_DEPTH) return null;
|
|
1006
|
+
let files;
|
|
1007
|
+
try {
|
|
1008
|
+
files = __rspack_external_fs.readdirSync(dir, {
|
|
1009
|
+
withFileTypes: true
|
|
1010
|
+
});
|
|
1011
|
+
} catch {
|
|
1012
|
+
return null;
|
|
1013
|
+
}
|
|
1014
|
+
for (const file of files){
|
|
1015
|
+
if (file.isFile() && 'manifest.json' === file.name) return __rspack_external_path.join(dir, file.name);
|
|
1016
|
+
if (file.isDirectory() && !file.name.startsWith('.') && 'node_modules' !== file.name && 'dist' !== file.name && 'public' !== file.name) {
|
|
1017
|
+
const found = findManifest(__rspack_external_path.join(dir, file.name), depth + 1);
|
|
1018
|
+
if (found) return found;
|
|
888
1019
|
}
|
|
889
1020
|
}
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
1021
|
+
return null;
|
|
1022
|
+
};
|
|
1023
|
+
const foundManifest = findManifest(projectPath, 0);
|
|
1024
|
+
if (foundManifest) manifestPath = foundManifest;
|
|
1025
|
+
else throw new Error(manifestNotFoundError(manifestPath));
|
|
1026
|
+
}
|
|
1027
|
+
const packageJsonPath = await findNearestPackageJson(manifestPath);
|
|
1028
|
+
const packageJsonDir = packageJsonPath ? __rspack_external_path.dirname(packageJsonPath) : void 0;
|
|
1029
|
+
if (packageJsonDir) {
|
|
1030
|
+
const publicRoot = __rspack_external_path.join(packageJsonDir, 'public');
|
|
1031
|
+
if (isUnderDir(publicRoot, manifestPath)) {
|
|
1032
|
+
const fallbackSrc = __rspack_external_path.join(packageJsonDir, 'src', 'manifest.json');
|
|
1033
|
+
const fallbackRoot = __rspack_external_path.join(packageJsonDir, 'manifest.json');
|
|
1034
|
+
if (__rspack_external_fs.existsSync(fallbackSrc)) manifestPath = fallbackSrc;
|
|
1035
|
+
else if (__rspack_external_fs.existsSync(fallbackRoot)) manifestPath = fallbackRoot;
|
|
1036
|
+
else throw new Error(manifestNotFoundError(fallbackRoot));
|
|
894
1037
|
}
|
|
895
1038
|
}
|
|
1039
|
+
if (!packageJsonPath || !validatePackageJson(packageJsonPath)) return {
|
|
1040
|
+
manifestPath
|
|
1041
|
+
};
|
|
896
1042
|
return {
|
|
897
|
-
|
|
1043
|
+
manifestPath,
|
|
1044
|
+
packageJsonPath
|
|
898
1045
|
};
|
|
899
1046
|
}
|
|
900
|
-
let userMessageDelivered = false;
|
|
901
|
-
async function config_loader_isUsingExperimentalConfig(projectPath) {
|
|
902
|
-
const configPath = findConfigFile(projectPath);
|
|
903
|
-
if (configPath) {
|
|
904
|
-
if (!userMessageDelivered) {
|
|
905
|
-
if ('true' === process.env.EXTENSION_AUTHOR_MODE) console.log(isUsingExperimentalConfig('extension.config.js'));
|
|
906
|
-
userMessageDelivered = true;
|
|
907
|
-
}
|
|
908
|
-
return true;
|
|
909
|
-
}
|
|
910
|
-
return false;
|
|
911
|
-
}
|
|
912
1047
|
function isReferencedAsModuleSpecifier(configSource, dep) {
|
|
913
1048
|
const escaped = dep.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
914
1049
|
const specifierRe = new RegExp(`['"\`]${escaped}(?:/[^'"\`]*)?['"\`]`);
|
|
@@ -944,112 +1079,6 @@ function assertNoManagedDependencyConflicts(userPackageJsonPath, projectPath) {
|
|
|
944
1079
|
if ('true' === process.env.EXTENSION_AUTHOR_MODE) console.warn(error);
|
|
945
1080
|
}
|
|
946
1081
|
}
|
|
947
|
-
function asAbsolute(p) {
|
|
948
|
-
return __rspack_external_path.isAbsolute(p) ? p : __rspack_external_path.resolve(p);
|
|
949
|
-
}
|
|
950
|
-
function getDirs(struct) {
|
|
951
|
-
const manifestDir = asAbsolute(__rspack_external_path.dirname(struct.manifestPath));
|
|
952
|
-
const packageJsonDir = asAbsolute(struct.packageJsonPath ? __rspack_external_path.dirname(struct.packageJsonPath) : manifestDir);
|
|
953
|
-
return {
|
|
954
|
-
manifestDir,
|
|
955
|
-
packageJsonDir
|
|
956
|
-
};
|
|
957
|
-
}
|
|
958
|
-
function getNodeModulesDir(packageJsonDir) {
|
|
959
|
-
return asAbsolute(__rspack_external_path.join(packageJsonDir, 'node_modules'));
|
|
960
|
-
}
|
|
961
|
-
function needsInstall(packageJsonDir) {
|
|
962
|
-
const nm = getNodeModulesDir(packageJsonDir);
|
|
963
|
-
const packageJsonPath = __rspack_external_path.join(packageJsonDir, 'package.json');
|
|
964
|
-
if (!__rspack_external_fs.existsSync(packageJsonPath)) return false;
|
|
965
|
-
try {
|
|
966
|
-
const raw = __rspack_external_fs.readFileSync(packageJsonPath, 'utf-8');
|
|
967
|
-
const packageJson = JSON.parse(raw);
|
|
968
|
-
const depsCount = Object.keys(packageJson?.dependencies || {}).length;
|
|
969
|
-
const devDepsCount = Object.keys(packageJson?.devDependencies || {}).length;
|
|
970
|
-
if (depsCount + devDepsCount === 0) return false;
|
|
971
|
-
if (!__rspack_external_fs.existsSync(nm)) return true;
|
|
972
|
-
const deps = Object.keys(packageJson?.dependencies || {});
|
|
973
|
-
const devDeps = Object.keys(packageJson?.devDependencies || {});
|
|
974
|
-
if (__rspack_external_fs.existsSync(__rspack_external_path.join(nm, '.pnpm'))) return false;
|
|
975
|
-
if (__rspack_external_fs.existsSync(__rspack_external_path.join(nm, '.modules.yaml'))) return false;
|
|
976
|
-
const hasInstalledDep = [
|
|
977
|
-
...deps,
|
|
978
|
-
...devDeps
|
|
979
|
-
].some((dep)=>__rspack_external_fs.existsSync(__rspack_external_path.join(nm, dep)));
|
|
980
|
-
return !hasInstalledDep;
|
|
981
|
-
} catch {
|
|
982
|
-
return true;
|
|
983
|
-
}
|
|
984
|
-
}
|
|
985
|
-
function normalizeBrowser(browser, chromiumBinary, geckoBinary, safariBinary) {
|
|
986
|
-
const requested = String(browser || '');
|
|
987
|
-
if (chromiumBinary) {
|
|
988
|
-
if (!requested || 'chromium-based' === requested) return 'chromium-based';
|
|
989
|
-
if ('chromium' === requested) return 'chromium';
|
|
990
|
-
if ('edge' === requested) return 'edge';
|
|
991
|
-
if ('chrome' === requested) return 'chrome';
|
|
992
|
-
}
|
|
993
|
-
if (geckoBinary) {
|
|
994
|
-
if (!requested || 'gecko-based' === requested || 'firefox-based' === requested) return 'gecko-based';
|
|
995
|
-
if ('firefox' === requested) return 'firefox';
|
|
996
|
-
}
|
|
997
|
-
if (safariBinary) {
|
|
998
|
-
if (!requested || 'webkit-based' === requested) return 'webkit-based';
|
|
999
|
-
if ('safari' === requested) return 'safari';
|
|
1000
|
-
}
|
|
1001
|
-
switch(requested){
|
|
1002
|
-
case 'chrome':
|
|
1003
|
-
return 'chrome';
|
|
1004
|
-
case 'edge':
|
|
1005
|
-
return 'edge';
|
|
1006
|
-
case 'chromium':
|
|
1007
|
-
return 'chromium';
|
|
1008
|
-
case 'chromium-based':
|
|
1009
|
-
return 'chromium-based';
|
|
1010
|
-
case 'firefox':
|
|
1011
|
-
return 'firefox';
|
|
1012
|
-
case 'gecko-based':
|
|
1013
|
-
case 'firefox-based':
|
|
1014
|
-
return 'gecko-based';
|
|
1015
|
-
case 'safari':
|
|
1016
|
-
return 'safari';
|
|
1017
|
-
case 'webkit-based':
|
|
1018
|
-
return 'webkit-based';
|
|
1019
|
-
default:
|
|
1020
|
-
return 'chrome';
|
|
1021
|
-
}
|
|
1022
|
-
}
|
|
1023
|
-
function getDistPath(packageJsonDir, browser) {
|
|
1024
|
-
return asAbsolute(__rspack_external_path.join(packageJsonDir, 'dist', browser));
|
|
1025
|
-
}
|
|
1026
|
-
function computePreviewOutputPath(struct, browser, explicitOutputPath) {
|
|
1027
|
-
const { manifestDir, packageJsonDir } = getDirs(struct);
|
|
1028
|
-
if (explicitOutputPath) return asAbsolute(explicitOutputPath);
|
|
1029
|
-
if (struct.packageJsonPath) {
|
|
1030
|
-
const distDir = getDistPath(packageJsonDir, browser);
|
|
1031
|
-
try {
|
|
1032
|
-
if (__rspack_external_fs.existsSync(__rspack_external_path.join(distDir, 'manifest.json'))) return distDir;
|
|
1033
|
-
} catch {}
|
|
1034
|
-
}
|
|
1035
|
-
return manifestDir;
|
|
1036
|
-
}
|
|
1037
|
-
function devtoolsEngineFor(browser) {
|
|
1038
|
-
switch(browser){
|
|
1039
|
-
case 'chrome':
|
|
1040
|
-
return 'chrome';
|
|
1041
|
-
case 'edge':
|
|
1042
|
-
return 'edge';
|
|
1043
|
-
case 'chromium':
|
|
1044
|
-
case 'chromium-based':
|
|
1045
|
-
return 'chromium';
|
|
1046
|
-
case 'firefox':
|
|
1047
|
-
case 'gecko-based':
|
|
1048
|
-
return 'firefox';
|
|
1049
|
-
default:
|
|
1050
|
-
return 'chrome';
|
|
1051
|
-
}
|
|
1052
|
-
}
|
|
1053
1082
|
function isDir(p) {
|
|
1054
1083
|
try {
|
|
1055
1084
|
return __rspack_external_fs.existsSync(p) && __rspack_external_fs.statSync(p).isDirectory();
|
|
@@ -1331,6 +1360,7 @@ function createPlaywrightMetadataWriter(options) {
|
|
|
1331
1360
|
distPath: options.distPath,
|
|
1332
1361
|
manifestPath: options.manifestPath,
|
|
1333
1362
|
port: toPort(options.port),
|
|
1363
|
+
host: options.host,
|
|
1334
1364
|
instanceId: options.instanceId,
|
|
1335
1365
|
controlPort: toPort(options.controlPort),
|
|
1336
1366
|
controlPath: options.controlPath,
|
|
@@ -1400,6 +1430,7 @@ class PlaywrightPlugin {
|
|
|
1400
1430
|
distPath: options.outputPath,
|
|
1401
1431
|
manifestPath: options.manifestPath,
|
|
1402
1432
|
port: options.port,
|
|
1433
|
+
host: options.host,
|
|
1403
1434
|
instanceId: options.instanceId,
|
|
1404
1435
|
controlPort: options.controlPort,
|
|
1405
1436
|
controlPath: options.controlPath,
|
|
@@ -1732,7 +1763,6 @@ function noEntrypointsDetected(port) {
|
|
|
1732
1763
|
function spacerLine() {
|
|
1733
1764
|
return ' ';
|
|
1734
1765
|
}
|
|
1735
|
-
var command_preview_dirname = __rspack_dirname(__rspack_fileURLToPath(import.meta.url));
|
|
1736
1766
|
async function extensionPreview(pathOrRemoteUrl, previewOptions, browserLauncher) {
|
|
1737
1767
|
const projectStructure = await getProjectStructure(pathOrRemoteUrl);
|
|
1738
1768
|
const debug = 'true' === process.env.EXTENSION_AUTHOR_MODE;
|
|
@@ -1806,7 +1836,7 @@ async function extensionPreview(pathOrRemoteUrl, previewOptions, browserLauncher
|
|
|
1806
1836
|
projectRoot: packageJsonDir,
|
|
1807
1837
|
config: merged.extensions
|
|
1808
1838
|
});
|
|
1809
|
-
const unpackedExtensionDirsToLoad = computeExtensionsToLoad(__rspack_external_path.resolve(
|
|
1839
|
+
const unpackedExtensionDirsToLoad = computeExtensionsToLoad(__rspack_external_path.resolve(__rspack_import_meta_dirname__, '..'), 'production', browser, outputPath, companionUnpackedExtensionDirs, projectStructure.manifestPath);
|
|
1810
1840
|
const resolvedOpts = {
|
|
1811
1841
|
browser,
|
|
1812
1842
|
outPath: outputPath,
|