@lomray/vite-ssr-boost 8.5.1 → 8.6.0

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.
@@ -33,7 +33,8 @@ export interface IPrepareRenderOut<TAppProps = Record<string, any>> {
33
33
  compression?: CompressionOptions | false;
34
34
  /**
35
35
  * basename should be same as vite 'base' config.
36
- * Without an explicit `dotfiles` option `/.well-known/` is served and other dot paths are ignored.
36
+ * Without an explicit `dotfiles` option `/.well-known/` is served (an extensionless request
37
+ * there also resolves the `.json` file) and other dot paths are ignored.
37
38
  */
38
39
  expressStatic?: (ServeStaticOptions & {
39
40
  basename?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"entry.js","sources":["../../../src/adapters/express/entry.tsx"],"sourcesContent":[null],"names":["entry","App","routes","init","routerOptions","ssr","requestGuard","notFound","admission","rest","handler","createStaticHandler","runtime","HandlerRuntime","dataRoutes","basename","render","bind"],"mappings":"2HAsFA,SAASA,EACPC,EACAC,GACAC,KACEA,EAAIC,cACJA,EAAaC,IACbA,EAAGC,aACHA,EAAYC,SACZA,EAAQC,UACRA,KACGC,GAC+B,CAAA,GAEpC,MAAMC,EAAUC,EAAoBT,EAAyBE,GACvDQ,EAAU,IAAIC,EAAeH,EAAQI,WAAY,CACrDT,MACAC,eACAC,WACAC,YACAO,SAAUX,GAAeW,WAG3B,MAAO,CACLC,OAAQA,EAAOC,KAAK,KAAM,CAAEP,UAAST,MAAKW,YAC1CT,OACAD,YACGO,EAEP"}
1
+ {"version":3,"file":"entry.js","sources":["../../../src/adapters/express/entry.tsx"],"sourcesContent":[null],"names":["entry","App","routes","init","routerOptions","ssr","requestGuard","notFound","admission","rest","handler","createStaticHandler","runtime","HandlerRuntime","dataRoutes","basename","render","bind"],"mappings":"2HAuFA,SAASA,EACPC,EACAC,GACAC,KACEA,EAAIC,cACJA,EAAaC,IACbA,EAAGC,aACHA,EAAYC,SACZA,EAAQC,UACRA,KACGC,GAC+B,CAAA,GAEpC,MAAMC,EAAUC,EAAoBT,EAAyBE,GACvDQ,EAAU,IAAIC,EAAeH,EAAQI,WAAY,CACrDT,MACAC,eACAC,WACAC,YACAO,SAAUX,GAAeW,WAG3B,MAAO,CACLC,OAAQA,EAAOC,KAAK,KAAM,CAAEP,UAAST,MAAKW,YAC1CT,OACAD,YACGO,EAEP"}
@@ -5,6 +5,8 @@ import type { ServeStaticOptions } from 'serve-static';
5
5
  * serve-static skips dotfiles unless told otherwise, but `/.well-known/` (app links,
6
6
  * security.txt, ACME challenges) must reach the client: without an explicit `dotfiles`
7
7
  * option that prefix alone is served, other dot paths stay hidden.
8
+ * Well-known files are requested without an extension (apple-app-site-association) while
9
+ * tooling keeps them as `.json` on disk, so that prefix also resolves `name` to `name.json`.
8
10
  */
9
11
  declare const staticFiles: (root: string, options: ServeStaticOptions, isSPA?: boolean) => RequestHandler;
10
12
  export default staticFiles;
@@ -1,2 +1,2 @@
1
- import{readdirSync as t}from"node:fs";import e from"node:path";import o from"express";const r=t=>{try{return decodeURIComponent(t.split("?",1)[0])}catch{return}},s=(s,n,i=!1)=>{const c=i?o.static(s,n):((e,s)=>{const n=o.static(e,s);if(!1===s.fallthrough||s.extensions)return n;let i;try{i=new Set(t(e).map(t=>t.toLowerCase()))}catch{return n}return(t,e,o)=>{const s=r(t.url);if(void 0===s)return void n(t,e,o);const c=s.indexOf("/",1),l=s.slice(1,c<0?void 0:c).toLowerCase();i.has(l)||s.includes("/.")||s.includes("\\")||s.includes("\0")||s.startsWith("//")?n(t,e,o):o()}})(s,n);if(void 0!==n.dotfiles)return c;const l=o.static(s,{...n,dotfiles:"allow"});return(t,o,s)=>{const n=r(t.url);(void 0!==n&&!n.includes("\\")&&e.posix.normalize(n).startsWith("/.well-known/")?l:c)(t,o,s)}};export{s as default};
1
+ import{readdirSync as t}from"node:fs";import e from"node:path";import o from"express";const s=t=>{try{return decodeURIComponent(t.split("?",1)[0])}catch{return}},n=(n,r,i=!1)=>{const c=i?o.static(n,r):((e,n)=>{const r=o.static(e,n);if(!1===n.fallthrough||n.extensions)return r;let i;try{i=new Set(t(e).map(t=>t.toLowerCase()))}catch{return r}return(t,e,o)=>{const n=s(t.url);if(void 0===n)return void r(t,e,o);const c=n.indexOf("/",1),l=n.slice(1,c<0?void 0:c).toLowerCase();i.has(l)||n.includes("/.")||n.includes("\\")||n.includes("\0")||n.startsWith("//")?r(t,e,o):o()}})(n,r);if(void 0!==r.dotfiles)return c;const l=o.static(n,{...r,dotfiles:"allow",extensions:r.extensions??["json"]});return(t,o,n)=>{const r=s(t.url);(void 0!==r&&!r.includes("\\")&&e.posix.normalize(r).startsWith("/.well-known/")?l:c)(t,o,n)}};export{n as default};
2
2
  //# sourceMappingURL=static-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static-files.js","sources":["../../../src/adapters/express/static-files.ts"],"sourcesContent":[null],"names":["getPathname","url","decodeURIComponent","split","staticFiles","root","options","isSPA","serve","express","static","fallthrough","extensions","prefixes","Set","readdirSync","map","name","toLowerCase","request","response","next","pathname","undefined","separator","indexOf","prefix","slice","has","includes","startsWith","ssrStaticFiles","dotfiles","serveWellKnown","path","posix","normalize"],"mappings":"sFAMA,MAKMA,EAAeC,IACnB,IACE,OAAOC,mBAAmBD,EAAIE,MAAM,IAAK,GAAG,GAC9C,CAAE,MACA,MACF,GA0DIC,EAAc,CAACC,EAAcC,EAA6BC,GAAQ,KACtE,MAAMC,EAAQD,EAAQE,EAAQC,OAAOL,EAAMC,GArDtB,EAACD,EAAcC,KACpC,MAAME,EAAQC,EAAQC,OAAOL,EAAMC,GAEnC,IAA4B,IAAxBA,EAAQK,aAAyBL,EAAQM,WAC3C,OAAOJ,EAGT,IAAIK,EAEJ,IACEA,EAAW,IAAIC,IAAIC,EAAYV,GAAMW,IAAKC,GAASA,EAAKC,eAC1D,CAAE,MACA,OAAOV,CACT,CAKA,MAAO,CAACW,EAASC,EAAUC,KACzB,MAAMC,EAAWtB,EAAYmB,EAAQlB,KAErC,QAAiBsB,IAAbD,EAGF,YAFAd,EAAMW,EAASC,EAAUC,GAK3B,MAAMG,EAAYF,EAASG,QAAQ,IAAK,GAClCC,EAASJ,EAASK,MAAM,EAAGH,EAAY,OAAID,EAAYC,GAAWN,cAGtEL,EAASe,IAAIF,IACbJ,EAASO,SAAS,OAClBP,EAASO,SAAS,OAClBP,EAASO,SAAS,OAClBP,EAASQ,WAAW,MAEpBtB,EAAMW,EAASC,EAAUC,GAK3BA,MAWoDU,CAAe1B,EAAMC,GAE3E,QAAyBiB,IAArBjB,EAAQ0B,SACV,OAAOxB,EAGT,MAAMyB,EAAiBxB,EAAQC,OAAOL,EAAM,IAAKC,EAAS0B,SAAU,UAEpE,MAAO,CAACb,EAASC,EAAUC,KACzB,MAAMC,EAAWtB,EAAYmB,EAAQlB,WAGtBsB,IAAbD,IACCA,EAASO,SAAS,OACnBK,EAAKC,MAAMC,UAAUd,GAAUQ,WAnFlB,iBAqFAG,EAAiBzB,GAAOW,EAASC,EAAUC"}
1
+ {"version":3,"file":"static-files.js","sources":["../../../src/adapters/express/static-files.ts"],"sourcesContent":[null],"names":["getPathname","url","decodeURIComponent","split","staticFiles","root","options","isSPA","serve","express","static","fallthrough","extensions","prefixes","Set","readdirSync","map","name","toLowerCase","request","response","next","pathname","undefined","separator","indexOf","prefix","slice","has","includes","startsWith","ssrStaticFiles","dotfiles","serveWellKnown","path","posix","normalize"],"mappings":"sFAMA,MAKMA,EAAeC,IACnB,IACE,OAAOC,mBAAmBD,EAAIE,MAAM,IAAK,GAAG,GAC9C,CAAE,MACA,MACF,GA4DIC,EAAc,CAACC,EAAcC,EAA6BC,GAAQ,KACtE,MAAMC,EAAQD,EAAQE,EAAQC,OAAOL,EAAMC,GAvDtB,EAACD,EAAcC,KACpC,MAAME,EAAQC,EAAQC,OAAOL,EAAMC,GAEnC,IAA4B,IAAxBA,EAAQK,aAAyBL,EAAQM,WAC3C,OAAOJ,EAGT,IAAIK,EAEJ,IACEA,EAAW,IAAIC,IAAIC,EAAYV,GAAMW,IAAKC,GAASA,EAAKC,eAC1D,CAAE,MACA,OAAOV,CACT,CAKA,MAAO,CAACW,EAASC,EAAUC,KACzB,MAAMC,EAAWtB,EAAYmB,EAAQlB,KAErC,QAAiBsB,IAAbD,EAGF,YAFAd,EAAMW,EAASC,EAAUC,GAK3B,MAAMG,EAAYF,EAASG,QAAQ,IAAK,GAClCC,EAASJ,EAASK,MAAM,EAAGH,EAAY,OAAID,EAAYC,GAAWN,cAGtEL,EAASe,IAAIF,IACbJ,EAASO,SAAS,OAClBP,EAASO,SAAS,OAClBP,EAASO,SAAS,OAClBP,EAASQ,WAAW,MAEpBtB,EAAMW,EAASC,EAAUC,GAK3BA,MAaoDU,CAAe1B,EAAMC,GAE3E,QAAyBiB,IAArBjB,EAAQ0B,SACV,OAAOxB,EAGT,MAAMyB,EAAiBxB,EAAQC,OAAOL,EAAM,IACvCC,EACH0B,SAAU,QACVpB,WAAYN,EAAQM,YAAc,CAAC,UAGrC,MAAO,CAACO,EAASC,EAAUC,KACzB,MAAMC,EAAWtB,EAAYmB,EAAQlB,WAGtBsB,IAAbD,IACCA,EAASO,SAAS,OACnBK,EAAKC,MAAMC,UAAUd,GAAUQ,WAzFlB,iBA2FAG,EAAiBzB,GAAOW,EAASC,EAAUC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lomray/vite-ssr-boost",
3
- "version": "8.5.1",
3
+ "version": "8.6.0",
4
4
  "description": "SSR and streaming for existing Vite + React Router apps in Data mode, without Framework mode",
5
5
  "type": "module",
6
6
  "exports": {