@rsbuild/core 2.1.13 → 2.2.0-beta.2
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/compiled/connect-next/index.d.ts +11 -10
- package/compiled/connect-next/package.json +1 -1
- package/compiled/css-loader/index.js +2 -2
- package/compiled/html-rspack-plugin/index.js +14 -14
- package/compiled/postcss-loader/index.js +6 -6
- package/dist/626.js +106 -65
- package/dist/client/hmr.js +2 -5
- package/dist/connect-next.js +1 -1
- package/dist/helpers/restartManager.d.ts +2 -0
- package/dist/manifest-plugin.js +1 -1
- package/dist/memfs.js +1 -1
- package/dist/open.js +2 -2
- package/dist/server/helper.d.ts +1 -1
- package/dist/server/runner/type.d.ts +1 -1
- package/dist/types/config.d.ts +1 -1
- package/package.json +5 -5
- package/types.d.ts +2 -3
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
|
|
2
|
-
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}let
|
|
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};
|
package/dist/server/helper.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ export declare function printServerURLs({ urls: originalUrls, port, routes, prot
|
|
|
60
60
|
strictPort: boolean;
|
|
61
61
|
tryLimits?: number;
|
|
62
62
|
}) => Promise<number>;
|
|
63
|
-
export declare const resolvePort: (config: NormalizedConfig) => Promise<{
|
|
63
|
+
export declare const resolvePort: (config: NormalizedConfig, lastPort?: number) => Promise<{
|
|
64
64
|
port: number;
|
|
65
65
|
portTip: string | undefined;
|
|
66
66
|
}>;
|
|
@@ -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
|
|
5
|
+
}) => unknown;
|
|
6
6
|
export type BasicRunnerFile = {
|
|
7
7
|
path: string;
|
|
8
8
|
content: string;
|
package/dist/types/config.d.ts
CHANGED
|
@@ -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
|
|
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.
|
|
3
|
+
"version": "2.2.0-beta.2",
|
|
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
|
|
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": "
|
|
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.
|
|
64
|
+
"memfs": "^4.68.1",
|
|
65
65
|
"mrmime": "^2.0.1",
|
|
66
66
|
"on-finished": "2.4.1",
|
|
67
|
-
"open": "^11.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 =
|
|
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
|
/**
|