extension-develop 2.0.0-beta.9 → 2.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/add-hmr-accept-code.js +4 -3
  2. package/dist/depreacated-shadow-root.js +34 -0
  3. package/dist/deprecated-shadow-root.js +34 -0
  4. package/dist/ensure-hmr-for-scripts.js +2 -2
  5. package/dist/inject-chromium-client-loader.js +2 -2
  6. package/dist/inject-firefox-client-loader.js +3 -3
  7. package/dist/module.d.ts +2 -2
  8. package/dist/module.js +66 -104
  9. package/dist/resolver-loader.js +1 -1
  10. package/package.json +19 -27
  11. package/dist/extensions/safari-manager-extension/background.js +0 -58
  12. package/dist/extensions/safari-manager-extension/define-initial-tab.js +0 -67
  13. package/dist/extensions/safari-manager-extension/images/logo.png +0 -0
  14. package/dist/extensions/safari-manager-extension/manifest.json +0 -17
  15. package/dist/extensions/safari-manager-extension/pages/sakura-dark.css +0 -268
  16. package/dist/extensions/safari-manager-extension/pages/sakura.css +0 -267
  17. package/dist/extensions/safari-manager-extension/pages/welcome.html +0 -49
  18. package/dist/extensions/safari-manager-extension/pages/welcome.js +0 -34
  19. package/dist/extensions/safari-manager-extension/reload-service.js +0 -145
  20. package/dist/extensions/webkit-based-manager-extension/background.js +0 -58
  21. package/dist/extensions/webkit-based-manager-extension/define-initial-tab.js +0 -67
  22. package/dist/extensions/webkit-based-manager-extension/images/logo.png +0 -0
  23. package/dist/extensions/webkit-based-manager-extension/manifest.json +0 -17
  24. package/dist/extensions/webkit-based-manager-extension/pages/sakura-dark.css +0 -268
  25. package/dist/extensions/webkit-based-manager-extension/pages/sakura.css +0 -267
  26. package/dist/extensions/webkit-based-manager-extension/pages/welcome.html +0 -49
  27. package/dist/extensions/webkit-based-manager-extension/pages/welcome.js +0 -34
  28. package/dist/extensions/webkit-based-manager-extension/reload-service.js +0 -145
  29. package/dist/run-chrome-profile/Default/Cache/Cache_Data/2f9e674f13c5ee43_0 +0 -0
  30. package/dist/run-chrome-profile/Default/Cache/Cache_Data/37efc878b9e2e181_0 +0 -0
  31. package/dist/run-chrome-profile/Default/Cache/Cache_Data/4687d168a80cb2c2_0 +0 -0
  32. package/dist/run-chrome-profile/Default/Cache/Cache_Data/4ed8c6191e06df7e_0 +0 -0
  33. package/dist/run-chrome-profile/Default/Cache/Cache_Data/516b8adbcaf9e7ef_0 +0 -0
  34. package/dist/run-chrome-profile/Default/Cache/Cache_Data/54fe1cc8a6aa782e_0 +0 -0
  35. package/dist/run-chrome-profile/Default/Cache/Cache_Data/598e6a77ceb3d616_0 +0 -0
  36. package/dist/run-chrome-profile/Default/Cache/Cache_Data/623afcba6dc2b340_0 +0 -0
  37. package/dist/run-chrome-profile/Default/Cache/Cache_Data/bc26ddd2d404d9c4_0 +0 -0
  38. package/dist/run-chrome-profile/Default/Network Persistent State +0 -1
  39. package/dist/run-chrome-profile/Default/Service Worker/ScriptCache/index-dir/the-real-index +0 -0
@@ -1,3 +1,4 @@
1
- "use strict";var b=Object.create;var f=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var y=(t,e)=>{for(var s in e)f(t,s,{get:e[s],enumerable:!0})},u=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of S(e))!v.call(t,o)&&o!==s&&f(t,o,{get:()=>e[o],enumerable:!(r=k(e,o))||r.enumerable});return t};var d=(t,e,s)=>(s=t!=null?b(j(t)):{},u(e||!t||!t.__esModule?f(s,"default",{value:t,enumerable:!0}):s,t)),P=t=>u(f({},"__esModule",{value:!0}),t);var x={};y(x,{default:()=>_});module.exports=P(x);var m=d(require("fs")),c=d(require("path")),l=require("loader-utils"),g=require("schema-utils");function $(t){let e=c.default.join(t,"package.json");if(!m.default.existsSync(e))return!1;let s=JSON.parse(m.default.readFileSync(e,"utf-8")),r=["react","vue","@angular/core","svelte","solid-js","preact"],o=s.dependencies||{},a=s.devDependencies||{};for(let n of r)if(o[n]||a[n])return!0;return!1}var w={type:"object",properties:{test:{type:"string"},manifestPath:{type:"string"}}};function _(t){let e=this.getOptions(),s=e.manifestPath,r=c.default.dirname(s),o=require(s);if((0,g.validate)(w,e,{name:"scripts:add-hmr-accept-code",baseDataPath:"options"}),this._compilation?.options.mode==="production")return t;let a=(0,l.urlToRequest)(this.resourcePath),n=`
2
- if (import.meta.webpackHot) { import.meta.webpackHot.accept() };
3
- `;if(o.background&&o.background.scripts)for(let i of o.background.scripts){let p=c.default.resolve(r,i);if(a.includes(p))return`${n}${t}`}if(o.content_scripts&&!$(r)){for(let i of o.content_scripts)if(i.js)for(let p of i.js){let h=c.default.resolve(r,p);if(a.includes(h))return`${n}${t}`}}if(o.user_scripts)for(let i of o.user_scripts){let p=c.default.resolve(r,i);if(a.includes(p))return`${n}${t}`}return t}
1
+ "use strict";var b=Object.create;var f=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var y=(t,e)=>{for(var r in e)f(t,r,{get:e[r],enumerable:!0})},m=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of v(e))!j.call(t,s)&&s!==r&&f(t,s,{get:()=>e[s],enumerable:!(o=k(e,s))||o.enumerable});return t};var d=(t,e,r)=>(r=t!=null?b(S(t)):{},m(e||!t||!t.__esModule?f(r,"default",{value:t,enumerable:!0}):r,t)),P=t=>m(f({},"__esModule",{value:!0}),t);var D={};y(D,{default:()=>x});module.exports=P(D);var u=d(require("fs")),c=d(require("path")),l=require("loader-utils"),g=require("schema-utils");function $(t){let e=c.default.join(t,"package.json");if(!u.default.existsSync(e))return!1;let r=JSON.parse(u.default.readFileSync(e,"utf-8")),o=["react","vue","@angular/core","svelte","solid-js","preact"],s=r.dependencies||{},a=r.devDependencies||{};for(let n of o)if(s[n]||a[n])return!0;return!1}var w={type:"object",properties:{test:{type:"string"},manifestPath:{type:"string"},mode:{type:"string"}}};function x(t){let e=this.getOptions(),r=e.manifestPath,o=c.default.dirname(r),s=require(r);(0,g.validate)(w,e,{name:"scripts:add-hmr-accept-code",baseDataPath:"options"});let a=(0,l.urlToRequest)(this.resourcePath),n=`
2
+ // TODO: cezaraugusto re-visit this
3
+ // if (import.meta.webpackHot) { import.meta.webpackHot.accept() };
4
+ `;if(s.background&&s.background.scripts)for(let i of s.background.scripts){let p=c.default.resolve(o,i);if(a.includes(p))return`${n}${t}`}if(s.content_scripts&&!$(o)){for(let i of s.content_scripts)if(i.js)for(let p of i.js){let h=c.default.resolve(o,p);if(a.includes(h))return`${n}${t}`}}if(s.user_scripts)for(let i of s.user_scripts){let p=c.default.resolve(o,i);if(a.includes(p))return`${n}${t}`}return t}
@@ -0,0 +1,34 @@
1
+ "use strict";var y=Object.create;var i=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var T=(e,n)=>{for(var r in n)i(e,r,{get:n[r],enumerable:!0})},l=(e,n,r,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of b(n))!v.call(e,o)&&o!==r&&i(e,o,{get:()=>n[o],enumerable:!(s=E(n,o))||s.enumerable});return e};var a=(e,n,r)=>(r=e!=null?y(w(e)):{},l(n||!e||!e.__esModule?i(r,"default",{value:e,enumerable:!0}):r,e)),S=e=>l(i({},"__esModule",{value:!0}),e);var k={};T(k,{default:()=>I});module.exports=S(k);var c=a(require("path")),f=require("loader-utils"),m=require("schema-utils");var F=a(require("path")),t=require("@colors/colors/safe");var d=a(require("path")),O=d.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),N=["chrome","edge"],R=["firefox"],U=[...N,...R];var M=require("console");function j(e,n){return n==="error"?`${(0,t.bold)((0,t.red)("ERROR"))} in ${e} ${(0,t.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:n==="warn"?`${e} ${(0,t.brightYellow)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:`${n==="info"?(0,t.cyan)("\u25BA\u25BA\u25BA"):(0,t.brightGreen)("\u25BA\u25BA\u25BA")} ${(0,t.cyan)(e)}`}function p(){return`${j("DEPRECATION","warn")} Using ${(0,t.brightYellow)("window.__EXTENSION_SHADOW_ROOT__")} in content_scripts is deprecated
2
+ and will be removed in a future version of Extension.js. To use content_scripts with
3
+ the shadow DOM, see one of the many examples at:
4
+ https://github.com/extension-js/extension.js/tree/main/examples
5
+
6
+ If you really need to use the shadow DOM as-is, the latest version of Extension.js
7
+ to support it is extension@2.0.0-beta.9.
8
+ `}var D={type:"object",properties:{test:{type:"string"},manifestPath:{type:"string"}}};function I(e){let n=this.getOptions(),r=n.manifestPath,s=c.default.dirname(r),o=require(r);(0,m.validate)(D,n,{name:"scripts:deprecated-shadow-root",baseDataPath:"options"});let $=(0,f.urlToRequest)(this.resourcePath),h=`
9
+ ;const appendStyleElementForLegacyShadowRoot = (legacyShadowRoot, stylesheets) => {
10
+ const styleElement = document.createElement('link')
11
+ styleElement.rel = 'stylesheet'
12
+ styleElement.href = (typeof chrome !== 'undefined' ? chrome : browser).runtime.getURL('content_scripts/content-0.css')
13
+ legacyShadowRoot.appendChild(styleElement)
14
+ }
15
+
16
+ function injectStyles() {
17
+ const legacyShadowRoot = window.__EXTENSION_SHADOW_ROOT__
18
+
19
+ if (legacyShadowRoot) {
20
+ appendStyleElementForLegacyShadowRoot(legacyShadowRoot)
21
+ } else {
22
+ // Use MutationObserver to wait for shadow root to be available
23
+ const observer = new MutationObserver(() => {
24
+ const shadowRoot = window.__EXTENSION_SHADOW_ROOT__
25
+
26
+ if (shadowRoot) {
27
+ appendStyleElementForLegacyShadowRoot(shadowRoot)
28
+ observer.disconnect()
29
+ }
30
+ })
31
+
32
+ observer.observe(document.body, { childList: true, subtree: true })
33
+ }
34
+ };injectStyles();`;if(o.content_scripts){for(let u of o.content_scripts)if(u.js)for(let g of u.js){let x=c.default.resolve(s,g);if($.includes(x))return e.includes("__EXTENSION_SHADOW_ROOT__")?(console.warn(p()),`${h}${e}`):`${e}`}}return e}
@@ -0,0 +1,34 @@
1
+ "use strict";var y=Object.create;var i=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var T=(e,n)=>{for(var r in n)i(e,r,{get:n[r],enumerable:!0})},l=(e,n,r,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of b(n))!v.call(e,o)&&o!==r&&i(e,o,{get:()=>n[o],enumerable:!(s=E(n,o))||s.enumerable});return e};var a=(e,n,r)=>(r=e!=null?y(w(e)):{},l(n||!e||!e.__esModule?i(r,"default",{value:e,enumerable:!0}):r,e)),S=e=>l(i({},"__esModule",{value:!0}),e);var k={};T(k,{default:()=>I});module.exports=S(k);var c=a(require("path")),f=require("loader-utils"),m=require("schema-utils");var F=a(require("path")),t=require("@colors/colors/safe");var p=a(require("path")),O=p.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),N=["chrome","edge"],R=["firefox"],U=[...N,...R];var M=require("console");function _(e,n){return n==="error"?`${(0,t.bold)((0,t.red)("ERROR"))} in ${e} ${(0,t.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:n==="warn"?`${e} ${(0,t.brightYellow)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:`${n==="info"?(0,t.cyan)("\u25BA\u25BA\u25BA"):(0,t.brightGreen)("\u25BA\u25BA\u25BA")} ${(0,t.cyan)(e)}`}function d(){return`${_("DEPRECATION","warn")} Using ${(0,t.brightYellow)("window.__EXTENSION_SHADOW_ROOT__")} in content_scripts is deprecated
2
+ and will be removed in a future version of Extension.js. To use content_scripts with
3
+ the shadow DOM, see one of the many examples at:
4
+ https://github.com/extension-js/extension.js/tree/main/examples
5
+
6
+ If you really need to use the shadow DOM as-is, the latest version of Extension.js
7
+ to support it is extension@2.0.0-beta.9.
8
+ `}var D={type:"object",properties:{test:{type:"string"},manifestPath:{type:"string"}}};function I(e){let n=this.getOptions(),r=n.manifestPath,s=c.default.dirname(r),o=require(r);(0,m.validate)(D,n,{name:"scripts:deprecated-shadow-root",baseDataPath:"options"});let $=(0,f.urlToRequest)(this.resourcePath),h=`
9
+ ;const appendStyleElementForLegacyShadowRoot = (legacyShadowRoot, stylesheets) => {
10
+ const styleElement = document.createElement('link')
11
+ styleElement.rel = 'stylesheet'
12
+ styleElement.href = (typeof chrome !== 'undefined' ? chrome : browser).runtime.getURL('content_scripts/content-0.css')
13
+ legacyShadowRoot.appendChild(styleElement)
14
+ }
15
+
16
+ function injectStyles() {
17
+ const legacyShadowRoot = window.__EXTENSION_SHADOW_ROOT__
18
+
19
+ if (legacyShadowRoot) {
20
+ appendStyleElementForLegacyShadowRoot(legacyShadowRoot)
21
+ } else {
22
+ // Use MutationObserver to wait for shadow root to be available
23
+ const observer = new MutationObserver(() => {
24
+ const shadowRoot = window.__EXTENSION_SHADOW_ROOT__
25
+
26
+ if (shadowRoot) {
27
+ appendStyleElementForLegacyShadowRoot(shadowRoot)
28
+ observer.disconnect()
29
+ }
30
+ })
31
+
32
+ observer.observe(document.body, { childList: true, subtree: true })
33
+ }
34
+ };injectStyles();`;if(o.content_scripts){for(let u of o.content_scripts)if(u.js)for(let g of u.js){let x=c.default.resolve(s,g);if($.includes(x))return e.includes("__EXTENSION_SHADOW_ROOT__")?(console.warn(d()),`${h}${e}`):`${e}`}}return e}
@@ -1,3 +1,3 @@
1
- "use strict";var R=Object.create;var m=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var U=(t,n)=>{for(var s in n)m(t,s,{get:n[s],enumerable:!0})},b=(t,n,s,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of A(n))!C.call(t,r)&&r!==s&&m(t,r,{get:()=>n[r],enumerable:!(e=_(n,r))||e.enumerable});return t};var a=(t,n,s)=>(s=t!=null?R(P(t)):{},b(n||!t||!t.__esModule?m(s,"default",{value:t,enumerable:!0}):s,t)),L=t=>b(m({},"__esModule",{value:!0}),t);var K={};U(K,{default:()=>k});module.exports=L(K);var x=a(require("path")),S=a(require("fs")),w=require("loader-utils"),M=require("schema-utils");var v=a(require("fs")),d=a(require("path")),N=a(require("parse5-utils"));var p=a(require("parse5-utils"));function g(t){try{return new URL(t),!0}catch{return!1}}function h(t,n){let{childNodes:s=[]}=t;for(let e of s)if(e.nodeName==="script"){let r=p.default.getAttribute(e,"src");if(!r||g(r))continue;n({filePath:r,childNode:e,assetType:"script"})}else if(e.nodeName==="link"){let r=p.default.getAttribute(e,"href"),o=p.default.getAttribute(e,"rel");if(!r||g(r))continue;n(o==="dns-prefetch"||o==="icon"||o==="manifest"||o==="modulepreload"||o==="preconnect"||o==="prefetch"||o==="preload"||o==="prerender"?{filePath:r,childNode:e,assetType:"staticHref"}:{filePath:r,childNode:e,assetType:"css"})}else if(e.nodeName==="a"||e.nodeName==="area"){let r=p.default.getAttribute(e,"href");if(!r||g(r))continue;n({filePath:r,childNode:e,assetType:"staticHref"})}else if(e.nodeName==="audio"||e.nodeName==="embed"||e.nodeName==="iframe"||e.nodeName==="img"||e.nodeName==="input"||e.nodeName==="source"||e.nodeName==="track"||e.nodeName==="video"){let r=p.default.getAttribute(e,"src");if(!r||g(r))continue;n({filePath:r,childNode:e,assetType:"staticSrc"})}else h(e,n)}function j(t,n){let s={css:[],js:[],static:[]};if(!t)return s;let e=n||v.default.readFileSync(t,{encoding:"utf8"}),r=N.default.parse(e),o=(i,c)=>d.default.join(d.default.dirname(i),c.startsWith("/")?d.default.relative(d.default.dirname(i),c):c);for(let i of r.childNodes)if(i.nodeName==="html"){for(let c of i.childNodes)(c.nodeName==="head"||c.nodeName==="body")&&h(c,({filePath:u,assetType:y})=>{let f=o(t,u);switch(y){case"script":s.js?.push(f);break;case"css":s.css?.push(f);break;case"staticSrc":case"staticHref":if(u.startsWith("#"))break;s.static?.push(f);break;default:break}});return{css:s.css,js:s.js,static:s.static}}}var T=a(require("path")),$=a(require("fs")),J=require("child_process"),V=require("package-manager-detector");var q=a(require("path")),l=require("@colors/colors/safe");var E=a(require("path")),H=E.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),F=["chrome","edge"],W=["firefox"],ee=[...F,...W];var z=require("console");function O(t){let n=T.default.join(t,"package.json");if(!$.default.existsSync(n))return!1;let s=JSON.parse($.default.readFileSync(n,"utf-8")),e=["react","vue","@angular/core","svelte","solid-js","preact"],r=s.dependencies||{},o=s.devDependencies||{};for(let i of e)if(r[i]||o[i])return!0;return!1}var G={type:"object",properties:{test:{type:"string"},manifestPath:{type:"string"},includeList:{type:"object"},excludeList:{type:"object"}}};function k(t){let n=this.getOptions(),s=n.manifestPath,e=x.default.dirname(s);(0,M.validate)(G,n,{name:"html:ensure-hmr-for-scripts",baseDataPath:"options"});let r=(0,w.urlToRequest)(this.resourcePath),o=`
1
+ "use strict";var I=Object.create;var m=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var U=(t,n)=>{for(var s in n)m(t,s,{get:n[s],enumerable:!0})},b=(t,n,s,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of A(n))!C.call(t,r)&&r!==s&&m(t,r,{get:()=>n[r],enumerable:!(e=R(n,r))||e.enumerable});return t};var a=(t,n,s)=>(s=t!=null?I(P(t)):{},b(n||!t||!t.__esModule?m(s,"default",{value:t,enumerable:!0}):s,t)),L=t=>b(m({},"__esModule",{value:!0}),t);var X={};U(X,{default:()=>k});module.exports=L(X);var x=a(require("path")),O=a(require("fs")),S=require("loader-utils"),M=require("schema-utils");var v=a(require("fs")),d=a(require("path")),N=a(require("parse5-utils"));var p=a(require("parse5-utils"));function g(t){try{return new URL(t),!0}catch{return!1}}function h(t,n){let{childNodes:s=[]}=t;for(let e of s)if(e.nodeName==="script"){let r=p.default.getAttribute(e,"src");if(!r||g(r))continue;n({filePath:r,childNode:e,assetType:"script"})}else if(e.nodeName==="link"){let r=p.default.getAttribute(e,"href"),o=p.default.getAttribute(e,"rel");if(!r||g(r))continue;n(o==="dns-prefetch"||o==="icon"||o==="manifest"||o==="modulepreload"||o==="preconnect"||o==="prefetch"||o==="preload"||o==="prerender"?{filePath:r,childNode:e,assetType:"staticHref"}:{filePath:r,childNode:e,assetType:"css"})}else if(e.nodeName==="a"||e.nodeName==="area"){let r=p.default.getAttribute(e,"href");if(!r||g(r))continue;n({filePath:r,childNode:e,assetType:"staticHref"})}else if(e.nodeName==="audio"||e.nodeName==="embed"||e.nodeName==="iframe"||e.nodeName==="img"||e.nodeName==="input"||e.nodeName==="source"||e.nodeName==="track"||e.nodeName==="video"){let r=p.default.getAttribute(e,"src");if(!r||g(r))continue;n({filePath:r,childNode:e,assetType:"staticSrc"})}else h(e,n)}function j(t,n){let s={css:[],js:[],static:[]};if(!t)return s;let e=n||v.default.readFileSync(t,{encoding:"utf8"}),r=N.default.parse(e),o=(i,c)=>d.default.join(d.default.dirname(i),c.startsWith("/")?d.default.relative(d.default.dirname(i),c):c);for(let i of r.childNodes)if(i.nodeName==="html"){for(let c of i.childNodes)(c.nodeName==="head"||c.nodeName==="body")&&h(c,({filePath:u,assetType:y})=>{let f=o(t,u);switch(y){case"script":s.js?.push(f);break;case"css":s.css?.push(f);break;case"staticSrc":case"staticHref":if(u.startsWith("#"))break;s.static?.push(f);break;default:break}});return{css:s.css,js:s.js,static:s.static}}}var T=a(require("path")),$=a(require("fs")),J=require("child_process"),V=require("package-manager-detector");var q=a(require("path")),l=require("@colors/colors/safe");var E=a(require("path")),H=E.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),F=["chrome","edge"],W=["firefox"],ee=[...F,...W];var z=require("console");function w(t){let n=T.default.join(t,"package.json");if(!$.default.existsSync(n))return!1;let s=JSON.parse($.default.readFileSync(n,"utf-8")),e=["react","vue","@angular/core","svelte","solid-js","preact"],r=s.dependencies||{},o=s.devDependencies||{};for(let i of e)if(r[i]||o[i])return!0;return!1}var G={type:"object",properties:{test:{type:"string"},manifestPath:{type:"string"},includeList:{type:"object"},excludeList:{type:"object"}}};function k(t){let n=this.getOptions(),s=n.manifestPath,e=x.default.dirname(s);(0,M.validate)(G,n,{name:"html:ensure-hmr-for-scripts",baseDataPath:"options"});let r=(0,S.urlToRequest)(this.resourcePath),o=`
2
2
  if (import.meta.webpackHot) { import.meta.webpackHot.accept() };
3
- `;if(O(e))return t;let i=n.includeList||{};for(let c of Object.entries(i)){let[,u]=c;if(u){if(!S.default.existsSync(u))return;let f=j(u)?.js||[];for(let D of f){let I=x.default.resolve(e,D);if(r.includes(I))return`${o}${t}`}}}return t}
3
+ `;if(w(e))return t;let i=n.includeList||{};for(let c of Object.entries(i)){let[,u]=c;if(u){if(!O.default.existsSync(u))return;let f=j(u)?.js||[];for(let D of f){let _=x.default.resolve(e,D);if(r.includes(_))return`${o}${t}`}}}return t}
@@ -1,4 +1,4 @@
1
- "use strict";var w=Object.create;var u=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var T=(e,n)=>{for(var t in n)u(e,t,{get:n[t],enumerable:!0})},x=(e,n,t,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of M(n))!N.call(e,r)&&r!==t&&u(e,r,{get:()=>n[r],enumerable:!(a=j(n,r))||a.enumerable});return e};var c=(e,n,t)=>(t=e!=null?w(k(e)):{},x(n||!e||!e.__esModule?u(t,"default",{value:e,enumerable:!0}):t,e)),S=e=>x(u({},"__esModule",{value:!0}),e);var H={};T(H,{default:()=>W});module.exports=S(H);var p=c(require("path")),b=require("loader-utils"),E=require("schema-utils");var C=c(require("path")),P=c(require("fs")),U=require("child_process"),A=require("package-manager-detector");var _=c(require("path")),o=require("@colors/colors/safe");var y=c(require("path")),O=y.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),m=["chrome","edge"],R=["firefox"],z=[...m,...R];var D=require("console");function v(e,n){return JSON.parse(JSON.stringify(e),function(r,l){let s=r.indexOf(":");if(s===-1)return l;let i=r.substring(0,s);(i===n||i==="chromium"&&m.includes(n)||i==="chromium"&&n.includes("chromium")||i==="gecko"&&n.includes("gecko"))&&(this[r.substring(s+1)]=l)})}var q={type:"object",properties:{test:{type:"string"},manifestPath:{type:"string"}}};function W(e){let n=this.getOptions(),t=n.manifestPath,a=n.browser,r=p.default.dirname(t),l=require(t),s=v(l,a);(0,E.validate)(q,n,{name:"reload:inject-background-client",baseDataPath:"options"});let i=(0,b.urlToRequest)(this.resourcePath),g=`
1
+ "use strict";var F=Object.create;var u=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var _=(e,n)=>{for(var t in n)u(e,t,{get:n[t],enumerable:!0})},x=(e,n,t,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of j(n))!N.call(e,r)&&r!==t&&u(e,r,{get:()=>n[r],enumerable:!(a=M(n,r))||a.enumerable});return e};var c=(e,n,t)=>(t=e!=null?F(T(e)):{},x(n||!e||!e.__esModule?u(t,"default",{value:e,enumerable:!0}):t,e)),O=e=>x(u({},"__esModule",{value:!0}),e);var H={};_(H,{default:()=>W});module.exports=O(H);var p=c(require("path")),b=require("loader-utils"),E=require("schema-utils");var C=c(require("path")),P=c(require("fs")),U=require("child_process"),A=require("package-manager-detector");var R=c(require("path")),s=require("@colors/colors/safe");var y=c(require("path")),S=y.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),m=["chrome","edge"],k=["firefox"],z=[...m,...k];var D=require("console");function v(e,n){return JSON.parse(JSON.stringify(e),function(r,l){let o=r.indexOf(":");if(o===-1)return l;let i=r.substring(0,o);(i===n||i==="chromium"&&m.includes(n)||i==="chromium"&&n.includes("chromium")||i==="gecko"&&n.includes("gecko"))&&(this[r.substring(o+1)]=l)})}var q={type:"object",properties:{test:{type:"string"},manifestPath:{type:"string"}}};function W(e){let n=this.getOptions(),t=n.manifestPath,a=n.browser,r=p.default.dirname(t),l=require(t),o=v(l,a);(0,E.validate)(q,n,{name:"reload:inject-background-client",baseDataPath:"options"});let i=(0,b.urlToRequest)(this.resourcePath),g=`
2
2
  ;chrome.runtime.onMessageExternal.addListener(
3
3
  async (request, _sender, sendResponse) => {
4
4
  const managementInfo = await new Promise((resolve) => {
@@ -49,4 +49,4 @@
49
49
  return true
50
50
  }
51
51
  );
52
- `,f=s.background;if(f){let h=f?.scripts;if(h&&s.manifest_version===2)for(let d of[h[0]]){let F=p.default.resolve(r,d);if(i.includes(F))return`${g}${e}`}let $=f?.service_worker;if($&&s.manifest_version===3){let d=p.default.resolve(r,$);if(i.includes(d))return`${g}${e}`}}return e}
52
+ `,f=o.background;if(f){let h=f?.scripts;if(h&&o.manifest_version===2)for(let d of[h[0]]){let w=p.default.resolve(r,d);if(i.includes(w))return`${g}${e}`}let $=f?.service_worker;if($&&o.manifest_version===3){let d=p.default.resolve(r,$);if(i.includes(d))return`${g}${e}`}}return e}
@@ -1,11 +1,11 @@
1
- "use strict";var j=Object.create;var u=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var T=(e,n)=>{for(var r in n)u(e,r,{get:n[r],enumerable:!0})},g=(e,n,r,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of k(n))!S.call(e,o)&&o!==r&&u(e,o,{get:()=>n[o],enumerable:!(a=M(n,o))||a.enumerable});return e};var c=(e,n,r)=>(r=e!=null?j(N(e)):{},g(n||!e||!e.__esModule?u(r,"default",{value:e,enumerable:!0}):r,e)),O=e=>g(u({},"__esModule",{value:!0}),e);var B={};T(B,{default:()=>H});module.exports=O(B);var f=c(require("path")),b=require("loader-utils"),v=require("schema-utils");var P=c(require("path")),U=c(require("fs")),A=require("child_process"),L=require("package-manager-detector");var R=c(require("path")),t=require("@colors/colors/safe");var h=c(require("path")),_=h.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),p=["chrome","edge"],D=["firefox"],J=[...p,...D];var I=require("console");function C(e,n){return n==="error"?`${(0,t.bold)((0,t.red)("ERROR"))} in ${e} ${(0,t.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:n==="warn"?`${e} ${(0,t.brightYellow)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:`${n==="info"?(0,t.cyan)("\u25BA\u25BA\u25BA"):(0,t.brightGreen)("\u25BA\u25BA\u25BA")} ${(0,t.cyan)(e)}`}function $(){return`${C("Firefox runner","error")} No Service Worker Support
1
+ "use strict";var M=Object.create;var u=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var O=(e,n)=>{for(var r in n)u(e,r,{get:n[r],enumerable:!0})},g=(e,n,r,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of T(n))!S.call(e,s)&&s!==r&&u(e,s,{get:()=>n[s],enumerable:!(a=j(n,s))||a.enumerable});return e};var c=(e,n,r)=>(r=e!=null?M(N(e)):{},g(n||!e||!e.__esModule?u(r,"default",{value:e,enumerable:!0}):r,e)),_=e=>g(u({},"__esModule",{value:!0}),e);var B={};O(B,{default:()=>H});module.exports=_(B);var f=c(require("path")),b=require("loader-utils"),v=require("schema-utils");var P=c(require("path")),U=c(require("fs")),A=require("child_process"),L=require("package-manager-detector");var I=c(require("path")),t=require("@colors/colors/safe");var h=c(require("path")),k=h.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),p=["chrome","edge"],D=["firefox"],J=[...p,...D];var R=require("console");function C(e,n){return n==="error"?`${(0,t.bold)((0,t.red)("ERROR"))} in ${e} ${(0,t.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:n==="warn"?`${e} ${(0,t.brightYellow)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:`${n==="info"?(0,t.cyan)("\u25BA\u25BA\u25BA"):(0,t.brightGreen)("\u25BA\u25BA\u25BA")} ${(0,t.cyan)(e)}`}function $(){return`${C("Firefox runner","error")} No Service Worker Support
2
2
 
3
3
  Firefox does not support the ${(0,t.brightYellow)("background.service_worker")} field yet.
4
4
  Update your manifest.json file to use ${(0,t.brightYellow)("background.scripts")} instead.
5
5
  If you really need to keep the ${(0,t.brightYellow)("service_worker")} field, prefix it with
6
6
  ${(0,t.brightYellow)("chromium:")} so it can target only Chromium-based browsers.
7
7
 
8
- Mozilla bug: ${(0,t.underline)("https://bugzilla.mozilla.org/show_bug.cgi?id=1573659")}.`}function y(e,n){return JSON.parse(JSON.stringify(e),function(o,l){let s=o.indexOf(":");if(s===-1)return l;let i=o.substring(0,s);(i===n||i==="chromium"&&p.includes(n)||i==="chromium"&&n.includes("chromium")||i==="gecko"&&n.includes("gecko"))&&(this[o.substring(s+1)]=l)})}var W={type:"object",properties:{test:{type:"string"},manifestPath:{type:"string"}}};function H(e){let n=this.getOptions(),r=n.manifestPath,a=n.browser,o=f.default.dirname(r),l=require(r),s=y(l,a);(0,v.validate)(W,n,{name:"reload:inject-background-client",baseDataPath:"options"});let i=(0,b.urlToRequest)(this.resourcePath),E=`
8
+ Mozilla bug: ${(0,t.underline)("https://bugzilla.mozilla.org/show_bug.cgi?id=1573659")}.`}function y(e,n){return JSON.parse(JSON.stringify(e),function(s,l){let o=s.indexOf(":");if(o===-1)return l;let i=s.substring(0,o);(i===n||i==="chromium"&&p.includes(n)||i==="chromium"&&n.includes("chromium")||i==="gecko"&&n.includes("gecko"))&&(this[s.substring(o+1)]=l)})}var W={type:"object",properties:{test:{type:"string"},manifestPath:{type:"string"}}};function H(e){let n=this.getOptions(),r=n.manifestPath,a=n.browser,s=f.default.dirname(r),l=require(r),o=y(l,a);(0,v.validate)(W,n,{name:"reload:inject-background-client",baseDataPath:"options"});let i=(0,b.urlToRequest)(this.resourcePath),w=`
9
9
  ;browser.runtime.onMessageExternal.addListener(async (request, _sender) => {
10
10
  const managementInfo = await browser.management.getSelf()
11
11
 
@@ -47,4 +47,4 @@ Mozilla bug: ${(0,t.underline)("https://bugzilla.mozilla.org/show_bug.cgi?id=157
47
47
  }
48
48
 
49
49
  return {reloaded: true}
50
- });`,d=s.background;if(s.service_worker)return console.log($()),e;if(d){let m=d?.scripts;if(m)for(let w of[m[0]]){let F=f.default.resolve(o,w);if(i.includes(F))return`${E}${e}`}}return e}
50
+ });`,d=o.background;if(o.service_worker)return console.log($()),e;if(d){let m=d?.scripts;if(m)for(let E of[m[0]]){let F=f.default.resolve(s,E);if(i.includes(F))return`${w}${e}`}}return e}
package/dist/module.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Configuration } from 'webpack';
1
+ import { Configuration } from '@rspack/core';
2
2
 
3
3
  type BrowserType = 'chrome' | 'edge' | 'firefox' | 'chromium-based' | 'gecko-based';
4
4
  interface BrowserOptionsBase {
@@ -16,7 +16,7 @@ interface GeckoOptions extends BrowserOptionsBase {
16
16
  geckoBinary?: string;
17
17
  }
18
18
  interface DevOptions extends BrowserOptionsBase {
19
- mode: 'development' | 'production';
19
+ mode: 'development' | 'production' | 'none';
20
20
  polyfill?: boolean;
21
21
  chromiumBinary?: ChromiumOptions['chromiumBinary'];
22
22
  geckoBinary?: GeckoOptions['geckoBinary'];