extension-develop 3.10.4-canary.1 → 3.11.1-canary.252.140adee

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/677.cjs +41 -10
  2. package/dist/extension-js-devtools/chrome/assets/developer-mode-off.f9a94937.jpeg +0 -0
  3. package/dist/extension-js-devtools/chrome/assets/developer-mode-on.ede80e5b.jpeg +0 -0
  4. package/dist/extension-js-devtools/chrome/assets/local-network-permission.4fae40a7.png +0 -0
  5. package/dist/extension-js-devtools/chrome/assets/logo.7dc70d61.png +0 -0
  6. package/dist/extension-js-devtools/chrome/background/service_worker.js +26 -0
  7. package/dist/extension-js-devtools/chrome/chrome_url_overrides/newtab.html +23 -0
  8. package/dist/extension-js-devtools/chrome/content_scripts/content-0.js +5 -0
  9. package/dist/extension-js-devtools/chrome/content_scripts/styles.5456c644.css +2 -0
  10. package/dist/extension-js-devtools/chrome/devtools/index.html +12 -0
  11. package/dist/extension-js-devtools/chrome/devtools/index.js +1 -0
  12. package/dist/extension-js-devtools/chrome/icons/logo.png +0 -0
  13. package/dist/extension-js-devtools/chrome/manifest.json +57 -0
  14. package/dist/extension-js-devtools/chrome/pages/centralized-logger.css +2 -0
  15. package/dist/extension-js-devtools/chrome/pages/centralized-logger.html +12 -0
  16. package/dist/extension-js-devtools/chrome/pages/centralized-logger.js +15 -0
  17. package/dist/extension-js-devtools/chrome/pages/welcome.css +2 -0
  18. package/dist/extension-js-devtools/chrome/pages/welcome.html +11 -0
  19. package/dist/extension-js-devtools/chrome/pages/welcome.js +25 -0
  20. package/dist/extension-js-devtools/chrome/scripts/logger-client.js +1 -0
  21. package/dist/extension-js-devtools/chromium/assets/developer-mode-off.f9a94937.jpeg +0 -0
  22. package/dist/extension-js-devtools/chromium/assets/developer-mode-on.ede80e5b.jpeg +0 -0
  23. package/dist/extension-js-devtools/chromium/assets/local-network-permission.4fae40a7.png +0 -0
  24. package/dist/extension-js-devtools/chromium/assets/logo.7dc70d61.png +0 -0
  25. package/dist/extension-js-devtools/chromium/background/service_worker.js +26 -0
  26. package/dist/extension-js-devtools/chromium/chrome_url_overrides/newtab.html +23 -0
  27. package/dist/extension-js-devtools/chromium/content_scripts/content-0.js +5 -0
  28. package/dist/extension-js-devtools/chromium/content_scripts/styles.5456c644.css +2 -0
  29. package/dist/extension-js-devtools/chromium/devtools/index.html +12 -0
  30. package/dist/extension-js-devtools/chromium/devtools/index.js +1 -0
  31. package/dist/extension-js-devtools/chromium/icons/logo.png +0 -0
  32. package/dist/extension-js-devtools/chromium/manifest.json +57 -0
  33. package/dist/extension-js-devtools/chromium/pages/centralized-logger.css +2 -0
  34. package/dist/extension-js-devtools/chromium/pages/centralized-logger.html +12 -0
  35. package/dist/extension-js-devtools/chromium/pages/centralized-logger.js +15 -0
  36. package/dist/extension-js-devtools/chromium/pages/welcome.css +2 -0
  37. package/dist/extension-js-devtools/chromium/pages/welcome.html +11 -0
  38. package/dist/extension-js-devtools/chromium/pages/welcome.js +25 -0
  39. package/dist/extension-js-devtools/chromium/scripts/logger-client.js +1 -0
  40. package/dist/extension-js-devtools/edge/assets/developer-mode-off.f9a94937.jpeg +0 -0
  41. package/dist/extension-js-devtools/edge/assets/developer-mode-on.ede80e5b.jpeg +0 -0
  42. package/dist/extension-js-devtools/edge/assets/local-network-permission.4fae40a7.png +0 -0
  43. package/dist/extension-js-devtools/edge/assets/logo.7dc70d61.png +0 -0
  44. package/dist/extension-js-devtools/edge/background/service_worker.js +26 -0
  45. package/dist/extension-js-devtools/edge/chrome_url_overrides/newtab.html +23 -0
  46. package/dist/extension-js-devtools/edge/content_scripts/content-0.js +5 -0
  47. package/dist/extension-js-devtools/edge/content_scripts/styles.5456c644.css +2 -0
  48. package/dist/extension-js-devtools/edge/devtools/index.html +12 -0
  49. package/dist/extension-js-devtools/edge/devtools/index.js +1 -0
  50. package/dist/extension-js-devtools/edge/icons/logo.png +0 -0
  51. package/dist/extension-js-devtools/edge/manifest.json +57 -0
  52. package/dist/extension-js-devtools/edge/pages/centralized-logger.css +2 -0
  53. package/dist/extension-js-devtools/edge/pages/centralized-logger.html +12 -0
  54. package/dist/extension-js-devtools/edge/pages/centralized-logger.js +15 -0
  55. package/dist/extension-js-devtools/edge/pages/welcome.css +2 -0
  56. package/dist/extension-js-devtools/edge/pages/welcome.html +11 -0
  57. package/dist/extension-js-devtools/edge/pages/welcome.js +25 -0
  58. package/dist/extension-js-devtools/edge/scripts/logger-client.js +1 -0
  59. package/dist/extension-js-devtools/firefox/assets/developer-mode-off.f9a94937.jpeg +0 -0
  60. package/dist/extension-js-devtools/firefox/assets/developer-mode-on.ede80e5b.jpeg +0 -0
  61. package/dist/extension-js-devtools/firefox/assets/local-network-permission.4fae40a7.png +0 -0
  62. package/dist/extension-js-devtools/firefox/assets/logo.7dc70d61.png +0 -0
  63. package/dist/extension-js-devtools/firefox/background/scripts.js +26 -0
  64. package/dist/extension-js-devtools/firefox/content_scripts/content-0.js +5 -0
  65. package/dist/extension-js-devtools/firefox/content_scripts/styles.5456c644.css +2 -0
  66. package/dist/extension-js-devtools/firefox/devtools/index.html +12 -0
  67. package/dist/extension-js-devtools/firefox/devtools/index.js +1 -0
  68. package/dist/extension-js-devtools/firefox/icons/logo.png +0 -0
  69. package/dist/extension-js-devtools/firefox/manifest.json +43 -0
  70. package/dist/extension-js-devtools/firefox/pages/centralized-logger.css +2 -0
  71. package/dist/extension-js-devtools/firefox/pages/centralized-logger.html +12 -0
  72. package/dist/extension-js-devtools/firefox/pages/centralized-logger.js +15 -0
  73. package/dist/extension-js-devtools/firefox/pages/welcome.css +2 -0
  74. package/dist/extension-js-devtools/firefox/pages/welcome.html +11 -0
  75. package/dist/extension-js-devtools/firefox/pages/welcome.js +25 -0
  76. package/dist/extension-js-devtools/firefox/scripts/logger-client.js +1 -0
  77. package/dist/extension-js-theme/chrome/manifest.json +66 -0
  78. package/dist/extension-js-theme/chromium/manifest.json +66 -0
  79. package/dist/extension-js-theme/edge/manifest.json +66 -0
  80. package/dist/extension-js-theme/firefox/manifest.json +66 -0
  81. package/dist/feature-scripts-content-script-wrapper.cjs +1 -1
  82. package/dist/feature-scripts-content-script-wrapper.js +1 -1
  83. package/dist/module.cjs +64 -52
  84. package/package.json +4 -4
  85. package/webpack/webpack-lib/build-dependencies.json +1 -1
package/dist/677.cjs CHANGED
@@ -1585,7 +1585,7 @@ exports.modules = {
1585
1585
  }
1586
1586
  plugin_compilation_define_property(CompilationPlugin, "name", 'plugin-compilation');
1587
1587
  var css_lib_messages = __webpack_require__("./webpack/plugin-css/css-lib/messages.ts");
1588
- var external_optional_deps_lib_ = __webpack_require__("optional-deps-lib");
1588
+ var external_isolated_deps_ = __webpack_require__("isolated-deps");
1589
1589
  var sass = __webpack_require__("./webpack/plugin-css/css-tools/sass.ts");
1590
1590
  var less = __webpack_require__("./webpack/plugin-css/css-tools/less.ts");
1591
1591
  function getStylelintConfigFile(projectPath) {
@@ -1820,8 +1820,8 @@ exports.modules = {
1820
1820
  const projectPath = compiler.options.context || process.cwd();
1821
1821
  const plugins = [];
1822
1822
  const manifestPath = this.manifestPath;
1823
- const usingSass = (0, external_optional_deps_lib_.hasDependency)(projectPath, 'sass');
1824
- const usingLess = (0, external_optional_deps_lib_.hasDependency)(projectPath, 'less');
1823
+ const usingSass = (0, external_isolated_deps_.hasDependency)(projectPath, 'sass');
1824
+ const usingLess = (0, external_isolated_deps_.hasDependency)(projectPath, 'less');
1825
1825
  const maybeInstallStylelint = await maybeUseStylelint(projectPath);
1826
1826
  plugins.push(...maybeInstallStylelint);
1827
1827
  const maybeInstallSass = await (0, sass.IZ)(projectPath);
@@ -1864,8 +1864,8 @@ exports.modules = {
1864
1864
  ].filter(Boolean);
1865
1865
  if ('true' === process.env.EXTENSION_AUTHOR_MODE) {
1866
1866
  const integrations = [];
1867
- const usingTailwind = (0, external_optional_deps_lib_.hasDependency)(projectPath, 'tailwindcss');
1868
- const usingPostcss = (0, external_optional_deps_lib_.hasDependency)(projectPath, 'postcss') || void 0 !== findPostCssConfig(projectPath) || usingSass || usingLess || usingTailwind;
1867
+ const usingTailwind = (0, external_isolated_deps_.hasDependency)(projectPath, 'tailwindcss');
1868
+ const usingPostcss = (0, external_isolated_deps_.hasDependency)(projectPath, 'postcss') || void 0 !== findPostCssConfig(projectPath) || usingSass || usingLess || usingTailwind;
1869
1869
  if (usingPostcss) integrations.push('PostCSS');
1870
1870
  if (usingSass) integrations.push('Sass');
1871
1871
  if (usingLess) integrations.push('Less');
@@ -4448,6 +4448,32 @@ exports.modules = {
4448
4448
  if ('boolean' == typeof value) return String(value);
4449
4449
  return 'true';
4450
4450
  }
4451
+ let _resolvedClientPath;
4452
+ let _resolvedHotPath;
4453
+ function resolveHmrClientPath() {
4454
+ if (!_resolvedClientPath) try {
4455
+ _resolvedClientPath = require.resolve('@rspack/dev-server/client/index.js', {
4456
+ paths: [
4457
+ __dirname
4458
+ ]
4459
+ });
4460
+ } catch {
4461
+ _resolvedClientPath = '@rspack/dev-server/client/index.js';
4462
+ }
4463
+ return _resolvedClientPath;
4464
+ }
4465
+ function resolveHmrHotPath() {
4466
+ if (!_resolvedHotPath) try {
4467
+ _resolvedHotPath = require.resolve('webpack/hot/dev-server', {
4468
+ paths: [
4469
+ __dirname
4470
+ ]
4471
+ });
4472
+ } catch {
4473
+ _resolvedHotPath = 'webpack/hot/dev-server';
4474
+ }
4475
+ return _resolvedHotPath;
4476
+ }
4451
4477
  function getDevServerHmrImports(compiler) {
4452
4478
  const devServer = compiler.options?.devServer;
4453
4479
  const envHost = process.env.EXTENSION_DEV_SERVER_HOST;
@@ -4480,8 +4506,8 @@ exports.modules = {
4480
4506
  'live-reload': liveReload
4481
4507
  });
4482
4508
  return [
4483
- `@rspack/dev-server/client/index.js?${query.toString()}`,
4484
- 'webpack/hot/dev-server'
4509
+ `${resolveHmrClientPath()}?${query.toString()}`,
4510
+ resolveHmrHotPath()
4485
4511
  ];
4486
4512
  }
4487
4513
  var develop_context = __webpack_require__("./webpack/webpack-lib/develop-context.ts");
@@ -12036,14 +12062,19 @@ Set background.noDynamicEntryWarning to true to disable this warning.
12036
12062
  return '';
12037
12063
  }
12038
12064
  })()`);
12039
- if ('string' == typeof shadowHtml && shadowHtml.includes('<style')) {
12040
- const matches = Array.from(shadowHtml.matchAll(/<style[\s\S]*?<\/style>/g)).slice(0, 3);
12065
+ if ('string' == typeof shadowHtml && /<style/i.test(shadowHtml)) {
12066
+ const matches = Array.from(shadowHtml.matchAll(/<style[\s\S]*?<\/style>/gi)).slice(0, 3);
12041
12067
  if (matches.length > 0) return {
12042
12068
  rootMode: 'shadow',
12043
12069
  count: totalCount,
12044
12070
  styles: matches.map((match)=>{
12045
12071
  const html = String(match[0] || '');
12046
- const text = html.replace(/<style[^>]*>|<\/style>/g, '');
12072
+ let text = html;
12073
+ let prev;
12074
+ do {
12075
+ prev = text;
12076
+ text = text.replace(/<style[^>]*>|<\/style>/gi, '');
12077
+ }while (text !== prev);
12047
12078
  return {
12048
12079
  html,
12049
12080
  textLength: text.length,
@@ -0,0 +1,26 @@
1
+ (()=>{"use strict";var e={},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}async function n(){try{if(!chrome.management.getAll)return[];return(await new Promise(e=>{chrome.management.getAll(e)})||[]).filter(e=>{let t;return e.id!==chrome.runtime.id&&"igcijhgmihmjbbahdabahfbpffalcfnn"!==e.id&&"development"===e.installType&&"theme"!==e.type&&!0===e.enabled&&!((t=String(e.name||"").toLowerCase()).includes("extension.js built-in developer tools")||t.includes("extension.js theme"))})}catch{return[]}}async function a(){let e=await n();return e[e.length-1]}function o(e,t){let r="chrome://extensions/";chrome.tabs.query({url:r},t=>{t.length>0||chrome.tabs.create({url:r,active:!1},function(t){chrome.tabs.move(t.id,{index:0},()=>{setTimeout(()=>{chrome.tabs.update(e.id,{active:!0})},500)})})})}async function i(){let e,t,r="chrome://extensions/";try{chrome.tabs.query({active:!0,currentWindow:!0},t=>{let r=Array.isArray(t)?t[0]:void 0;r&&"number"==typeof r.id&&(e=r.id)})}catch{console.error("Error querying active tab")}t=await a();let n=String("chrome").toLowerCase(),o=t?.id||`__first_run__:${n}`;chrome.storage.local.get(o,t=>{if(t?.[o]?.didRun)return;let n=()=>{try{let t=chrome.runtime.getURL("pages/welcome.html");1;chrome.tabs.create({url:t,active:!0});try{if("number"==typeof e)try{chrome.tabs.update(e,{url:r})}catch{console.error("Error updating original active tab")}}catch{console.error("Error updating original active tab")}}catch{try{chrome.tabs.create({url:"pages/welcome.html",active:!0})}catch{console.error("Error creating welcome tab")}}};try{chrome.tabs.query({url:chrome.runtime.getURL("pages/welcome.html")},e=>{Array.isArray(e)&&e.length>0||n()})}catch{n()}chrome.storage.local.set({[o]:{didRun:!0}})})}async function s(){try{chrome.tabs.query({active:!0,currentWindow:!0},async e=>{let t=Array.isArray(e)?e[0]:void 0,r="chrome",n=`${r}://extensions/`;if(console.log(`%c
2
+ ██████████████████████████████████████████████████████████
3
+ ██████████████████████████████████████████████████████████
4
+ ████████████████████████████ ██████████████████████████
5
+ █████████████████████████ ██████ ███████████████
6
+ ███████████████████████ ███ ███ ████████████
7
+ ██████████████████████ ██████ ███ ███████████
8
+ ███████████████████████ ██████ ██████ ███████████
9
+ ████████████████ ██████ ██████████████ ███████████
10
+ █████████████ ████ ████████████ ████████████
11
+ ███████████ ██ █████████████ ███████████████
12
+ ██████████ ██████ █████████████████ █████████████
13
+ ███████████ ████████████████████████████ ███████████
14
+ █████████████ █████████████████ ██████ ██████████
15
+ ███████████████ ██████████████ ██ ██████████
16
+ ████████████ ████████████ ████ █████████████
17
+ ███████████ █████████████ ██████ ███████████████
18
+ ███████████ ██████ ██████ ███████████████████████
19
+ ███████████ ████ ██████ ██████████████████████
20
+ ████████████ ██ ███ ███████████████████████
21
+ ███████████████ ██████ █████████████████████████
22
+ ██████████████████████████ ████████████████████████████
23
+ ██████████████████████████████████████████████████████████
24
+ ██████████████████████████████████████████████████████████
25
+ MIT (c) ${new Date().getFullYear()} - Cezar Augusto and the Extension.js Authors.
26
+ `,"background: transparent; color: #0971fe; "),!t){try{await i()}catch{try{chrome.tabs.create({url:n})}catch{}}return}let a=String(t.url||""),s=a.startsWith(`${r}://newtab`)||a.startsWith(`${r}://welcome`);0;s?await i():o(t,n)})}catch{}}r.rv=()=>"1.7.5",r.ruid="bundler=rspack@1.7.5";let c=[],l=new Map,d=new Set;try{chrome.storage.session.get(["logger_capture_stacks"],e=>{e?.logger_capture_stacks}),chrome.storage.session.onChanged.addListener((e,t)=>{"session"===t&&"logger_capture_stacks"in e&&e.logger_capture_stacks?.newValue})}catch{}function u(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function m(e){if(c.push(e),c.length>2e3&&c.shift(),"number"==typeof e.tabId){let t=l.get(e.tabId)||[];t.push(e),t.length>1e3&&t.shift(),l.set(e.tabId,t)}for(let t of d)try{let r={type:"append",event:e};t.postMessage(r)}catch{}}chrome.runtime.onConnect.addListener(e=>{if("logger"!==e.name)return;let t=t=>(function(e,t){var r;let n,a;if("subscribe"===t.type){d.add(e);try{e.postMessage({type:"init",events:c})}catch{}return}let o=e.sender?.id;if(o&&o===chrome.runtime.id)return;let i=e.sender?.tab?.id,s=e.sender?.frameId,l=e.sender?.tab?.incognito,m=e.sender?.tab?.windowId;if(r=o||`tab:${i??"unknown"}`,n=Date.now(),(a=y.get(r))?n-a.ts>1e3?(a.ts=n,a.count=1,!!0):(a.count+=1,!!(a.count>200)):(y.set(r,{ts:n,count:1}),!!0))return;let g=x(t.messageParts),h={id:u(),timestamp:Date.now(),level:t.level,context:t.context,messageParts:g,eventType:"dx.signal"===t.eventType||"log"===t.eventType?t.eventType:"log",code:"string"==typeof t.code?b(t.code,128):void 0,status:"ok"===t.status||"warn"===t.status||"fail"===t.status?t.status:void 0,data:w(t.data),remediation:"string"==typeof t.remediation?b(t.remediation,512):void 0,url:t.url,stack:t.stack,errorName:t.errorName,tabId:i,frameId:s,sourceExtensionId:o,incognito:l,windowId:m};p(h)})(e,t);e.onMessage.addListener(t),e.onDisconnect.addListener(()=>{d.delete(e);try{e.onMessage.removeListener(t)}catch{}})}),chrome.action.onClicked.addListener(async()=>{try{await chrome.sidePanel.setPanelBehavior({openPanelOnActionClick:!0})}catch{}});let g=[],h=new Set;function f(e){try{return JSON.stringify(e)}catch{return String(e)}}function p(e){let t=`${e.eventType??"log"}|${e.code??""}|${e.status??""}|${e.level}|${e.context}|${e.tabId??""}|${e.frameId??""}|${e.url??""}|${f(e.messageParts)}|${f(e.data)}`.slice(0,512);if(!h.has(t)){if(h.add(t),g.push(t),g.length>2e3){let e=g.shift();e&&h.delete(e)}if(e.url&&!e.hostname)try{let t=new URL(e.url);e.hostname=`${t.hostname}${t.pathname}`}catch{}if(null!=e.tabId&&null==e.title)try{chrome.tabs.get(e.tabId,t=>{if(chrome.runtime.lastError)return m(e);e.title=t?.title||e.title,m(e)});return}catch{}m(e)}}let y=new Map;function b(e,t=2048){return e.length<=t?e:e.slice(0,t)+"..."}function v(e){try{return JSON.stringify(e)}catch{try{return String(e)}catch{return"[unserializable]"}}}function x(e){try{let t=[];for(let r of e??[])if("string"==typeof r?t.push(b(r)):r instanceof Error?t.push(b(`${r.name}: ${r.message}`)):t.push(b(v(r))),t.join(" ").length>8192)break;return t}catch{return[v(e)]}}function w(e){if(e&&"object"==typeof e)try{let t=JSON.stringify(e);if(!t)return;let r=JSON.parse(t);if(0===Object.keys(r).length)return;return r}catch{return}}function I(e,t,r={}){p({id:u(),timestamp:Date.now(),level:e,context:"background",messageParts:t,url:"string"==typeof r.url?r.url:void 0,tabId:"number"==typeof r.tabId?r.tabId:void 0,frameId:"number"==typeof r.frameId?r.frameId:void 0})}async function k(){let e=(await new Promise(e=>{chrome.management.getAll(e)})||[]).filter(e=>{let t;return e.id!==chrome.runtime.id&&"igcijhgmihmjbbahdabahfbpffalcfnn"!==e.id&&"development"===e.installType&&"theme"!==e.type&&!((t=String(e.name||"").toLowerCase()).includes("extension.js built-in developer tools")||t.includes("extension.js theme"))});if(0===e.length)return{ok:!0,extensionEnabled:null};let t=e.find(e=>e.enabled)||e[e.length-1];return{ok:!0,extensionEnabled:!!t?.enabled,extensionName:t?.name,extensionId:t?.id}}async function L(e){if(e.startsWith("data:"))return e;let t=await fetch(e);if(!t.ok)throw Error(`Failed to fetch icon: ${t.status}`);let r=await t.blob();return await new Promise((e,t)=>{let n=new FileReader;n.onload=()=>e(String(n.result||"")),n.onerror=()=>t(Error("Failed to read icon blob")),n.readAsDataURL(r)})}chrome.runtime.onInstalled.addListener(e=>{I("info",["extension installed",e.reason,e.previousVersion??null])}),chrome.storage.session.get(["logger_events"],e=>{let t=Array.isArray(e?.logger_events)?e.logger_events:[];if(t.length)for(let e of t.slice(-2e3))c.push(e)}),setInterval(()=>{chrome.storage.session.set({logger_events:c.slice(-200)})},2e3),chrome.runtime.onStartup.addListener(()=>{I("info",["extension startup"]);try{I("info",["TEST_LOG: background-start"])}catch{}}),chrome.tabs.onCreated.addListener(e=>{I("info",["tab created"],{tabId:e.id??void 0,url:e.url})}),chrome.tabs.onUpdated.addListener((e,t,r)=>{"loading"===t.status&&I("debug",["tab loading"],{tabId:e,url:r.url}),"complete"===t.status&&I("debug",["tab complete"],{tabId:e,url:r.url}),"string"==typeof t.url&&I("info",["tab url changed",t.url],{tabId:e,url:t.url})}),chrome.tabs.onRemoved.addListener((e,t)=>{I("info",["tab removed",{windowId:t.windowId,isWindowClosing:t.isWindowClosing}],{tabId:e})}),chrome.webNavigation.onBeforeNavigate.addListener(e=>{0===e.frameId&&I("info",["Before navigate"],{tabId:e.tabId,frameId:e.frameId,url:e.url,title:"[navigation]"})}),chrome.webNavigation.onCommitted.addListener(e=>{0===e.frameId&&I("info",["Navigation committed"],{tabId:e.tabId,frameId:e.frameId,url:e.url,title:"[navigation]"})}),chrome.webNavigation.onCompleted.addListener(e=>{0===e.frameId&&I("info",["Navigation completed"],{tabId:e.tabId,frameId:e.frameId,url:e.url,title:"[navigation]"})}),chrome.webNavigation.onErrorOccurred.addListener(e=>{0===e.frameId&&I("error",["Navigation error",e.error],{tabId:e.tabId,frameId:e.frameId,url:e.url,title:"[navigation]"})}),chrome.webNavigation.onHistoryStateUpdated.addListener(e=>{0===e.frameId&&I("info",["History state updated"],{tabId:e.tabId,frameId:e.frameId,url:e.url,title:"[navigation]"})}),chrome.runtime.onMessage.addListener((e,t,r)=>e&&"get-events"===e.type?(r({events:c.slice(-500)}),!0):!!e&&"clear-events"===e.type&&(c.length=0,r({ok:!0}),!0)),chrome.runtime.onMessage.addListener((e,t,r)=>{if((!t?.id||t.id===chrome.runtime.id)&&e){if("resolve-icon-url"===e.type)return e.url&&function(e){if(e.startsWith("data:"))return!0;try{let t=new URL(e);return"moz-extension:"===t.protocol||"chrome-extension:"===t.protocol}catch{return!1}}(e.url)?(L(e.url).then(e=>r({ok:!0,dataUrl:e})).catch(e=>r({ok:!1,error:String(e)})),!0):void r({ok:!1,error:"Unsupported icon URL"});if("get-dx-status"===e.type)return k().then(e=>r(e)).catch(e=>r({ok:!1,error:String(e||"Unknown error")})),!0;if("dx-signal"===e.type){try{var n={level:e.level||"info",context:e.context||"content",messageParts:Array.isArray(e.messageParts)&&e.messageParts.length>0?e.messageParts:[e.code||"DX_SIGNAL"],eventType:e.eventType||"dx.signal",code:e.code,status:e.status,data:e.data,remediation:e.remediation,url:"string"==typeof e.url?e.url:void 0,stack:"string"==typeof e.stack?e.stack:void 0,errorName:"string"==typeof e.errorName?e.errorName:void 0};p({id:u(),timestamp:Date.now(),level:n.level,context:n.context,messageParts:x(n.messageParts||[]),eventType:"dx.signal"===n.eventType||"log"===n.eventType?n.eventType:"log",code:"string"==typeof n.code?b(String(n.code),128):void 0,status:"ok"===n.status||"warn"===n.status||"fail"===n.status?n.status:void 0,data:w(n.data),remediation:"string"==typeof n.remediation?b(n.remediation,512):void 0,url:n.url,stack:n.stack,errorName:n.errorName,tabId:n.tabId,frameId:n.frameId}),r({ok:!0})}catch(e){r({ok:!1,error:String(e||"Unknown error")})}return!0}}}),chrome.runtime.onStartup.addListener(async()=>{await s()}),chrome.runtime.onInstalled.addListener(async()=>{await s()})})();
@@ -0,0 +1,23 @@
1
+ <!DOCTYPE html><html><head><meta charset="utf-8">
2
+ <meta name="viewport" content="width=device-width, initial-scale=1">
3
+ <meta name="color-scheme" content="dark light">
4
+ <title>Extension.js</title>
5
+ <style>
6
+ html,
7
+ body{
8
+ height:100%;
9
+ margin: 0;
10
+ background: #fff;
11
+ color-scheme: light dark;
12
+ }
13
+
14
+ @media (prefers-color-scheme: dark){
15
+ html,
16
+ body {
17
+ background: #0b0b0b;
18
+ }
19
+ }
20
+ </style>
21
+
22
+
23
+ </head><body></body></html>