extension-develop 2.0.0-beta.9 → 2.0.0-rc.1
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/add-hmr-accept-code.js +4 -3
- package/dist/depreacated-shadow-root.js +34 -0
- package/dist/deprecated-shadow-root.js +34 -0
- package/dist/ensure-hmr-for-scripts.js +2 -2
- package/dist/inject-chromium-client-loader.js +2 -2
- package/dist/inject-firefox-client-loader.js +3 -3
- package/dist/module.d.ts +2 -2
- package/dist/module.js +66 -104
- package/dist/resolver-loader.js +1 -1
- package/package.json +12 -19
- package/dist/extensions/safari-manager-extension/background.js +0 -58
- package/dist/extensions/safari-manager-extension/define-initial-tab.js +0 -67
- package/dist/extensions/safari-manager-extension/images/logo.png +0 -0
- package/dist/extensions/safari-manager-extension/manifest.json +0 -17
- package/dist/extensions/safari-manager-extension/pages/sakura-dark.css +0 -268
- package/dist/extensions/safari-manager-extension/pages/sakura.css +0 -267
- package/dist/extensions/safari-manager-extension/pages/welcome.html +0 -49
- package/dist/extensions/safari-manager-extension/pages/welcome.js +0 -34
- package/dist/extensions/safari-manager-extension/reload-service.js +0 -145
- package/dist/extensions/webkit-based-manager-extension/background.js +0 -58
- package/dist/extensions/webkit-based-manager-extension/define-initial-tab.js +0 -67
- package/dist/extensions/webkit-based-manager-extension/images/logo.png +0 -0
- package/dist/extensions/webkit-based-manager-extension/manifest.json +0 -17
- package/dist/extensions/webkit-based-manager-extension/pages/sakura-dark.css +0 -268
- package/dist/extensions/webkit-based-manager-extension/pages/sakura.css +0 -267
- package/dist/extensions/webkit-based-manager-extension/pages/welcome.html +0 -49
- package/dist/extensions/webkit-based-manager-extension/pages/welcome.js +0 -34
- package/dist/extensions/webkit-based-manager-extension/reload-service.js +0 -145
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/2f9e674f13c5ee43_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/37efc878b9e2e181_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/4687d168a80cb2c2_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/4ed8c6191e06df7e_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/516b8adbcaf9e7ef_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/54fe1cc8a6aa782e_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/598e6a77ceb3d616_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/623afcba6dc2b340_0 +0 -0
- package/dist/run-chrome-profile/Default/Cache/Cache_Data/bc26ddd2d404d9c4_0 +0 -0
- package/dist/run-chrome-profile/Default/Network Persistent State +0 -1
- 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
|
|
2
|
-
|
|
3
|
-
|
|
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
|
|
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(
|
|
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
|
|
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=
|
|
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
|
|
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(
|
|
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=
|
|
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 '
|
|
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'];
|