rari 0.17.5 → 0.17.7
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/constants-C6nBL5YX.mjs +1 -0
- package/dist/image/runtime-config.d.mts +10 -0
- package/dist/image/runtime-config.mjs +1 -0
- package/dist/image/static.d.mts +1 -1
- package/dist/image.d.mts +4 -2
- package/dist/image.mjs +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/{static-modules-e8GEN_C9.d.mts → static-modules-BnpA9S9v.d.mts} +1 -0
- package/dist/{types-Cp7dbLe7.d.mts → types-yeW6ju9Y.d.mts} +1 -0
- package/dist/vite.d.mts +1 -1
- package/dist/vite.mjs +10 -8
- package/package.json +13 -9
- package/dist/constants-CRK2JRKf.mjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=3840,t=[640,750,828,1080,1200,1920,2048,3840],n=[16,32,48,64,96,128,256,384],r=[`avif`],i=[25,50,75,100],a=60,o=16,s=25;export{n as a,e as c,r as i,o as n,a as o,t as r,i as s,s as t};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/image/runtime-config.d.ts
|
|
2
|
+
export declare function configureImageSizes(options: {
|
|
3
|
+
readonly deviceSizes?: readonly number[];
|
|
4
|
+
readonly imageSizes?: readonly number[];
|
|
5
|
+
}): void;
|
|
6
|
+
export declare function getImageDeviceSizes(): readonly number[];
|
|
7
|
+
export declare function getImageSizes(): readonly number[];
|
|
8
|
+
export declare function getAllImageSizes(): readonly number[];
|
|
9
|
+
export declare function getMaxOptimizedWidth(): number;
|
|
10
|
+
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,r as t}from"../constants-C6nBL5YX.mjs";function n(e){return Object.freeze([...new Set(e.filter(e=>Number.isFinite(e)&&e>0&&e<=3840))].sort((e,t)=>e-t))}let r=t,i=e,a=n([...e,...t]),o=Math.max(...t);function s(e){if(e.deviceSizes!=null&&e.deviceSizes.length>0){let t=n(e.deviceSizes);t.length>0&&(r=t)}if(e.imageSizes!=null&&e.imageSizes.length>0){let t=n(e.imageSizes);t.length>0&&(i=t)}a=n([...i,...r]),o=Math.max(...r)}function c(){return r}function l(){return i}function u(){return a}function d(){return o}export{s as configureImageSizes,u as getAllImageSizes,c as getImageDeviceSizes,l as getImageSizes,d as getMaxOptimizedWidth};
|
package/dist/image/static.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import "../static-modules-
|
|
1
|
+
import "../static-modules-BnpA9S9v.mjs";
|
package/dist/image.d.mts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { n as ImageProps, r as StaticImageData, t as Image$1 } from "./static-modules-
|
|
1
|
+
import { n as ImageProps, r as StaticImageData, t as Image$1 } from "./static-modules-BnpA9S9v.mjs";
|
|
2
|
+
import { configureImageSizes } from "./image/runtime-config.mjs";
|
|
2
3
|
//#region src/image/constants.d.ts
|
|
3
4
|
type ImageFormat = 'avif' | 'webp' | 'jpeg';
|
|
5
|
+
export declare const MAX_OPTIMIZED_OUTPUT_WIDTH = 3840;
|
|
4
6
|
export declare const DEFAULT_DEVICE_SIZES: number[];
|
|
5
7
|
export declare const DEFAULT_IMAGE_SIZES: number[];
|
|
6
8
|
export declare const DEFAULT_FORMATS: ImageFormat[];
|
|
@@ -15,4 +17,4 @@ declare const Image: typeof Image$1 & {
|
|
|
15
17
|
$$id?: string;
|
|
16
18
|
};
|
|
17
19
|
//#endregion
|
|
18
|
-
export { Image, type ImageFormat, type ImageProps, type StaticImageData };
|
|
20
|
+
export { Image, type ImageFormat, type ImageProps, type StaticImageData, configureImageSizes };
|
package/dist/image.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,
|
|
1
|
+
import{a as e,c as t,i as n,n as r,o as i,r as a,s as o,t as s}from"./constants-C6nBL5YX.mjs";import{configureImageSizes as c}from"./image/runtime-config.mjs";import{c as l}from"react/compiler-runtime";import{useEffect as u,useLayoutEffect as d,useRef as f,useState as p}from"react";import{jsx as m,jsxs as h}from"react/jsx-runtime";import{preload as g}from"react-dom";import{getAllImageSizes as _,getImageDeviceSizes as v,getMaxOptimizedWidth as y}from"rari/image/runtime-config";import"virtual:rari-image-config";function b(e){return Math.min(Math.max(e,1),y())}function x(e){let t=_(),n=b(e);return t.find(e=>e>=n)??t[t.length-1]}function S(e){let t=/(^|[,\s])(1?\d?\d)vw/g,n=[];for(let r=t.exec(e);r!=null;r=t.exec(e))n.push(Number.parseInt(r[2],10));let r=_();if(n.length===0)return[...r];let i=Math.min(...n)*.01,a=v()[0]*i;return r.filter(e=>e>=a)}function C(e){let{fill:t,width:n,intrinsicWidth:r,sizes:i}=e,a=v();if(t)return{defaultWidth:y(),widths:a};let o=n!=null&&n!==0?n:r!=null&&r!==0?r:void 0;if(i!=null&&i!==``){let e=S(i);return{defaultWidth:o==null?e.at(-1)??1920:x(o),widths:e}}if(o==null)return{defaultWidth:1920,widths:a};let s=[...new Set([o,o*2].map(e=>x(e)))];return s.sort((e,t)=>e-t),{defaultWidth:s[0],widths:s}}function w(e,t,n,r){let i=new URLSearchParams;return i.set(`url`,e),i.set(`w`,t.toString()),i.set(`q`,n.toString()),r&&i.set(`f`,r),`/_rari/image?${i}`}function T(e,t,n,r,i){return e==null?w(t,n,r,i):e({src:t,width:n,quality:r})}function ee(e,t,n=!1,r){if(e!=null&&e!==``)return e;if(n)return`100vw`;if(t)return r!=null&&r!==0?`${r}px`:`100vw`}function te(e){if(e==null&&n.length===1&&n[0]===`avif`)return`avif`}function ne(e){if(!e.enabled)return;let{finalSrc:t,defaultWidth:n,widths:r,quality:i,sizes:a,loader:o,unoptimized:s,shouldUseSrcSet:c,format:l}=e;if(s){g(o==null?t:o({src:t,width:n,quality:i}),{as:`image`,fetchPriority:`high`});return}let u=T(o,t,n,i,l);if(c){g(u,{as:`image`,fetchPriority:`high`,imageSrcSet:A(o,t,r,i,l),...a==null?{}:{imageSizes:a},...l===`avif`?{type:`image/avif`}:{}});return}g(u,{as:`image`,fetchPriority:`high`,...l===`avif`?{type:`image/avif`}:{}})}function E(e,t,n){if(e!=null&&e!==0)return e;if(!t&&n!=null&&n!==0)return n}function re(e){let{src:t,width:n,height:r,fill:i,placeholder:a,blurDataURL:o,loader:s}=e,c=typeof t==`string`?t:t.src,l=typeof t==`string`?void 0:t.width,u=typeof t==`string`?void 0:t.height,d=o!=null&&o!==``?o:typeof t==`string`?void 0:t.blurDataURL,f=d!=null&&d!==``?d:void 0,p=a===`blur`&&f==null?T(s,c,16,25,`jpeg`):void 0;return{imgSrc:c,imgWidth:E(n,i,l),imgHeight:E(r,i,u),inlineBlurDataURL:f,optimizerBlurUrl:p}}function D(e){return{position:`absolute`,inset:0,width:`100%`,height:`100%`,objectFit:e?.objectFit??`cover`}}function O(e){return{backgroundImage:`url("${e}")`,backgroundSize:`cover`,backgroundPosition:`center`,filter:`blur(20px)`,transition:`filter 0.3s ease-out`}}function k(e){return e.complete&&e.naturalWidth>0}function ie(e){let{style:t,fill:n,placeholder:r,imgBlurDataURL:i,blurComplete:a}=e,o=r===`blur`&&i!=null&&i!==``&&!a,s=r===`blur`&&a;return{...t,...n?D(t):null,...o?O(i):null,...s?{filter:`none`,transition:`filter 0.3s ease-out`}:null}}function A(e,t,n,r,i){return n.map(n=>`${T(e,t,n,r,i)} ${n}w`).join(`, `)}function ae(e){let{unoptimized:t,loader:n,finalSrc:r,width:i,quality:a,format:o}=e;return t?n==null?r:n({src:r,width:i,quality:a}):T(n,r,i,a,o)}function j(e,t,n){if(!t||e==null)return;let r=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(n(),r.disconnect())},{rootMargin:`200px`});return r.observe(e),()=>{r.disconnect()}}function M(e){let{imgElement:t,loader:r,finalSrc:i,widths:a,quality:o,sizes:s}=e;return/* @__PURE__ */ h(`picture`,{children:[n.includes(`avif`)&&/* @__PURE__ */ m(`source`,{type:`image/avif`,srcSet:A(r,i,a,o,`avif`),sizes:s}),n.includes(`webp`)&&/* @__PURE__ */ m(`source`,{type:`image/webp`,srcSet:A(r,i,a,o,`webp`),sizes:s}),t]})}function oe(e){let t=l(19),{finalSrc:n,shouldEagerBlur:r,inlineBlurDataURL:i,optimizerBlurUrl:a,placeholder:o}=e,[s,c]=p(!1),[m,h]=p(n),[g,_]=p(r),v=f(null);m!==n&&(h(n),_(r),c(!1));let y;t[0]===o?y=t[1]:(y=()=>{if(o!==`blur`)return;let e=v.current;e!=null&&k(e)&&c(!0)},t[0]=o,t[1]=y);let b;t[2]!==n||t[3]!==o?(b=[o,n],t[2]=n,t[3]=o,t[4]=b):b=t[4],d(y,b);let x;t[5]!==g||t[6]!==a||t[7]!==o||t[8]!==r?(x=()=>j(v.current,!r&&!g&&a!=null&&o===`blur`,()=>{_(!0)}),t[5]=g,t[6]=a,t[7]=o,t[8]=r,t[9]=x):x=t[9];let S;t[10]!==n||t[11]!==g||t[12]!==a||t[13]!==o||t[14]!==r?(S=[r,g,a,o,n],t[10]=n,t[11]=g,t[12]=a,t[13]=o,t[14]=r,t[15]=S):S=t[15],u(x,S);let C=i??(r||g?a:void 0),w;return t[16]!==s||t[17]!==C?(w={imgRef:v,blurComplete:s,setBlurComplete:c,activeBlurUrl:C},t[16]=s,t[17]=C,t[18]=w):w=t[18],w}function N(e){let t=l(16),{src:n,alt:r,width:i,height:a,quality:o,preload:s,loading:c,placeholder:d,blurDataURL:h,fill:g,sizes:_,style:v,className:y,onLoad:b,onError:x,unoptimized:S,loader:w,overrideSrc:T,decoding:E}=e,D=o===void 0?75:o,O=s!==void 0&&s,k=c===void 0?`lazy`:c,j=d===void 0?`empty`:d,N=g!==void 0&&g,P=S!==void 0&&S,{imgSrc:F,imgWidth:I,imgHeight:se,inlineBlurDataURL:ce,optimizerBlurUrl:le}=re({src:n,width:i,height:a,fill:N,placeholder:j,blurDataURL:h,loader:w}),L=T!=null&&T!==``?T:F,ue=E??(O?`sync`:`async`),R=C({fill:N,width:i,intrinsicWidth:typeof n==`string`?void 0:n.width,sizes:_}),z=R.widths.length>1||R.widths[0]!==R.defaultWidth,B=O||k===`eager`,V=te(w),[de,fe]=p(!1),H=f(b),{imgRef:pe,blurComplete:U,setBlurComplete:W,activeBlurUrl:G}=oe({finalSrc:L,shouldEagerBlur:B,inlineBlurDataURL:ce,optimizerBlurUrl:le,placeholder:j}),K,q;t[0]===b?(K=t[1],q=t[2]):(K=()=>{H.current=b},q=[b],t[0]=b,t[1]=K,t[2]=q),u(K,q);let J;t[3]!==j||t[4]!==W?(J=e=>{let t=e.currentTarget;(t.currentSrc===``?t.src:t.currentSrc)!==``&&t.complete&&(j===`blur`&&W(!0),H.current&&H.current(e))},t[3]=j,t[4]=W,t[5]=J):J=t[5];let me=J,Y;t[6]!==x||t[7]!==j||t[8]!==W?(Y=e=>{fe(!0),j===`blur`&&W(!0),x&&x(e)},t[6]=x,t[7]=j,t[8]=W,t[9]=Y):Y=t[9];let he=Y,X;t[10]!==G||t[11]!==U||t[12]!==N||t[13]!==j||t[14]!==v?(X=ie({style:v,fill:N,placeholder:j,imgBlurDataURL:G,blurComplete:U}),t[10]=G,t[11]=U,t[12]=N,t[13]=j,t[14]=v,t[15]=X):X=t[15];let ge=X,_e=ae({unoptimized:P,loader:w,finalSrc:L,width:R.defaultWidth,quality:D,format:V}),Z=ee(_,z,N,i??I??R.defaultWidth),Q=!P&&z?A(w,L,R.widths,D,V):void 0;ne({enabled:O,finalSrc:L,defaultWidth:R.defaultWidth,widths:R.widths,quality:D,sizes:Z,loader:w,unoptimized:P,shouldUseSrcSet:z,format:V});let $=/* @__PURE__ */ m(`img`,{ref:pe,src:_e,srcSet:Q,sizes:Q==null?void 0:Z,alt:de?r:``,width:N?void 0:I,height:N?void 0:se,loading:O?`eager`:k,fetchPriority:O?`high`:`auto`,decoding:ue,onLoad:j===`blur`||b!=null?me:void 0,onError:he,style:ge,className:y});return P||!z?$:M({imgElement:$,loader:w,finalSrc:L,widths:R.widths,quality:D,sizes:Z})}const P=typeof window>`u`,F=N;P&&(F.$$typeof=Symbol.for(`react.client.reference`),F.$$id=`rari/image#Image`);export{s as BLUR_PLACEHOLDER_QUALITY,r as BLUR_PLACEHOLDER_WIDTH,a as DEFAULT_DEVICE_SIZES,n as DEFAULT_FORMATS,e as DEFAULT_IMAGE_SIZES,i as DEFAULT_MINIMUM_CACHE_TTL,o as DEFAULT_QUALITY_LEVELS,F as Image,t as MAX_OPTIMIZED_OUTPUT_WIDTH,c as configureImageSizes};
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as RouteContext, E as ApiRouteHandlers, O as RouteHandler, T as ApiResponse, _ as LayoutProps, a as Sitemap, c as SitemapVideo, i as RobotsRule, n as FeedEntry, o as SitemapEntry, p as ErrorProps, r as Robots, s as SitemapImage, t as Feed, x as PageProps, y as Metadata } from "./types-
|
|
1
|
+
import { D as RouteContext, E as ApiRouteHandlers, O as RouteHandler, T as ApiResponse, _ as LayoutProps, a as Sitemap, c as SitemapVideo, i as RobotsRule, n as FeedEntry, o as SitemapEntry, p as ErrorProps, r as Robots, s as SitemapImage, t as Feed, x as PageProps, y as Metadata } from "./types-yeW6ju9Y.mjs";
|
|
2
2
|
import { c as RariURL, d as RariResponse, n as ProxyConfig, r as ProxyFunction, s as RariFetchEvent } from "./types-DAdRjhuk.mjs";
|
|
3
3
|
import { RariRequest } from "./proxy/RariRequest.mjs";
|
|
4
4
|
//#region src/navigation/not-found.d.ts
|
|
@@ -42,6 +42,7 @@ declare module 'virtual:app-router-provider' {
|
|
|
42
42
|
}
|
|
43
43
|
export function AppRouterProvider(props: AppRouterProviderProps): ReactNode;
|
|
44
44
|
}
|
|
45
|
+
declare module 'virtual:rari-image-config' {}
|
|
45
46
|
declare module 'react-server-dom-webpack/client' {
|
|
46
47
|
export type { Thenable } from 'virtual:react-flight-client';
|
|
47
48
|
export { createFromReadableStream, createServerReference, encodeReply } from 'virtual:react-flight-client';
|
package/dist/vite.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as RouteSegmentType, D as RouteContext, E as ApiRouteHandlers, O as RouteHandler, S as RouteSegment, T as ApiResponse, _ as LayoutProps, a as Sitemap, b as NotFoundEntry, c as SitemapVideo, d as AppRouteMatch, f as ErrorEntry, g as LayoutEntry, h as GenerateStaticParams, i as RobotsRule, l as AppRouteEntry, m as GenerateMetadata, o as SitemapEntry, p as ErrorProps, r as Robots, s as SitemapImage, u as AppRouteManifest, v as LoadingEntry, w as TemplateEntry, x as PageProps, y as Metadata } from "./types-
|
|
1
|
+
import { C as RouteSegmentType, D as RouteContext, E as ApiRouteHandlers, O as RouteHandler, S as RouteSegment, T as ApiResponse, _ as LayoutProps, a as Sitemap, b as NotFoundEntry, c as SitemapVideo, d as AppRouteMatch, f as ErrorEntry, g as LayoutEntry, h as GenerateStaticParams, i as RobotsRule, l as AppRouteEntry, m as GenerateMetadata, o as SitemapEntry, p as ErrorProps, r as Robots, s as SitemapImage, u as AppRouteManifest, v as LoadingEntry, w as TemplateEntry, x as PageProps, y as Metadata } from "./types-yeW6ju9Y.mjs";
|
|
2
2
|
import { a as ProxyModule, c as RariURL, i as ProxyMatcher, l as RequestCookies, n as ProxyConfig, o as ProxyResult, r as ProxyFunction, s as RariFetchEvent, t as CookieOptions, u as ResponseCookies } from "./types-DAdRjhuk.mjs";
|
|
3
3
|
import { UserConfig } from "vite-plus";
|
|
4
4
|
import { ReactCompilerOptions as ReactCompilerOptions$1 } from "oxc-transform-react";
|
package/dist/vite.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e,t}from"./api-routes-Dc2tv31o.mjs";import{C as n,S as r,_ as i,a,c as o,d as s,g as c,n as l,r as u,t as d,v as f,y as p}from"./type-guards-BLY2PlGR.mjs";import{a as m,i as h,r as g,s as _}from"./constants-
|
|
1
|
+
import{r as e,t}from"./api-routes-Dc2tv31o.mjs";import{C as n,S as r,_ as i,a,c as o,d as s,g as c,n as l,r as u,t as d,v as f,y as p}from"./type-guards-BLY2PlGR.mjs";import{a as m,i as h,r as g,s as _}from"./constants-C6nBL5YX.mjs";import{a as v,d as ee,f as y,i as te,m as ne,n as re,o as b,p as x,r as ie,s as ae,u as oe}from"./regex-constants-DzXwNGh2.mjs";import{a as se,i as ce,n as S,o as C,t as le}from"./path-CTEC1xmy.mjs";import{a as ue,i as de,n as fe,r as w}from"./dist-paths-C4EV064W.mjs";import{a as pe,c as me,i as he,l as ge,n as _e,o as ve,r as ye,s as be,u as xe}from"./rsc-vite-build-Cyc5ad0S.mjs";import{t as Se}from"./timer-Duul5JHq.mjs";import{t as Ce}from"./names-CLmM0CPi.mjs";import{builtinModules as we,createRequire as T}from"node:module";import{Buffer as Te}from"node:buffer";import{spawn as Ee,spawnSync as De}from"node:child_process";import E,{promises as D}from"node:fs";import O from"node:path";import k from"node:process";import{text as Oe}from"node:stream/consumers";import{fileURLToPath as A,pathToFileURL as j}from"node:url";import{createHash as ke}from"node:crypto";import{isFileLoadingAllowed as Ae}from"vite-plus";import{fromBuffer as je}from"@capsizecss/unpack";import Me from"@capsizecss/metrics/arial";import Ne from"@capsizecss/metrics/timesNewRoman";import{reactRefreshWrapperPlugin as Pe}from"vite-plus/internal";function Fe(e){return e.map(e=>e)}function Ie(e){return e}const Le=[`.ts`,`.tsx`,`.js`,`.jsx`,`.mts`,`.mjs`];async function Re(e=k.cwd(),t=`src`,n={}){let r=n.proxyFileName??`proxy`,i=n.extensions??Le;for(let t of i){let n=O.join(e,`${r}${t}`);try{return await D.access(n),n}catch{}}for(let n of i){let i=O.join(e,t,`${r}${n}`);try{return await D.access(i),i}catch{}}return null}function ze(e={}){let{root:t=k.cwd(),srcDir:n=`src`,proxyFileName:r=`proxy`,extensions:i=Le,verbose:a=!1}=e,o=null,s=e=>{a&&console.warn(`[rari] Proxy: ${e}`)};async function c(){let e=await Re(t,n,{proxyFileName:r,extensions:i});if(e==null)return null;let a=O.relative(t,e);return s(`Found proxy file: ${a}`),{filePath:e,exists:!0,relativePath:a}}return Ie({name:`rari:proxy`,async buildStart(){o=await c(),s(o?`Proxy enabled: ${o.relativePath}`:`No proxy file found`)},configureServer(e){o&&(e.watcher.add(o.filePath),e.watcher.on(`change`,t=>{t===o?.filePath&&(s(`Proxy file changed, reloading...`),e.ws.send({type:`custom`,event:`rari:proxy-reload`}))}))},handleHotUpdate({file:e,server:t}){if(e===o?.filePath)return s(`Hot reloading proxy...`),t.ws.send({type:`custom`,event:`rari:proxy-reload`,data:{file:o.relativePath}}),[]}})}function Be(e){if(e==null||e===``)return null;let t=Number(e);return Number.isFinite(t)?t:null}function M(){let{SERVER_PORT:e,PORT:t,RSC_PORT:n}=k.env;return Be(e)??Be(t)??Be(n)??3e3}function Ve(){return`http://localhost:${M()}`}const N=6e4;async function He(e){let t=j(e).href,n=`
|
|
2
2
|
import { registerHooks } from "node:module";
|
|
3
3
|
registerHooks({
|
|
4
4
|
resolve(specifier, context, nextResolve) {
|
|
@@ -849,7 +849,9 @@ export function createServerReference(id, callServer, encodeFormAction, findSour
|
|
|
849
849
|
|
|
850
850
|
export const encodeReply = module.exports.encodeReply;
|
|
851
851
|
export const createTemporaryReferenceSet = module.exports.createTemporaryReferenceSet;
|
|
852
|
-
`}}function Qd(e,t){let n=O.relative(t,e),r=!n.startsWith(`..`)&&!O.isAbsolute(n),i=e.includes(`${O.sep}node_modules${O.sep}`),a=e.includes(`${O.sep}packages${O.sep}rari${O.sep}`)||e.includes(`${O.sep}packages${O.sep}use-cache${O.sep}`)||e.includes(`${O.sep}node_modules${O.sep}rari${O.sep}`)||e.includes(`${O.sep}node_modules${O.sep}@rari${O.sep}use-cache${O.sep}`);return r||i||a}function $d(e,t){if(!e.endsWith(`.mjs`)||!E.existsSync(e))return null;try{return Qd(E.realpathSync(e),t)?E.readFileSync(e,`utf-8`):(console.warn(`[rari] Refusing to load .mjs file outside project root and node_modules: ${e}`),null)}catch(t){return console.warn(`[rari] Error validating .mjs file path: ${e}`,t),null}}const ef=/* @__PURE__ */ new Map([[`virtual:app-router-provider.tsx`,`AppRouterProvider.mjs`],[`virtual:client-router.tsx`,`ClientRouter.mjs`]]);
|
|
852
|
+
`}}function Qd(e,t){let n=O.relative(t,e),r=!n.startsWith(`..`)&&!O.isAbsolute(n),i=e.includes(`${O.sep}node_modules${O.sep}`),a=e.includes(`${O.sep}packages${O.sep}rari${O.sep}`)||e.includes(`${O.sep}packages${O.sep}use-cache${O.sep}`)||e.includes(`${O.sep}node_modules${O.sep}rari${O.sep}`)||e.includes(`${O.sep}node_modules${O.sep}@rari${O.sep}use-cache${O.sep}`);return r||i||a}function $d(e,t){if(!e.endsWith(`.mjs`)||!E.existsSync(e))return null;try{return Qd(E.realpathSync(e),t)?E.readFileSync(e,`utf-8`):(console.warn(`[rari] Refusing to load .mjs file outside project root and node_modules: ${e}`),null)}catch(t){return console.warn(`[rari] Error validating .mjs file path: ${e}`,t),null}}const ef=/* @__PURE__ */ new Map([[`virtual:app-router-provider.tsx`,`AppRouterProvider.mjs`],[`virtual:client-router.tsx`,`ClientRouter.mjs`]]);function tf(e){let t=e?.deviceSizes??g,n=e?.imageSizes??m;return`import { configureImageSizes } from 'rari/image/runtime-config'
|
|
853
|
+
configureImageSizes(${JSON.stringify({deviceSizes:t,imageSizes:n})})
|
|
854
|
+
`}async function nf(e,t){if(e===`virtual:rari-image-config.ts`)return tf(t.images);if(e===`virtual:rari-mdx-components.ts`)return t.buildMdxRegistryModule();if(e===`virtual:rari-entry-client.ts`)return gf(t.resolveProjectRoot(),t.resolvedAlias,t.moduleAnalysisCache,t.getKnownClientComponentPaths);if(e===`react-server-dom-rari/server`)return Wd();let n=ef.get(e);if(n!=null)return Jd(n);if(e===`virtual:error-boundary-wrapper.tsx`)return Jd(`ErrorBoundaryWrapper.mjs`);if(e===`virtual:rsc-integration.ts`)return(await Hd()).replace(kd,(e,t,n)=>`from${t}${n}virtual:react-flight-client.ts${n}`);if(e===`virtual:react-flight-client.ts`)return Zd(t.environmentMode===`dev`?`development`:`production`)}function rf(e,t){if(k.env.NODE_ENV!==`production`)return null;try{let n=O.resolve(e);if(E.existsSync(n)&&t(n))return{id:e,external:!0}}catch(t){a(t)!==`ENOENT`&&console.warn(`[rari] Unexpected error resolving server component:`,e,t)}return null}function af(e,t){if(!e.includes(`node_modules`))return null;for(let n of t){if(n.test==null)continue;let t=!1;if(typeof n.test==`function`){let r=n.test;t=!!r(e)}else n.test instanceof RegExp?t=n.test.test(e):typeof n.test==`string`&&(t=e.includes(n.test));if(t)return null}return e.includes(`node_modules/react-dom`)?`react-dom`:e.includes(`node_modules/react`)?`react`:`vendor`}function of(e,t,n){return(e===`GET`||e===`HEAD`)&&(t?.includes(`text/html`)??!1)&&!n.startsWith(`/@`)&&!$(n,`/node_modules`)&&!$(n,`/api`)&&!$(n,`/_rari`)&&!$(n,`/assets`)&&!$(n,`/vite-server`)&&!hd(n)}function sf(e,t){let n={};for(let[t,r]of Object.entries(e))typeof r==`string`?n[t]=r:Array.isArray(r)&&(n[t]=r.join(`,`));return n.host=`localhost:${t}`,n[`accept-encoding`]=`identity`,n}async function cf(e,t,n){if(n===`HEAD`||!e.body){t.end();return}let r=e.body.getReader();try{let e=!1;for(;!e;){let{done:n,value:i}=await r.read();e=n,!e&&i!=null&&t.write(Te.from(i))}t.end()}catch(e){console.error(`[rari] Stream error:`,e),t.headersSent||(t.statusCode=500),t.end()}}const lf=/* @__PURE__ */ new Map([[`virtual:rsc-integration`,`virtual:rsc-integration.ts`],[`virtual:rsc-integration.ts`,`virtual:rsc-integration.ts`],[`virtual:rari-entry-client`,`virtual:rari-entry-client.ts`],[`virtual:rari-entry-client.ts`,`virtual:rari-entry-client.ts`],[`virtual:react-flight-client`,`virtual:react-flight-client.ts`],[`virtual:react-flight-client.ts`,`virtual:react-flight-client.ts`],[`virtual:app-router-provider`,`virtual:app-router-provider.tsx`],[`virtual:app-router-provider.tsx`,`virtual:app-router-provider.tsx`],[`virtual:client-router`,`virtual:client-router.tsx`],[`virtual:client-router.tsx`,`virtual:client-router.tsx`],[`virtual:error-boundary-wrapper`,`virtual:error-boundary-wrapper.tsx`],[`virtual:error-boundary-wrapper.tsx`,`virtual:error-boundary-wrapper.tsx`],[`virtual:rari-mdx-components`,`virtual:rari-mdx-components.ts`],[`virtual:rari-mdx-components.ts`,`virtual:rari-mdx-components.ts`],[`virtual:rari-image-config`,`virtual:rari-image-config.ts`],[`virtual:rari-image-config.ts`,`virtual:rari-image-config.ts`]]);function uf(e){return Es(e)?`virtual:rari-mdx-components.ts`:lf.get(e)??null}function df(e){for(let t of e)if(E.existsSync(t))return t;return null}function ff(e,t){if(e.startsWith(`./`)){let t=Bd(O.basename(e));return t!=null&&t!==``?t:null}if(!e.startsWith(`../`))return null;let n=O.dirname(A(import.meta.url)),r=df([O.join(n,`runtime`),O.join(n,`../runtime`)]);if(r!=null){let t=df([O.join(r,e),O.join(r,`../dist`,O.basename(e))]);if(t!=null)return t}else console.warn(`[rari] Runtime directory not found, attempting fallback resolution for virtual import.\n Importer: ${t}\n ID: ${e}\n Current Dir: ${n}\n Hint: Runtime lookup failed, trying currentDir as fallback`);return df([O.join(n,e),O.join(n,`../dist`,O.basename(e))])}function pf(e,t){let n=!1,r=``;try{if(!t.get(e).hasDefaultExport){let i=t.getSource(e).match(b);i&&(n=!0,r=i[1])}}catch(t){a(t)!==`ENOENT`&&console.warn(`[rari] Unexpected error reading component for export detection:`,e,t)}return{exportName:n?r:`default`,displayName:n?r:O.basename(e,O.extname(e))}}function mf(e,t){let n=C(O.relative(k.cwd(),e)),r=n.replace(x,``),i=n.startsWith(`..`)?C(e):n,{exportName:a,displayName:o}=pf(e,t),s=C(i),c=s.startsWith(`/`)||ne.test(s)?s:`/${s}`;return` "${i}": {
|
|
853
855
|
id: "${r}",
|
|
854
856
|
path: "${i}",
|
|
855
857
|
exportName: "${a}",
|
|
@@ -859,7 +861,7 @@ export const createTemporaryReferenceSet = module.exports.createTemporaryReferen
|
|
|
859
861
|
component: null,
|
|
860
862
|
loading: false,
|
|
861
863
|
registered: false
|
|
862
|
-
}`}function
|
|
864
|
+
}`}function hf(e){return{imports:e.map((e,t)=>`import * as ExternalModule${t} from '${e.path}';`).join(`
|
|
863
865
|
`),registrations:e.flatMap((e,t)=>e.exports.map(n=>{let r=`${e.path}#${n}`;return`
|
|
864
866
|
globalThis['~clientComponents'] = globalThis['~clientComponents'] || {};
|
|
865
867
|
{
|
|
@@ -875,8 +877,8 @@ globalThis['~clientComponents'] = globalThis['~clientComponents'] || {};
|
|
|
875
877
|
}
|
|
876
878
|
globalThis['~clientComponentPaths'] = globalThis['~clientComponentPaths'] || {};
|
|
877
879
|
globalThis['~clientComponentPaths']["${e.path}"] = "${n}";`})).join(`
|
|
878
|
-
`)}}async function
|
|
879
|
-
`),c=
|
|
880
|
+
`)}}async function gf(e,t,n,r){let i=kr(Sr(O.join(e,`src`),Object.values(t)),n),a=r().union(new Set(i)),o=[{path:`rari/image`,exports:[`Image`]},{path:`virtual:error-boundary-wrapper.tsx`,exports:[`ErrorBoundaryWrapper`]}],s=[...a].filter(e=>{try{return n.get(e).topLevelUseClient}catch{return!1}}).map(e=>mf(e,n)).join(`,
|
|
881
|
+
`),c=hf(o),l=[`
|
|
880
882
|
const lazyComponentRegistry = {
|
|
881
883
|
${s}
|
|
882
884
|
};
|
|
@@ -889,7 +891,7 @@ for (const [path, config] of Object.entries(lazyComponentRegistry)) {
|
|
|
889
891
|
globalThis['~clientComponentPaths'][path] = config.id;
|
|
890
892
|
}
|
|
891
893
|
`,c.registrations].filter(Boolean).join(`
|
|
892
|
-
`),u=Wr(e,t);return Ud(c.imports,l,u)}function
|
|
894
|
+
`),u=Wr(e,t);return Ud(c.imports,l,u)}function _f(e){e.build??={},e.build.outDir??=`dist/client`,e.environments??={},e.environments.rsc={consumer:`server`,resolve:{conditions:[`react-server`,`node`,`import`]},build:{outDir:`dist/server`,write:!1,copyPublicDir:!1,emitAssets:!0},...e.environments.rsc},e.environments.ssr={consumer:`server`,resolve:{conditions:[`node`,`import`]},build:{outDir:`dist/ssr`,write:!1,copyPublicDir:!1,emitAssets:!0},...e.environments.ssr},e.environments.client={consumer:`client`,resolve:{conditions:[`browser`,`import`]},build:{outDir:e.build.outDir,copyPublicDir:!0},...e.environments.client}}function vf(e){e.optimizeDeps??={},e.optimizeDeps.include??=[];for(let t of[`react`,`react-dom`,`react-dom/client`,`react-dom/server`,`react/jsx-runtime`,`react/jsx-dev-runtime`])e.optimizeDeps.include.includes(t)||e.optimizeDeps.include.push(t);e.optimizeDeps.exclude??=[],e.optimizeDeps.exclude.includes(`rari`)||e.optimizeDeps.exclude.push(`rari`)}function yf(e){e.server??={},e.server.proxy??={};let t={target:`http://localhost:${M()}`,changeOrigin:!0,secure:!1};e.server.proxy[`/api`]={...t,ws:!0},e.server.proxy[`/_rari`]={...t,ws:!0},e.server.proxy[`/assets`]=t}const bf=/* @__PURE__ */ new WeakMap;function xf(e){let t=!1;for(let n=e.length-1;n>=0;n--){let r=e[n];if(bf.has(r)){if(bf.get(r)===e){t=!0;continue}e.splice(n,1)}}if(t)return;let n={debugName:`rari-vendor`,name(t){return af(t,e)}};bf.set(n,e),e.push(n)}function Sf(e){e.build??={},e.build.rolldownOptions??={},e.build.rolldownOptions.input={main:jr},e.build.rolldownOptions.output??={};let t=Array.isArray(e.build.rolldownOptions.output)?e.build.rolldownOptions.output:[e.build.rolldownOptions.output];for(let e of t)e.codeSplitting!==!1&&typeof e.codeSplitting!=`object`&&(e.codeSplitting={}),typeof e.codeSplitting==`object`&&(e.codeSplitting.groups??=[],xf(e.codeSplitting.groups))}function Cf(e){e.environments.client.build??={},e.environments.client.build.rolldownOptions??={},e.environments.client.build.rolldownOptions.input={main:jr},e.environments.client.build.rolldownOptions.external??=[];let t=e.environments.client.build.rolldownOptions.external;if(Array.isArray(t)){let e=t.indexOf(`react-server-dom-webpack/client`);e!==-1&&t.splice(e,1)}}function wf(e){let t=[];return o(e.alias)?t=e.alias:c(e.alias)&&(t=d(e.alias)),t.map(e=>e.find===`react`?{find:/^react$/,replacement:e.replacement}:e)}function Tf(e,t,n){if((c(e)&&typeof e.statusCode==`number`?e.statusCode:void 0)===413){t.headersSent||(t.statusCode=413,t.end(`Request Entity Too Large`));return}console.error(`[rari] Failed to proxy ${n?`RSC`:`HTML`} request:`,e),t.headersSent||(t.statusCode=500,t.end(`Internal Server Error`))}function Ef(e){return e}function Df(e={}){if(e.jsPoolSize!=null){let t=e.jsPoolSize;if(!Number.isInteger(t)||t<1||!Number.isFinite(t))throw Error(`jsPoolSize must be a finite positive integer; received ${String(t)}`)}let t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Set,r=new Ar,i=null,a=null,o=null,s={},c=`assets`,l=O.join(k.cwd(),`dist`,`client`),d=O.join(k.cwd(),`dist`),f=null,m=null,h=[`page`,`layout`,`template`,`loading`,`error`,`not-found`];function g(e){return e.includes(`/app/`)||e.includes(`\\app\\`)?h.some(t=>e.endsWith(`${t}.tsx`)||e.endsWith(`${t}.jsx`)||e.endsWith(`${t}.ts`)||e.endsWith(`${t}.js`)):!1}let _=/* @__PURE__ */ new Map,v=/* @__PURE__ */ new Set;async function ee(e,t){let n=_.get(e);if(n!=null)return v.add(e),n;let r=(async()=>{let n=!1;do{if(v.delete(e),o==null&&m!=null&&await m(),o==null)return console.error(`[rari] HMR: coordinator not ready for ${e}`),n;try{await o.rebuildAndNotifyNow(e,t),n=!0}catch(t){console.error(`[rari] HMR: Failed to rebuild app router file`,`${e}:`,u(t,String(t)))}}while(v.has(e));return n})().finally(()=>{_.delete(e)});return _.set(e,r),r}function y(){f=null}function te(){return f!=null&&f!==``||(f=Ms(js({projectRoot:e.projectRoot!=null&&e.projectRoot!==``?e.projectRoot:k.cwd(),mdxOptions:e.mdx,alias:s,cache:r}))),f}function ne(e){return t.get(W(e))}function re(t){let n=e.projectRoot!=null&&e.projectRoot!==``?e.projectRoot:k.cwd(),r=C(O.relative(n,t));return r.startsWith(`..`)||O.isAbsolute(r)?C(t):r}function b(e,n){t.set(W(e),n)}function ie(e){Or(t,e)}function oe(e){n.add(W(e))}function se(e){return n.has(W(e))}function S(e){n.delete(e);try{n.delete(E.realpathSync(e))}catch{n.delete(O.resolve(e))}}function fe(){let e=new Set(n);if(i)for(let t of i.getClientComponentPaths())e.add(t);return e}function w(e){if(e.includes(`node_modules`)||Vd(e))return!1;let t=W(e);try{return Al(t,r.get(e))}catch{return!1}}function _e(e,t){try{let n=new Set(zn(e));return(t?.hasDefaultExport??Kn(e))&&n.add(`default`),[...n]}catch{return[]}}function ve(e){return`${e}
|
|
893
895
|
|
|
894
896
|
if (import.meta.hot) {
|
|
895
897
|
import.meta.hot.accept(() => {
|
|
@@ -917,5 +919,5 @@ if (import.meta.hot) {
|
|
|
917
919
|
}
|
|
918
920
|
}
|
|
919
921
|
|
|
920
|
-
${i}`}function Pe(e,t){if(t.startsWith(`\0`)||t.includes(`virtual:`))return V(e);try{return r.get(t)}catch{return V(e)}}async function Ie(t,n){if(!e.experimental?.useCache&&!e.experimental?.useCacheRemote)return{code:t,wasTransformed:!1};let r=(await Qu())(t,n);return r==null||r===``?{code:t,wasTransformed:!1}:{code:r,wasTransformed:!0}}function Le(e,t,n,r){if(n.topLevelUseServer)return b(t,`server`),r===`rsc`?xe(e,t,n):Ce(e,t,n);if(n.topLevelUseClient)return b(t,`client`),oe(t),ke(t,n),we(e,t,n);if(r!==`rsc`&&r!==`ssr`&&(ne(t)===`client`||se(t)))return we(e,t,n);if(w(t))return b(t,`server`),Ne(e,t,n,r);let i=ne(t);return i===`server`?r===`rsc`||r===`ssr`?j(xe(e,t,n),t):Ce(e,t,n):i===`client`?we(e,t,n):(b(t,`unknown`),Me(e,t,r))}let Re={name:`rari`,config(e,{command:t}){e.appType=`custom`,e.define??={};let n=typeof e.css?.modules==`object`?e.css.modules:{};e.css={...e.css,transformer:e.css?.transformer??`lightningcss`,modules:{...n,pattern:`[hash]_[local]`}},e.resolve??={};let r=e.resolve,i=Array.isArray(r.dedupe)?r.dedupe:[];r.dedupe=[...new Set(i).union(/* @__PURE__ */ new Set([`react`,`react-dom`]))];let a=
|
|
921
|
-
`)});let _=async()=>{try{let a=new jl(n,{outDir:d,clientOutDir:l,rscDir:`server`,manifestPath:`server/manifest.json`,serverConfigPath:`server/config.json`,alias:s,assetsDir:c,csp:e.csp,cacheControl:e.cacheControl,cache:e.cache,action:e.action,jsPoolSize:e.jsPoolSize,origin:e.origin,htmlLimitedBots:e.htmlLimitedBots,experimental:e.experimental,moduleAnalysisCache:r});if(a.setViteBuilder(await pe({root:n,configFile:t.config.configFile,logLevel:`error`})),i=a,o??=new Ao(a,M()),E.existsSync(f)){let e=Fl(f,a,Object.values(s));e.serverComponentPaths.length>0&&t.ws.send({type:`custom`,event:`rari:server-components-registry`,data:{serverComponents:e.serverComponentPaths}})}let p=await a.getTransformedComponentsForDevelopment(),m=`http://localhost:${M()}`;await Promise.all(p.map(async e=>{try{if(e.id.startsWith(`app/`)||e.isAction)return;let t=await fetch(`${m}/_rari/register`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({component_id:e.id,component_code:e.code})});if(!t.ok){let e=await t.text();throw Error(`HTTP ${t.status}: ${e}`)}}catch(t){console.error(`[rari] Runtime: Failed to register component ${e.id}:`,u(t,String(t)))}}))}catch(e){console.error(`[rari] Runtime: Component discovery failed:`,u(e,String(e)))}},v=async()=>{try{let e=`http://localhost:${M()}`,t=fe();await Promise.all([...t].map(async t=>{let n=O.relative(k.cwd(),t),r=O.basename(t).replace(ae,``);try{await fetch(`${e}/_rari/register-client`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({component_id:r,file_path:n,export_name:`default`})})}catch(e){console.error(`[rari] Runtime: Failed to pre-register client component ${r}:`,e)}}))}catch(e){console.error(`[rari] Runtime: Failed to pre-register client components:`,e)}},ee=async()=>{if(a)return;let{getBinaryPath:r,getInstallationInstructions:i}=await import(`./platform.mjs`),o;try{o=r()}catch(e){console.error(`rari binary not found`),console.error(` ${u(e,String(e))}`),console.error(i());return}let c=M(),l=k.env.NODE_ENV===`production`?`production`:`development`,d=t.config.server.port,f=e.origin?.trim().replace(/\/+$/,``),p=k.env.RARI_ORIGIN?.trim().replace(/\/+$/,``),m=Hr(n,s),h=[`--mode`,l,`--port`,c.toString(),`--host`,`127.0.0.1`];a=Ee(o,h,{stdio:[`ignore`,`pipe`,`pipe`],cwd:n,env:{...k.env,RUST_LOG:k.env.RUST_LOG!=null&&k.env.RUST_LOG!==``?k.env.RUST_LOG:`error`,RARI_VITE_PORT:d.toString(),...m.length>0?{RARI_DEV_LAYOUT_CSS:m.join(`,`)}:{},...e.jsPoolSize!=null&&(k.env.RARI_JS_POOL_SIZE==null||k.env.RARI_JS_POOL_SIZE===``)?{RARI_JS_POOL_SIZE:String(e.jsPoolSize)}:{},...f!=null&&f!==``&&(p==null||p===``)?{RARI_ORIGIN:f}:{},...e.htmlLimitedBots!=null&&(k.env.RARI_HTML_LIMITED_BOTS==null||k.env.RARI_HTML_LIMITED_BOTS===``)?{RARI_HTML_LIMITED_BOTS:e.htmlLimitedBots}:{}}}),a.stdout?.on(`data`,e=>{let t=e.toString().trim();t&&console.error(t)}),a.stderr?.on(`data`,e=>{let t=e.toString().trim();t&&!t.includes(`warning`)&&console.error(t)}),a.on(`error`,e=>{T=!1,console.error(`Failed to start rari server:`,e.message),e.message.includes(`ENOENT`)&&console.error(` Binary not found. Please ensure rari is properly installed.`)}),a.on(`exit`,(e,t)=>{a=null,T=!1,t?console.error(`rari server stopped by signal ${t}`):e===0?console.error(`rari server stopped successfully`):e&&console.error(`rari server exited with code ${e}`)}),await D(1e4)?(await _(),await v()):console.error(`Server failed to become ready for component registration`)},y=async e=>{try{if(!w(e))return;i??await _();let t=i;if(t==null)return;let n=r.getSource(e);t.addServerComponent(e,n);let a=Eo(t.getImportGraph(),[e]);a.add(e);let o=await t.getTransformedComponentsForDevelopment(e=>a.has(e));if(o.length===0)return;let s=`http://localhost:${M()}`;await Promise.all(o.map(async e=>{try{let t=await fetch(`${s}/_rari/register`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({component_id:e.id,component_code:e.code})});if(!t.ok){let e=await t.text();throw Error(`HTTP ${t.status}: ${e}`)}}catch(t){console.error(`[rari] Failed to register component`,`${e.id}:`,u(t,String(t)))}}))}catch(t){console.error(`[rari] Targeted HMR failed for`,`${e}:`,u(t,String(t)))}};m=async()=>{i??await _()},ee().catch(e=>{console.error(`[rari] Failed to start Rust server:`,e)}),t.middlewares.use((e,t,n)=>{(async()=>{let r=e.headers.accept,i=e.method??`GET`,a=e.url??``,o=ce(a),s=r!=null&&r!==``&&r.includes(`text/x-component`);if(Xd(s,
|
|
922
|
+
${i}`}function Pe(e,t){if(t.startsWith(`\0`)||t.includes(`virtual:`))return V(e);try{return r.get(t)}catch{return V(e)}}async function Ie(t,n){if(!e.experimental?.useCache&&!e.experimental?.useCacheRemote)return{code:t,wasTransformed:!1};let r=(await Qu())(t,n);return r==null||r===``?{code:t,wasTransformed:!1}:{code:r,wasTransformed:!0}}function Le(e,t,n,r){if(n.topLevelUseServer)return b(t,`server`),r===`rsc`?xe(e,t,n):Ce(e,t,n);if(n.topLevelUseClient)return b(t,`client`),oe(t),ke(t,n),we(e,t,n);if(r!==`rsc`&&r!==`ssr`&&(ne(t)===`client`||se(t)))return we(e,t,n);if(w(t))return b(t,`server`),Ne(e,t,n,r);let i=ne(t);return i===`server`?r===`rsc`||r===`ssr`?j(xe(e,t,n),t):Ce(e,t,n):i===`client`?we(e,t,n):(b(t,`unknown`),Me(e,t,r))}let Re={name:`rari`,config(e,{command:t}){e.appType=`custom`,e.define??={};let n=typeof e.css?.modules==`object`?e.css.modules:{};e.css={...e.css,transformer:e.css?.transformer??`lightningcss`,modules:{...n,pattern:`[hash]_[local]`}},e.resolve??={};let r=e.resolve,i=Array.isArray(r.dedupe)?r.dedupe:[];r.dedupe=[...new Set(i).union(/* @__PURE__ */ new Set([`react`,`react-dom`]))];let a=wf(r),o=new Set(a.map(e=>String(e.find))),s=a.some(e=>Od(e.find));try{r.alias=[...a,...qd(o,s)]}catch(e){Dd(e)||console.warn(`[rari] Unexpected error configuring React aliases:`,e)}if(_f(e),e.builder??={},e.builder.sharedPlugins=!0,e.builder.sharedConfigBuild=!1,vf(e),t===`build`)for(let t of[`rsc`,`ssr`,`client`]){let n=e.environments[t];n.build!=null&&(n.build.rolldownOptions??={})}return yf(e),t===`build`&&Sf(e),Cf(e),e},async buildStart(){if(Fr(),e.experimental?.useCache||e.experimental?.useCacheRemote)try{await Qu()}catch(e){this.error(e instanceof Error?e:Error(String(e)))}},configResolved(e){let t=Ht(e);c=t.assetsDir,l=de(t.projectRoot,e.build.outDir),d=ue(l),Object.assign(s,Vt(e))},async transform(t,n){if(n.endsWith(`.mdx`)&&y(),/\.(?:tsx?|jsx?|mts|mjs)$/.test(n)&&t.includes(`defineMdxComponents`)){let r=zu({code:t,id:n,projectRoot:e.projectRoot!=null&&e.projectRoot!==``?e.projectRoot:k.cwd(),resolvedAlias:s});if(r!=null&&r!==``)return ii(r,t,n)}if(!x.test(n))return null;let r=t,i=await Ie(t,n);t=i.code;let a=Le(t,n,Pe(t,n),this.environment.name);return a==null?i.wasTransformed?ii(t,r,n):null:ii(a,r,n)},async configureServer(t){let n=O.resolve(e.projectRoot!=null&&e.projectRoot!==``?e.projectRoot:k.cwd()),f=O.join(n,`src`);await Gd(n,e,c,l);let h=/* @__PURE__ */ new Map([[`/installHook.js.map`,`installHook.js`],[`/react_devtools_backend_compact.js.map`,`react_devtools_backend_compact.js`],[`/installHook.js`,null],[`/react_devtools_backend_compact.js`,null]]);t.middlewares.use((e,t,n)=>{let r=ce(e.url??``);if(!h.has(r)){n();return}let i=h.get(r);if(t.statusCode=200,t.setHeader(`Cache-Control`,`no-store`),i!=null){t.setHeader(`Content-Type`,`application/json`),t.end(JSON.stringify({version:3,file:i,sources:[i],sourcesContent:[`/* react-devtools extension stub */`],names:[],mappings:`AAAA`}));return}t.setHeader(`Content-Type`,`application/javascript; charset=utf-8`),t.end(`/* react-devtools extension stub */
|
|
923
|
+
`)});let _=async()=>{try{let a=new jl(n,{outDir:d,clientOutDir:l,rscDir:`server`,manifestPath:`server/manifest.json`,serverConfigPath:`server/config.json`,alias:s,assetsDir:c,csp:e.csp,cacheControl:e.cacheControl,cache:e.cache,action:e.action,jsPoolSize:e.jsPoolSize,origin:e.origin,htmlLimitedBots:e.htmlLimitedBots,experimental:e.experimental,moduleAnalysisCache:r});if(a.setViteBuilder(await pe({root:n,configFile:t.config.configFile,logLevel:`error`})),i=a,o??=new Ao(a,M()),E.existsSync(f)){let e=Fl(f,a,Object.values(s));e.serverComponentPaths.length>0&&t.ws.send({type:`custom`,event:`rari:server-components-registry`,data:{serverComponents:e.serverComponentPaths}})}let p=await a.getTransformedComponentsForDevelopment(),m=`http://localhost:${M()}`;await Promise.all(p.map(async e=>{try{if(e.id.startsWith(`app/`)||e.isAction)return;let t=await fetch(`${m}/_rari/register`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({component_id:e.id,component_code:e.code})});if(!t.ok){let e=await t.text();throw Error(`HTTP ${t.status}: ${e}`)}}catch(t){console.error(`[rari] Runtime: Failed to register component ${e.id}:`,u(t,String(t)))}}))}catch(e){console.error(`[rari] Runtime: Component discovery failed:`,u(e,String(e)))}},v=async()=>{try{let e=`http://localhost:${M()}`,t=fe();await Promise.all([...t].map(async t=>{let n=O.relative(k.cwd(),t),r=O.basename(t).replace(ae,``);try{await fetch(`${e}/_rari/register-client`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({component_id:r,file_path:n,export_name:`default`})})}catch(e){console.error(`[rari] Runtime: Failed to pre-register client component ${r}:`,e)}}))}catch(e){console.error(`[rari] Runtime: Failed to pre-register client components:`,e)}},ee=async()=>{if(a)return;let{getBinaryPath:r,getInstallationInstructions:i}=await import(`./platform.mjs`),o;try{o=r()}catch(e){console.error(`rari binary not found`),console.error(` ${u(e,String(e))}`),console.error(i());return}let c=M(),l=k.env.NODE_ENV===`production`?`production`:`development`,d=t.config.server.port,f=e.origin?.trim().replace(/\/+$/,``),p=k.env.RARI_ORIGIN?.trim().replace(/\/+$/,``),m=Hr(n,s),h=[`--mode`,l,`--port`,c.toString(),`--host`,`127.0.0.1`];a=Ee(o,h,{stdio:[`ignore`,`pipe`,`pipe`],cwd:n,env:{...k.env,RUST_LOG:k.env.RUST_LOG!=null&&k.env.RUST_LOG!==``?k.env.RUST_LOG:`error`,RARI_VITE_PORT:d.toString(),...m.length>0?{RARI_DEV_LAYOUT_CSS:m.join(`,`)}:{},...e.jsPoolSize!=null&&(k.env.RARI_JS_POOL_SIZE==null||k.env.RARI_JS_POOL_SIZE===``)?{RARI_JS_POOL_SIZE:String(e.jsPoolSize)}:{},...f!=null&&f!==``&&(p==null||p===``)?{RARI_ORIGIN:f}:{},...e.htmlLimitedBots!=null&&(k.env.RARI_HTML_LIMITED_BOTS==null||k.env.RARI_HTML_LIMITED_BOTS===``)?{RARI_HTML_LIMITED_BOTS:e.htmlLimitedBots}:{}}}),a.stdout?.on(`data`,e=>{let t=e.toString().trim();t&&console.error(t)}),a.stderr?.on(`data`,e=>{let t=e.toString().trim();t&&!t.includes(`warning`)&&console.error(t)}),a.on(`error`,e=>{T=!1,console.error(`Failed to start rari server:`,e.message),e.message.includes(`ENOENT`)&&console.error(` Binary not found. Please ensure rari is properly installed.`)}),a.on(`exit`,(e,t)=>{a=null,T=!1,t?console.error(`rari server stopped by signal ${t}`):e===0?console.error(`rari server stopped successfully`):e&&console.error(`rari server exited with code ${e}`)}),await D(1e4)?(await _(),await v()):console.error(`Server failed to become ready for component registration`)},y=async e=>{try{if(!w(e))return;i??await _();let t=i;if(t==null)return;let n=r.getSource(e);t.addServerComponent(e,n);let a=Eo(t.getImportGraph(),[e]);a.add(e);let o=await t.getTransformedComponentsForDevelopment(e=>a.has(e));if(o.length===0)return;let s=`http://localhost:${M()}`;await Promise.all(o.map(async e=>{try{let t=await fetch(`${s}/_rari/register`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({component_id:e.id,component_code:e.code})});if(!t.ok){let e=await t.text();throw Error(`HTTP ${t.status}: ${e}`)}}catch(t){console.error(`[rari] Failed to register component`,`${e.id}:`,u(t,String(t)))}}))}catch(t){console.error(`[rari] Targeted HMR failed for`,`${e}:`,u(t,String(t)))}};m=async()=>{i??await _()},ee().catch(e=>{console.error(`[rari] Failed to start Rust server:`,e)}),t.middlewares.use((e,t,n)=>{(async()=>{let r=e.headers.accept,i=e.method??`GET`,a=e.url??``,o=ce(a),s=r!=null&&r!==``&&r.includes(`text/x-component`);if(Xd(s,of(i,r,o),a,o)){n();return}if(!T&&!await D(1e4)){console.error(`[rari] Rust server not ready, cannot proxy ${s?`RSC`:`HTML`} request`),t.headersSent||(t.statusCode=503,t.end(`Server not ready`));return}let c=M();try{let n=sf(e.headers,c),r=i!==`GET`&&i!==`HEAD`?await md(e,10485760):void 0,o=await fetch(`http://localhost:${c}${a}`,{method:i,headers:n,...r==null?{}:{body:r}});t.statusCode=o.status,o.headers.forEach((e,n)=>{n.toLowerCase()!==`content-encoding`&&t.setHeader(n,e)}),await cf(o,t,i)}catch(e){Tf(e,t,s)}})()}),t.watcher.on(`change`,e=>{(async()=>{x.test(e)&&le(e,f)&&(e.includes(`/dist/`)||e.includes(`\\dist\\`)||(ie(e),S(e),r.invalidate(e),!g(e)&&w(e)&&(t.ws.send({type:`custom`,event:`rari:register-server-component`,data:{filePath:e}}),await y(e))))})()}),t.middlewares.use(`/api/vite/hmr-transform`,(e,t)=>{if(e.method!==`POST`){t.statusCode=405,t.end(`Method Not Allowed`);return}(async()=>{try{let n=await Oe(e),r=p(n),i=r&&typeof r.filePath==`string`?r.filePath:void 0;if(i==null||i===``){t.statusCode=400,t.end(JSON.stringify({error:`filePath is required`}));return}await y(i),t.statusCode=200,t.setHeader(`Content-Type`,`application/json`),t.end(JSON.stringify({success:!0,filePath:i,message:`Component transformation completed`}))}catch(e){t.statusCode=500,t.setHeader(`Content-Type`,`application/json`),t.end(JSON.stringify({success:!1,error:u(e,String(e))}))}})()}),t.httpServer?.on(`close`,()=>{if(he(n),i!=null&&(i.setViteBuilder(null),i=null),o&&=(o.dispose(),null),a){let e=a;a=null,T=!1;let t=!1,n=setTimeout(()=>{t||e.kill(`SIGKILL`)},5e3);n.unref(),e.once(`exit`,()=>{t=!0,clearTimeout(n)}),e.kill(`SIGTERM`);return}T=!1})},resolveId(e,t){let n=uf(e);if(n!=null)return n;if(e===`react-server-dom-webpack/client`||e===`react-server-dom-webpack/client.browser`)return`virtual:react-flight-client.ts`;if(e===`react-server-dom-rari/server`)return e;if(t!=null&&t!==``&&t.startsWith(`virtual:`)){let n=ff(e,t);if(n!=null)return n}return rf(e,w)},async load(t){if(x.test(t)&&this.environment.name===`client`)try{let e=r.get(t);if(e.topLevelUseServer)return Ce(r.getSource(t),t,e)}catch{}let n=await nf(t,{buildMdxRegistryModule:te,resolveProjectRoot:()=>e.projectRoot!=null&&e.projectRoot!==``?e.projectRoot:k.cwd(),resolvedAlias:s,moduleAnalysisCache:r,getKnownClientComponentPaths:fe,environmentMode:this.environment.mode,images:e.images});return n===void 0?$d(t,e.projectRoot!=null&&e.projectRoot!==``?e.projectRoot:k.cwd())??void 0:n},async handleHotUpdate({file:e,server:t}){if(me(),e.endsWith(`.mdx`)&&y(),!x.test(e))return;if(ie(e),S(e),r.invalidate(e),y(),e.includes(`/dist/`)||e.includes(`\\dist\\`))return[];let n=o?.detectComponentType(e)??`unknown`;if(g(e))return[];if(n!==`client`&&n===`server`)return o&&await o.handleServerComponentUpdate(e,t),[]},async hotUpdate(e){if(this.environment.name!==`client`)return;let{file:t,server:n}=e;if(x.test(t)&&!(t.includes(`/dist/`)||t.includes(`\\dist\\`))){if(me(),t.endsWith(`.mdx`)&&y(),ie(t),S(t),r.invalidate(t),g(t))return await ee(t,n)?[]:void 0;if((o?.detectComponentType(t)??`unknown`)===`server`&&o)return await o.handleServerComponentUpdate(t,n),[]}},generateBundle(e,t){if(this.environment.name!==`client`)return;let n=Kr(t);this.emitFile({type:`asset`,fileName:`rari-client-head.html`,source:n})},async writeBundle(){await Gd(e.projectRoot!=null&&e.projectRoot!==``?e.projectRoot:k.cwd(),e,c,l)}},Be=Il({...e.serverBuild,csp:e.csp,cacheControl:e.cacheControl,cache:e.cache,action:e.action,jsPoolSize:e.jsPoolSize,origin:e.origin,htmlLimitedBots:e.htmlLimitedBots,experimental:e.experimental,moduleAnalysisCache:r,mdx:e.mdx}),Ve={name:`rari:patch-react-server-dom-webpack`,transform(e){if(!e.includes(`__webpack_require__`)&&!e.includes(`__webpack_chunk_load__`)&&!e.includes(`__webpack_get_script_filename__`))return null;let t=e;return t.includes(`__webpack_chunk_load__`)&&(t=t.replaceAll(`__webpack_chunk_load__`,`__rari_chunk_load__`)),t.includes(`__webpack_get_script_filename__`)&&(t=t.replaceAll(`__webpack_get_script_filename__`,`__rari_get_script_filename__`)),t.includes(`__webpack_require__.u`)&&(t=t.replaceAll(`__webpack_require__.u`,`({}).u`)),t.includes(`__webpack_require__`)&&(t=t.replaceAll(`__webpack_require__`,`__rari_rsc_require__`)),t===e?null:{code:t,map:null}}},N=[...Xu()];return e.compiler!=null&&e.compiler!==!1&&N.push(qu(e.compiler)),N.push(Re,Ts(),So(),Ve,Be,_i(e.projectRoot!=null&&e.projectRoot!==``?e.projectRoot:k.cwd())),e.proxy!==!1&&N.push(ze(e.proxy??{})),e.router!==!1&&N.push(jt(e.router??{})),Fe(N)}function Of(e){return{...e,plugins:[Df(),...e.plugins??[]]}}export{t as ApiResponse,dd as clearPropsCache,fd as clearPropsCacheForComponent,Of as defineRariConfig,Ef as defineRariOptions,od as extractMetadata,ad as extractServerProps,ud as extractServerPropsWithCache,sd as extractStaticParams,_t as generateAppRouteManifest,cd as hasServerSideDataFetching,Df as rari,ze as rariProxy,jt as rariRouter};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rari",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.17.
|
|
4
|
+
"version": "0.17.7",
|
|
5
5
|
"description": "Runtime Accelerated Rendering Infrastructure (rari)",
|
|
6
6
|
"author": "Ryan Skinner",
|
|
7
7
|
"license": "MIT",
|
|
@@ -38,6 +38,10 @@
|
|
|
38
38
|
"types": "./dist/image.d.mts",
|
|
39
39
|
"default": "./dist/image.mjs"
|
|
40
40
|
},
|
|
41
|
+
"./image/runtime-config": {
|
|
42
|
+
"types": "./dist/image/runtime-config.d.mts",
|
|
43
|
+
"default": "./dist/image/runtime-config.mjs"
|
|
44
|
+
},
|
|
41
45
|
"./image/static": {
|
|
42
46
|
"types": "./dist/image/static.d.mts"
|
|
43
47
|
},
|
|
@@ -134,7 +138,7 @@
|
|
|
134
138
|
},
|
|
135
139
|
"peerDependencies": {
|
|
136
140
|
"@mdx-js/mdx": "^3.1.1",
|
|
137
|
-
"@rari/use-cache": "^0.17.
|
|
141
|
+
"@rari/use-cache": "^0.17.7",
|
|
138
142
|
"oxc-transform-react": "^0.153.0",
|
|
139
143
|
"react": "^19.3.0",
|
|
140
144
|
"react-dom": "^19.3.0"
|
|
@@ -156,18 +160,18 @@
|
|
|
156
160
|
"react-server-dom-webpack": "^19.3.0"
|
|
157
161
|
},
|
|
158
162
|
"optionalDependencies": {
|
|
159
|
-
"rari-darwin-arm64": "0.17.
|
|
160
|
-
"rari-darwin-x64": "0.17.
|
|
161
|
-
"rari-linux-arm64": "0.17.
|
|
162
|
-
"rari-linux-x64": "0.17.
|
|
163
|
-
"rari-win32-arm64": "0.17.
|
|
164
|
-
"rari-win32-x64": "0.17.
|
|
163
|
+
"rari-darwin-arm64": "0.17.7",
|
|
164
|
+
"rari-darwin-x64": "0.17.7",
|
|
165
|
+
"rari-linux-arm64": "0.17.7",
|
|
166
|
+
"rari-linux-x64": "0.17.7",
|
|
167
|
+
"rari-win32-arm64": "0.17.7",
|
|
168
|
+
"rari-win32-x64": "0.17.7"
|
|
165
169
|
},
|
|
166
170
|
"devDependencies": {
|
|
167
171
|
"@mdx-js/mdx": "^3.1.1",
|
|
168
172
|
"@rari/deploy": "0.0.0",
|
|
169
173
|
"@rari/logger": "0.0.0",
|
|
170
|
-
"@rari/use-cache": "0.17.
|
|
174
|
+
"@rari/use-cache": "0.17.7",
|
|
171
175
|
"@types/node": "^26.6.4",
|
|
172
176
|
"@types/react": "^19.3.0",
|
|
173
177
|
"@types/react-dom": "^19.3.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=[640,750,828,1080,1200,1920,2048,3840],t=[16,32,48,64,96,128,256,384],n=[`avif`],r=[25,50,75,100],i=60,a=16,o=25;export{t as a,n as i,a as n,i as o,e as r,r as s,o as t};
|