@rsbuild/core 2.1.13 → 2.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/open.js CHANGED
@@ -1,2 +1,2 @@
1
- let e,r,o,t,a;import i from"node:process";import n from"node:path";import{fileURLToPath as s}from"node:url";import c,{execFile as l}from"node:child_process";import m,{constants as p}from"node:fs/promises";import{promisify as d}from"node:util";import f from"node:os";import u from"node:fs";import{Buffer as g}from"node:buffer";function w(){return void 0===r&&(r=(()=>{try{return u.statSync("/run/.containerenv"),!0}catch{return!1}})()||(void 0===e&&(e=function(){try{return u.statSync("/.dockerenv"),!0}catch{return!1}}()||function(){try{return u.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}()),e)),r}let h=()=>{if("linux"!==i.platform)return!1;if(f.release().toLowerCase().includes("microsoft"))return!w();try{if(u.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft"))return!w()}catch{}return!!(u.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop")||u.existsSync("/run/WSL"))&&!w()},v=i.env.__IS_WSL_TEST__?h:h(),x=d(c.execFile),S=()=>`${i.env.SYSTEMROOT||i.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,y=async(e,r={})=>{let{powerShellPath:o,...t}=r,a=y.encodeCommand(e);return x(o??S(),[...y.argumentsPrefix,a],{encoding:"utf8",...t})};y.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"],y.encodeCommand=e=>g.from(e,"utf16le").toString("base64"),y.escapeArgument=e=>`'${String(e).replaceAll("'","''")}'`;let b=d(c.execFile),E=(a="/mnt/",async function(){if(t)return t;let e="/etc/wsl.conf",r=!1;try{await m.access(e,p.F_OK),r=!0}catch{}if(!r)return a;let o=function(e){for(let r of e.split("\n")){if(/^\s*#/.test(r))continue;let e=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(r);if(e)return e.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}(await m.readFile(e,{encoding:"utf8"}));return void 0===o?a:t=(t=o).endsWith("/")?t:`${t}/`}),P=async()=>{let e=await E();return`${e}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},C=v?P:S,A=async()=>o??=(async()=>{try{let e=await C();return await m.access(e,p.X_OK),!0}catch{return!1}})(),B=async()=>{let e=await C(),r=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{stdout:o}=await y(r,{powerShellPath:e});return o.trim()},L=async e=>{if(/^[a-z]+:\/\//i.test(e))return e;try{let{stdout:r}=await b("wslpath",["-aw",e],{encoding:"utf8"});return r.trim()}catch{return e}};function T(e,r,o){let t=o=>Object.defineProperty(e,r,{value:o,enumerable:!0,writable:!0});return Object.defineProperty(e,r,{configurable:!0,enumerable:!0,get(){let e=o();return t(e),e},set(e){t(e)}}),e}let F=d(l);async function M(){if("darwin"!==i.platform)throw Error("macOS only");let{stdout:e}=await F("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),r=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(e),o=r?.groups.id??"com.apple.Safari";return"com.apple.safari"===o?"com.apple.Safari":o}let H=d(l);async function O(e,{humanReadableOutput:r=!0,signal:o}={}){if("darwin"!==i.platform)throw Error("macOS only");let t={};o&&(t.signal=o);let{stdout:a}=await H("osascript",["-e",e,r?[]:["-ss"]],t);return a.trim()}async function _(e){return O(`tell application "Finder" to set app_path to application file id "${e}" as string
2
- tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}let I=d(l),$={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},W=new Map(Object.entries($));class N extends Error{}async function k(e=I){let{stdout:r}=await e("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),o=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(r);if(!o)throw new N(`Cannot find Windows browser in stdout: ${JSON.stringify(r)}`);let{id:t}=o.groups,a=t.lastIndexOf("."),i=t.lastIndexOf("-"),n=-1===a?void 0:t.slice(0,a),s=-1===i?void 0:t.slice(0,i);return $[t]??$[n]??$[s]??{name:t,id:t}}let U=d(l);async function R(){if("darwin"===i.platform){let e=await M();return{name:await _(e),id:e}}if("linux"===i.platform){let{stdout:e}=await U("xdg-mime",["query","default","x-scheme-handler/http"]),r=e.trim();return{name:r.replace(/.desktop$/,"").replace("-"," ").toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase()),id:r}}if("win32"===i.platform)return k();throw Error("Only macOS, Linux, and Windows are supported")}let z=!!(i.env.SSH_CONNECTION||i.env.SSH_CLIENT||i.env.SSH_TTY),j=Symbol("fallbackAttempt"),D=import.meta.url?n.dirname(s(import.meta.url)):"",G=n.join(D,"xdg-open"),{platform:K,arch:V}=i,Y=async(e,r)=>{if(0===e.length)return;let o=[];for(let t of e)try{return await r(t)}catch(e){o.push(e)}throw AggregateError(o,"Failed to open in all supported apps")},q=async e=>{let r,o=!0===(e={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...e})[j];if(delete e[j],Array.isArray(e.app))return Y(e.app,r=>q({...e,app:r,[j]:!0}));let{name:t,arguments:a=[]}=e.app??{};if(a=[...a],Array.isArray(t))return Y(t,r=>q({...e,app:{name:r,arguments:a},[j]:!0}));if("browser"===t||"browserPrivate"===t){let r,o={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.apple.safari":"safari"};if(v){let e=await B();r=W.get(e)??{}}else r=await R();if(r.id in o){let i=o[r.id.toLowerCase()];if("browserPrivate"===t){if("safari"===i)throw Error("Safari doesn't support opening in private mode via command line");a.push({chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"}[i])}return q({...e,app:{name:Q[i],arguments:a}})}throw Error(`${r.name} is not supported as a default browser`)}let n=[],s={},l=!1;if(!v||w()||z||t||(l=await A()),"darwin"===K)r="open",e.wait&&n.push("--wait-apps"),e.background&&n.push("--background"),e.newInstance&&n.push("--new"),t&&n.push("-a",t);else if("win32"===K||l){r=await C(),n.push(...y.argumentsPrefix),v||(s.windowsVerbatimArguments=!0),v&&e.target&&(e.target=await L(e.target));let o=["$ProgressPreference = 'SilentlyContinue';","Start"];e.wait&&o.push("-Wait"),t?(o.push(y.escapeArgument(t)),e.target&&a.push(e.target)):e.target&&o.push(y.escapeArgument(e.target)),a.length>0&&o.push("-ArgumentList",(a=a.map(e=>y.escapeArgument(e))).join(",")),e.target=y.encodeCommand(o.join(" ")),e.wait||(s.stdio="ignore")}else{if(t)r=t;else{let e=!1;try{await m.access(G,p.X_OK),e=!0}catch{}r=i.versions.electron??("android"===K||!D||"/"===D||!e)?"xdg-open":G}a.length>0&&n.push(...a),e.wait||(s.stdio="ignore",s.detached=!0)}"darwin"===K&&a.length>0&&n.push("--args",...a),e.target&&n.push(e.target);let d=c.spawn(r,n,s);return e.wait?new Promise((r,o)=>{d.once("error",o),d.once("close",t=>{e.allowNonzeroExitCode||0===t?r(d):o(Error(`Exited with code ${t}`))})}):o?new Promise((e,r)=>{d.once("error",r),d.once("spawn",()=>{d.once("close",o=>{(d.off("error",r),0!==o)?r(Error(`Exited with code ${o}`)):(d.unref(),e(d))})})}):(d.unref(),new Promise((e,r)=>{d.once("error",r),d.once("spawn",()=>{d.off("error",r),e(d)})}))};function X(e){if("string"==typeof e||Array.isArray(e))return e;let{[V]:r}=e;if(!r)throw Error(`${V} is not supported`);return r}function J({[K]:e},{wsl:r}={}){if(r&&v)return X(r);if(!e)throw Error(`${K} is not supported`);return X(e)}let Q={browser:"browser",browserPrivate:"browserPrivate"};T(Q,"chrome",()=>J({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}})),T(Q,"brave",()=>J({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}})),T(Q,"firefox",()=>J({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"})),T(Q,"edge",()=>J({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"})),T(Q,"safari",()=>J({darwin:"Safari"}));export default((e,r)=>{if("string"!=typeof e)throw TypeError("Expected a `target`");return q({...r,target:e})});export{Q as apps};
1
+ let e,r,o,t,a;import i from"node:process";import n from"node:path";import{fileURLToPath as s}from"node:url";import l,{execFile as c}from"node:child_process";import m,{constants as p}from"node:fs/promises";import{promisify as d}from"node:util";import f from"node:os";import u from"node:fs";import{Buffer as g}from"node:buffer";function w(){return void 0===r&&(r=(()=>{try{return u.statSync("/run/.containerenv"),!0}catch{return!1}})()||(void 0===e&&(e=function(){try{return u.statSync("/.dockerenv"),!0}catch{return!1}}()||function(){try{return u.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}()),e)),r}let h=()=>{if("linux"!==i.platform)return!1;if(f.release().toLowerCase().includes("microsoft"))return!w();try{if(u.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft"))return!w()}catch{}return!!(u.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop")||u.existsSync("/run/WSL"))&&!w()},v=i.env.__IS_WSL_TEST__?h:h(),S=d(l.execFile),x=()=>`${i.env.SYSTEMROOT||i.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,y=async(e,r={})=>{let{powerShellPath:o,...t}=r,a=y.encodeCommand(e);return S(o??x(),[...y.argumentsPrefix,a],{encoding:"utf8",...t})};y.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"],y.encodeCommand=e=>g.from(e,"utf16le").toString("base64"),y.escapeArgument=e=>`'${String(e).replaceAll("'","''")}'`;let b=d(l.execFile),P=(a="/mnt/",async function(){if(t)return t;let e="/etc/wsl.conf",r=!1;try{await m.access(e,p.F_OK),r=!0}catch{}if(!r)return a;let o=function(e){for(let r of e.split("\n")){if(/^\s*#/.test(r))continue;let e=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(r);if(e)return e.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}(await m.readFile(e,{encoding:"utf8"}));return void 0===o?a:t=(t=o).endsWith("/")?t:`${t}/`}),E=async()=>{let e=await P();return`${e}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},C=v?E:x,A=async()=>o??=(async()=>{try{let e=await C();return await m.access(e,p.X_OK),!0}catch{return!1}})(),B=async()=>{let e=await C(),r=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{stdout:o}=await y(r,{powerShellPath:e,cwd:n.dirname(e)});return o.trim()},T=e=>/^[a-z]+:\/\//i.test(e),F=async e=>{let r=Array.isArray(e),o=r?e:[e],t=[],a=[];for(let[e,r]of o.entries())T(r)||(t.push(e),a.push(r));let i=[...o];if(a.length>0)try{let{stdout:e}=await b("wslpath",["-aw",...a],{encoding:"utf8"}),r=e.split(/\r?\n/).filter(Boolean);for(let[e,a]of t.entries())i[a]=r[e]??o[a]}catch{}return r?i:i[0]},L=d(l.execFile),M=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"],O=e=>g.from(e,"utf16le").toString("base64"),H=e=>[...M,O(e)],_=async(e,r={})=>{let{powerShellPath:o,...t}=r;return L(o??`${i.env.SYSTEMROOT||i.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,H(e),{encoding:"utf8",...t})};function I(e,r,o){let t=o=>Object.defineProperty(e,r,{value:o,enumerable:!0,writable:!0});return Object.defineProperty(e,r,{configurable:!0,enumerable:!0,get(){let e=o();return t(e),e},set(e){t(e)}}),e}_.argumentsPrefix=M,_.encodeCommand=O,_.escapeArgument=e=>`'${String(e).replaceAll("'","''")}'`,_.createArguments=H;let $=d(c);async function W(){if("darwin"!==i.platform)throw Error("macOS only");let{stdout:e}=await $("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),r=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(e),o=r?.groups.id??"com.apple.Safari";return"com.apple.safari"===o?"com.apple.Safari":o}let N=d(c);async function k(e,{humanReadableOutput:r=!0,signal:o}={}){if("darwin"!==i.platform)throw Error("macOS only");let t={};o&&(t.signal=o);let{stdout:a}=await N("osascript",["-e",e,r?[]:["-ss"]],t);return a.trim()}async function U(e){return k(`tell application "Finder" to set app_path to application file id "${e}" as string
2
+ tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}let R=d(c),z={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},j=new Map(Object.entries(z));class D extends Error{}async function G(e=R){let{stdout:r}=await e("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),o=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(r);if(!o)throw new D(`Cannot find Windows browser in stdout: ${JSON.stringify(r)}`);let{id:t}=o.groups,a=t.lastIndexOf("."),i=t.lastIndexOf("-"),n=-1===a?void 0:t.slice(0,a),s=-1===i?void 0:t.slice(0,i);return z[t]??z[n]??z[s]??{name:t,id:t}}let K=d(c);async function Y(){if("darwin"===i.platform){let e=await W();return{name:await U(e),id:e}}if("linux"===i.platform){let{stdout:e}=await K("xdg-mime",["query","default","x-scheme-handler/http"]),r=e.trim();return{name:r.replace(/.desktop$/,"").replace("-"," ").toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase()),id:r}}if("win32"===i.platform)return G();throw Error("Only macOS, Linux, and Windows are supported")}let V=!!(i.env.SSH_CONNECTION||i.env.SSH_CLIENT||i.env.SSH_TTY),q=Symbol("fallbackAttempt"),X=import.meta.url?n.dirname(s(import.meta.url)):"",J=n.join(X,"xdg-open"),{platform:Q,arch:Z}=i,ee=async(e,r)=>{if(0===e.length)return;let o=[];for(let t of e)try{return await r(t)}catch(e){o.push(e)}throw AggregateError(o,"Failed to open in all supported apps")},er=async e=>{let r,o=!0===(e={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...e})[q];if(delete e[q],Array.isArray(e.app))return ee(e.app,r=>er({...e,app:r,[q]:!0}));let{name:t,arguments:a=[]}=e.app??{};if(a=[...a],Array.isArray(t))return ee(t,r=>er({...e,app:{name:r,arguments:a},[q]:!0}));if("browser"===t||"browserPrivate"===t){let r,o={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.apple.safari":"safari"};if(v){let e=await B();r=j.get(e)??{}}else r=await Y();if(r.id in o){let i=o[r.id.toLowerCase()];if("browserPrivate"===t){if("safari"===i)throw Error("Safari doesn't support opening in private mode via command line");a.push({chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"}[i])}return er({...e,app:{name:ea[i],arguments:a}})}throw Error(`${r.name} is not supported as a default browser`)}let s=[],c={},d=!1;if(!v||w()||V||t||(d=await A()),"darwin"===Q)r="open",e.wait&&s.push("--wait-apps"),e.background&&s.push("--background"),e.newInstance&&s.push("--new"),t&&s.push("-a",t);else if("win32"===Q||d){r=await C(),s.push(..._.argumentsPrefix),v||(c.windowsVerbatimArguments=!0),v&&e.target&&(e.target=await F(e.target));let o=["$ProgressPreference = 'SilentlyContinue';","Start"];e.wait&&o.push("-Wait"),t?(o.push(_.escapeArgument(t)),e.target&&a.push(e.target)):e.target&&o.push(_.escapeArgument(e.target)),a.length>0&&o.push("-ArgumentList",(a=a.map(e=>_.escapeArgument(e))).join(",")),e.target=_.encodeCommand(o.join(" ")),e.wait||(c.stdio="ignore"),v&&(c.cwd=n.dirname(r))}else{if(t)r=t;else{let e=!1;try{await m.access(J,p.X_OK),e=!0}catch{}r=i.versions.electron??("android"===Q||!X||"/"===X||!e)?"xdg-open":J}a.length>0&&s.push(...a),e.wait||(c.stdio="ignore",c.detached=!0)}"darwin"===Q&&a.length>0&&s.push("--args",...a),e.target&&s.push(e.target);let f=l.spawn(r,s,c);return e.wait?new Promise((r,o)=>{f.once("error",o),f.once("close",t=>{e.allowNonzeroExitCode||0===t?r(f):o(Error(`Exited with code ${t}`))})}):o?new Promise((e,r)=>{f.once("error",r),f.once("spawn",()=>{f.once("close",o=>{(f.off("error",r),0!==o)?r(Error(`Exited with code ${o}`)):(f.unref(),e(f))})})}):(f.unref(),new Promise((e,r)=>{f.once("error",r),f.once("spawn",()=>{f.off("error",r),e(f)})}))};function eo(e){if("string"==typeof e||Array.isArray(e))return e;let{[Z]:r}=e;if(!r)throw Error(`${Z} is not supported`);return r}function et({[Q]:e},{wsl:r}={}){if(r&&v)return eo(r);if(!e)throw Error(`${Q} is not supported`);return eo(e)}let ea={browser:"browser",browserPrivate:"browserPrivate"};I(ea,"chrome",()=>et({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}})),I(ea,"brave",()=>et({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}})),I(ea,"firefox",()=>et({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"})),I(ea,"edge",()=>et({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"})),I(ea,"safari",()=>et({darwin:"Safari"}));export default((e,r)=>{if("string"!=typeof e)throw TypeError("Expected a `target`");return er({...r,target:e})});export{ea as apps};
@@ -2,7 +2,7 @@ import type { RspackOptionsNormalized } from '@rspack/core';
2
2
  export type RunnerRequirer = (currentDirectory: string, modulePath: string[] | string, context?: {
3
3
  file?: BasicRunnerFile;
4
4
  esmMode?: EsmMode;
5
- }) => unknown | Promise<unknown>;
5
+ }) => unknown;
6
6
  export type BasicRunnerFile = {
7
7
  path: string;
8
8
  content: string;
@@ -20,7 +20,7 @@ import type { ConfigChain, ConfigChainAsyncWithContext, ConfigChainWithContext,
20
20
  export type ToolsSwcConfig = ConfigChain<SwcLoaderOptions>;
21
21
  export type ToolsBundlerChainConfig = OneOrMany<(chain: RspackChain, utils: ModifyBundlerChainUtils) => MaybePromise<void>>;
22
22
  export type ToolsPostCSSContext = {
23
- addPlugins: (plugins: LoosePostCSSPlugin | LoosePostCSSPlugin[], options?: {
23
+ addPlugins: (plugins: OneOrMany<LoosePostCSSPlugin>, options?: {
24
24
  /**
25
25
  * Controls where the plugin is placed relative to the existing PostCSS plugins.
26
26
  * - `pre`: Insert the plugin before all existing plugins.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsbuild/core",
3
- "version": "2.1.13",
3
+ "version": "2.2.0-beta.1",
4
4
  "description": "The Rspack-based build tool.",
5
5
  "homepage": "https://rsbuild.rs",
6
6
  "bugs": {
@@ -35,7 +35,7 @@
35
35
  "types.d.ts"
36
36
  ],
37
37
  "dependencies": {
38
- "@rspack/core": "~2.1.10",
38
+ "@rspack/core": "~2.2.0-beta.1",
39
39
  "@swc/helpers": "^0.5.23"
40
40
  },
41
41
  "devDependencies": {
@@ -50,7 +50,7 @@
50
50
  "browserslist-load-config": "^1.0.3",
51
51
  "cac": "^7.0.0",
52
52
  "chokidar": "^5.0.0",
53
- "connect-next": "4.0.3",
53
+ "connect-next": "5.0.0",
54
54
  "core-js": "^3.50.0",
55
55
  "cors": "^2.8.6",
56
56
  "css-loader": "7.1.4",
@@ -61,10 +61,10 @@
61
61
  "http-proxy-middleware": "4.2.0",
62
62
  "jiti": "^2.7.0",
63
63
  "launch-editor-middleware": "^2.14.1",
64
- "memfs": "^4.68.0",
64
+ "memfs": "^4.68.1",
65
65
  "mrmime": "^2.0.1",
66
66
  "on-finished": "2.4.1",
67
- "open": "^11.0.0",
67
+ "open": "^11.0.1",
68
68
  "postcss": "^8.5.26",
69
69
  "postcss-load-config": "6.0.1",
70
70
  "postcss-loader": "8.2.1",
package/types.d.ts CHANGED
@@ -17,9 +17,8 @@ interface RsbuildTypeOptions {}
17
17
  /**
18
18
  * import.meta
19
19
  */
20
- type ImportMetaEnvFallbackKey = 'strictImportMetaEnv' extends keyof RsbuildTypeOptions
21
- ? never
22
- : string;
20
+ type ImportMetaEnvFallbackKey =
21
+ 'strictImportMetaEnv' extends keyof RsbuildTypeOptions ? never : string;
23
22
 
24
23
  interface ImportMetaEnv extends Record<ImportMetaEnvFallbackKey, any> {
25
24
  /**