extension-develop 2.0.0-rc.8 → 2.0.0-rc.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.js +2 -2
- package/package.json +1 -1
package/dist/module.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Zc=Object.create;var Qe=Object.defineProperty;var Kc=Object.getOwnPropertyDescriptor;var Yc=Object.getOwnPropertyNames;var Qc=Object.getPrototypeOf,el=Object.prototype.hasOwnProperty;var tl=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),sl=(t,e)=>{for(var s in e)Qe(t,s,{get:e[s],enumerable:!0})},Dr=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Yc(e))!el.call(t,n)&&n!==s&&Qe(t,n,{get:()=>e[n],enumerable:!(r=Kc(e,n))||r.enumerable});return t};var a=(t,e,s)=>(s=t!=null?Zc(Qc(t)):{},Dr(e||!t||!t.__esModule?Qe(s,"default",{value:t,enumerable:!0}):s,t)),rl=t=>Dr(Qe({},"__esModule",{value:!0}),t);var As=tl((ip,il)=>{il.exports={license:"MIT",repository:{type:"git",url:"https://github.com/cezaraugusto/extension.git",directory:"programs/develop"},engines:{node:">=18"},name:"extension-develop",version:"2.0.0-rc.
|
|
1
|
+
"use strict";var Zc=Object.create;var Qe=Object.defineProperty;var Kc=Object.getOwnPropertyDescriptor;var Yc=Object.getOwnPropertyNames;var Qc=Object.getPrototypeOf,el=Object.prototype.hasOwnProperty;var tl=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),sl=(t,e)=>{for(var s in e)Qe(t,s,{get:e[s],enumerable:!0})},Dr=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Yc(e))!el.call(t,n)&&n!==s&&Qe(t,n,{get:()=>e[n],enumerable:!(r=Kc(e,n))||r.enumerable});return t};var a=(t,e,s)=>(s=t!=null?Zc(Qc(t)):{},Dr(e||!t||!t.__esModule?Qe(s,"default",{value:t,enumerable:!0}):s,t)),rl=t=>Dr(Qe({},"__esModule",{value:!0}),t);var As=tl((ip,il)=>{il.exports={license:"MIT",repository:{type:"git",url:"https://github.com/cezaraugusto/extension.git",directory:"programs/develop"},engines:{node:">=18"},name:"extension-develop",version:"2.0.0-rc.9",description:"The develop step of Extension.js",main:"./dist/module.js",types:"./dist/module.d.ts",files:["dist"],author:{name:"Cezar Augusto",email:"boss@cezaraugusto.net",url:"https://cezaraugusto.com"},scripts:{clean:"rm -rf dist",watch:"tsup-node ./module.ts --format cjs --dts --target=node18 --watch",compile:"tsup-node ./module.ts --format cjs --dts --target=node18 --minify && bash install_scripts.sh",test:"jest --no-cache --testPathPattern='webpack/.*/__spec__/.*\\.spec\\.*'","test:coverage":"jest --no-cache --testPathPattern='webpack/.*/__spec__/.*\\.spec\\.ts' --coverage","test:build":"jest ./build.spec.ts --no-cache --detectOpenHandles --forceExit"},dependencies:{"@colors/colors":"^1.6.0","@rspack/core":"^1.2.8","@rspack/dev-server":"^1.1.0","@swc/helpers":"^0.5.15","@types/firefox-webext-browser":"^120.0.4","@vue/compiler-sfc":"^3.5.13","adm-zip":"^0.5.16",axios:"^1.7.9","case-sensitive-paths-webpack-plugin":"^2.4.0",chokidar:"^4.0.1","chrome-location":"^1.2.1","content-security-policy-parser":"^0.6.0","cross-spawn":"^7.0.6","csv-loader":"^3.0.5",dotenv:"^16.4.7","dotenv-webpack":"^8.1.0","edge-location":"^1.0.0","firefox-profile":"^4.7.0","fx-runner":"^1.4.0","go-git-it":"2.0.4",ignore:"^6.0.2","loader-utils":"^3.3.1",micromatch:"^4.0.8","package-manager-detector":"^0.2.7",parse5:"^7.2.1","parse5-utils":"^2.0.0",postcss:"^8.4.49",preact:"^10.22.0",progress:"^2.0.3","schema-utils":"^4.2.0",slugify:"^1.6.6","tiny-glob":"^0.2.9","vue-template-compiler":"^2.7.16","webextension-polyfill":"^0.12.0","webpack-merge":"^6.0.1","webpack-target-webextension":"^2.1.3",which:"^5.0.0",ws:"^8.18.0"},devDependencies:{"@types/adm-zip":"^0.5.7","@types/case-sensitive-paths-webpack-plugin":"^2.1.9","@types/chrome":"^0.0.287","@types/cross-spawn":"^6.0.6","@types/dotenv-webpack":"^7.0.8","@types/jest":"^29.5.14","@types/loader-utils":"^2.0.6","@types/node":"^22.10.1","@types/webextension-polyfill":"^0.12.1","@types/ws":"^8.5.13",jest:"^29.7.0","ts-jest":"^29.2.5",tsup:"^8.3.5",typescript:"5.7.2"},optionalDependencies:{"@prefresh/core":"^1.5.2","@prefresh/utils":"^1.2.0","@prefresh/webpack":"^4.0.1","@rspack/plugin-preact-refresh":"^1.1.2","@rspack/plugin-react-refresh":"^1.0.1","babel-loader":"^9.2.1","less-loader":"^12.2.0","postcss-loader":"^8.1.1","postcss-preset-env":"^10.1.1","react-refresh":"^0.14.2","sass-loader":"^16.0.4","svelte-loader":"^3.2.4","svelte-preprocess":"^6.0.3","vue-loader":"^17.4.2","vue-style-loader":"^4.1.3","vue-template-compiler":"^2.7.16"}}});var Yl={};sl(Yl,{extensionBuild:()=>Cs,extensionDev:()=>Jc,extensionPreview:()=>Ls,extensionStart:()=>Gc});module.exports=rl(Yl);var jc=a(require("fs")),Er=a(require("path")),Dc=require("@rspack/core"),Lc=require("webpack-merge");var Ke=a(require("path"));var Qr=a(require("case-sensitive-paths-webpack-plugin"));var Os=a(require("fs")),et=a(require("path")),ne=require("@rspack/core"),Is=a(require("dotenv")),tt=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){let s=et.default.dirname(this.manifestPath),r=e.options.mode||"development",n=[`.env.${this.browser}.${r}`,`.env.${this.browser}`,`.env.${r}`,".env.local",".env",".env.example"],i="";for(let m of n){let g=et.default.join(s,m);if(Os.default.existsSync(g)){i=g;break}}let o=i?Is.default.config({path:i}).parsed||{}:{},c=et.default.join(s,".env.defaults"),p={...Os.default.existsSync(c)?Is.default.config({path:c}).parsed||{}:{},...o,...process.env},u=Object.keys(p).filter(m=>m.startsWith("EXTENSION_PUBLIC_")).reduce((m,g)=>(m[`process.env.${g}`]=JSON.stringify(p[g]),m[`import.meta.env.${g}`]=JSON.stringify(p[g]),m),{});u["process.env.EXTENSION_PUBLIC_BROWSER"]=JSON.stringify(this.browser),u["import.meta.env.EXTENSION_PUBLIC_BROWSER"]=JSON.stringify(this.browser),u["process.env.EXTENSION_PUBLIC_MODE"]=JSON.stringify(r),u["import.meta.env.EXTENSION_PUBLIC_MODE"]=JSON.stringify(r),u["process.env.EXTENSION_BROWSER"]=JSON.stringify(this.browser),u["import.meta.env.EXTENSION_BROWSER"]=JSON.stringify(this.browser),u["process.env.EXTENSION_MODE"]=JSON.stringify(r),u["import.meta.env.EXTENSION_MODE"]=JSON.stringify(r),new ne.DefinePlugin(u).apply(e),e.hooks.thisCompilation.tap("manifest:update-manifest",m=>{m.hooks.processAssets.tap({name:"env:module",stage:ne.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},g=>{Object.keys(g).forEach(_=>{if(_.endsWith(".json")||_.endsWith(".html")){let S=m.assets[_].source().toString();S=S.replace(/\$EXTENSION_PUBLIC_[A-Z_]+/g,E=>{let A=E.slice(1);return p[A]||E}),S=S.replace(/\$EXTENSION_[A-Z_]+/g,E=>{let A=E.slice(1);return p[A]||E}),m.updateAsset(_,new ne.sources.RawSource(S))}})})})}};var Ms=a(require("fs")),Lr=a(require("path")),st=class{apply(e){let s=Lr.default.join(e.options.output.path||"");if(Ms.default.existsSync(s))try{Ms.default.rmSync(s,{recursive:!0,force:!0}),process.env.EXTENSION_ENV==="development"&&console.log("[CleanDistFolderPlugin] Removed old hot-update files before compilation.")}catch(r){console.error(`[CleanDistFolderPlugin] Failed to remove hot-update files: ${r.message}`)}}};var Rs=a(require("path")),f=require("@colors/colors/safe");var Or=a(require("path")),rt=Or.default.join(process.cwd(),"node_modules/extension-develop/dist/certs"),Z=["chrome","edge"],nl=["firefox"],rp=[...Z,...nl];var Ir=require("console");function F(t,e){return e==="error"?`${(0,f.bold)((0,f.red)("ERROR"))} in ${t} ${(0,f.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:e==="warn"?`${t} ${(0,f.brightYellow)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:`${e==="info"?(0,f.cyan)("\u25BA\u25BA\u25BA"):(0,f.brightGreen)("\u25BA\u25BA\u25BA")} ${(0,f.cyan)(t)}`}function Mr(t){return t.charAt(0).toUpperCase()+t.slice(1)}function Ar(t,e,s){if(!!1)return`${s.hasErrors()?(0,f.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E"):(0,f.brightGreen)("\u25BA\u25BA\u25BA")} ${(0,f.cyan)(t)} compiled ${s.hasErrors()?(0,f.red)("with errors"):(0,f.brightGreen)("successfully")} in ${e} ms.`}function Rr(t,e){return`${(0,Ir.info)("\u25BA\u25BA\u25BA")} Using ${(0,f.magenta)(t)}. Installing required dependencies via ${(0,f.brightYellow)(e)}...`}function v(t){return`${(0,f.cyan)("\u25BA\u25BA\u25BA")} Using ${(0,f.magenta)(t)}...`}function D(t){return`${F(t,"success")} installation completed. Run the program again and happy hacking.`}function Nr(t){return`${F(t,"info")} dependencies are being installed. This only happens for core contributors...`}function Tr(t){return`${F(t,"success")} dependencies installed ${(0,f.brightGreen)("successfully")}.`}function Ur(t,e){return`${F("Integration","error")} ${t} Installation Error
|
|
2
2
|
|
|
3
3
|
Failed to detect package manager or install ${t} dependencies:
|
|
4
4
|
${(0,f.red)(e?.toString()||"")}`}function nt(t,e){if(!t)throw new Error("This operation is impossible. Please report a bug.");switch(Rs.default.extname(e)){case".js":case".ts":case".jsx":case".tsx":return ol(t,e);case".css":case".scss":case".sass":case".less":return al(t,e);default:return cl(t,e)}}function ie(t,e,s){let r=e.startsWith("content_scripts")?"content_scripts":e.replace("/","."),n=e.split("-")[1],i=e.startsWith("pages"),o=t.includes("content_scripts")?`(index ${n})
|
|
@@ -71,7 +71,7 @@ Learn more about ${(0,f.bold)("mkcert")}: ${(0,f.underline)("https://github.com/
|
|
|
71
71
|
|
|
72
72
|
For MAIN world content_scripts, the extension ID must be specified.
|
|
73
73
|
Ensure your extension have a fixed ID and that the ${(0,f.brightYellow)("publicPath")}
|
|
74
|
-
of your ${(0,f.brightYellow)("extension.config.js")} is defined as your extension URL.`}var ot=class{static name="plugin-compilation";manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){new Qr.default().apply(e),new tt({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new st().apply(e),e.hooks.done.tapAsync("develop:brand",(s,r)=>{s.compilation.name=void 0;let n=s.compilation.endTime-s.compilation.startTime,i=require(this.manifestPath).name;console.log(Ar(i,n,s)),r()})}};var _n=a(require("path"));var an=a(require("path")),cn=a(require("fs"));var oe=a(require("path")),at=a(require("fs")),Ts=require("child_process"),tn=require("package-manager-detector");function sn(t,e){return Object.values(e||{}).some(s=>s===t)}function h(t,e,s){let r=oe.default.extname(e),i=$(e,s)?oe.default.normalize(e):t;return[".js",".jsx",".tsx",".ts"].includes(r)&&(i=i.replace(r,".js")),[".html",".njk",".nunjucks"].includes(r)&&(i=i.replace(r,".html")),[".css",".scss",".sass",".less"].includes(r)&&(i=i.replace(r,".css")),Us(i||"")}function Us(t){return t.replace(/\\/g,"/")}function $(t,e={}){if(!e)return!1;let s=oe.default.normalize(Us(t));return Object.values(e).some(n=>typeof n!="string"?!1:Us(n).includes(s))}function W(t,e){if(t.getAsset("manifest.json")||t.assets["manifest.json"]){let s=t.assets["manifest.json"].source().toString();return JSON.parse(s||"{}")}return require(e)}function ae(){return process.env.npm_config_user_agent&&process.env.npm_config_user_agent.includes("pnpm")?"pnpm":!1}function en(){return process.env.npm_execpath?"npm":!1}async function j(t,e){try{let s=await(0,tn.detect)();console.log(Rr(t,s?.name||"unknown"));let r="";s?.name==="yarn"?r=`yarn --silent add ${e.join(" ")} --cwd ${__dirname} --optional`:s?.name==="npm"||en()?r=`npm --silent install ${e.join(" ")} --prefix ${__dirname} --save-optional`:ae()?r=`pnpm --silent add ${e.join(" ")} --prefix ${__dirname} --save-optional`:r=`${s} --silent install ${e.join(" ")} --cwd ${__dirname} --optional`,(0,Ts.execSync)(r,{stdio:"inherit"}),await new Promise(n=>setTimeout(n,2e3)),process.env.EXTENSION_ENV==="development"&&(console.log(Nr(t)),s?.name==="yarn"?r="yarn install --silent > /dev/null 2>&1":s?.name==="npm"||en()?r="npm install --silent > /dev/null 2>&1":ae()?r="pnpm install --silent > /dev/null 2>&1":r=`${s} install --silent > /dev/null 2>&1`,(0,Ts.execSync)(r,{stdio:"inherit"})),console.log(Tr(t))}catch(s){console.error(Ur(t,s))}}function ct(t){let e=oe.default.join(t,"package.json");if(!at.default.existsSync(e))return!1;let s=JSON.parse(at.default.readFileSync(e,"utf-8")),r=["react","vue","@angular/core","svelte","solid-js","preact"],n=s.dependencies||{},i=s.devDependencies||{};for(let o of r)if(n[o]||i[o])return!0;return!1}function rn(t){return!at.default.existsSync(oe.default.resolve(__dirname,`run-${t}-profile`))}function nn(t){let e=t.name?.replace(/ /g,"-").toLowerCase();return{data:{id:`${e}@extension-js`,manifest:t,management:{id:`${e}@extension-js`,mayDisable:!0,optionsUrl:"",installType:"development",type:"extension",enabled:!0,name:t.name||"",description:t.description||"",version:t.version||"",hostPermissions:t.host_permissions||[],permissions:t.permissions||[],offlineEnabled:t.offline_enabled||!1,shortName:t.short_name||"",isApp:t.app&&t.app.background&&t.app.background.scripts}}}}function P(t,e){return JSON.parse(JSON.stringify(t),function(n,i){let o=n.indexOf(":");if(o===-1)return i;let c=n.substring(0,o);(c===e||c==="chromium"&&Z.includes(e)||c==="chromium"&&e.includes("chromium")||c==="gecko"&&e.includes("gecko"))&&(this[n.substring(o+1)]=i)})}var on=!1;function Pe(t){let e=an.default.join(t,"package.json");if(!cn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.sass,n=s.dependencies&&s.dependencies.sass;return r||n?(on||(process.env.EXTENSION_ENV==="development"&&console.log(v("SASS")),on=!0),!0):!1}async function ln(t){if(!Pe(t))return[];try{require.resolve("sass-loader")}catch{await j("PostCSS",["postcss-loader","postcss-scss","postcss-preset-env"]),await j("SASS",["sass","sass-loader"]),console.log(D("SASS")),process.exit(0)}return[{test:/\.(sass|scss)$/,exclude:/\.module\.(sass|scss)$/,type:"css",use:[{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:{outputStyle:"expanded"}}}]},{test:/\.module\.(sass|scss)$/,type:"css/module",use:[{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:{outputStyle:"expanded"}}}]}]}var fn=a(require("path")),un=a(require("fs"));var pn=!1;function Ee(t){let e=fn.default.join(t,"package.json");if(!un.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.less,n=s.dependencies&&s.dependencies.less;return r||n?(pn||(process.env.EXTENSION_ENV==="development"&&console.log(v("LESS")),pn=!0),!0):!1}async function mn(t){if(!Ee(t))return[];try{require.resolve("less-loader")}catch{await j("LESS",["less","less-loader"]),console.log(D("LESS")),process.exit(0)}return[{test:/\.less$/,exclude:/\.module\.less$/,type:"css",use:[{loader:require.resolve("less-loader"),options:{sourceMap:!0}}]},{test:/\.module\.less$/,type:"css/module",use:[{loader:require.resolve("less-loader"),options:{sourceMap:!0}}]}]}var R=a(require("path")),N=a(require("fs"));function ll(t){let e=R.default.join(t,"stylelint.config.json"),s=R.default.join(t,".stylelintrc.js file"),r=R.default.join(t,"stylelint.config.mjs"),n=R.default.join(t,".stylelintrc.mjs"),i=R.default.join(t,"stylelint.config.cjs"),o=R.default.join(t,".stylelintrc.cjs"),c=R.default.join(t,".stylelintrc.json"),l=R.default.join(t,".stylelintrc"),p=R.default.join(t,".stylelintrc.yml"),u=R.default.join(t,".stylelintrc.yaml");if(N.default.existsSync(e))return e;if(N.default.existsSync(s))return s;if(N.default.existsSync(r))return r;if(N.default.existsSync(n))return n;if(N.default.existsSync(i))return i;if(N.default.existsSync(o))return o;if(N.default.existsSync(c))return c;if(N.default.existsSync(l))return l;if(N.default.existsSync(p))return p;if(N.default.existsSync(u))return u}var dn=!1;function pl(t){let e=R.default.join(t,"package.json");if(!N.default.existsSync(e))return!1;let r=!!ll(t);return r&&(dn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Stylelint")),dn=!0)),r}async function gn(t){return pl(t),[]}var xn=a(require("path"));var ke=a(require("path")),$e=a(require("fs"));var hn=!1;function lt(t){let e=ke.default.join(t,"package.json");if(!$e.default.existsSync(e))return!1;let s=fl(t),r=require(e),n=r.devDependencies&&r.devDependencies.tailwindcss,i=r.dependencies&&r.dependencies.tailwindcss,o=!!s&&!!(n||i);return o&&(hn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Tailwind")),hn=!0)),o}function fl(t){let e=ke.default.join(t,"tailwind.config.mjs"),s=ke.default.join(t,"tailwind.config.cjs"),r=ke.default.join(t,"tailwind.config.js");if($e.default.existsSync(e))return e;if($e.default.existsSync(s))return s;if($e.default.existsSync(r))return r}var ft=a(require("path")),pt=a(require("fs"));var ce=!1;function ul(t){let e=ft.default.join(t,"package.json");if(!pt.default.existsSync(e))return!1;let s=[".postcssrc",".postcssrc.json",".postcssrc.yaml",".postcssrc.yml",".postcssrc.js",".postcssrc.cjs","postcss.config.js","postcss.config.cjs"];if(pt.default.existsSync(e)){let r=require(e);if(r.dependencies&&r.dependencies.postcss||r.devDependencies&&r.devDependencies.postcss)return ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0}for(let r of s)if(pt.default.existsSync(ft.default.join(t,r)))return ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0;return lt(t)?(ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0):!1}async function yn(t,e){if(!ul(t))return{};try{require.resolve("postcss-loader")}catch{!Pe(t)&&!Ee(t)&&await j("PostCSS",["postcss","postcss-loader","postcss-preset-env"]),console.log(D("PostCSS")),process.exit(0)}return{loader:require.resolve("postcss-loader"),options:{postcssOptions:{ident:"postcss",config:ft.default.resolve(t,"postcss.config.js"),plugins:[[require.resolve("postcss-preset-env"),{autoprefixer:{flexbox:"no-2009"},stage:3}]].filter(Boolean)},sourceMap:e.mode==="development"}}}async function ut(t,e){let s=[];if(lt(t)||Pe(t)||Ee(t)){let r=await yn(t,e);r.loader&&s.push(r)}return e.loader&&s.push({loader:e.loader.startsWith("builtin:")?e.loader:require.resolve(e.loader),options:{...e.loaderOptions,sourceMap:e.mode==="development"}}),s.filter(Boolean)}var Bs=a(require("path")),bn=a(require("fs"));function mt(t,e){if(!t||!e)return!1;let s=JSON.parse(bn.default.readFileSync(e,"utf8"));for(let r of s.content_scripts||[])if(r.js?.length){for(let n of r.js)if(Bs.default.resolve(Bs.default.dirname(e),n)===t)return!0}return!1}async function wn(t,e){let s=xn.default.join(t,"manifest.json");return[{test:/\.css$/,type:"asset",generator:{filename:"content_scripts/[name].[contenthash:8].css"},issuer:r=>mt(r,s),use:await ut(t,{mode:e})}]}var vn=a(require("path"));async function Sn(t,e){let s=vn.default.join(t,"manifest.json");return[{test:/\.css$/,type:"css",issuer:r=>!mt(r,s),use:await ut(t,{mode:e})}]}var dt=class t{static name="plugin-css";manifestPath;constructor(e){this.manifestPath=e.manifestPath}async configureOptions(e){let s=e.options.mode||"development",r=_n.default.dirname(this.manifestPath),n=[],i=await gn(r);n.push(...i);let o=[...await wn(r,s),...await Sn(r,s)],c=await ln(r),l=await mn(r);c.length&&o.push(...c),l.length&&o.push(...l),e.options.plugins=[...e.options.plugins,...n].filter(Boolean),e.options.module.rules=[...e.options.module.rules,...o].filter(Boolean)}async apply(e){if((e.options.mode||"development")==="production"){e.hooks.beforeRun.tapPromise(t.name,async()=>await this.configureOptions(e));return}await this.configureOptions(e)}};var gt=class{static name="plugin-static-assets";manifestPath;mode;constructor(e){this.manifestPath=e.manifestPath,this.mode=e.mode}async apply(e){let s={test:/\.svg$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2048}}},n=[...e.options.module.rules.some(i=>i&&i.test instanceof RegExp&&i.test.test(".svg")&&i.use!==void 0)?[]:[s],{test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp)$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2*1024}}},{test:/\.(woff|woff2|eot|ttf|otf)$/i,type:"asset",generator:{filename:"assets/[name][ext]"}},{test:/\.(txt|md|csv|tsv|xml|pdf|docx|doc|xls|xlsx|ppt|pptx|zip|gz|gzip|tgz)$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2*1024}}},{test:/\.(csv|tsv)$/i,use:[require.resolve("csv-loader")],generator:{filename:"assets/[name][ext]"}}];e.options.module.rules=[...e.options.module.rules,...n].filter(i=>!!i)}};var Ce=a(require("path"));var qs=a(require("path")),Ws=a(require("fs"));var Pn=!1,ml=[".babelrc",".babelrc.json",".babelrc.js",".babelrc.cjs","babel.config.json","babel.config.js","babel.config.cjs"];function dl(t){let e=qs.default.join(t,"package.json");if(!Ws.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies["babel-core"],n=s.dependencies&&s.dependencies["babel-core"],i=ml.some(o=>Ws.default.existsSync(qs.default.join(t,o)))||!!r||!!n;return i&&(Pn||(process.env.EXTENSION_ENV==="development"&&process.env.EXTENSION_ENV==="development"&&console.log(v("Babel")),Pn=!0)),i}async function En(t,e){dl(e)}var $n=a(require("path")),Fn=a(require("fs"));var kn=!1;function Fe(t){let e=$n.default.join(t,"package.json");if(!Fn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.preact,n=s.dependencies&&s.dependencies.preact;return(r||n)&&(kn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Preact")),kn=!0)),!!r||!!n}async function Cn(t){if(!Fe(t))return;try{require.resolve("@rspack/plugin-preact-refresh")}catch{await j("Preact",["@prefresh/core","@prefresh/utils","@rspack/plugin-preact-refresh","preact"]),console.log(D("Preact")),process.exit(0)}return{plugins:[new(require("@rspack/plugin-preact-refresh"))],loaders:void 0,alias:{react:"preact/compat","react-dom/test-utils":"preact/test-utils","react-dom":"preact/compat","react/jsx-runtime":"preact/jsx-runtime"}}}var Dn=a(require("path")),Ln=a(require("fs"));var jn=!1;function ht(t){let e=Dn.default.join(t,"package.json");if(!Ln.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.react,n=s.dependencies&&s.dependencies.react;return(r||n)&&(jn||(process.env.EXTENSION_ENV==="development"&&console.log(v("React")),jn=!0)),!!r||!!n}async function On(t){if(!ht(t))return;try{require.resolve("react-refresh")}catch{await j("React",["react-refresh","@rspack/plugin-react-refresh"]),console.log(D("React")),process.exit(0)}return{plugins:[new(require("@rspack/plugin-react-refresh"))({overlay:!1})],loaders:void 0,alias:void 0}}var Mn=a(require("path")),An=a(require("fs")),Rn=require("vue-loader");var In=!1;function gl(t){let e=Mn.default.join(t,"package.json");if(!An.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.vue,n=s.dependencies&&s.dependencies.vue;return(r||n)&&(In||(process.env.EXTENSION_ENV==="development"&&console.log(v("Vue")),In=!0)),!!r||!!n}async function Nn(t){if(!gl(t))return;try{require.resolve("vue-loader")}catch{await j("Vue",["vue-loader","vue-template-compiler","@vue/compiler-sfc"]),console.log(D("Vue")),process.exit(0)}let e=[{test:/\.vue$/,loader:require.resolve("vue-loader"),options:{experimentalInlineMatchResource:!0},include:t,exclude:/node_modules/}];return{plugins:[new Rn.VueLoaderPlugin],loaders:e,alias:void 0}}var yt=a(require("path")),bt=a(require("fs"));var Tn=!1;function K(t){let e=yt.default.join(t,"package.json");if(!bt.default.existsSync(e))return!1;let s=yl(t),r=require(e),n=r.devDependencies&&r.devDependencies.typescript,i=r.dependencies&&r.dependencies.typescript;return Tn||((n||i)&&(s?process.env.EXTENSION_ENV==="development"&&console.log(v("TypeScript")):(console.log(zr()),bl(t))),Tn=!0),!!s&&!!(n||i)}function hl(t,e){return{compilerOptions:{allowJs:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,jsx:ct(t)?"react-jsx":"preserve",lib:["dom","dom.iterable","esnext"],moduleResolution:"node",module:"esnext",resolveJsonModule:!0,strict:!0,target:"esnext",isolatedModules:!1,skipLibCheck:!0},exclude:["node_modules","dist"]}}function yl(t){let e=yt.default.join(t,"tsconfig.json");if(bt.default.existsSync(e))return e}function bl(t){bt.default.writeFileSync(yt.default.join(t,"tsconfig.json"),JSON.stringify(hl(t,{mode:"development"}),null,2))}var Bn=a(require("path")),qn=a(require("fs")),Wn=require("svelte-preprocess");var Un=!1;function xl(t){let e=Bn.default.join(t,"package.json");if(!qn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies?.svelte,n=s.dependencies&&s.dependencies.svelte;return(r||n)&&(Un||(process.env.EXTENSION_ENV==="development"&&console.log(v("Svelte")),Un=!0)),!!r||!!n}async function Jn(t,e){if(!xl(t))return;try{require.resolve("svelte-loader")}catch{await j("TypeScript",["typescript"]),await j("Svelte",["svelte-loader","svelte-preprocess"]),console.log(D("Svelte")),process.exit(0)}return{plugins:void 0,loaders:[{test:/\.svelte\.ts$/,use:[require.resolve("svelte-loader")],include:t,exclude:/node_modules/},{test:/\.(svelte|svelte\.js)$/,use:{loader:require.resolve("svelte-loader"),options:{preprocess:(0,Wn.sveltePreprocess)({typescript:!0}),emitCss:!0,compilerOptions:{dev:e==="development",css:"injected"},hotReload:e==="development"}},include:t,exclude:/node_modules/},{test:/node_modules\/svelte\/.*\.mjs$/,resolve:{fullySpecified:!1}}],alias:void 0}}var xt=class t{static name="plugin-js-frameworks";manifestPath;mode;constructor(e){this.manifestPath=e.manifestPath,this.mode=e.mode}async configureOptions(e){let s=e.options.mode||"development",r=Ce.default.dirname(this.manifestPath),n=await En(e,r),i=await On(r),o=await Cn(r),c=await Nn(r),l=await Jn(r,s);e.options.resolve.alias={...n?.alias||{},...i?.alias||{},...o?.alias||{},...c?.alias||{},...l?.alias||{},...e.options.resolve.alias},e.options.module.rules=[{test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Ce.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:{loader:"builtin:swc-loader",options:{sync:!0,module:{type:"es6"},minify:s==="production",isModule:!0,sourceMap:this.mode==="development",env:{targets:["chrome >= 100"]},jsc:{parser:{syntax:K(r)?"typescript":"ecmascript",tsx:K(r)&&(ht(r)||Fe(r)),jsx:!K(r)&&(ht(r)||Fe(r)),dynamicImport:!0},transform:{react:{development:s==="development",refresh:s==="development",runtime:"automatic",importSource:"react",...Fe(r)?{pragma:"h",pragmaFrag:"Fragment",throwIfNamespace:!0,useBuiltins:!1}:{}}}}}}},...n?.loaders||[],...i?.loaders||[],...o?.loaders||[],...c?.loaders||[],...l?.loaders||[],...e.options.module.rules].filter(Boolean),i?.plugins?.forEach(p=>p.apply(e)),o?.plugins?.forEach(p=>p.apply(e)),c?.plugins?.forEach(p=>p.apply(e)),l?.plugins?.forEach(p=>p.apply(e)),K(r)&&(e.options.resolve.tsConfig={configFile:Ce.default.resolve(Ce.default.dirname(this.manifestPath),"tsconfig.json")})}async apply(e){if((e.options.mode||"development")==="production"){e.hooks.beforeRun.tapPromise(t.name,async()=>await this.configureOptions(e));return}await this.configureOptions(e)}};var ji=a(require("path"));var zn=a(require("path"));function Hn(t,e){if(!e||!e.action||!e.action.default_popup)return;let s=e.action.default_popup;return zn.default.join(t,s)}var Vn=a(require("path"));function Xn(t,e){if(!e||!e.browser_action||!e.browser_action.default_popup)return;let s=e.browser_action.default_popup;return Vn.default.join(t,s)}var wt=a(require("path"));function Gn(t,e){let s={newtab:void 0};if(!e||!e.chrome_url_overrides)return{"chrome_url_overrides/newtab":void 0};if(e.chrome_url_overrides.history){let r=e.chrome_url_overrides.history;s={"chrome_url_overrides/history":wt.default.join(t,r)}}if(e.chrome_url_overrides.newtab){let r=e.chrome_url_overrides.newtab;s={"chrome_url_overrides/newtab":wt.default.join(t,r)}}if(e.chrome_url_overrides.bookmarks){let r=e.chrome_url_overrides.bookmarks;s={"chrome_url_overrides/bookmarks":wt.default.join(t,r)}}return s}var Zn=a(require("path"));function Kn(t,e){if(!e||!e.devtools_page)return;let s=e.devtools_page;return Zn.default.join(t,s)}var Js=a(require("path"));function Yn(t,e){if(e.options_page){let r=e.options_page;return Js.default.join(t,r)}if(!e||!e.options_ui||!e.options_ui.page)return;let s=e.options_ui.page;return Js.default.join(t,s)}var Qn=a(require("path"));function ei(t,e){if(!e||!e.page_action||!e.page_action.default_popup)return;let s=e.page_action.default_popup;return Qn.default.join(t,s)}var ti=a(require("path"));function si(t,e){if(!e||!e.sandbox||!e.sandbox.pages)return{"sandbox/page-0":void 0};let s=e.sandbox.pages,r={};for(let[n,i]of s.entries())r[`sandbox/page-${n}`]=ti.default.join(t,i);return r}var ri=a(require("path"));function ni(t,e){if(!e||!e.side_panel||!e.side_panel.default_path)return;let s=e.side_panel.default_path;return ri.default.join(t,s)}var ii=a(require("path"));function oi(t,e){if(!e||!e.sidebar_action||!e.sidebar_action.default_panel)return;let s=e.sidebar_action.default_panel;return ii.default.join(t,s)}function je(t,e){return{"action/default_popup":Hn(t,e),"browser_action/default_popup":Xn(t,e),...Gn(t,e),devtools_page:Kn(t,e),"options_ui/page":Yn(t,e),"page_action/default_popup":ei(t,e),...si(t,e),"side_panel/default_path":ni(t,e),"sidebar_action/default_panel":oi(t,e)}}var zs=a(require("path"));function ai(t,e){if(!e||!e.action||!e.action.default_icon)return;if(typeof e.action.default_icon=="string")return zs.default.join(t,e.action.default_icon);let s=[];for(let r in e.action.default_icon)s.push(zs.default.join(t,e.action.default_icon[r]));return s}var Hs=a(require("path"));function ci(t,e){if(!e||!e.browser_action||!e.browser_action.default_icon)return;let s=[];if(typeof e.browser_action.default_icon=="string")return Hs.default.join(t,e.browser_action.default_icon);for(let r in e.browser_action.default_icon){let n=e.browser_action.default_icon[r]=Hs.default.join(t,e.browser_action.default_icon[r]);s.push(n)}return s}var Vs=a(require("path"));function li(t,e){if(!(!e||!e.browser_action||!e.browser_action.theme_icons)){for(let s of e.browser_action.theme_icons)s.light&&(s.light=Vs.default.join(t,s.light)),s.dark&&(s.dark=Vs.default.join(t,s.dark)),s.size&&delete s.size;return e.browser_action.theme_icons}}var pi=a(require("path"));function fi(t,e){if(!e||!e.icons)return;let s=[];for(let r in e.icons){let n=pi.default.join(t,e.icons[r]);s.push(n)}return s}var Xs=a(require("path"));function ui(t,e){if(!e||!e.page_action||!e.page_action.default_icon)return;if(typeof e.page_action.default_icon=="string")return Xs.default.join(t,e.page_action.default_icon);let s=[];for(let r in e.page_action.default_icon){let n=Xs.default.join(t,e.page_action.default_icon[r]);s.push(n)}return s}var mi=a(require("path"));function di(t,e){return!e||!e.sidebar_action||!e.sidebar_action.default_icon?void 0:mi.default.join(t,e.sidebar_action.default_icon)}function gi(t,e){return{action:ai(t,e),browser_action:ci(t,e),"browser_action/theme_icons":li(t,e),icons:fi(t,e),page_action:ui(t,e),sidebar_action:di(t,e)}}var hi=a(require("path"));function yi(t,e){let s={};return!e||!e.declarative_net_request||!e.declarative_net_request.rule_resources?{"declarative_net_request/rule_resources-0":void 0}:(e.declarative_net_request.rule_resources.forEach(n=>{s[`declarative_net_request/${n.id}`]=hi.default.join(t,n.path)}),s)}var bi=a(require("path"));function xi(t,e){if(!e||!e.storage||!e.storage.managed_schema)return;let s=e.storage.managed_schema;return bi.default.join(t,s)}function wi(t,e){return{...yi(t,e),"storage/managed_schema":xi(t,e)}}var De=a(require("path")),Le=a(require("fs"));function vi(t,e){let s=De.default.join(De.default.dirname(e),"_locales"),r=[];if(Le.default.existsSync(s))for(let n of Le.default.readdirSync(s)){let i=De.default.join(s,n);if(i&&Le.default.statSync(i).isDirectory())for(let o of Le.default.readdirSync(i))r.push(De.default.join(t,"_locales",n,o))}return r}var Si=a(require("path"));function _i(t,e){if(!e||!e.background)return;let s=e.background.scripts;if(s)return s.map(r=>Si.default.join(t,r))}var Pi=a(require("path"));function Ei(t,e){if(!e||!e.background)return;let s=e.background.service_worker;if(s)return Pi.default.join(t,s)}var Gs=a(require("path"));function ki(t,e){if(!e||!e.content_scripts)return{"content_scripts/content-0":void 0};let s=i=>{if(i.js?.length!==0)return i.js?.map(o=>Gs.default.join(t,o))},r=i=>{if(i.css?.length!==0)return i.css?.map(o=>Gs.default.join(t,o))},n={};for(let[i,o]of e.content_scripts.entries()){let c=s(o),l=r(o);n[`content_scripts/content-${i}`]=[...(c||[]).filter(p=>p!=null),...(l||[]).filter(p=>p!=null)]}return n}var $i=a(require("path"));function Fi(t,e){if(!e||!e.user_scripts||!e.user_scripts.api_script)return;let s=e.user_scripts.api_script;return $i.default.join(t,s)}function Oe(t,e){return{"background/scripts":_i(t,e),"background/service_worker":Ei(t,e),...ki(t,e),"user_scripts/api_script":Fi(t,e)}}function Ci(t){if(!(!t||!t.web_accessible_resources||!t.web_accessible_resources.length))return t.web_accessible_resources}function le({manifestPath:t,browser:e}){let s=ji.default.dirname(t),r=require(t),n=P(r,e||"chrome");return{html:je(s,n),icons:gi(s,n),json:wi(s,n),locales:vi(s,t),scripts:Oe(s,n),web_accessible_resources:Ci(n)}}var pe=a(require("path"));var vt=a(require("fs")),Ie=a(require("path"));function St(t,e){if(!vt.default.existsSync(t)||!vt.default.statSync(t).isDirectory())return[];let s=[];function r(n){let i=vt.default.readdirSync(n,{withFileTypes:!0});for(let o of i){let c=Ie.default.join(n,o.name);o.isDirectory()?r(c):o.isFile()&&e(o.name)&&s.push(c)}}return r(t),s}function _t(t,e,s=""){return!e||!e.length?{}:e.reduce((r,n)=>{let i=Ie.default.extname(n),o=Ie.default.basename(n,i),c=s?`${s}/${o}`:Ie.default.relative(t,n);return{...r,[c]:n}},{})}function Di({manifestPath:t}){let e=pe.default.dirname(t),s={public:pe.default.join(e,"public"),pages:pe.default.join(e,"pages"),scripts:pe.default.join(e,"scripts")},r={public:St(s.public,()=>!0),pages:St(s.pages,i=>i.endsWith(".html")),scripts:St(s.scripts,i=>[".js",".mjs",".jsx",".mjsx",".ts",".mts",".tsx",".mtsx"].includes(pe.default.extname(i)))};return{public:_t(e,r.public),pages:_t(e,r.pages,"pages"),scripts:_t(e,r.scripts,"scripts")}}var Li=a(require("fs")),fe=a(require("@rspack/core"));var Pt=class{manifestPath;constructor(e){this.manifestPath=e.manifestPath}apply(e){e.hooks.thisCompilation.tap("manifest:emit-manifest",s=>{s.hooks.processAssets.tap({name:"manifest:emit-manifest",stage:fe.Compilation.PROCESS_ASSETS_STAGE_PRE_PROCESS},()=>{let r=this.manifestPath,n;try{let c=Li.default.readFileSync(r,"utf-8");n=JSON.parse(c),"$schema"in n&&delete n.$schema}catch(c){s.errors.push(new fe.default.WebpackError(qr(c)));return}let i=JSON.stringify(n,null,2);s.emitAsset("manifest.json",new fe.sources.RawSource(i))})})}};var Me=require("@rspack/core");function Oi(t,e){return t.background&&t.background.scripts&&{background:{...t.background,...t.background.scripts&&{scripts:[...t.background.scripts.map(s=>h("background/scripts.js",s,e))]}}}}var Ii=a(require("path"));var Et=t=>Ii.default.basename(t);function Mi(t,e){return t.browser_action&&{browser_action:{...t.browser_action,...t.browser_action.default_popup&&{default_popup:h("browser_action/default_popup.html",t.browser_action.default_popup,e)},...t.browser_action.default_icon&&{default_icon:typeof t.browser_action.default_icon=="string"?h(`icons/${Et(t.browser_action.default_icon)}`,t.browser_action.default_icon,e):Object.fromEntries(Object.entries(t.browser_action.default_icon).map(([s,r])=>[s,h(`icons/${Et(r)}`,r,e)]))},...t.browser_action.theme_icons&&{theme_icons:t.browser_action.theme_icons.map(s=>({...s,...s.light&&{light:h(`browser_action/${Et(s.light)}`,s.light,e)},...s.dark&&{dark:h(`browser_action/${Et(s.dark)}`,s.dark,e)}}))}}}}function Ai(t,e){return t.declarative_net_request&&{declarative_net_request:{...t.declarative_net_request,rule_resources:t.declarative_net_request.rule_resources.map(s=>({...s,path:s.path&&h(`declarative_net_request/${s.id}.json`,s.path,e)}))}}}function Ri(t,e){return{...Oi(t,e),...Mi(t,e),...Ai(t,e)}}var Ti=a(require("path"));var Ni=t=>Ti.default.basename(t);function Ui(t,e){return t.action&&{action:{...t.action,...t.action.default_popup&&{default_popup:h("action/default_popup.html",t.action.default_popup,e)},...t.action.default_icon&&{default_icon:typeof t.action.default_icon=="string"?h(`action/${Ni(t.action.default_icon)}`,t.action.default_icon,e):Object.fromEntries(Object.entries(t.action.default_icon).map(([s,r])=>[s,h(`action/${Ni(r)}`,r,e)]))}}}}function Bi(t,e){return t.background&&t.background.service_worker&&{background:{...t.background,...t.background.service_worker&&{service_worker:h("background/service_worker.js",t.background.service_worker,e)}}}}function kt(t,e){return t.side_panel&&{side_panel:{...t.side_panel.default_path&&{default_path:h("side_panel/default_path.html",t.side_panel.default_path,e)}}}}function qi(t,e){return{...Ui(t,e),...Bi(t,e),...kt(t,e)}}function Wi(t,e){return t.background&&t.background.page&&{background:{...t.background,...t.background.page&&{page:h("background/page.html",t.background.page,e)}}}}function Ji(t,e){return t.chrome_url_overrides&&{chrome_url_overrides:{...t.chrome_url_overrides.bookmarks&&{bookmarks:h("chrome_url_overrides/bookmarks.html",t.chrome_url_overrides.bookmarks,e)},...t.chrome_url_overrides.history&&{history:h("chrome_url_overrides/history.html",t.chrome_url_overrides.history,e)},...t.chrome_url_overrides.newtab&&{newtab:h("chrome_url_overrides/newtab.html",t.chrome_url_overrides.newtab,e)}}}}function zi(t,e){return t.content_scripts&&{content_scripts:t.content_scripts.map((s,r)=>{let n=[...new Set(s.js)],i=[...new Set(s.css)];return{...s,js:[...n.map(o=>h(`content_scripts/content-${r}.js`,o,e))],css:[...i.map(o=>h(`content_scripts/content-${r}.css`,o,e))]}})}}function Hi(t,e){return t.devtools_page&&{devtools_page:h("devtools_page.html",t.devtools_page,e)}}var Vi=a(require("path"));var wl=t=>Vi.default.basename(t);function Xi(t,e){return t.icons&&{icons:Object.fromEntries(Object.entries(t.icons).map(([s,r])=>[s,h(`icons/${wl(r)}`,r,e)]))}}function Gi(t,e){return t.options_page&&{options_page:h("options_ui/page.html",t.options_page,e)}}function Zi(t,e){return t.options_ui&&{options_ui:{...t.options_ui,...t.options_ui.page&&{page:h("options_ui/page.html",t.options_ui.page,e)}}}}var Yi=a(require("path"));var Ki=t=>Yi.default.basename(t);function Qi(t,e){return t.page_action&&{page_action:{...t.page_action,...t.page_action.default_popup&&{default_popup:h("page_action/default_popup.html",t.page_action.default_popup,e)},...t.page_action.default_icon&&{default_icon:typeof t.page_action.default_icon=="string"?h(`icons/${Ki(t.page_action.default_icon)}`,t.page_action.default_icon,e):Object.fromEntries(Object.entries(t.page_action.default_icon).map(([s,r])=>[s,h(`icons/${Ki(r)}`,r,e)]))}}}}function eo(t,e){return t.sandbox&&{sandbox:{...t.sandbox,...t.sandbox.pages&&{pages:t.sandbox.pages.map((s,r)=>h(`sandbox/page-${r}.html`,s,e))}}}}var to=a(require("path"));var vl=t=>to.default.basename(t);function so(t,e){return t.sidebar_action&&{sidebar_action:{...t.sidebar_action,...t.sidebar_action.default_panel&&{default_panel:h("sidebar_action/default_panel.html",t.sidebar_action.default_panel,e)},...t.sidebar_action.default_icon&&{default_icon:h(`icons/${vl(t.sidebar_action.default_icon)}`,t.sidebar_action.default_icon,e)}}}}function ro(t,e){return t.storage&&{storage:{...t.storage.managed_schema&&{managed_schema:h("storage/managed_schema.json",t.storage.managed_schema,e)}}}}var no=a(require("path"));var Sl=t=>no.default.basename(t);function io(t,e){return t.theme&&{theme:{...t.theme,...t.theme.images&&{images:{...t.theme.images,theme_frame:h(`theme/images/${Sl(t.theme.images.theme_frame)}`,t.theme.images.theme_frame,e)}}}}}function oo(t,e){return t.user_scripts&&{user_scripts:{...t.user_scripts,...t.user_scripts.api_script&&{api_script:h("user_scripts/api_script.js",t.user_scripts.api_script,e)}}}}function ao(t){return t.web_accessible_resources&&t.web_accessible_resources.length&&{web_accessible_resources:t.web_accessible_resources}}function co(t,e){return{...Wi(t,e),...Ji(t,e),...zi(t,e),...Hi(t,e),...Xi(t,e),...Gi(t,e),...Zi(t,e),...Qi(t,e),...eo(t,e),...kt(t,e),...so(t,e),...ro(t,e),...io(t,e),...oo(t,e),...ao(t)}}function Zs(t,e,s){let r=e||require(t);return JSON.stringify({...r,...co(r,s),...Ri(r,s),...qi(r,s)},null,2)}var $t=class{manifestPath;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.excludeList=e.excludeList}applyDevOverrides(e){return e.content_scripts?e.content_scripts.map((s,r)=>(s.css.length&&!s.js.length&&(s.js=[h(`content_scripts-${r}`,"dev.js",{})]),s)):{}}apply(e){e.hooks.thisCompilation.tap("manifest:update-manifest",s=>{s.hooks.processAssets.tap({name:"manifest:update-manifest",stage:Me.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},()=>{if(s.errors.length>0)return;let r=W(s,this.manifestPath),n=Zs(this.manifestPath,r,this.excludeList||{}),i={...r,...JSON.parse(n)};e.options.mode==="development"&&i.content_scripts&&(i.content_scripts=this.applyDevOverrides(i));let o=JSON.stringify(i,null,2),c=new Me.sources.RawSource(o);s.updateAsset("manifest.json",c)}),e.options.mode==="production"&&s.hooks.processAssets.tap("manifest:update-manifest",()=>{if(s.errors.length>0)return;let r=W(s,this.manifestPath),n=Zs(this.manifestPath,r,this.excludeList||{}),i={...r,...JSON.parse(n)},o=JSON.stringify(i,null,2),c=new Me.sources.RawSource(o);s.updateAsset("manifest.json",c)})})}};var lo=a(require("fs")),Ft=class{dependencyList;constructor(e){this.dependencyList=e}apply(e){e.hooks.afterCompile.tap("manifest:add-dependency",s=>{if(s.errors?.length)return;let r=new Set(s.fileDependencies);this.dependencyList&&this.dependencyList.forEach(n=>{lo.default.existsSync(n)&&(r.has(n)||(r.add(n),s.fileDependencies.add(n)))})})}};var po=a(require("fs")),fo=a(require("path")),jt=a(require("@rspack/core"));var Ct=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}extractPaths(e){let s=Array.isArray(e)?e:[e];if(typeof s[0]=="string")return s;let r=[];if(typeof e=="object"&&!Array.isArray(e)){let n=e;n.light&&r.push(n.light),n.dark&&r.push(n.dark)}return r}handleErrors(e,s){let r=[".png",".jpg",".jpeg",".svg",".gif",".webp"],n=[".json"],i=[".js",".ts",".jsx",".tsx",".mjs",".cjs"],o=".html",c=Object.entries(this.includeList||{});for(let[l,p]of c)if(p){let u=this.extractPaths(p);for(let m of u){let g=fo.default.extname(m),b=require(this.manifestPath),S=P(b,"chrome").name||"Extension.js";if(!po.default.existsSync(m)){if(m.startsWith("/"))return;let E=ie(S,l,m);r.includes(g)?e.errors.push(new s(E)):n.includes(g)?e.errors.push(new s(E)):i.includes(g)?e.errors.push(new s(E)):g===o?e.errors.push(new s(E)):e.errors.push(new s(E))}}}}apply(e){e.hooks.compilation.tap("manifest:check-manifest-files",s=>{s.hooks.processAssets.tap({name:"compatibility:check-manifest-files",stage:jt.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COUNT},()=>{let r=jt.default.WebpackError;this.handleErrors(s,r)})})}};var uo=a(require("fs")),Lt=a(require("@rspack/core"));var Dt=class{manifestPath;browser;includeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList}flattenAndSort(e){return e.flat(1/0).sort()}apply(e){e.hooks.watchRun.tapAsync("manifest:throw-if-recompile-is-needed",(s,r)=>{if((s.modifiedFiles||new Set).has(this.manifestPath)){let i=s.options.context||"",o=`${i}/package.json`;if(!uo.default.existsSync(o)){r();return}let c=require(this.manifestPath),l=P(c,this.browser),p=this.flattenAndSort(Object.values(je(i,l))),u=this.flattenAndSort(Object.values(Oe(i,l)));s.hooks.thisCompilation.tap("manifest:throw-if-recompile-is-needed",m=>{m.hooks.processAssets.tap({name:"manifest:check-manifest-files",stage:Lt.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COMPATIBILITY},()=>{let b=m.getAsset("manifest.json")?.source.source().toString(),_=JSON.parse(b||"{}"),S=this.flattenAndSort(Object.values(je(i,_))),E=this.flattenAndSort(Object.values(Oe(i,_)));if(u.toString()!==E.toString()||p.toString()!==S.toString()){let A=p.filter(q=>!S.includes(q))[0],T=S.filter(q=>!p.includes(q))[0],_e=Wr(T,A);m.errors.push(new Lt.default.WebpackError(_e))}})})}r()})}};var Ot=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Pt({manifestPath:this.manifestPath}).apply(e),new Ct({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new $t({manifestPath:this.manifestPath,excludeList:this.excludeList}).apply(e),new Ft([this.manifestPath]).apply(e),new Dt({manifestPath:this.manifestPath,browser:this.browser,includeList:this.includeList}).apply(e)}};var tr=a(require("path"));var Ys=a(require("fs")),At=a(require("@rspack/core")),bo=require("@rspack/core");var mo=a(require("fs")),me=a(require("path")),go=a(require("parse5-utils"));var ue=a(require("parse5-utils"));function It(t){try{return new URL(t),!0}catch{return!1}}function Ae(t,e){let{childNodes:s=[]}=t;for(let r of s)if(r.nodeName==="script"){let n=ue.default.getAttribute(r,"src");if(!n||It(n))continue;e({filePath:n,childNode:r,assetType:"script"})}else if(r.nodeName==="link"){let n=ue.default.getAttribute(r,"href"),i=ue.default.getAttribute(r,"rel");if(!n||It(n))continue;e(i==="dns-prefetch"||i==="icon"||i==="manifest"||i==="modulepreload"||i==="preconnect"||i==="prefetch"||i==="preload"||i==="prerender"?{filePath:n,childNode:r,assetType:"staticHref"}:{filePath:n,childNode:r,assetType:"css"})}else if(r.nodeName==="a"||r.nodeName==="area"){let n=ue.default.getAttribute(r,"href");if(!n||It(n))continue;e({filePath:n,childNode:r,assetType:"staticHref"})}else if(r.nodeName==="audio"||r.nodeName==="embed"||r.nodeName==="iframe"||r.nodeName==="img"||r.nodeName==="input"||r.nodeName==="source"||r.nodeName==="track"||r.nodeName==="video"){let n=ue.default.getAttribute(r,"src");if(!n||It(n))continue;e({filePath:n,childNode:r,assetType:"staticSrc"})}else Ae(r,e)}function L(t,e){let s={css:[],js:[],static:[]};if(!t)return s;let r=e||mo.default.readFileSync(t,{encoding:"utf8"}),n=go.default.parse(r),i=(o,c)=>me.default.join(me.default.dirname(o),c.startsWith("/")?me.default.relative(me.default.dirname(o),c):c);for(let o of n.childNodes)if(o.nodeName==="html"){for(let c of o.childNodes)(c.nodeName==="head"||c.nodeName==="body")&&Ae(c,({filePath:l,assetType:p})=>{let u=i(t,l);switch(p){case"script":s.js?.push(u);break;case"css":s.css?.push(u);break;case"staticSrc":case"staticHref":if(l.startsWith("#"))break;s.static?.push(u);break;default:break}});return{css:s.css,js:s.js,static:s.static}}}function ho(t,e,s){let r=Object.keys(t).find(i=>{let o=t[i];return t[i]===e||L(o)?.js?.includes(e)||L(o)?.css?.includes(e)})||"",n=Ks(e);return r?`/${r.replace(n,"")}${s}`:`${e.replace(n,"")}${s}`}function Ks(t){switch(me.default.extname(t)){case".js":case".mjs":case".ts":case".tsx":return".js";case".css":case".scss":case".sass":case".less":return".css";case".html":return".html";default:return".js"}}function z(t,e,s){return s?`/${t}${e}`:`${t}${e}`}function yo(t,e){return Object.values(e||{}).some(s=>s===t)}var Mt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){let s=require(this.manifestPath),n=P(s,"chrome").name||"Extension.js";e.hooks.thisCompilation.tap("html:emit-html-file",i=>{i.hooks.processAssets.tap({name:"AddAssetsToCompilationPlugin",stage:At.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{let o=Object.entries(this.includeList||{});for(let c of o){let[l,p]=c;if(p){if(!Ys.default.existsSync(p)){let m=ie(n,l,p);i.warnings.push(new At.default.WebpackError(m));return}let u=Ys.default.readFileSync(p,"utf8");if(!$(p,this.excludeList)){let m=new bo.sources.RawSource(u),g=z(l,".html");i.emitAsset(g,m)}}}})})}};var Rt=a(require("fs")),de=a(require("path")),Y=a(require("@rspack/core"));var Nt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.thisCompilation.tap("html:add-assets-to-compilation",s=>{s.hooks.processAssets.tap({name:"html:add-assets-to-compilation",stage:Y.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{if(s.errors.length>0)return;let r=Object.entries(this.includeList||{});for(let n of r){let[i,o]=n,c=i+".html";if(o){let l=s.getAsset(c);if(l){let p=l.source.source().toString(),u=L(o,p)?.static,m=[...new Set(u)];for(let g of m)if(!g.startsWith("/")){if(!Rt.default.existsSync(g)&&!yo(g,this.includeList)&&!de.default.basename(g).startsWith("#")){let A=nt(o,g);g.startsWith("/")||s.warnings.push(new Y.default.WebpackError(A));return}let b=Rt.default.readFileSync(g),_=new Y.sources.RawSource(b),S=de.default.join("assets",de.default.basename(g));if(!s.getAsset(S))if(g.endsWith(".html")){let E=L(g),A=[...E?.js||[],...E?.css||[],...E?.static||[]];s.emitAsset(S,_),A.forEach(T=>{let _e=Rt.default.readFileSync(T),q=new Y.sources.RawSource(_e),jr=de.default.join("assets",de.default.basename(T));s.getAsset(jr)||s.emitAsset(jr,q)})}else s.emitAsset(S,_)}}}}})})}};var xo=a(require("path")),Qs=a(require("fs"));var Tt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){let s=this.includeList||{};for(let r of Object.entries(s)){let[n,i]=r;if(i){if(!Qs.default.existsSync(i))return;let o=L(i),c=o?.js||[],l=o?.css||[],p=[...c,...l].filter(u=>!$(u,this.excludeList));if(e.options.mode==="development"){let u=xo.default.resolve(__dirname,"minimum-script-file.mjs");p.push(u)}Qs.default.existsSync(i)&&($(i,this.excludeList)||(e.options.entry={...e.options.entry,[n]:{import:p}}))}}}};var Bt=require("@rspack/core");var er=a(require("fs")),H=a(require("path")),O=a(require("parse5-utils"));function wo(t,e,s,r,n){let i=er.default.readFileSync(s,{encoding:"utf8"}),o=O.default.parse(i),c=!!t.getAsset(e+".css"),l=!1;for(let p of o.childNodes)if(p.nodeName==="html"){for(let u of p.childNodes){if((u.nodeName==="head"||u.nodeName==="body")&&Ae(u,({filePath:m,childNode:g,assetType:b})=>{let _=H.default.dirname(s),S=H.default.resolve(_,m),E=Ks(S),A=$(H.default.resolve(_,m),n),T=H.default.join("/",H.default.normalize(m)),_e=sn(S,r);switch(b){case"script":{A?p=O.default.setAttribute(g,"src",T):(p=O.default.remove(g),l=!0);break}case"css":{A?p=O.default.setAttribute(g,"href",T):(p=O.default.remove(g),c=!0);break}case"staticHref":case"staticSrc":{if(A)p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",T);else if(_e){let q=ho(r,S,E);p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",q)}else{let q=H.default.join("assets",H.default.basename(S,E));er.default.existsSync(S)&&(p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",z(q,"",!0)))}break}default:break}}),u.nodeName==="head"&&c){let m=O.default.createNode("link");m.attrs=[{name:"rel",value:"stylesheet"},{name:"href",value:z(e,".css",!0)}],O.default.append(u,m)}if(u.nodeName==="body"&&(l||t.options.mode!=="production")){let m=O.default.createNode("script");m.attrs=[{name:"src",value:z(e,".js",!0)}],O.default.append(u,m)}}return O.default.serialize(o)}}var Ut=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("html:update-html-file",s=>{s.hooks.processAssets.tap({name:"html:update-html-file",stage:Bt.Compilation.PROCESS_ASSETS_STAGE_DERIVED},()=>{if(s.errors.length>0)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[i,o]=n;if(o){let c=wo(s,i,o,r,this.excludeList||{});if(!$(o,this.excludeList)&&c){let l=new Bt.sources.RawSource(c),p=z(i,".html");s.updateAsset(p,l)}}}})})}};var vo=a(require("fs")),So=require("@rspack/core");var qt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.thisCompilation.tap("html:add-to-file-dependencies",s=>{s.hooks.processAssets.tap({name:"html:add-to-file-dependencies",stage:So.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[,i]=n;if(i){let o=L(i),c=new Set(s.fileDependencies);if(vo.default.existsSync(i)){let l=[i,...o?.static||[]];for(let p of l)c.has(p)||(c.add(p),p===i&&s.fileDependencies.add(p))}}}})})}};var _o=a(require("fs"));var Wt=class{manifestPath;includeList;initialHtmlAssets={};constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}hasEntriesChanged(e,s){if(!s||!e||e.length!==s.length)return!0;for(let r=0;r<e.length;r++)if(e[r]!==s[r])return!0;return!1}storeInitialHtmlAssets(e){Object.entries(e).forEach(([s,r])=>{let n=r;if(n){if(!_o.default.existsSync(n)){let i=require(this.manifestPath),c=P(i,"chrome").name||"Extension.js";console.error(ie(c,s,n)),process.exit(1)}this.initialHtmlAssets[n]={js:L(n)?.js||[],css:L(n)?.css||[]}}})}apply(e){let s=this.includeList||{};this.storeInitialHtmlAssets(s),e.hooks.make.tapAsync("html:throw-if-recompile-is-needed",(r,n)=>{let i=e.modifiedFiles||new Set,o=Array.from(i)[0];if(o&&this.initialHtmlAssets[o]){let c=L(o)?.js||[],l=L(o)?.css||[],{js:p,css:u}=this.initialHtmlAssets[o];(this.hasEntriesChanged(l,u)||this.hasEntriesChanged(c,p))&&console.log(Gr(o))}n()})}};var Po=a(require("fs")),Eo=require("@rspack/core");function Pl(t,e){let s="Module not found: Error: Can't resolve ",n=e.message.replace(s,"").split("'")[1];if(e.message.includes(s))for(let i of Object.entries(t)){let[,o]=i;if(o){if(!Po.default.existsSync(o))return null;let c=L(o),l=c?.js?.filter(u=>!u.startsWith("/"))||[],p=c?.css?.filter(u=>!u.startsWith("/"))||[];if(l.includes(n)||p.includes(n)){let u=nt(o,n);return new Eo.WebpackError(u)}}}return null}var Jt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.compilation.tap("html:handle-common-errors",s=>{s.hooks.afterSeal.tapPromise("html:handle-common-errors",async()=>{s.errors.forEach((r,n)=>{let i=Pl(this.includeList||{},r);i&&(s.errors[n]=i)})})})}};var zt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Mt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Nt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Tt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Ut({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[tr.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(tr.default.join(__dirname,"ensure-hmr-for-scripts.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}}]}),new qt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Wt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Jt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var Re=a(require("path"));var sr=a(require("fs")),ko=a(require("path"));function $o(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>{let i=sr.default.existsSync(n)&&!$(n,e),o=ko.default.extname(n);return i&&(o===".js"||o===".mjs"||o===".jsx"||o===".ts"||o===".tsx")})}function Fo(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>sr.default.existsSync(n)&&!$(n,e)&&(n.endsWith(".css")||n.endsWith(".scss")||n.endsWith(".sass")||n.endsWith(".less")))}var Ht=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList||{},this.excludeList=e.excludeList||{}}apply(e){let s=this.includeList||{},r={};for(let[n,i]of Object.entries(s)){let o=$o(i,this.excludeList),c=Fo(i,this.excludeList),l=[...o,...c];(c.length||o.length)&&(r[n]={import:l})}e.options.entry={...e.options.entry,...r}}};var Q=require("@rspack/core"),El=['var isBrowser = !!(() => { try { return browser.runtime.getURL("/") } catch(e) {} })()','var isChrome = !!(() => { try { return chrome.runtime.getURL("/") } catch(e) {} })()'],kl=[...El,`var runtime = isBrowser ? browser : isChrome ? chrome : (typeof self === 'object' && self.addEventListener) ? { get runtime() { throw new Error("No chrome or browser runtime found") } } : { runtime: { getURL: x => x } }`],Vt=class t{apply(e){let{RuntimeGlobals:s}=e.webpack;e.hooks.compilation.tap("PublicPathRuntimeModule",r=>{r.hooks.runtimeRequirementInTree.for(s.publicPath).tap(t.name,n=>{let i=$l();return r.addRuntimeModule(n,i),!0})})}};function $l(){class t extends Q.RuntimeModule{constructor(){super("publicPath",Q.RuntimeModule.STAGE_BASIC)}generate(){let s=this.compilation?.outputOptions.publicPath;return Q.Template.asString([...kl,`var path = ${JSON.stringify(this.compilation?.getPath(s||"",{hash:this.compilation.hash||"XXXX"}))}`,`${Q.RuntimeGlobals.publicPath} = typeof importScripts === 'function' || !(isBrowser || isChrome) ? path : runtime.runtime.getURL(path);`])}}return new t}var Xt=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList||{},this.excludeList=e.excludeList||{}}apply(e){let s=require(this.manifestPath),r=P(s,this.browser);r.content_scripts?.some(n=>n.world&&n.world.toLowerCase()==="main")&&Z.includes(this.browser)&&!r.key&&(console.error(Yr()),process.exit(1))}};var Gt=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Ht({manifestPath:this.manifestPath,includeList:this.includeList||{},excludeList:this.excludeList||{}}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Re.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Re.default.join(__dirname,"add-hmr-accept-code.js")),options:{manifestPath:this.manifestPath,mode:e.options.mode,includeList:this.includeList||{},excludeList:this.excludeList||{}}}]}),new Vt().apply(e),new Xt({manifestPath:this.manifestPath,browser:this.browser||"chrome",includeList:this.includeList||{},excludeList:this.excludeList||{}}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Re.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Re.default.join(__dirname,"deprecated-shadow-root.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList||{},excludeList:this.excludeList||{}}}]})}};var Te=a(require("path")),Ue=a(require("fs")),V=a(require("@rspack/core"));var ge=a(require("path")),Ne=a(require("fs"));function rr(t){let e=ge.default.join(ge.default.dirname(t),"_locales"),s=[];if(Ne.default.existsSync(e))for(let r of Ne.default.readdirSync(e)){let n=ge.default.join(e,r);if(n&&Ne.default.statSync(n).isDirectory())for(let i of Ne.default.readdirSync(n))s.push(ge.default.join(ge.default.dirname(t),"_locales",r,i))}return s}var Zt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("locales:module",s=>{s.hooks.processAssets.tap({name:"locales:module",stage:V.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(!Ue.default.existsSync(this.manifestPath)){let n=require(this.manifestPath),o=P(n,"chrome").name||"Extension.js";s.errors.push(new V.default.WebpackError(Br(o,this.manifestPath)));return}if(s.errors.length>0)return;let r=rr(this.manifestPath);for(let n of Object.entries(r||[])){let[i,o]=n,c=o;if(c){if(Te.default.extname(c)!==".json")continue;if(!Ue.default.existsSync(c)){s.warnings.push(new V.default.WebpackError(it(i,c)));return}let l=Ue.default.readFileSync(c),p=new V.sources.RawSource(l),u=e.options.context||Te.default.dirname(this.manifestPath);if(!$(c,this.excludeList)){let m=Te.default.relative(u,c);s.emitAsset(m,p)}}}})}),e.hooks.thisCompilation.tap("locales:module",s=>{s.hooks.processAssets.tap({name:"locales:module",stage:V.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=rr(this.manifestPath);for(let n of Object.entries(r||[])){let[,i]=n;if(i){let o=new Set(s.fileDependencies),c=r||[];for(let l of c)Ue.default.existsSync(l)&&Te.default.extname(l)===".json"&&(o.has(l)||(o.add(l),s.fileDependencies.add(l)))}}})})}};var Kt=a(require("fs")),ee=a(require("@rspack/core"));var Yt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("json:module",s=>{s.hooks.processAssets.tap({name:"json:module",stage:ee.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors.length>0)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[i,o]=n,c=Array.isArray(o)?o:[o];for(let l of c)if(l&&!$(l,this.excludeList)){if(!Kt.default.existsSync(l)){s.warnings.push(new ee.default.WebpackError(it(i,l)));return}let p=Kt.default.readFileSync(l),u=new ee.sources.RawSource(p);s.emitAsset(i+".json",u)}}})}),e.hooks.thisCompilation.tap("json:module",s=>{s.hooks.processAssets.tap({name:"json:module",stage:ee.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[,i]=n,o=Array.isArray(i)?i:[i];for(let c of o)if(c){let l=new Set(s.fileDependencies);$(c,this.excludeList)||Kt.default.existsSync(c)&&(l.has(c)||(l.add(c),s.fileDependencies.add(c)))}}})})}};var nr=a(require("fs")),Co=a(require("path")),es=require("@rspack/core");var Qt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("icons:emit-file",s=>{s.hooks.processAssets.tap({name:"icons:emit-file",stage:es.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER},()=>{if(s.errors.length>0)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[i,o]=n;if(o===void 0)continue;let c=Array.isArray(o)?typeof o[0]=="string"?o:o.map(Object.values).flat():[o];for(let l of c)if(l){if(!nr.default.existsSync(l))continue;if(!$(l,this.excludeList)){let p=nr.default.readFileSync(l),u=new es.sources.RawSource(p),m=Co.default.basename(l),b=`${i.endsWith("theme_icons")?i.replace("theme_icons",""):i}/${m}`;s.emitAsset(b,u)}}}})})}};var jo=a(require("fs")),Do=require("@rspack/core"),ts=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("icons:add-to-file-dependencies",s=>{s.hooks.processAssets.tap({name:"icons:add-to-file-dependencies",stage:Do.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[,i]=n,o=Array.isArray(i)?typeof i[0]=="string"?i:i.map(Object.values).flat():[i];for(let c of o)if(c){let l=new Set(s.fileDependencies);jo.default.existsSync(c)&&(l.has(c)||(l.add(c),s.fileDependencies.add(c)))}}})})}};var ss=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Qt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new ts({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var ns=require("@rspack/core");function Lo(t){return t.map(e=>{try{let s=new URL(e.replace(/^\*:\/\//,"https://"));return e.endsWith(s.pathname)?`${e.substring(0,e.length-s.pathname.length)}/*`:s.pathname==="/"?`${e}/*`:e}catch{return e}})}var rs=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}generateManifestPatches(e,s){let r=W(e,this.manifestPath),n=r.web_accessible_resources||[],i=r.web_accessible_resources||[];for(let[l,p]of Object.entries(s)){let u=r.content_scripts?.find(m=>m.js?.some(g=>g.includes(l)));if(u){let m=u.matches||[],g=p.filter(b=>!b.endsWith(".map")&&!b.endsWith(".js"));if(g.length===0)continue;if(r.manifest_version===3){let b=n.find(_=>_.matches.some(S=>m.includes(S)));b?g.forEach(_=>{b.resources.includes(_)||b.resources.push(_)}):n.push({resources:g,matches:Lo(m)})}else g.forEach(b=>{i.includes(b)||i.push(b)})}}r.manifest_version===3?n.length>0&&(r.web_accessible_resources=n):i.length>0&&(r.web_accessible_resources=Array.from(new Set(i)));let o=JSON.stringify(r,null,2),c=new ns.sources.RawSource(o);e.getAsset("manifest.json")&&e.updateAsset("manifest.json",c)}apply(e){e.hooks.thisCompilation.tap("plugin-extension:feature-web-resources",s=>{s.hooks.processAssets.tap({name:"plugin-extension:feature-web-resources",stage:ns.Compilation.PROCESS_ASSETS_STAGE_ANALYSE},()=>{let r=[],n=Object.keys(this.includeList||{});for(let c of n.filter(Boolean))c.startsWith("content_scripts")&&(Array.isArray(c)?r.push(...c):typeof c=="string"&&r.push(c));let i=s.chunkGraph,o={};s.entrypoints.forEach((c,l)=>{if(r.includes(l)){let p=[];c.chunks.forEach(u=>{Array.from(i.getChunkModulesIterable(u)).forEach(g=>{i.getModuleChunks(g).forEach(b=>{b.auxiliaryFiles.forEach(_=>{p.includes(_)||p.push(_)})})})}),o[l]=p}}),this.generateManifestPatches(s,o)})})}};var I=a(require("fs")),M=a(require("path")),Oo=a(require("chokidar")),is=class{options;constructor(e){this.options=e}ensureDirectoryExistence(e){let s=M.default.dirname(e);if(I.default.existsSync(s))return!0;I.default.mkdirSync(s,{recursive:!0})}copyFile(e,s){this.ensureDirectoryExistence(s),I.default.copyFileSync(e,s)}copyFolder(e,s){I.default.existsSync(s)||I.default.mkdirSync(s,{recursive:!0}),I.default.readdirSync(e).forEach(n=>{let i=M.default.join(e,n),o=M.default.join(s,n);I.default.statSync(i).isDirectory()?this.copyFolder(i,o):this.copyFile(i,o)})}apply(e){let s=M.default.dirname(this.options.manifestPath),r=M.default.join(s,"public"),n=e.options.output?.path||"";I.default.existsSync(r)&&(e.hooks.afterEmit.tap("special-folders:copy-public-folder",()=>{let i=M.default.join(n,"/");I.default.existsSync(i)||I.default.mkdirSync(i,{recursive:!0}),I.default.existsSync(r)&&this.copyFolder(r,i)}),e.options.mode!=="production"&&e.hooks.afterPlugins.tap("special-folders:copy-public-folder",()=>{let i=M.default.join(s,"public"),o=Oo.default.watch(i,{ignoreInitial:!0});o.on("add",c=>{let l=M.default.join(n,M.default.relative(s,c));this.copyFile(c,l)}),o.on("change",c=>{let l=M.default.join(n,M.default.relative(s,c));this.copyFile(c,l)}),o.on("unlink",c=>{let l=M.default.join(n,M.default.relative(s,c));I.default.existsSync(l)&&I.default.unlinkSync(l)}),e.hooks.watchClose.tap("special-folders:copy-public-folder",()=>{o.close().catch(console.error)})}))}};var U=a(require("path")),ir=a(require("chokidar"));var os=class{manifestPath;constructor(e){this.manifestPath=e}throwCompilationError(e,s,r){let n=U.relative(process.cwd(),s),c=Jr(r?"Adding":"Removing",e,e==="pages"?"HTML pages":"script files",n);if(r){console.warn(c);return}console.error(c),process.exit(1)}apply(e){e.hooks.afterPlugins.tap("special-folders:warn-upon-folder-changes",()=>{let s=U.dirname(this.manifestPath),r=U.join(s,"pages"),n=U.join(s,"scripts"),i=ir.watch(r,{ignoreInitial:!0}),o=ir.watch(n,{ignoreInitial:!0}),c=e.options.resolve?.extensions;i.on("add",l=>{l.endsWith(".html")&&this.throwCompilationError("pages",l,!0)}),i.on("unlink",l=>{l.endsWith(".html")&&this.throwCompilationError("pages",l)}),o.on("add",l=>{c?.includes(U.extname(l))&&this.throwCompilationError("scripts",l,!0)}),o.on("unlink",l=>{c?.includes(U.extname(l))&&this.throwCompilationError("scripts",l)}),e.hooks.watchClose.tap("WarnUponFolderChanges",()=>{i.close().catch(console.error),o.close().catch(console.error)})})}};var as=class{static name="plugin-special-folders";options;constructor(e){this.options=e}apply(e){let{manifestPath:s}=this.options;new is({manifestPath:s}).apply(e),e.options.mode==="development"&&e.options.watchOptions&&new os(s).apply(e)}};var cs=class{static name="plugin-extension";manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){let s=this.manifestPath,r=le({manifestPath:s,browser:this.browser}),n=Di({manifestPath:s,browser:this.browser});new Ot({browser:this.browser,manifestPath:s,includeList:{...r.html,...r.icons,...r.json,...r.scripts},excludeList:n.public}).apply(e),new zt({manifestPath:s,includeList:{...r.html,...n.pages},excludeList:{...n.public,...n.scripts}}).apply(e),new Gt({manifestPath:s,browser:this.browser,includeList:{...r.scripts,...n.scripts},excludeList:{...n.public,...n.pages}}).apply(e),new Zt({manifestPath:s}).apply(e),new Yt({manifestPath:s,includeList:r.json,excludeList:n.public}).apply(e),new ss({manifestPath:s,includeList:r.icons,excludeList:n.public}).apply(e),new rs({manifestPath:s,includeList:{...r.scripts,...n.scripts},excludeList:n.public}).apply(e),new as({manifestPath:s}).apply(e)}};var We=a(require("path"));var Io=a(require("path")),Mo=a(require("ws"));function ls(t,e){t.clients.forEach(s=>{s.readyState===Mo.default.OPEN&&s.send(JSON.stringify(e))})}function Ao(t,e,s){if(!s||!e)return;let r=le({manifestPath:e}).locales,n=le({manifestPath:e}).scripts,i=le({manifestPath:e}).json;if(!t){process.env.EXTENSION_ENV==="development"&&console.error("WebSocket server is not running.");return}Io.default.basename(s)==="manifest.json"&&ls(t,{changedFile:"manifest.json"}),r?.forEach(o=>{o.includes(s)&&ls(t,{changedFile:"_locales"})}),Object.entries(n).forEach(([o,c])=>{let l=Array.isArray(c)?c:[c];Object.values(l).flatMap(u=>u).includes(s)&&o==="background/service_worker"&&ls(t,{changedFile:"service_worker"})}),Object.entries(i).forEach(([o,c])=>{c?.includes(s)&&o==="declarative_net_request"&&ls(t,{changedFile:"declarative_net_request"})})}var ar=a(require("path")),Uo=a(require("fs")),qe=a(require("ws"));var Be=a(require("path")),Fl=a(require("http")),No=a(require("https")),or=a(require("fs"));var Ro=t=>{if(!or.default.existsSync(t))return;let e=Be.default.basename(t);return or.default.readFileSync(Be.default.join(__dirname,"certs",e))};function To(t){let e={key:Ro(Be.default.join(__dirname,"certs","localhost.key")),cert:Ro(Be.default.join(__dirname,"certs","localhost.cert"))},s=No.default.createServer(e,(r,n)=>{n.writeHead(200),n.end()});return s.on("error",r=>{throw console.error(Kr(t)),new Error(r.message)}),{server:s,port:t}}function Cl(t,e){switch(e){case"chrome":return new qe.default.Server({host:"localhost",port:t});case"edge":return new qe.default.Server({host:"localhost",port:t+1});case"firefox":return new qe.default.Server({server:To(t+2).server});default:return new qe.default.Server({host:"localhost",port:8888})}}async function Bo(t,e){let s=t.options.context||"",r=require(ar.default.join(s,"manifest.json")),i=Cl(8e3,e.browser);if(i.on("connection",o=>{o.send(JSON.stringify({status:"serverReady"})),o.on("error",c=>{console.log(Vr(c))}),o.on("message",c=>{let l=JSON.parse(c.toString());if(l.status==="clientReady"){let p=require(ar.default.join(s,"manifest.json"));setTimeout(()=>{console.log(Ns(p,e.browser,l)),console.log("")},2500),rn(e.browser)&&setTimeout(()=>{console.log(Hr(e.browser))},5e3)}})}),e.browser==="firefox"||e.browser==="gecko-based"){let o=nn(r);console.log(Ns(r,e.browser,o)),console.log(""),Uo.default.existsSync(rt)||(console.log(Zr()),console.log(""))}return i}var qo=a(require("path")),cr=a(require("fs"));function Wo(t,e){let s=qo.default.resolve(__dirname,`./extensions/${t}-manager-extension/reload-service.js`);try{let r=cr.default.readFileSync(s,"utf8"),n=r.replace(/__RELOAD_PORT__/g,e.toString());n!==r&&cr.default.writeFileSync(s,n,"utf8")}catch(r){console.error(`Error processing file: ${r.message}`)}}process.on("SIGINT",()=>{process.exit()});process.on("SIGTERM",()=>{process.exit()});var Je=class{manifestPath;port;browser;stats;constructor(e){this.manifestPath=e.manifestPath,this.port=e.port||8e3,this.browser=e.browser||"chrome",this.stats=e.stats}async apply(e){if(!this.manifestPath)return;Wo(this.browser,this.port);let s=await Bo(e,{...this,mode:e.options.mode,browser:this.browser,stats:this.stats,port:this.port});e.hooks.watchRun.tapAsync("reload:create-web-socket-server",(r,n)=>{let o=(r.modifiedFiles||new Set).values().next().value;if(!o){n();return}let c=We.default.relative(We.default.dirname(this.manifestPath),o),l=We.default.relative(process.cwd(),We.default.dirname(o));process.env.EXTENSION_ENV==="development"&&console.info(`\u25BA\u25BA Updated file \`${c}\` (relative to ${l})`),this.manifestPath&&Ao(s,this.manifestPath,o),n()})}};var lr=a(require("path"));function Jo(t,e,s){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[lr.default.dirname(s)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:lr.default.resolve(__dirname,"./inject-chromium-client-loader"),options:{manifestPath:s,browser:e}}]})}var pr=a(require("path"));function zo(t,e,s){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[pr.default.dirname(s)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:pr.default.resolve(__dirname,"./inject-firefox-client-loader"),options:{manifestPath:s,browser:e}}]})}var fs=require("@rspack/core");var fr=a(require("content-security-policy-parser"));function Ho(t){let e="";for(let s in t)e+=`${s} ${t[s].join(" ")}; `;return e.trim()}function Vo(t){let e=t.content_security_policy;if(!e)return"script-src 'self' 'unsafe-eval' blob: filesystem:; object-src 'self' blob: filesystem:; ";let s=(0,fr.default)(e);if(!s.get("script-src"))s.set("script-src",["'self'","'unsafe-eval'","blob:","filesystem:"]);else{let n=s.get("script-src")||[];n.includes("'unsafe-eval'")||n.push("'unsafe-eval'"),n.includes("blob:")||n.push("blob:"),n.includes("filesystem:")||n.push("filesystem:"),s.set("script-src",n)}s.get("object-src")||s.set("object-src",["'self'","blob:","filesystem:"]);let r=Object.fromEntries(s.entries());return Ho(r)}function Xo(t){let e=t.content_security_policy;if(!e)return{extension_pages:"script-src 'self'; object-src 'self';"};let s=(0,fr.default)(e.extension_pages||""),r={};for(let o in r)s.get(o)||s.set(o,r[o]);let n=Object.fromEntries(s.entries());return{extension_pages:Ho(n)}}function Go(t){let e=["/*.json","/*.js","/*.css"],s=t.web_accessible_resources;if(!s||s.length===0)return e;let r=new Set(s);for(let n of e)r.has(n)||r.add(n);return Array.from(r)}function Zo(t){let e=["/*.json","/*.js","/*.css"];return[...t.web_accessible_resources||[],{resources:e,matches:["<all_urls>"]}]}function ur(t,e){return t.background?{background:{...t.background}}:e==="firefox"||e==="gecko-based"?{background:{...t.background||{},scripts:["background/script.js"]}}:t.manifest_version===2?{background:{...t.background||{},scripts:["background/script.js"]}}:{background:{...t.background||{},service_worker:"background/service_worker.js"}}}function mr(t){return t.externally_connectable&&!t.externally_connectable.ids?{externally_connectable:{...t.externally_connectable,ids:[...new Set(t.externally_connectable.ids||[]),"*"]}}:t.externally_connectable&&!t.externally_connectable.ids?{externally_connectable:{...t.externally_connectable,ids:["*"]}}:{}}var ps=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}generateManifestPatches(e){let s=W(e,this.manifestPath),r={...s,content_security_policy:s.manifest_version===3?Xo(s):Vo(s),...s.manifest_version===3?s.permissions?{permissions:[...new Set(["scripting",...s.permissions])]}:{permissions:["scripting"]}:{},...ur(s,this.browser),...mr(s),web_accessible_resources:s.manifest_version===3?Zo(s):Go(s)},n=JSON.stringify(r,null,2),i=new fs.sources.RawSource(n);e.getAsset("manifest.json")&&e.updateAsset("manifest.json",i)}apply(e){e.hooks.thisCompilation.tap("run-chromium:apply-manifest-dev-defaults",s=>{s.hooks.processAssets.tap({name:"run-chromium:apply-manifest-dev-defaults",stage:fs.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},r=>{if(!this.manifestPath){let n="No manifest.json found in your extension bundle. Unable to patch manifest.json.";s&&e.rspack.WebpackError&&s.errors.push(new e.rspack.WebpackError(`run-chromium: ${n}`));return}this.generateManifestPatches(s)})})}};var dr=a(require("fs")),he=a(require("path")),Ko=a(require("webpack-target-webextension"));var us=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}handleBackground(e,s,r){let n=he.default.resolve(__dirname,s==="firefox"||s==="gecko-based"?"minimum-firefox-file.mjs":"minimum-chromium-file.mjs"),i=he.default.dirname(this.manifestPath),o=P(r,s);if(s==="firefox"||s==="gecko-based"){o=r.background;let c=o?.scripts;if(c&&c.length>0){let l=he.default.join(i,c[0]);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/script",n)}else if(o=r.background,r.manifest_version===3){let c=o?.service_worker;if(c){let l=he.default.join(i,c);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/service_worker",n)}else if(r.manifest_version===2){let c=o?.scripts;if(c&&c.length>0){let l=he.default.join(i,c[0]);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/script",n)}}ensureFileExists(e){if(!dr.default.existsSync(e)&&this.manifestPath){let s=require(this.manifestPath),n=P(s,"chrome").name||"Extension.js",i=Xr(n,e);throw console.error(i),new Error(i)}}addDefaultEntry(e,s,r){e.options.entry={...e.options.entry,[s]:{import:[r]}}}getEntryName(e){if(e.background){if(this.browser==="firefox"||this.browser==="gecko-based")return{pageEntry:"background/script"};if(e.manifest_version===3)return{serviceWorkerEntry:"background/service_worker"};if(e.manifest_version===2)return{pageEntry:"background/script"}}return{pageEntry:"background"}}apply(e){if(!this.manifestPath||!dr.default.lstatSync(this.manifestPath).isFile())return;let s=require(this.manifestPath),r=P(s,this.browser);this.handleBackground(e,this.browser,r),new Ko.default({background:this.getEntryName(r),experimental_output:{contentScript:"content_scripts/content-0.js"},weakRuntimeCheck:!0}).apply(e)}};var gr=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){(Z.includes(this.browser)||this.browser==="chromium-based")&&Jo(e,this.browser,this.manifestPath),(this.browser==="firefox"||this.browser==="gecko-based")&&zo(e,this.browser,this.manifestPath),new ps({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new us({manifestPath:this.manifestPath,browser:this.browser}).apply(e)}},Yo=gr;var ms=class{static name="plugin-reload";manifestPath;browser;port;stats;autoReload;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.port=e.port,this.stats=e.stats,this.autoReload=e.autoReload}apply(e){e.options.mode==="development"&&new Je({manifestPath:this.manifestPath,browser:this.browser,port:this.port,stats:this.stats}).apply(e),e.options.mode==="development"&&new Yo({manifestPath:this.manifestPath,browser:this.browser,autoReload:this.autoReload,stats:this.stats}).apply(e)}};var Qo=a(require("@rspack/core")),ds=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser}apply(e){new Qo.default.ProvidePlugin({browser:require.resolve("webextension-polyfill")}).apply(e)}};var hs=require("@rspack/core");var gs=class{browser;manifestPath;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}patchManifest(e){let s=P(e,this.browser);return JSON.stringify(s,null,2)}apply(e){e.hooks.compilation.tap("compatibility:browser-specific-fields",s=>{s.hooks.processAssets.tap({name:"compatibility:browser-specific-fields",stage:hs.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE},()=>{let r=W(s,this.manifestPath),n=this.patchManifest(r),i=new hs.sources.RawSource(n);s.updateAsset("manifest.json",i)})})}};var ys=class{static name="plugin-compatibility";manifestPath;browser;polyfill;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.polyfill=e.polyfill||!1}async apply(e){this.polyfill&&this.browser!=="firefox"&&new ds({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e),new gs({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e)}};var xc=a(require("os")),Sr=a(require("path"));var $a=a(require("fs")),Fa=a(require("path")),Ca=require("child_process");var be=a(require("path")),He=a(require("fs"));var ea={alternate_error_pages:{enabled:!1},autofill:{enabled:!1},browser:{check_default_browser:!1,default_browser_setting_enabled:!1},default_apps:"install",distribution:{alternate_shortcut_text:!1,auto_launch_chrome:!1,import_bookmarks:!1,import_history:!1,import_home_page:!1,import_search_engine:!1,suppress_first_run_bubble:!0,do_not_register_for_update_launch:!0,make_chrome_default:!1,make_chrome_default_for_user:!1,require_eula:!1,suppress_first_run_default_browser_prompt:!0},dns_prefetching:{enabled:!1},download:{default_directory:"/tmp/",directory_upgrade:!0,open_pdf_in_adobe_reader:!1,prompt_for_download:!0},enable_do_not_track:!0,extensions:{theme:{use_system:!1},toolbarsize:-1,ui:{developer_mode:!0}},plugins:{plugins_list:[{enabled:!1,name:"Java(TM)"}],show_details:!0},profile:{password_manager_enabled:!1},safebrowsing:{enabled:!1,safebrowsingextended_reporting_enabled:!1},savefile:{default_directory:"/tmp",type:0},search:{suggest_enabled:!1},session:{restore_on_startup:1},sync:{suppress_start:!0},sync_promo:{show_on_first_run_allowed:!1,show_ntp_bubble:!1},translate:{enabled:!1}},ta={...ea},sa={...ea};var y=require("@colors/colors/safe");function w(t,e){let s=e==="warn"?(0,y.brightYellow)("\u25BA\u25BA\u25BA"):e==="info"?(0,y.cyan)("\u25BA\u25BA\u25BA"):e==="error"?`${(0,y.bold)((0,y.red)("ERROR"))} in ${ye(t)} ${(0,y.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:(0,y.brightGreen)("\u25BA\u25BA\u25BA");return`${(0,y.gray)("")}${s}`}function ye(t){return t.charAt(0).toUpperCase()+t.slice(1)}function bs(t){let e=ye(t);return`${w(t,"info")} Creating new ${e} user profile...`}function ra(t){return`${w(t,"success")} Instance already running.`}function na(t){return`${w(t,"info")} Instance exited.`}function xs(t,e){let s=t==="firefox"||t==="gecko-based"?"Add-on":"Extension";return`${w(t,"success")} ${ye(t)} ${s} running in ${(0,y.brightBlue)(e||"unknown")} mode.`}function ze(t,e){let s=e=="null"?`Browser is not installed
|
|
74
|
+
of your ${(0,f.brightYellow)("extension.config.js")} is defined as your extension URL.`}var ot=class{static name="plugin-compilation";manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){new Qr.default().apply(e),new tt({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new st().apply(e),e.hooks.done.tapAsync("develop:brand",(s,r)=>{s.compilation.name=void 0;let n=s.compilation.endTime-s.compilation.startTime,i=require(this.manifestPath).name;console.log(Ar(i,n,s)),r()})}};var _n=a(require("path"));var an=a(require("path")),cn=a(require("fs"));var oe=a(require("path")),at=a(require("fs")),Ts=require("child_process"),tn=require("package-manager-detector");function sn(t,e){return Object.values(e||{}).some(s=>s===t)}function h(t,e,s){let r=oe.default.extname(e),i=$(e,s)?oe.default.normalize(e):t;return[".js",".jsx",".tsx",".ts"].includes(r)&&(i=i.replace(r,".js")),[".html",".njk",".nunjucks"].includes(r)&&(i=i.replace(r,".html")),[".css",".scss",".sass",".less"].includes(r)&&(i=i.replace(r,".css")),Us(i||"")}function Us(t){return t.replace(/\\/g,"/")}function $(t,e={}){if(!e)return!1;let s=oe.default.normalize(Us(t));return Object.values(e).some(n=>typeof n!="string"?!1:Us(n).includes(s))}function W(t,e){if(t.getAsset("manifest.json")||t.assets["manifest.json"]){let s=t.assets["manifest.json"].source().toString();return JSON.parse(s||"{}")}return require(e)}function ae(){return process.env.npm_config_user_agent&&process.env.npm_config_user_agent.includes("pnpm")?"pnpm":!1}function en(){return process.env.npm_execpath?"npm":!1}async function j(t,e){try{let s=await(0,tn.detect)();console.log(Rr(t,s?.name||"unknown"));let r="";s?.name==="yarn"?r=`yarn --silent add ${e.join(" ")} --cwd ${__dirname} --optional`:s?.name==="npm"||en()?r=`npm --silent install ${e.join(" ")} --prefix ${__dirname} --save-optional`:ae()?r=`pnpm --silent add ${e.join(" ")} --prefix ${__dirname} --save-optional`:r=`${s} --silent install ${e.join(" ")} --cwd ${__dirname} --optional`,(0,Ts.execSync)(r,{stdio:"inherit"}),await new Promise(n=>setTimeout(n,2e3)),process.env.EXTENSION_ENV==="development"&&(console.log(Nr(t)),s?.name==="yarn"?r="yarn install --silent > /dev/null 2>&1":s?.name==="npm"||en()?r="npm install --silent > /dev/null 2>&1":ae()?r="pnpm install --silent > /dev/null 2>&1":r=`${s} install --silent > /dev/null 2>&1`,(0,Ts.execSync)(r,{stdio:"inherit"})),console.log(Tr(t))}catch(s){console.error(Ur(t,s))}}function ct(t){let e=oe.default.join(t,"package.json");if(!at.default.existsSync(e))return!1;let s=JSON.parse(at.default.readFileSync(e,"utf-8")),r=["react","vue","@angular/core","svelte","solid-js","preact"],n=s.dependencies||{},i=s.devDependencies||{};for(let o of r)if(n[o]||i[o])return!0;return!1}function rn(t){return!at.default.existsSync(oe.default.resolve(__dirname,`run-${t}-profile`))}function nn(t){let e=t.name?.replace(/ /g,"-").toLowerCase();return{data:{id:`${e}@extension-js`,manifest:t,management:{id:`${e}@extension-js`,mayDisable:!0,optionsUrl:"",installType:"development",type:"extension",enabled:!0,name:t.name||"",description:t.description||"",version:t.version||"",hostPermissions:t.host_permissions||[],permissions:t.permissions||[],offlineEnabled:t.offline_enabled||!1,shortName:t.short_name||"",isApp:t.app&&t.app.background&&t.app.background.scripts}}}}function P(t,e){return JSON.parse(JSON.stringify(t),function(n,i){let o=n.indexOf(":");if(o===-1)return i;let c=n.substring(0,o);(c===e||c==="chromium"&&Z.includes(e)||c==="chromium"&&e.includes("chromium")||c==="gecko"&&e.includes("gecko"))&&(this[n.substring(o+1)]=i)})}var on=!1;function Pe(t){let e=an.default.join(t,"package.json");if(!cn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.sass,n=s.dependencies&&s.dependencies.sass;return r||n?(on||(process.env.EXTENSION_ENV==="development"&&console.log(v("SASS")),on=!0),!0):!1}async function ln(t){if(!Pe(t))return[];try{require.resolve("sass-loader")}catch{await j("PostCSS",["postcss-loader","postcss-scss","postcss-preset-env"]),await j("SASS",["sass","sass-loader"]),console.log(D("SASS")),process.exit(0)}return[{test:/\.(sass|scss)$/,exclude:/\.module\.(sass|scss)$/,type:"css",use:[{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:{outputStyle:"expanded"}}}]},{test:/\.module\.(sass|scss)$/,type:"css/module",use:[{loader:require.resolve("sass-loader"),options:{sourceMap:!0,sassOptions:{outputStyle:"expanded"}}}]}]}var fn=a(require("path")),un=a(require("fs"));var pn=!1;function Ee(t){let e=fn.default.join(t,"package.json");if(!un.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.less,n=s.dependencies&&s.dependencies.less;return r||n?(pn||(process.env.EXTENSION_ENV==="development"&&console.log(v("LESS")),pn=!0),!0):!1}async function mn(t){if(!Ee(t))return[];try{require.resolve("less-loader")}catch{await j("LESS",["less","less-loader"]),console.log(D("LESS")),process.exit(0)}return[{test:/\.less$/,exclude:/\.module\.less$/,type:"css",use:[{loader:require.resolve("less-loader"),options:{sourceMap:!0}}]},{test:/\.module\.less$/,type:"css/module",use:[{loader:require.resolve("less-loader"),options:{sourceMap:!0}}]}]}var R=a(require("path")),N=a(require("fs"));function ll(t){let e=R.default.join(t,"stylelint.config.json"),s=R.default.join(t,".stylelintrc.js file"),r=R.default.join(t,"stylelint.config.mjs"),n=R.default.join(t,".stylelintrc.mjs"),i=R.default.join(t,"stylelint.config.cjs"),o=R.default.join(t,".stylelintrc.cjs"),c=R.default.join(t,".stylelintrc.json"),l=R.default.join(t,".stylelintrc"),p=R.default.join(t,".stylelintrc.yml"),u=R.default.join(t,".stylelintrc.yaml");if(N.default.existsSync(e))return e;if(N.default.existsSync(s))return s;if(N.default.existsSync(r))return r;if(N.default.existsSync(n))return n;if(N.default.existsSync(i))return i;if(N.default.existsSync(o))return o;if(N.default.existsSync(c))return c;if(N.default.existsSync(l))return l;if(N.default.existsSync(p))return p;if(N.default.existsSync(u))return u}var dn=!1;function pl(t){let e=R.default.join(t,"package.json");if(!N.default.existsSync(e))return!1;let r=!!ll(t);return r&&(dn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Stylelint")),dn=!0)),r}async function gn(t){return pl(t),[]}var xn=a(require("path"));var ke=a(require("path")),$e=a(require("fs"));var hn=!1;function lt(t){let e=ke.default.join(t,"package.json");if(!$e.default.existsSync(e))return!1;let s=fl(t),r=require(e),n=r.devDependencies&&r.devDependencies.tailwindcss,i=r.dependencies&&r.dependencies.tailwindcss,o=!!s&&!!(n||i);return o&&(hn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Tailwind")),hn=!0)),o}function fl(t){let e=ke.default.join(t,"tailwind.config.mjs"),s=ke.default.join(t,"tailwind.config.cjs"),r=ke.default.join(t,"tailwind.config.js");if($e.default.existsSync(e))return e;if($e.default.existsSync(s))return s;if($e.default.existsSync(r))return r}var ft=a(require("path")),pt=a(require("fs"));var ce=!1;function ul(t){let e=ft.default.join(t,"package.json");if(!pt.default.existsSync(e))return!1;let s=[".postcssrc",".postcssrc.json",".postcssrc.yaml",".postcssrc.yml",".postcssrc.js",".postcssrc.cjs","postcss.config.js","postcss.config.cjs"];if(pt.default.existsSync(e)){let r=require(e);if(r.dependencies&&r.dependencies.postcss||r.devDependencies&&r.devDependencies.postcss)return ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0}for(let r of s)if(pt.default.existsSync(ft.default.join(t,r)))return ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0;return lt(t)?(ce||(process.env.EXTENSION_ENV==="development"&&console.log(v("PostCSS")),ce=!0),!0):!1}async function yn(t,e){if(!ul(t))return{};try{require.resolve("postcss-loader")}catch{!Pe(t)&&!Ee(t)&&await j("PostCSS",["postcss","postcss-loader","postcss-preset-env"]),console.log(D("PostCSS")),process.exit(0)}return{loader:require.resolve("postcss-loader"),options:{postcssOptions:{ident:"postcss",config:ft.default.resolve(t,"postcss.config.js"),plugins:[[require.resolve("postcss-preset-env"),{autoprefixer:{flexbox:"no-2009"},stage:3}]].filter(Boolean)},sourceMap:e.mode==="development"}}}async function ut(t,e){let s=[];if(lt(t)||Pe(t)||Ee(t)){let r=await yn(t,e);r.loader&&s.push(r)}return e.loader&&s.push({loader:e.loader.startsWith("builtin:")?e.loader:require.resolve(e.loader),options:{...e.loaderOptions,sourceMap:e.mode==="development"}}),s.filter(Boolean)}var Bs=a(require("path")),bn=a(require("fs"));function mt(t,e){if(!t||!e)return!1;let s=JSON.parse(bn.default.readFileSync(e,"utf8"));for(let r of s.content_scripts||[])if(r.js?.length){for(let n of r.js)if(Bs.default.resolve(Bs.default.dirname(e),n)===t)return!0}return!1}async function wn(t,e){let s=xn.default.join(t,"manifest.json");return[{test:/\.css$/,type:"asset",generator:{filename:"content_scripts/[name].[contenthash:8].css"},issuer:r=>mt(r,s),use:await ut(t,{mode:e})}]}var vn=a(require("path"));async function Sn(t,e){let s=vn.default.join(t,"manifest.json");return[{test:/\.css$/,type:"css",issuer:r=>!mt(r,s),use:await ut(t,{mode:e})}]}var dt=class t{static name="plugin-css";manifestPath;constructor(e){this.manifestPath=e.manifestPath}async configureOptions(e){let s=e.options.mode||"development",r=_n.default.dirname(this.manifestPath),n=[],i=await gn(r);n.push(...i);let o=[...await wn(r,s),...await Sn(r,s)],c=await ln(r),l=await mn(r);c.length&&o.push(...c),l.length&&o.push(...l),e.options.plugins=[...e.options.plugins,...n].filter(Boolean),e.options.module.rules=[...e.options.module.rules,...o].filter(Boolean)}async apply(e){if((e.options.mode||"development")==="production"){e.hooks.beforeRun.tapPromise(t.name,async()=>await this.configureOptions(e));return}await this.configureOptions(e)}};var gt=class{static name="plugin-static-assets";manifestPath;mode;constructor(e){this.manifestPath=e.manifestPath,this.mode=e.mode}async apply(e){let s={test:/\.svg$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2048}}},n=[...e.options.module.rules.some(i=>i&&i.test instanceof RegExp&&i.test.test(".svg")&&i.use!==void 0)?[]:[s],{test:/\.(png|jpg|jpeg|gif|webp|avif|ico|bmp)$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2*1024}}},{test:/\.(woff|woff2|eot|ttf|otf)$/i,type:"asset",generator:{filename:"assets/[name][ext]"}},{test:/\.(txt|md|csv|tsv|xml|pdf|docx|doc|xls|xlsx|ppt|pptx|zip|gz|gzip|tgz)$/i,type:"asset",generator:{filename:"assets/[name][ext]"},parser:{dataUrlCondition:{maxSize:2*1024}}},{test:/\.(csv|tsv)$/i,use:[require.resolve("csv-loader")],generator:{filename:"assets/[name][ext]"}}];e.options.module.rules=[...e.options.module.rules,...n].filter(i=>!!i)}};var Ce=a(require("path"));var qs=a(require("path")),Ws=a(require("fs"));var Pn=!1,ml=[".babelrc",".babelrc.json",".babelrc.js",".babelrc.cjs","babel.config.json","babel.config.js","babel.config.cjs"];function dl(t){let e=qs.default.join(t,"package.json");if(!Ws.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies["babel-core"],n=s.dependencies&&s.dependencies["babel-core"],i=ml.some(o=>Ws.default.existsSync(qs.default.join(t,o)))||!!r||!!n;return i&&(Pn||(process.env.EXTENSION_ENV==="development"&&process.env.EXTENSION_ENV==="development"&&console.log(v("Babel")),Pn=!0)),i}async function En(t,e){dl(e)}var $n=a(require("path")),Fn=a(require("fs"));var kn=!1;function Fe(t){let e=$n.default.join(t,"package.json");if(!Fn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.preact,n=s.dependencies&&s.dependencies.preact;return(r||n)&&(kn||(process.env.EXTENSION_ENV==="development"&&console.log(v("Preact")),kn=!0)),!!r||!!n}async function Cn(t){if(!Fe(t))return;try{require.resolve("@rspack/plugin-preact-refresh")}catch{await j("Preact",["@prefresh/core","@prefresh/utils","@rspack/plugin-preact-refresh","preact"]),console.log(D("Preact")),process.exit(0)}return{plugins:[new(require("@rspack/plugin-preact-refresh"))],loaders:void 0,alias:{react:"preact/compat","react-dom/test-utils":"preact/test-utils","react-dom":"preact/compat","react/jsx-runtime":"preact/jsx-runtime"}}}var Dn=a(require("path")),Ln=a(require("fs"));var jn=!1;function ht(t){let e=Dn.default.join(t,"package.json");if(!Ln.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.react,n=s.dependencies&&s.dependencies.react;return(r||n)&&(jn||(process.env.EXTENSION_ENV==="development"&&console.log(v("React")),jn=!0)),!!r||!!n}async function On(t){if(!ht(t))return;try{require.resolve("react-refresh")}catch{await j("React",["react-refresh","@rspack/plugin-react-refresh"]),console.log(D("React")),process.exit(0)}return{plugins:[new(require("@rspack/plugin-react-refresh"))({overlay:!1})],loaders:void 0,alias:void 0}}var Mn=a(require("path")),An=a(require("fs")),Rn=require("vue-loader");var In=!1;function gl(t){let e=Mn.default.join(t,"package.json");if(!An.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies.vue,n=s.dependencies&&s.dependencies.vue;return(r||n)&&(In||(process.env.EXTENSION_ENV==="development"&&console.log(v("Vue")),In=!0)),!!r||!!n}async function Nn(t){if(!gl(t))return;try{require.resolve("vue-loader")}catch{await j("Vue",["vue-loader","vue-template-compiler","@vue/compiler-sfc"]),console.log(D("Vue")),process.exit(0)}let e=[{test:/\.vue$/,loader:require.resolve("vue-loader"),options:{experimentalInlineMatchResource:!0},include:t,exclude:/node_modules/}];return{plugins:[new Rn.VueLoaderPlugin],loaders:e,alias:void 0}}var yt=a(require("path")),bt=a(require("fs"));var Tn=!1;function K(t){let e=yt.default.join(t,"package.json");if(!bt.default.existsSync(e))return!1;let s=yl(t),r=require(e),n=r.devDependencies&&r.devDependencies.typescript,i=r.dependencies&&r.dependencies.typescript;return Tn||((n||i)&&(s?process.env.EXTENSION_ENV==="development"&&console.log(v("TypeScript")):(console.log(zr()),bl(t))),Tn=!0),!!s&&!!(n||i)}function hl(t,e){return{compilerOptions:{allowJs:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,jsx:ct(t)?"react-jsx":"preserve",lib:["dom","dom.iterable","esnext"],moduleResolution:"node",module:"esnext",resolveJsonModule:!0,strict:!0,target:"esnext",isolatedModules:!1,skipLibCheck:!0},exclude:["node_modules","dist"]}}function yl(t){let e=yt.default.join(t,"tsconfig.json");if(bt.default.existsSync(e))return e}function bl(t){bt.default.writeFileSync(yt.default.join(t,"tsconfig.json"),JSON.stringify(hl(t,{mode:"development"}),null,2))}var Bn=a(require("path")),qn=a(require("fs")),Wn=require("svelte-preprocess");var Un=!1;function xl(t){let e=Bn.default.join(t,"package.json");if(!qn.default.existsSync(e))return!1;let s=require(e),r=s.devDependencies&&s.devDependencies?.svelte,n=s.dependencies&&s.dependencies.svelte;return(r||n)&&(Un||(process.env.EXTENSION_ENV==="development"&&console.log(v("Svelte")),Un=!0)),!!r||!!n}async function Jn(t,e){if(!xl(t))return;try{require.resolve("svelte-loader")}catch{await j("TypeScript",["typescript"]),await j("Svelte",["svelte-loader","svelte-preprocess"]),console.log(D("Svelte")),process.exit(0)}return{plugins:void 0,loaders:[{test:/\.svelte\.ts$/,use:[require.resolve("svelte-loader")],include:t,exclude:/node_modules/},{test:/\.(svelte|svelte\.js)$/,use:{loader:require.resolve("svelte-loader"),options:{preprocess:(0,Wn.sveltePreprocess)({typescript:!0}),emitCss:!0,compilerOptions:{dev:e==="development",css:"injected"},hotReload:e==="development"}},include:t,exclude:/node_modules/},{test:/node_modules\/svelte\/.*\.mjs$/,resolve:{fullySpecified:!1}}],alias:void 0}}var xt=class t{static name="plugin-js-frameworks";manifestPath;mode;constructor(e){this.manifestPath=e.manifestPath,this.mode=e.mode}async configureOptions(e){let s=e.options.mode||"development",r=Ce.default.dirname(this.manifestPath),n=await En(e,r),i=await On(r),o=await Cn(r),c=await Nn(r),l=await Jn(r,s);e.options.resolve.alias={...n?.alias||{},...i?.alias||{},...o?.alias||{},...c?.alias||{},...l?.alias||{},...e.options.resolve.alias},e.options.module.rules=[{test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Ce.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:{loader:"builtin:swc-loader",options:{sync:!0,module:{type:"es6"},minify:s==="production",isModule:!0,sourceMap:this.mode==="development",env:{targets:["chrome >= 100"]},jsc:{parser:{syntax:K(r)?"typescript":"ecmascript",tsx:K(r)&&(ht(r)||Fe(r)),jsx:!K(r)&&(ht(r)||Fe(r)),dynamicImport:!0},transform:{react:{development:s==="development",refresh:s==="development",runtime:"automatic",importSource:"react",...Fe(r)?{pragma:"h",pragmaFrag:"Fragment",throwIfNamespace:!0,useBuiltins:!1}:{}}}}}}},...n?.loaders||[],...i?.loaders||[],...o?.loaders||[],...c?.loaders||[],...l?.loaders||[],...e.options.module.rules].filter(Boolean),i?.plugins?.forEach(p=>p.apply(e)),o?.plugins?.forEach(p=>p.apply(e)),c?.plugins?.forEach(p=>p.apply(e)),l?.plugins?.forEach(p=>p.apply(e)),K(r)&&(e.options.resolve.tsConfig={configFile:Ce.default.resolve(Ce.default.dirname(this.manifestPath),"tsconfig.json")})}async apply(e){if((e.options.mode||"development")==="production"){e.hooks.beforeRun.tapPromise(t.name,async()=>await this.configureOptions(e));return}await this.configureOptions(e)}};var ji=a(require("path"));var zn=a(require("path"));function Hn(t,e){if(!e||!e.action||!e.action.default_popup)return;let s=e.action.default_popup;return zn.default.join(t,s)}var Vn=a(require("path"));function Xn(t,e){if(!e||!e.browser_action||!e.browser_action.default_popup)return;let s=e.browser_action.default_popup;return Vn.default.join(t,s)}var wt=a(require("path"));function Gn(t,e){let s={newtab:void 0};if(!e||!e.chrome_url_overrides)return{"chrome_url_overrides/newtab":void 0};if(e.chrome_url_overrides.history){let r=e.chrome_url_overrides.history;s={"chrome_url_overrides/history":wt.default.join(t,r)}}if(e.chrome_url_overrides.newtab){let r=e.chrome_url_overrides.newtab;s={"chrome_url_overrides/newtab":wt.default.join(t,r)}}if(e.chrome_url_overrides.bookmarks){let r=e.chrome_url_overrides.bookmarks;s={"chrome_url_overrides/bookmarks":wt.default.join(t,r)}}return s}var Zn=a(require("path"));function Kn(t,e){if(!e||!e.devtools_page)return;let s=e.devtools_page;return Zn.default.join(t,s)}var Js=a(require("path"));function Yn(t,e){if(e.options_page){let r=e.options_page;return Js.default.join(t,r)}if(!e||!e.options_ui||!e.options_ui.page)return;let s=e.options_ui.page;return Js.default.join(t,s)}var Qn=a(require("path"));function ei(t,e){if(!e||!e.page_action||!e.page_action.default_popup)return;let s=e.page_action.default_popup;return Qn.default.join(t,s)}var ti=a(require("path"));function si(t,e){if(!e||!e.sandbox||!e.sandbox.pages)return{"sandbox/page-0":void 0};let s=e.sandbox.pages,r={};for(let[n,i]of s.entries())r[`sandbox/page-${n}`]=ti.default.join(t,i);return r}var ri=a(require("path"));function ni(t,e){if(!e||!e.side_panel||!e.side_panel.default_path)return;let s=e.side_panel.default_path;return ri.default.join(t,s)}var ii=a(require("path"));function oi(t,e){if(!e||!e.sidebar_action||!e.sidebar_action.default_panel)return;let s=e.sidebar_action.default_panel;return ii.default.join(t,s)}function je(t,e){return{"action/default_popup":Hn(t,e),"browser_action/default_popup":Xn(t,e),...Gn(t,e),devtools_page:Kn(t,e),"options_ui/page":Yn(t,e),"page_action/default_popup":ei(t,e),...si(t,e),"side_panel/default_path":ni(t,e),"sidebar_action/default_panel":oi(t,e)}}var zs=a(require("path"));function ai(t,e){if(!e||!e.action||!e.action.default_icon)return;if(typeof e.action.default_icon=="string")return zs.default.join(t,e.action.default_icon);let s=[];for(let r in e.action.default_icon)s.push(zs.default.join(t,e.action.default_icon[r]));return s}var Hs=a(require("path"));function ci(t,e){if(!e||!e.browser_action||!e.browser_action.default_icon)return;let s=[];if(typeof e.browser_action.default_icon=="string")return Hs.default.join(t,e.browser_action.default_icon);for(let r in e.browser_action.default_icon){let n=e.browser_action.default_icon[r]=Hs.default.join(t,e.browser_action.default_icon[r]);s.push(n)}return s}var Vs=a(require("path"));function li(t,e){if(!(!e||!e.browser_action||!e.browser_action.theme_icons)){for(let s of e.browser_action.theme_icons)s.light&&(s.light=Vs.default.join(t,s.light)),s.dark&&(s.dark=Vs.default.join(t,s.dark)),s.size&&delete s.size;return e.browser_action.theme_icons}}var pi=a(require("path"));function fi(t,e){if(!e||!e.icons)return;let s=[];for(let r in e.icons){let n=pi.default.join(t,e.icons[r]);s.push(n)}return s}var Xs=a(require("path"));function ui(t,e){if(!e||!e.page_action||!e.page_action.default_icon)return;if(typeof e.page_action.default_icon=="string")return Xs.default.join(t,e.page_action.default_icon);let s=[];for(let r in e.page_action.default_icon){let n=Xs.default.join(t,e.page_action.default_icon[r]);s.push(n)}return s}var mi=a(require("path"));function di(t,e){return!e||!e.sidebar_action||!e.sidebar_action.default_icon?void 0:mi.default.join(t,e.sidebar_action.default_icon)}function gi(t,e){return{action:ai(t,e),browser_action:ci(t,e),"browser_action/theme_icons":li(t,e),icons:fi(t,e),page_action:ui(t,e),sidebar_action:di(t,e)}}var hi=a(require("path"));function yi(t,e){let s={};return!e||!e.declarative_net_request||!e.declarative_net_request.rule_resources?{"declarative_net_request/rule_resources-0":void 0}:(e.declarative_net_request.rule_resources.forEach(n=>{s[`declarative_net_request/${n.id}`]=hi.default.join(t,n.path)}),s)}var bi=a(require("path"));function xi(t,e){if(!e||!e.storage||!e.storage.managed_schema)return;let s=e.storage.managed_schema;return bi.default.join(t,s)}function wi(t,e){return{...yi(t,e),"storage/managed_schema":xi(t,e)}}var De=a(require("path")),Le=a(require("fs"));function vi(t,e){let s=De.default.join(De.default.dirname(e),"_locales"),r=[];if(Le.default.existsSync(s))for(let n of Le.default.readdirSync(s)){let i=De.default.join(s,n);if(i&&Le.default.statSync(i).isDirectory())for(let o of Le.default.readdirSync(i))r.push(De.default.join(t,"_locales",n,o))}return r}var Si=a(require("path"));function _i(t,e){if(!e||!e.background)return;let s=e.background.scripts;if(s)return s.map(r=>Si.default.join(t,r))}var Pi=a(require("path"));function Ei(t,e){if(!e||!e.background)return;let s=e.background.service_worker;if(s)return Pi.default.join(t,s)}var Gs=a(require("path"));function ki(t,e){if(!e||!e.content_scripts)return{"content_scripts/content-0":void 0};let s=i=>{if(i.js?.length!==0)return i.js?.map(o=>Gs.default.join(t,o))},r=i=>{if(i.css?.length!==0)return i.css?.map(o=>Gs.default.join(t,o))},n={};for(let[i,o]of e.content_scripts.entries()){let c=s(o),l=r(o);n[`content_scripts/content-${i}`]=[...(c||[]).filter(p=>p!=null),...(l||[]).filter(p=>p!=null)]}return n}var $i=a(require("path"));function Fi(t,e){if(!e||!e.user_scripts||!e.user_scripts.api_script)return;let s=e.user_scripts.api_script;return $i.default.join(t,s)}function Oe(t,e){return{"background/scripts":_i(t,e),"background/service_worker":Ei(t,e),...ki(t,e),"user_scripts/api_script":Fi(t,e)}}function Ci(t){if(!(!t||!t.web_accessible_resources||!t.web_accessible_resources.length))return t.web_accessible_resources}function le({manifestPath:t,browser:e}){let s=ji.default.dirname(t),r=require(t),n=P(r,e||"chrome");return{html:je(s,n),icons:gi(s,n),json:wi(s,n),locales:vi(s,t),scripts:Oe(s,n),web_accessible_resources:Ci(n)}}var pe=a(require("path"));var vt=a(require("fs")),Ie=a(require("path"));function St(t,e){if(!vt.default.existsSync(t)||!vt.default.statSync(t).isDirectory())return[];let s=[];function r(n){let i=vt.default.readdirSync(n,{withFileTypes:!0});for(let o of i){let c=Ie.default.join(n,o.name);o.isDirectory()?r(c):o.isFile()&&e(o.name)&&s.push(c)}}return r(t),s}function _t(t,e,s=""){return!e||!e.length?{}:e.reduce((r,n)=>{let i=Ie.default.extname(n),o=Ie.default.basename(n,i),c=s?`${s}/${o}`:Ie.default.relative(t,n);return{...r,[c]:n}},{})}function Di({manifestPath:t}){let e=pe.default.dirname(t),s={public:pe.default.join(e,"public"),pages:pe.default.join(e,"pages"),scripts:pe.default.join(e,"scripts")},r={public:St(s.public,()=>!0),pages:St(s.pages,i=>i.endsWith(".html")),scripts:St(s.scripts,i=>[".js",".mjs",".jsx",".mjsx",".ts",".mts",".tsx",".mtsx"].includes(pe.default.extname(i)))};return{public:_t(e,r.public),pages:_t(e,r.pages,"pages"),scripts:_t(e,r.scripts,"scripts")}}var Li=a(require("fs")),fe=a(require("@rspack/core"));var Pt=class{manifestPath;constructor(e){this.manifestPath=e.manifestPath}apply(e){e.hooks.thisCompilation.tap("manifest:emit-manifest",s=>{s.hooks.processAssets.tap({name:"manifest:emit-manifest",stage:fe.Compilation.PROCESS_ASSETS_STAGE_PRE_PROCESS},()=>{let r=this.manifestPath,n;try{let c=Li.default.readFileSync(r,"utf-8");n=JSON.parse(c),"$schema"in n&&delete n.$schema}catch(c){s.errors.push(new fe.default.WebpackError(qr(c)));return}let i=JSON.stringify(n,null,2);s.emitAsset("manifest.json",new fe.sources.RawSource(i))})})}};var Me=require("@rspack/core");function Oi(t,e){return t.background&&t.background.scripts&&{background:{...t.background,...t.background.scripts&&{scripts:[...t.background.scripts.map(s=>h("background/scripts.js",s,e))]}}}}var Ii=a(require("path"));var Et=t=>Ii.default.basename(t);function Mi(t,e){return t.browser_action&&{browser_action:{...t.browser_action,...t.browser_action.default_popup&&{default_popup:h("browser_action/default_popup.html",t.browser_action.default_popup,e)},...t.browser_action.default_icon&&{default_icon:typeof t.browser_action.default_icon=="string"?h(`icons/${Et(t.browser_action.default_icon)}`,t.browser_action.default_icon,e):Object.fromEntries(Object.entries(t.browser_action.default_icon).map(([s,r])=>[s,h(`icons/${Et(r)}`,r,e)]))},...t.browser_action.theme_icons&&{theme_icons:t.browser_action.theme_icons.map(s=>({...s,...s.light&&{light:h(`browser_action/${Et(s.light)}`,s.light,e)},...s.dark&&{dark:h(`browser_action/${Et(s.dark)}`,s.dark,e)}}))}}}}function Ai(t,e){return t.declarative_net_request&&{declarative_net_request:{...t.declarative_net_request,rule_resources:t.declarative_net_request.rule_resources.map(s=>({...s,path:s.path&&h(`declarative_net_request/${s.id}.json`,s.path,e)}))}}}function Ri(t,e){return{...Oi(t,e),...Mi(t,e),...Ai(t,e)}}var Ti=a(require("path"));var Ni=t=>Ti.default.basename(t);function Ui(t,e){return t.action&&{action:{...t.action,...t.action.default_popup&&{default_popup:h("action/default_popup.html",t.action.default_popup,e)},...t.action.default_icon&&{default_icon:typeof t.action.default_icon=="string"?h(`action/${Ni(t.action.default_icon)}`,t.action.default_icon,e):Object.fromEntries(Object.entries(t.action.default_icon).map(([s,r])=>[s,h(`action/${Ni(r)}`,r,e)]))}}}}function Bi(t,e){return t.background&&t.background.service_worker&&{background:{...t.background,...t.background.service_worker&&{service_worker:h("background/service_worker.js",t.background.service_worker,e)}}}}function kt(t,e){return t.side_panel&&{side_panel:{...t.side_panel.default_path&&{default_path:h("side_panel/default_path.html",t.side_panel.default_path,e)}}}}function qi(t,e){return{...Ui(t,e),...Bi(t,e),...kt(t,e)}}function Wi(t,e){return t.background&&t.background.page&&{background:{...t.background,...t.background.page&&{page:h("background/page.html",t.background.page,e)}}}}function Ji(t,e){return t.chrome_url_overrides&&{chrome_url_overrides:{...t.chrome_url_overrides.bookmarks&&{bookmarks:h("chrome_url_overrides/bookmarks.html",t.chrome_url_overrides.bookmarks,e)},...t.chrome_url_overrides.history&&{history:h("chrome_url_overrides/history.html",t.chrome_url_overrides.history,e)},...t.chrome_url_overrides.newtab&&{newtab:h("chrome_url_overrides/newtab.html",t.chrome_url_overrides.newtab,e)}}}}function zi(t,e){return t.content_scripts&&{content_scripts:t.content_scripts.map((s,r)=>{let n=[...new Set(s.js)],i=[...new Set(s.css)];return{...s,js:[...n.map(o=>h(`content_scripts/content-${r}.js`,o,e))],css:[...i.map(o=>h(`content_scripts/content-${r}.css`,o,e))]}})}}function Hi(t,e){return t.devtools_page&&{devtools_page:h("devtools_page.html",t.devtools_page,e)}}var Vi=a(require("path"));var wl=t=>Vi.default.basename(t);function Xi(t,e){return t.icons&&{icons:Object.fromEntries(Object.entries(t.icons).map(([s,r])=>[s,h(`icons/${wl(r)}`,r,e)]))}}function Gi(t,e){return t.options_page&&{options_page:h("options_ui/page.html",t.options_page,e)}}function Zi(t,e){return t.options_ui&&{options_ui:{...t.options_ui,...t.options_ui.page&&{page:h("options_ui/page.html",t.options_ui.page,e)}}}}var Yi=a(require("path"));var Ki=t=>Yi.default.basename(t);function Qi(t,e){return t.page_action&&{page_action:{...t.page_action,...t.page_action.default_popup&&{default_popup:h("page_action/default_popup.html",t.page_action.default_popup,e)},...t.page_action.default_icon&&{default_icon:typeof t.page_action.default_icon=="string"?h(`icons/${Ki(t.page_action.default_icon)}`,t.page_action.default_icon,e):Object.fromEntries(Object.entries(t.page_action.default_icon).map(([s,r])=>[s,h(`icons/${Ki(r)}`,r,e)]))}}}}function eo(t,e){return t.sandbox&&{sandbox:{...t.sandbox,...t.sandbox.pages&&{pages:t.sandbox.pages.map((s,r)=>h(`sandbox/page-${r}.html`,s,e))}}}}var to=a(require("path"));var vl=t=>to.default.basename(t);function so(t,e){return t.sidebar_action&&{sidebar_action:{...t.sidebar_action,...t.sidebar_action.default_panel&&{default_panel:h("sidebar_action/default_panel.html",t.sidebar_action.default_panel,e)},...t.sidebar_action.default_icon&&{default_icon:h(`icons/${vl(t.sidebar_action.default_icon)}`,t.sidebar_action.default_icon,e)}}}}function ro(t,e){return t.storage&&{storage:{...t.storage.managed_schema&&{managed_schema:h("storage/managed_schema.json",t.storage.managed_schema,e)}}}}var no=a(require("path"));var Sl=t=>no.default.basename(t);function io(t,e){return t.theme&&{theme:{...t.theme,...t.theme.images&&{images:{...t.theme.images,theme_frame:h(`theme/images/${Sl(t.theme.images.theme_frame)}`,t.theme.images.theme_frame,e)}}}}}function oo(t,e){return t.user_scripts&&{user_scripts:{...t.user_scripts,...t.user_scripts.api_script&&{api_script:h("user_scripts/api_script.js",t.user_scripts.api_script,e)}}}}function ao(t){return t.web_accessible_resources&&t.web_accessible_resources.length&&{web_accessible_resources:t.web_accessible_resources}}function co(t,e){return{...Wi(t,e),...Ji(t,e),...zi(t,e),...Hi(t,e),...Xi(t,e),...Gi(t,e),...Zi(t,e),...Qi(t,e),...eo(t,e),...kt(t,e),...so(t,e),...ro(t,e),...io(t,e),...oo(t,e),...ao(t)}}function Zs(t,e,s){let r=e||require(t);return JSON.stringify({...r,...co(r,s),...Ri(r,s),...qi(r,s)},null,2)}var $t=class{manifestPath;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.excludeList=e.excludeList}applyDevOverrides(e){return e.content_scripts?e.content_scripts.map((s,r)=>(s.css.length&&!s.js.length&&(s.js=[h(`content_scripts-${r}`,"dev.js",{})]),s)):{}}apply(e){e.hooks.thisCompilation.tap("manifest:update-manifest",s=>{s.hooks.processAssets.tap({name:"manifest:update-manifest",stage:Me.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},()=>{if(s.errors.length>0)return;let r=W(s,this.manifestPath),n=Zs(this.manifestPath,r,this.excludeList||{}),i={...r,...JSON.parse(n)};e.options.mode==="development"&&i.content_scripts&&(i.content_scripts=this.applyDevOverrides(i));let o=JSON.stringify(i,null,2),c=new Me.sources.RawSource(o);s.updateAsset("manifest.json",c)}),e.options.mode==="production"&&s.hooks.processAssets.tap("manifest:update-manifest",()=>{if(s.errors.length>0)return;let r=W(s,this.manifestPath),n=Zs(this.manifestPath,r,this.excludeList||{}),i={...r,...JSON.parse(n)},o=JSON.stringify(i,null,2),c=new Me.sources.RawSource(o);s.updateAsset("manifest.json",c)})})}};var lo=a(require("fs")),Ft=class{dependencyList;constructor(e){this.dependencyList=e}apply(e){e.hooks.afterCompile.tap("manifest:add-dependency",s=>{if(s.errors?.length)return;let r=new Set(s.fileDependencies);this.dependencyList&&this.dependencyList.forEach(n=>{lo.default.existsSync(n)&&(r.has(n)||(r.add(n),s.fileDependencies.add(n)))})})}};var po=a(require("fs")),fo=a(require("path")),jt=a(require("@rspack/core"));var Ct=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}extractPaths(e){let s=Array.isArray(e)?e:[e];if(typeof s[0]=="string")return s;let r=[];if(typeof e=="object"&&!Array.isArray(e)){let n=e;n.light&&r.push(n.light),n.dark&&r.push(n.dark)}return r}handleErrors(e,s){let r=[".png",".jpg",".jpeg",".svg",".gif",".webp"],n=[".json"],i=[".js",".ts",".jsx",".tsx",".mjs",".cjs"],o=".html",c=Object.entries(this.includeList||{});for(let[l,p]of c)if(p){let u=this.extractPaths(p);for(let m of u){let g=fo.default.extname(m),b=require(this.manifestPath),S=P(b,"chrome").name||"Extension.js";if(!po.default.existsSync(m)){if(m.startsWith("/"))return;let E=ie(S,l,m);r.includes(g)?e.errors.push(new s(E)):n.includes(g)?e.errors.push(new s(E)):i.includes(g)?e.errors.push(new s(E)):g===o?e.errors.push(new s(E)):e.errors.push(new s(E))}}}}apply(e){e.hooks.compilation.tap("manifest:check-manifest-files",s=>{s.hooks.processAssets.tap({name:"compatibility:check-manifest-files",stage:jt.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COUNT},()=>{let r=jt.default.WebpackError;this.handleErrors(s,r)})})}};var uo=a(require("fs")),Lt=a(require("@rspack/core"));var Dt=class{manifestPath;browser;includeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList}flattenAndSort(e){return e.flat(1/0).sort()}apply(e){e.hooks.watchRun.tapAsync("manifest:throw-if-recompile-is-needed",(s,r)=>{if((s.modifiedFiles||new Set).has(this.manifestPath)){let i=s.options.context||"",o=`${i}/package.json`;if(!uo.default.existsSync(o)){r();return}let c=require(this.manifestPath),l=P(c,this.browser),p=this.flattenAndSort(Object.values(je(i,l))),u=this.flattenAndSort(Object.values(Oe(i,l)));s.hooks.thisCompilation.tap("manifest:throw-if-recompile-is-needed",m=>{m.hooks.processAssets.tap({name:"manifest:check-manifest-files",stage:Lt.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COMPATIBILITY},()=>{let b=m.getAsset("manifest.json")?.source.source().toString(),_=JSON.parse(b||"{}"),S=this.flattenAndSort(Object.values(je(i,_))),E=this.flattenAndSort(Object.values(Oe(i,_)));if(u.toString()!==E.toString()||p.toString()!==S.toString()){let A=p.filter(q=>!S.includes(q))[0],T=S.filter(q=>!p.includes(q))[0],_e=Wr(T,A);m.errors.push(new Lt.default.WebpackError(_e))}})})}r()})}};var Ot=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Pt({manifestPath:this.manifestPath}).apply(e),new Ct({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new $t({manifestPath:this.manifestPath,excludeList:this.excludeList}).apply(e),new Ft([this.manifestPath]).apply(e),new Dt({manifestPath:this.manifestPath,browser:this.browser,includeList:this.includeList}).apply(e)}};var tr=a(require("path"));var Ys=a(require("fs")),At=a(require("@rspack/core")),bo=require("@rspack/core");var mo=a(require("fs")),me=a(require("path")),go=a(require("parse5-utils"));var ue=a(require("parse5-utils"));function It(t){try{return new URL(t),!0}catch{return!1}}function Ae(t,e){let{childNodes:s=[]}=t;for(let r of s)if(r.nodeName==="script"){let n=ue.default.getAttribute(r,"src");if(!n||It(n))continue;e({filePath:n,childNode:r,assetType:"script"})}else if(r.nodeName==="link"){let n=ue.default.getAttribute(r,"href"),i=ue.default.getAttribute(r,"rel");if(!n||It(n))continue;e(i==="dns-prefetch"||i==="icon"||i==="manifest"||i==="modulepreload"||i==="preconnect"||i==="prefetch"||i==="preload"||i==="prerender"?{filePath:n,childNode:r,assetType:"staticHref"}:{filePath:n,childNode:r,assetType:"css"})}else if(r.nodeName==="a"||r.nodeName==="area"){let n=ue.default.getAttribute(r,"href");if(!n||It(n))continue;e({filePath:n,childNode:r,assetType:"staticHref"})}else if(r.nodeName==="audio"||r.nodeName==="embed"||r.nodeName==="iframe"||r.nodeName==="img"||r.nodeName==="input"||r.nodeName==="source"||r.nodeName==="track"||r.nodeName==="video"){let n=ue.default.getAttribute(r,"src");if(!n||It(n))continue;e({filePath:n,childNode:r,assetType:"staticSrc"})}else Ae(r,e)}function L(t,e){let s={css:[],js:[],static:[]};if(!t)return s;let r=e||mo.default.readFileSync(t,{encoding:"utf8"}),n=go.default.parse(r),i=(o,c)=>me.default.join(me.default.dirname(o),c.startsWith("/")?me.default.relative(me.default.dirname(o),c):c);for(let o of n.childNodes)if(o.nodeName==="html"){for(let c of o.childNodes)(c.nodeName==="head"||c.nodeName==="body")&&Ae(c,({filePath:l,assetType:p})=>{let u=i(t,l);switch(p){case"script":s.js?.push(u);break;case"css":s.css?.push(u);break;case"staticSrc":case"staticHref":if(l.startsWith("#"))break;s.static?.push(u);break;default:break}});return{css:s.css,js:s.js,static:s.static}}}function ho(t,e,s){let r=Object.keys(t).find(i=>{let o=t[i];return t[i]===e||L(o)?.js?.includes(e)||L(o)?.css?.includes(e)})||"",n=Ks(e);return r?`/${r.replace(n,"")}${s}`:`${e.replace(n,"")}${s}`}function Ks(t){switch(me.default.extname(t)){case".js":case".mjs":case".ts":case".tsx":return".js";case".css":case".scss":case".sass":case".less":return".css";case".html":return".html";default:return".js"}}function z(t,e,s){return s?`/${t}${e}`:`${t}${e}`}function yo(t,e){return Object.values(e||{}).some(s=>s===t)}var Mt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){let s=require(this.manifestPath),n=P(s,"chrome").name||"Extension.js";e.hooks.thisCompilation.tap("html:emit-html-file",i=>{i.hooks.processAssets.tap({name:"AddAssetsToCompilationPlugin",stage:At.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{let o=Object.entries(this.includeList||{});for(let c of o){let[l,p]=c;if(p){if(!Ys.default.existsSync(p)){let m=ie(n,l,p);i.warnings.push(new At.default.WebpackError(m));return}let u=Ys.default.readFileSync(p,"utf8");if(!$(p,this.excludeList)){let m=new bo.sources.RawSource(u),g=z(l,".html");i.emitAsset(g,m)}}}})})}};var Rt=a(require("fs")),de=a(require("path")),Y=a(require("@rspack/core"));var Nt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.thisCompilation.tap("html:add-assets-to-compilation",s=>{s.hooks.processAssets.tap({name:"html:add-assets-to-compilation",stage:Y.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL},()=>{if(s.errors.length>0)return;let r=Object.entries(this.includeList||{});for(let n of r){let[i,o]=n,c=i+".html";if(o){let l=s.getAsset(c);if(l){let p=l.source.source().toString(),u=L(o,p)?.static,m=[...new Set(u)];for(let g of m)if(!g.startsWith("/")){if(!Rt.default.existsSync(g)&&!yo(g,this.includeList)&&!de.default.basename(g).startsWith("#")){let A=nt(o,g);g.startsWith("/")||s.warnings.push(new Y.default.WebpackError(A));return}let b=Rt.default.readFileSync(g),_=new Y.sources.RawSource(b),S=de.default.join("assets",de.default.basename(g));if(!s.getAsset(S))if(g.endsWith(".html")){let E=L(g),A=[...E?.js||[],...E?.css||[],...E?.static||[]];s.emitAsset(S,_),A.forEach(T=>{let _e=Rt.default.readFileSync(T),q=new Y.sources.RawSource(_e),jr=de.default.join("assets",de.default.basename(T));s.getAsset(jr)||s.emitAsset(jr,q)})}else s.emitAsset(S,_)}}}}})})}};var xo=a(require("path")),Qs=a(require("fs"));var Tt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){let s=this.includeList||{};for(let r of Object.entries(s)){let[n,i]=r;if(i){if(!Qs.default.existsSync(i))return;let o=L(i),c=o?.js||[],l=o?.css||[],p=[...c,...l].filter(u=>!$(u,this.excludeList));if(e.options.mode==="development"){let u=xo.default.resolve(__dirname,"minimum-script-file.mjs");p.push(u)}Qs.default.existsSync(i)&&($(i,this.excludeList)||(e.options.entry={...e.options.entry,[n]:{import:p}}))}}}};var Bt=require("@rspack/core");var er=a(require("fs")),H=a(require("path")),O=a(require("parse5-utils"));function wo(t,e,s,r,n){let i=er.default.readFileSync(s,{encoding:"utf8"}),o=O.default.parse(i),c=!!t.getAsset(e+".css"),l=!1;for(let p of o.childNodes)if(p.nodeName==="html"){for(let u of p.childNodes){if((u.nodeName==="head"||u.nodeName==="body")&&Ae(u,({filePath:m,childNode:g,assetType:b})=>{let _=H.default.dirname(s),S=H.default.resolve(_,m),E=Ks(S),A=$(H.default.resolve(_,m),n),T=H.default.join("/",H.default.normalize(m)),_e=sn(S,r);switch(b){case"script":{A?p=O.default.setAttribute(g,"src",T):(p=O.default.remove(g),l=!0);break}case"css":{A?p=O.default.setAttribute(g,"href",T):(p=O.default.remove(g),c=!0);break}case"staticHref":case"staticSrc":{if(A)p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",T);else if(_e){let q=ho(r,S,E);p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",q)}else{let q=H.default.join("assets",H.default.basename(S,E));er.default.existsSync(S)&&(p=O.default.setAttribute(g,b==="staticSrc"?"src":"href",z(q,"",!0)))}break}default:break}}),u.nodeName==="head"&&c){let m=O.default.createNode("link");m.attrs=[{name:"rel",value:"stylesheet"},{name:"href",value:z(e,".css",!0)}],O.default.append(u,m)}if(u.nodeName==="body"&&(l||t.options.mode!=="production")){let m=O.default.createNode("script");m.attrs=[{name:"src",value:z(e,".js",!0)}],O.default.append(u,m)}}return O.default.serialize(o)}}var Ut=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("html:update-html-file",s=>{s.hooks.processAssets.tap({name:"html:update-html-file",stage:Bt.Compilation.PROCESS_ASSETS_STAGE_DERIVED},()=>{if(s.errors.length>0)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[i,o]=n;if(o){let c=wo(s,i,o,r,this.excludeList||{});if(!$(o,this.excludeList)&&c){let l=new Bt.sources.RawSource(c),p=z(i,".html");s.updateAsset(p,l)}}}})})}};var vo=a(require("fs")),So=require("@rspack/core");var qt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.thisCompilation.tap("html:add-to-file-dependencies",s=>{s.hooks.processAssets.tap({name:"html:add-to-file-dependencies",stage:So.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[,i]=n;if(i){let o=L(i),c=new Set(s.fileDependencies);if(vo.default.existsSync(i)){let l=[i,...o?.static||[]];for(let p of l)c.has(p)||(c.add(p),p===i&&s.fileDependencies.add(p))}}}})})}};var _o=a(require("fs"));var Wt=class{manifestPath;includeList;initialHtmlAssets={};constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}hasEntriesChanged(e,s){if(!s||!e||e.length!==s.length)return!0;for(let r=0;r<e.length;r++)if(e[r]!==s[r])return!0;return!1}storeInitialHtmlAssets(e){Object.entries(e).forEach(([s,r])=>{let n=r;if(n){if(!_o.default.existsSync(n)){let i=require(this.manifestPath),c=P(i,"chrome").name||"Extension.js";console.error(ie(c,s,n)),process.exit(1)}this.initialHtmlAssets[n]={js:L(n)?.js||[],css:L(n)?.css||[]}}})}apply(e){let s=this.includeList||{};this.storeInitialHtmlAssets(s),e.hooks.make.tapAsync("html:throw-if-recompile-is-needed",(r,n)=>{let i=e.modifiedFiles||new Set,o=Array.from(i)[0];if(o&&this.initialHtmlAssets[o]){let c=L(o)?.js||[],l=L(o)?.css||[],{js:p,css:u}=this.initialHtmlAssets[o];(this.hasEntriesChanged(l,u)||this.hasEntriesChanged(c,p))&&console.log(Gr(o))}n()})}};var Po=a(require("fs")),Eo=require("@rspack/core");function Pl(t,e){let s="Module not found: Error: Can't resolve ",n=e.message.replace(s,"").split("'")[1];if(e.message.includes(s))for(let i of Object.entries(t)){let[,o]=i;if(o){if(!Po.default.existsSync(o))return null;let c=L(o),l=c?.js?.filter(u=>!u.startsWith("/"))||[],p=c?.css?.filter(u=>!u.startsWith("/"))||[];if(l.includes(n)||p.includes(n)){let u=nt(o,n);return new Eo.WebpackError(u)}}}return null}var Jt=class{manifestPath;includeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList}apply(e){e.hooks.compilation.tap("html:handle-common-errors",s=>{s.hooks.afterSeal.tapPromise("html:handle-common-errors",async()=>{s.errors.forEach((r,n)=>{let i=Pl(this.includeList||{},r);i&&(s.errors[n]=i)})})})}};var zt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Mt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Nt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Tt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Ut({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[tr.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(tr.default.join(__dirname,"ensure-hmr-for-scripts.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}}]}),new qt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Wt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new Jt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var Re=a(require("path"));var sr=a(require("fs")),ko=a(require("path"));function $o(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>{let i=sr.default.existsSync(n)&&!$(n,e),o=ko.default.extname(n);return i&&(o===".js"||o===".mjs"||o===".jsx"||o===".ts"||o===".tsx")})}function Fo(t,e){return(Array.isArray(t)?t||[]:t?[t]:[]).filter(n=>sr.default.existsSync(n)&&!$(n,e)&&(n.endsWith(".css")||n.endsWith(".scss")||n.endsWith(".sass")||n.endsWith(".less")))}var Ht=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList||{},this.excludeList=e.excludeList||{}}apply(e){let s=this.includeList||{},r={};for(let[n,i]of Object.entries(s)){let o=$o(i,this.excludeList),c=Fo(i,this.excludeList),l=[...o,...c];(c.length||o.length)&&(r[n]={import:l})}e.options.entry={...e.options.entry,...r}}};var Q=require("@rspack/core"),El=['var isBrowser = !!(() => { try { return browser.runtime.getURL("/") } catch(e) {} })()','var isChrome = !!(() => { try { return chrome.runtime.getURL("/") } catch(e) {} })()'],kl=[...El,`var runtime = isBrowser ? browser : isChrome ? chrome : (typeof self === 'object' && self.addEventListener) ? { get runtime() { throw new Error("No chrome or browser runtime found") } } : { runtime: { getURL: x => x } }`],Vt=class t{apply(e){let{RuntimeGlobals:s}=e.webpack;e.hooks.compilation.tap("PublicPathRuntimeModule",r=>{r.hooks.runtimeRequirementInTree.for(s.publicPath).tap(t.name,n=>{let i=$l();return r.addRuntimeModule(n,i),!0})})}};function $l(){class t extends Q.RuntimeModule{constructor(){super("publicPath",Q.RuntimeModule.STAGE_BASIC)}generate(){let s=this.compilation?.outputOptions.publicPath;return Q.Template.asString([...kl,`var path = ${JSON.stringify(this.compilation?.getPath(s||"",{hash:this.compilation.hash||"XXXX"}))}`,`${Q.RuntimeGlobals.publicPath} = typeof importScripts === 'function' || !(isBrowser || isChrome) ? path : runtime.runtime.getURL(path);`])}}return new t}var Xt=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList||{},this.excludeList=e.excludeList||{}}apply(e){let s=require(this.manifestPath),r=P(s,this.browser);r.content_scripts?.some(n=>n.world&&n.world.toLowerCase()==="main")&&Z.includes(this.browser)&&!r.key&&(console.error(Yr()),process.exit(1))}};var Gt=class{manifestPath;browser;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Ht({manifestPath:this.manifestPath,includeList:this.includeList||{},excludeList:this.excludeList||{}}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Re.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Re.default.join(__dirname,"add-hmr-accept-code.js")),options:{manifestPath:this.manifestPath,mode:e.options.mode,includeList:this.includeList||{},excludeList:this.excludeList||{}}}]}),new Vt().apply(e),new Xt({manifestPath:this.manifestPath,browser:this.browser||"chrome",includeList:this.includeList||{},excludeList:this.excludeList||{}}).apply(e),e.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[Re.default.dirname(this.manifestPath)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:require.resolve(Re.default.join(__dirname,"deprecated-shadow-root.js")),options:{manifestPath:this.manifestPath,includeList:this.includeList||{},excludeList:this.excludeList||{}}}]})}};var Te=a(require("path")),Ue=a(require("fs")),V=a(require("@rspack/core"));var ge=a(require("path")),Ne=a(require("fs"));function rr(t){let e=ge.default.join(ge.default.dirname(t),"_locales"),s=[];if(Ne.default.existsSync(e))for(let r of Ne.default.readdirSync(e)){let n=ge.default.join(e,r);if(n&&Ne.default.statSync(n).isDirectory())for(let i of Ne.default.readdirSync(n))s.push(ge.default.join(ge.default.dirname(t),"_locales",r,i))}return s}var Zt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("locales:module",s=>{s.hooks.processAssets.tap({name:"locales:module",stage:V.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(!Ue.default.existsSync(this.manifestPath)){let n=require(this.manifestPath),o=P(n,"chrome").name||"Extension.js";s.errors.push(new V.default.WebpackError(Br(o,this.manifestPath)));return}if(s.errors.length>0)return;let r=rr(this.manifestPath);for(let n of Object.entries(r||[])){let[i,o]=n,c=o;if(c){if(Te.default.extname(c)!==".json")continue;if(!Ue.default.existsSync(c)){s.warnings.push(new V.default.WebpackError(it(i,c)));return}let l=Ue.default.readFileSync(c),p=new V.sources.RawSource(l),u=e.options.context||Te.default.dirname(this.manifestPath);if(!$(c,this.excludeList)){let m=Te.default.relative(u,c);s.emitAsset(m,p)}}}})}),e.hooks.thisCompilation.tap("locales:module",s=>{s.hooks.processAssets.tap({name:"locales:module",stage:V.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=rr(this.manifestPath);for(let n of Object.entries(r||[])){let[,i]=n;if(i){let o=new Set(s.fileDependencies),c=r||[];for(let l of c)Ue.default.existsSync(l)&&Te.default.extname(l)===".json"&&(o.has(l)||(o.add(l),s.fileDependencies.add(l)))}}})})}};var Kt=a(require("fs")),ee=a(require("@rspack/core"));var Yt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("json:module",s=>{s.hooks.processAssets.tap({name:"json:module",stage:ee.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors.length>0)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[i,o]=n,c=Array.isArray(o)?o:[o];for(let l of c)if(l&&!$(l,this.excludeList)){if(!Kt.default.existsSync(l)){s.warnings.push(new ee.default.WebpackError(it(i,l)));return}let p=Kt.default.readFileSync(l),u=new ee.sources.RawSource(p);s.emitAsset(i+".json",u)}}})}),e.hooks.thisCompilation.tap("json:module",s=>{s.hooks.processAssets.tap({name:"json:module",stage:ee.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[,i]=n,o=Array.isArray(i)?i:[i];for(let c of o)if(c){let l=new Set(s.fileDependencies);$(c,this.excludeList)||Kt.default.existsSync(c)&&(l.has(c)||(l.add(c),s.fileDependencies.add(c)))}}})})}};var nr=a(require("fs")),Co=a(require("path")),es=require("@rspack/core");var Qt=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("icons:emit-file",s=>{s.hooks.processAssets.tap({name:"icons:emit-file",stage:es.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER},()=>{if(s.errors.length>0)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[i,o]=n;if(o===void 0)continue;let c=Array.isArray(o)?typeof o[0]=="string"?o:o.map(Object.values).flat():[o];for(let l of c)if(l){if(!nr.default.existsSync(l))continue;if(!$(l,this.excludeList)){let p=nr.default.readFileSync(l),u=new es.sources.RawSource(p),m=Co.default.basename(l),b=`${i.endsWith("theme_icons")?i.replace("theme_icons",""):i}/${m}`;s.emitAsset(b,u)}}}})})}};var jo=a(require("fs")),Do=require("@rspack/core"),ts=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){e.hooks.thisCompilation.tap("icons:add-to-file-dependencies",s=>{s.hooks.processAssets.tap({name:"icons:add-to-file-dependencies",stage:Do.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},()=>{if(s.errors?.length)return;let r=this.includeList||{};for(let n of Object.entries(r)){let[,i]=n,o=Array.isArray(i)?typeof i[0]=="string"?i:i.map(Object.values).flat():[i];for(let c of o)if(c){let l=new Set(s.fileDependencies);jo.default.existsSync(c)&&(l.has(c)||(l.add(c),s.fileDependencies.add(c)))}}})})}};var ss=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}apply(e){new Qt({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e),new ts({manifestPath:this.manifestPath,includeList:this.includeList,excludeList:this.excludeList}).apply(e)}};var ns=require("@rspack/core");function Lo(t){return t.map(e=>{try{let s=new URL(e.replace(/^\*:\/\//,"https://"));return e.endsWith(s.pathname)?`${e.substring(0,e.length-s.pathname.length)}/*`:s.pathname==="/"?`${e}/*`:e}catch{return e}})}var rs=class{manifestPath;includeList;excludeList;constructor(e){this.manifestPath=e.manifestPath,this.includeList=e.includeList,this.excludeList=e.excludeList}generateManifestPatches(e,s){let r=W(e,this.manifestPath),n=r.web_accessible_resources||[],i=r.web_accessible_resources||[];for(let[l,p]of Object.entries(s)){let u=r.content_scripts?.find(m=>m.js?.some(g=>g.includes(l)));if(u){let m=u.matches||[],g=p.filter(b=>!b.endsWith(".map")&&!b.endsWith(".js"));if(g.length===0)continue;if(r.manifest_version===3){let b=n.find(_=>_.matches.some(S=>m.includes(S)));b?g.forEach(_=>{b.resources.includes(_)||b.resources.push(_)}):n.push({resources:g,matches:Lo(m)})}else g.forEach(b=>{i.includes(b)||i.push(b)})}}r.manifest_version===3?n.length>0&&(r.web_accessible_resources=n):i.length>0&&(r.web_accessible_resources=Array.from(new Set(i)));let o=JSON.stringify(r,null,2),c=new ns.sources.RawSource(o);e.getAsset("manifest.json")&&e.updateAsset("manifest.json",c)}apply(e){e.hooks.thisCompilation.tap("plugin-extension:feature-web-resources",s=>{s.hooks.processAssets.tap({name:"plugin-extension:feature-web-resources",stage:ns.Compilation.PROCESS_ASSETS_STAGE_ANALYSE},()=>{let r=[],n=Object.keys(this.includeList||{});for(let c of n.filter(Boolean))c.startsWith("content_scripts")&&(Array.isArray(c)?r.push(...c):typeof c=="string"&&r.push(c));let i=s.chunkGraph,o={};s.entrypoints.forEach((c,l)=>{if(r.includes(l)){let p=[];c.chunks.forEach(u=>{Array.from(i.getChunkModulesIterable(u)).forEach(g=>{i.getModuleChunks(g).forEach(b=>{b.auxiliaryFiles.forEach(_=>{p.includes(_)||p.push(_)})})})}),o[l]=p}}),this.generateManifestPatches(s,o)})})}};var I=a(require("fs")),M=a(require("path")),Oo=a(require("chokidar")),is=class{options;constructor(e){this.options=e}ensureDirectoryExistence(e){let s=M.default.dirname(e);if(I.default.existsSync(s))return!0;I.default.mkdirSync(s,{recursive:!0})}copyFile(e,s){this.ensureDirectoryExistence(s),I.default.copyFileSync(e,s)}copyFolder(e,s){I.default.existsSync(s)||I.default.mkdirSync(s,{recursive:!0}),I.default.readdirSync(e).forEach(n=>{let i=M.default.join(e,n),o=M.default.join(s,n);I.default.statSync(i).isDirectory()?this.copyFolder(i,o):this.copyFile(i,o)})}apply(e){let s=M.default.dirname(this.options.manifestPath),r=M.default.join(s,"public"),n=e.options.output?.path||"";I.default.existsSync(r)&&(e.hooks.afterEmit.tap("special-folders:copy-public-folder",()=>{let i=M.default.join(n,"/");I.default.existsSync(i)||I.default.mkdirSync(i,{recursive:!0}),I.default.existsSync(r)&&this.copyFolder(r,i)}),e.options.mode!=="production"&&e.hooks.afterPlugins.tap("special-folders:copy-public-folder",()=>{let i=M.default.join(s,"public"),o=Oo.default.watch(i,{ignoreInitial:!0});o.on("add",c=>{let l=M.default.join(n,M.default.relative(s,c));this.copyFile(c,l)}),o.on("change",c=>{let l=M.default.join(n,M.default.relative(s,c));this.copyFile(c,l)}),o.on("unlink",c=>{let l=M.default.join(n,M.default.relative(s,c));I.default.existsSync(l)&&I.default.unlinkSync(l)}),e.hooks.watchClose.tap("special-folders:copy-public-folder",()=>{o.close().catch(console.error)})}))}};var U=a(require("path")),ir=a(require("chokidar"));var os=class{manifestPath;constructor(e){this.manifestPath=e}throwCompilationError(e,s,r){let n=U.relative(process.cwd(),s),c=Jr(r?"Adding":"Removing",e,e==="pages"?"HTML pages":"script files",n);if(r){console.warn(c);return}console.error(c),process.exit(1)}apply(e){e.hooks.afterPlugins.tap("special-folders:warn-upon-folder-changes",()=>{let s=U.dirname(this.manifestPath),r=U.join(s,"pages"),n=U.join(s,"scripts"),i=ir.watch(r,{ignoreInitial:!0}),o=ir.watch(n,{ignoreInitial:!0}),c=e.options.resolve?.extensions;i.on("add",l=>{l.endsWith(".html")&&this.throwCompilationError("pages",l,!0)}),i.on("unlink",l=>{l.endsWith(".html")&&this.throwCompilationError("pages",l)}),o.on("add",l=>{c?.includes(U.extname(l))&&this.throwCompilationError("scripts",l,!0)}),o.on("unlink",l=>{c?.includes(U.extname(l))&&this.throwCompilationError("scripts",l)}),e.hooks.watchClose.tap("WarnUponFolderChanges",()=>{i.close().catch(console.error),o.close().catch(console.error)})})}};var as=class{static name="plugin-special-folders";options;constructor(e){this.options=e}apply(e){let{manifestPath:s}=this.options;new is({manifestPath:s}).apply(e),e.options.mode==="development"&&e.options.watchOptions&&new os(s).apply(e)}};var cs=class{static name="plugin-extension";manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){let s=this.manifestPath,r=le({manifestPath:s,browser:this.browser}),n=Di({manifestPath:s,browser:this.browser});new Ot({browser:this.browser,manifestPath:s,includeList:{...r.html,...r.icons,...r.json,...r.scripts},excludeList:n.public}).apply(e),new zt({manifestPath:s,includeList:{...r.html,...n.pages},excludeList:{...n.public,...n.scripts}}).apply(e),new Gt({manifestPath:s,browser:this.browser,includeList:{...r.scripts,...n.scripts},excludeList:{...n.public,...n.pages}}).apply(e),new Zt({manifestPath:s}).apply(e),new Yt({manifestPath:s,includeList:r.json,excludeList:n.public}).apply(e),new ss({manifestPath:s,includeList:r.icons,excludeList:n.public}).apply(e),new rs({manifestPath:s,includeList:{...r.scripts,...n.scripts},excludeList:n.public}).apply(e),new as({manifestPath:s}).apply(e)}};var We=a(require("path"));var Io=a(require("path")),Mo=a(require("ws"));function ls(t,e){t.clients.forEach(s=>{s.readyState===Mo.default.OPEN&&s.send(JSON.stringify(e))})}function Ao(t,e,s){if(!s||!e)return;let r=le({manifestPath:e}).locales,n=le({manifestPath:e}).scripts,i=le({manifestPath:e}).json;if(!t){process.env.EXTENSION_ENV==="development"&&console.error("WebSocket server is not running.");return}Io.default.basename(s)==="manifest.json"&&ls(t,{changedFile:"manifest.json"}),r?.forEach(o=>{o.includes(s)&&ls(t,{changedFile:"_locales"})}),Object.entries(n).forEach(([o,c])=>{let l=Array.isArray(c)?c:[c];Object.values(l).flatMap(u=>u).includes(s)&&o==="background/service_worker"&&ls(t,{changedFile:"service_worker"})}),Object.entries(i).forEach(([o,c])=>{c?.includes(s)&&o==="declarative_net_request"&&ls(t,{changedFile:"declarative_net_request"})})}var ar=a(require("path")),Uo=a(require("fs")),qe=a(require("ws"));var Be=a(require("path")),Fl=a(require("http")),No=a(require("https")),or=a(require("fs"));var Ro=t=>{if(!or.default.existsSync(t))return;let e=Be.default.basename(t);return or.default.readFileSync(Be.default.join(__dirname,"certs",e))};function To(t){let e={key:Ro(Be.default.join(__dirname,"certs","localhost.key")),cert:Ro(Be.default.join(__dirname,"certs","localhost.cert"))},s=No.default.createServer(e,(r,n)=>{n.writeHead(200),n.end()});return s.on("error",r=>{throw console.error(Kr(t)),new Error(r.message)}),{server:s,port:t}}function Cl(t,e){switch(e){case"chrome":return new qe.default.Server({host:"localhost",port:t});case"edge":return new qe.default.Server({host:"localhost",port:t+1});case"firefox":return new qe.default.Server({server:To(t+2).server});default:return new qe.default.Server({host:"localhost",port:8888})}}async function Bo(t,e){let s=t.options.context||"",r=require(ar.default.join(s,"manifest.json")),i=Cl(8e3,e.browser);if(i.on("connection",o=>{o.send(JSON.stringify({status:"serverReady"})),o.on("error",c=>{console.log(Vr(c))}),o.on("message",c=>{let l=JSON.parse(c.toString());if(l.status==="clientReady"){let p=require(ar.default.join(s,"manifest.json"));setTimeout(()=>{console.log(Ns(p,e.browser,l)),console.log("")},2500),rn(e.browser)&&setTimeout(()=>{console.log(Hr(e.browser))},5e3)}})}),e.browser==="firefox"||e.browser==="gecko-based"){let o=nn(r);console.log(Ns(r,e.browser,o)),console.log(""),Uo.default.existsSync(rt)||(console.log(Zr()),console.log(""))}return i}var qo=a(require("path")),cr=a(require("fs"));function Wo(t,e){let s=qo.default.resolve(__dirname,`./extensions/${t}-manager-extension/reload-service.js`);try{let r=cr.default.readFileSync(s,"utf8"),n=r.replace(/__RELOAD_PORT__/g,e.toString());n!==r&&cr.default.writeFileSync(s,n,"utf8")}catch(r){console.error(`Error processing file: ${r.message}`)}}process.on("SIGINT",()=>{process.exit()});process.on("SIGTERM",()=>{process.exit()});var Je=class{manifestPath;port;browser;stats;constructor(e){this.manifestPath=e.manifestPath,this.port=e.port||8e3,this.browser=e.browser||"chrome",this.stats=e.stats}async apply(e){if(!this.manifestPath)return;Wo(this.browser,this.port);let s=await Bo(e,{...this,mode:e.options.mode,browser:this.browser,stats:this.stats,port:this.port});e.hooks.watchRun.tapAsync("reload:create-web-socket-server",(r,n)=>{let o=(r.modifiedFiles||new Set).values().next().value;if(!o){n();return}let c=We.default.relative(We.default.dirname(this.manifestPath),o),l=We.default.relative(process.cwd(),We.default.dirname(o));process.env.EXTENSION_ENV==="development"&&console.info(`\u25BA\u25BA Updated file \`${c}\` (relative to ${l})`),this.manifestPath&&Ao(s,this.manifestPath,o),n()})}};var lr=a(require("path"));function Jo(t,e,s){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[lr.default.dirname(s)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:lr.default.resolve(__dirname,"./inject-chromium-client-loader"),options:{manifestPath:s,browser:e}}]})}var pr=a(require("path"));function zo(t,e,s){t.options.module.rules.push({test:/\.(js|mjs|jsx|mjsx|ts|mts|tsx|mtsx)$/,include:[pr.default.dirname(s)],exclude:[/[\\/]node_modules[\\/]/],use:[{loader:pr.default.resolve(__dirname,"./inject-firefox-client-loader"),options:{manifestPath:s,browser:e}}]})}var fs=require("@rspack/core");var fr=a(require("content-security-policy-parser"));function Ho(t){let e="";for(let s in t)e+=`${s} ${t[s].join(" ")}; `;return e.trim()}function Vo(t){let e=t.content_security_policy;if(!e)return"script-src 'self' 'unsafe-eval' blob: filesystem:; object-src 'self' blob: filesystem:; ";let s=(0,fr.default)(e);if(!s.get("script-src"))s.set("script-src",["'self'","'unsafe-eval'","blob:","filesystem:"]);else{let n=s.get("script-src")||[];n.includes("'unsafe-eval'")||n.push("'unsafe-eval'"),n.includes("blob:")||n.push("blob:"),n.includes("filesystem:")||n.push("filesystem:"),s.set("script-src",n)}s.get("object-src")||s.set("object-src",["'self'","blob:","filesystem:"]);let r=Object.fromEntries(s.entries());return Ho(r)}function Xo(t){let e=t.content_security_policy;if(!e)return{extension_pages:"script-src 'self'; object-src 'self';"};let s=(0,fr.default)(e.extension_pages||""),r={};for(let o in r)s.get(o)||s.set(o,r[o]);let n=Object.fromEntries(s.entries());return{extension_pages:Ho(n)}}function Go(t){let e=["/*.json","/*.js","/*.css"],s=t.web_accessible_resources;if(!s||s.length===0)return e;let r=new Set(s);for(let n of e)r.has(n)||r.add(n);return Array.from(r)}function Zo(t){let e=["/*.json","/*.js","/*.css"];return[...t.web_accessible_resources||[],{resources:e,matches:["<all_urls>"]}]}function ur(t,e){return t.background?{background:{...t.background}}:e==="firefox"||e==="gecko-based"?{background:{...t.background||{},scripts:["background/script.js"]}}:t.manifest_version===2?{background:{...t.background||{},scripts:["background/script.js"]}}:{background:{...t.background||{},service_worker:"background/service_worker.js"}}}function mr(t){return t.externally_connectable&&!t.externally_connectable.ids?{externally_connectable:{...t.externally_connectable,ids:[...new Set(t.externally_connectable.ids||[]),"*"]}}:t.externally_connectable&&!t.externally_connectable.ids?{externally_connectable:{...t.externally_connectable,ids:["*"]}}:{}}var ps=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}generateManifestPatches(e){let s=W(e,this.manifestPath),r={...s,content_security_policy:s.manifest_version===3?Xo(s):Vo(s),...s.manifest_version===3?s.permissions?{permissions:[...new Set(["scripting",...s.permissions])]}:{permissions:["scripting"]}:{},...ur(s,this.browser),...mr(s),web_accessible_resources:s.manifest_version===3?Zo(s):Go(s)},n=JSON.stringify(r,null,2),i=new fs.sources.RawSource(n);e.getAsset("manifest.json")&&e.updateAsset("manifest.json",i)}apply(e){e.hooks.thisCompilation.tap("run-chromium:apply-manifest-dev-defaults",s=>{s.hooks.processAssets.tap({name:"run-chromium:apply-manifest-dev-defaults",stage:fs.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},r=>{if(!this.manifestPath){let n="No manifest.json found in your extension bundle. Unable to patch manifest.json.";s&&e.rspack.WebpackError&&s.errors.push(new e.rspack.WebpackError(`run-chromium: ${n}`));return}this.generateManifestPatches(s)})})}};var dr=a(require("fs")),he=a(require("path")),Ko=a(require("webpack-target-webextension"));var us=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}handleBackground(e,s,r){let n=he.default.resolve(__dirname,s==="firefox"||s==="gecko-based"?"minimum-firefox-file.mjs":"minimum-chromium-file.mjs"),i=he.default.dirname(this.manifestPath),o=P(r,s);if(s==="firefox"||s==="gecko-based"){o=r.background;let c=o?.scripts;if(c&&c.length>0){let l=he.default.join(i,c[0]);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/script",n)}else if(o=r.background,r.manifest_version===3){let c=o?.service_worker;if(c){let l=he.default.join(i,c);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/service_worker",n)}else if(r.manifest_version===2){let c=o?.scripts;if(c&&c.length>0){let l=he.default.join(i,c[0]);this.ensureFileExists(l)}else this.addDefaultEntry(e,"background/script",n)}}ensureFileExists(e){if(!dr.default.existsSync(e)&&this.manifestPath){let s=require(this.manifestPath),n=P(s,"chrome").name||"Extension.js",i=Xr(n,e);throw console.error(i),new Error(i)}}addDefaultEntry(e,s,r){e.options.entry={...e.options.entry,[s]:{import:[r]}}}getEntryName(e){if(e.background){if(this.browser==="firefox"||this.browser==="gecko-based")return{pageEntry:"background/script"};if(e.manifest_version===3)return{serviceWorkerEntry:"background/service_worker"};if(e.manifest_version===2)return{pageEntry:"background/script"}}return{pageEntry:"background"}}apply(e){if(!this.manifestPath||!dr.default.lstatSync(this.manifestPath).isFile())return;let s=require(this.manifestPath),r=P(s,this.browser);this.handleBackground(e,this.browser,r),new Ko.default({background:this.getEntryName(r),weakRuntimeCheck:!0}).apply(e)}};var gr=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}apply(e){(Z.includes(this.browser)||this.browser==="chromium-based")&&Jo(e,this.browser,this.manifestPath),(this.browser==="firefox"||this.browser==="gecko-based")&&zo(e,this.browser,this.manifestPath),new ps({manifestPath:this.manifestPath,browser:this.browser}).apply(e),new us({manifestPath:this.manifestPath,browser:this.browser}).apply(e)}},Yo=gr;var ms=class{static name="plugin-reload";manifestPath;browser;port;stats;autoReload;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.port=e.port,this.stats=e.stats,this.autoReload=e.autoReload}apply(e){e.options.mode==="development"&&new Je({manifestPath:this.manifestPath,browser:this.browser,port:this.port,stats:this.stats}).apply(e),e.options.mode==="development"&&new Yo({manifestPath:this.manifestPath,browser:this.browser,autoReload:this.autoReload,stats:this.stats}).apply(e)}};var Qo=a(require("@rspack/core")),ds=class{manifestPath;browser;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser}apply(e){new Qo.default.ProvidePlugin({browser:require.resolve("webextension-polyfill")}).apply(e)}};var hs=require("@rspack/core");var gs=class{browser;manifestPath;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome"}patchManifest(e){let s=P(e,this.browser);return JSON.stringify(s,null,2)}apply(e){e.hooks.compilation.tap("compatibility:browser-specific-fields",s=>{s.hooks.processAssets.tap({name:"compatibility:browser-specific-fields",stage:hs.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE},()=>{let r=W(s,this.manifestPath),n=this.patchManifest(r),i=new hs.sources.RawSource(n);s.updateAsset("manifest.json",i)})})}};var ys=class{static name="plugin-compatibility";manifestPath;browser;polyfill;constructor(e){this.manifestPath=e.manifestPath,this.browser=e.browser||"chrome",this.polyfill=e.polyfill||!1}async apply(e){this.polyfill&&this.browser!=="firefox"&&new ds({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e),new gs({manifestPath:this.manifestPath,browser:this.browser||"chrome"}).apply(e)}};var xc=a(require("os")),Sr=a(require("path"));var $a=a(require("fs")),Fa=a(require("path")),Ca=require("child_process");var be=a(require("path")),He=a(require("fs"));var ea={alternate_error_pages:{enabled:!1},autofill:{enabled:!1},browser:{check_default_browser:!1,default_browser_setting_enabled:!1},default_apps:"install",distribution:{alternate_shortcut_text:!1,auto_launch_chrome:!1,import_bookmarks:!1,import_history:!1,import_home_page:!1,import_search_engine:!1,suppress_first_run_bubble:!0,do_not_register_for_update_launch:!0,make_chrome_default:!1,make_chrome_default_for_user:!1,require_eula:!1,suppress_first_run_default_browser_prompt:!0},dns_prefetching:{enabled:!1},download:{default_directory:"/tmp/",directory_upgrade:!0,open_pdf_in_adobe_reader:!1,prompt_for_download:!0},enable_do_not_track:!0,extensions:{theme:{use_system:!1},toolbarsize:-1,ui:{developer_mode:!0}},plugins:{plugins_list:[{enabled:!1,name:"Java(TM)"}],show_details:!0},profile:{password_manager_enabled:!1},safebrowsing:{enabled:!1,safebrowsingextended_reporting_enabled:!1},savefile:{default_directory:"/tmp",type:0},search:{suggest_enabled:!1},session:{restore_on_startup:1},sync:{suppress_start:!0},sync_promo:{show_on_first_run_allowed:!1,show_ntp_bubble:!1},translate:{enabled:!1}},ta={...ea},sa={...ea};var y=require("@colors/colors/safe");function w(t,e){let s=e==="warn"?(0,y.brightYellow)("\u25BA\u25BA\u25BA"):e==="info"?(0,y.cyan)("\u25BA\u25BA\u25BA"):e==="error"?`${(0,y.bold)((0,y.red)("ERROR"))} in ${ye(t)} ${(0,y.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")}`:(0,y.brightGreen)("\u25BA\u25BA\u25BA");return`${(0,y.gray)("")}${s}`}function ye(t){return t.charAt(0).toUpperCase()+t.slice(1)}function bs(t){let e=ye(t);return`${w(t,"info")} Creating new ${e} user profile...`}function ra(t){return`${w(t,"success")} Instance already running.`}function na(t){return`${w(t,"info")} Instance exited.`}function xs(t,e){let s=t==="firefox"||t==="gecko-based"?"Add-on":"Extension";return`${w(t,"success")} ${ye(t)} ${s} running in ${(0,y.brightBlue)(e||"unknown")} mode.`}function ze(t,e){let s=e=="null"?`Browser is not installed
|
|
75
75
|
|
|
76
76
|
`:`Can't find the browser path
|
|
77
77
|
|