@obelism/improve-sdk-next 0.3.6 → 0.4.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.
package/dist/index.d.mts CHANGED
@@ -23,4 +23,5 @@ type GenerateImproveNextMiddlewareArgs = {
23
23
  };
24
24
  declare const generateImproveNextMiddleware: (args: GenerateImproveNextMiddlewareArgs) => (request: NextRequest) => NextResponse<unknown>;
25
25
 
26
- export { type GenerateImproveNextMiddlewareArgs, type OptionConfig, type ServerABTestConfig, generateImproveNextMiddleware };
26
+ export { generateImproveNextMiddleware };
27
+ export type { GenerateImproveNextMiddlewareArgs, OptionConfig, ServerABTestConfig };
package/dist/index.d.ts CHANGED
@@ -23,4 +23,5 @@ type GenerateImproveNextMiddlewareArgs = {
23
23
  };
24
24
  declare const generateImproveNextMiddleware: (args: GenerateImproveNextMiddlewareArgs) => (request: NextRequest) => NextResponse<unknown>;
25
25
 
26
- export { type GenerateImproveNextMiddlewareArgs, type OptionConfig, type ServerABTestConfig, generateImproveNextMiddleware };
26
+ export { generateImproveNextMiddleware };
27
+ export type { GenerateImproveNextMiddlewareArgs, OptionConfig, ServerABTestConfig };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0});var e=require("next/server");const t=RegExp(["Vercelbot","DotBot","Yeti","AhrefsBot","SeznamBot","YandexBot","UptimeRobot","Bytespider","Baiduspider","fidget-spinner-bot","AASA-Bot","FullStoryBot","SemrushBot","PetalBot","RyteBot","Pinterestbot","AntBot","Monsidobot","blowra","JobRoboter","Qwantify","YisouSpider"].map(e=>e.toLowerCase()).join("|"),"i"),o=e=>!!e&&t.test(e.toLowerCase()),r=/(\[[a-zA-Z0-9-]+\])+/g,s=/\[\[\.\.\.[a-zA-Z0-9-]+\]\]/g,i=/\[\.\.\.[a-zA-Z0-9-]+\]/g,n=e=>e.endsWith("/")?e.substring(0,e.length-1):e,a=(e,t)=>{let o=n(t.split("?")[0]),a=n(e.split("?")[0]);return o===a||new RegExp(`^${a.replace(r,"[a-zA-Z0-9-]+")}$`.replace(s,"?.*").replace(i,".*")).test(o)};exports.generateImproveNextMiddleware=t=>r=>{let s;let{ua:i="",isBot:n=!1}=e.userAgent(r);if(n||o(i))return e.NextResponse.next();let l=t.serverABtests.find(e=>a(e.routeHandler,r.nextUrl.pathname));if(!l)return e.NextResponse.next();let p=l.options.at(0)?.value;if(!p)return e.NextResponse.next();let u=t.improveSdk.getVisitorCookieName(),g=r.cookies.get(u)?.value,d=g&&t.improveSdk.validateVisitorId(g)?g:t.improveSdk.generateVisitorId(),x=e=>e&&t.improveSdk.validateTestValue(l.slug,e)?e:null,m=x(r.nextUrl.searchParams.get(l.slug))||x(r.cookies.get(l.slug)?.value)||t.improveSdk.getTestValue(l.slug,d,i),v=l.options.find(e=>e.value===m);if(!v)return e.NextResponse.next();if(v.value!==p){let t=r.nextUrl.clone();t.pathname=l?.formatSlug?l?.formatSlug(t,v)?.pathname:v.slug,s=e.NextResponse.rewrite(t)}else s=e.NextResponse.next();return s.cookies.set(u,d,{maxAge:604800,...t.options?.visitorId}),s.cookies.set(l.slug,m,{maxAge:604800,...t.options?.testValue}),s};
1
+ Object.defineProperty(exports,"__esModule",{value:!0});var e=require("next/server");const t=RegExp(["Vercelbot","DotBot","Yeti","AhrefsBot","SeznamBot","YandexBot","UptimeRobot","Bytespider","Baiduspider","fidget-spinner-bot","AASA-Bot","FullStoryBot","SemrushBot","PetalBot","RyteBot","Pinterestbot","AntBot","Monsidobot","blowra","JobRoboter","Qwantify","YisouSpider"].map(e=>e.toLowerCase()).join("|"),"i"),o=/(\[[a-zA-Z0-9-]+\])+/g,r=/\[\[\.\.\.[a-zA-Z0-9-]+\]\]/g,s=/\[\.\.\.[a-zA-Z0-9-]+\]/g,i=e=>e.endsWith("/")?e.substring(0,e.length-1):e;exports.generateImproveNextMiddleware=n=>a=>{let l,{ua:p="",isBot:u=!1}=e.userAgent(a);if(u||p&&t.test(p.toLowerCase()))return e.NextResponse.next();let g=n.serverABtests.find(e=>((e,t)=>{let n=i(t.split("?")[0]),a=i(e.split("?")[0]);return n===a||new RegExp(`^${a.replace(o,"[a-zA-Z0-9-]+")}$`.replace(r,"?.*").replace(s,".*")).test(n)})(e.routeHandler,a.nextUrl.pathname));if(!g)return e.NextResponse.next();let d=g.options.at(0)?.value;if(!d)return e.NextResponse.next();let x=n.improveSdk.getVisitorCookieName(),m=a.cookies.get(x)?.value,v=m&&n.improveSdk.validateVisitorId(m)?m:n.improveSdk.generateVisitorId(),f=e=>e&&n.improveSdk.validateTestValue(g.slug,e)?e:null,A=f(a.nextUrl.searchParams.get(g.slug))||f(a.cookies.get(g.slug)?.value)||n.improveSdk.getTestValue(g.slug,v,p),B=g.options.find(e=>e.value===A);if(!B)return e.NextResponse.next();if(B.value!==d){let t=a.nextUrl.clone();t.pathname=g?.formatSlug?g?.formatSlug(t,B)?.pathname:B.slug,l=e.NextResponse.rewrite(t)}else l=e.NextResponse.next();return l.cookies.set(x,v,{maxAge:604800,...n.options?.visitorId}),l.cookies.set(g.slug,A,{maxAge:604800,...n.options?.testValue}),l};
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{userAgent as e,NextResponse as t}from"next/server";let o=RegExp(["Vercelbot","DotBot","Yeti","AhrefsBot","SeznamBot","YandexBot","UptimeRobot","Bytespider","Baiduspider","fidget-spinner-bot","AASA-Bot","FullStoryBot","SemrushBot","PetalBot","RyteBot","Pinterestbot","AntBot","Monsidobot","blowra","JobRoboter","Qwantify","YisouSpider"].map(e=>e.toLowerCase()).join("|"),"i"),r=e=>!!e&&o.test(e.toLowerCase()),i=/(\[[a-zA-Z0-9-]+\])+/g,a=/\[\[\.\.\.[a-zA-Z0-9-]+\]\]/g,s=/\[\.\.\.[a-zA-Z0-9-]+\]/g,l=e=>e.endsWith("/")?e.substring(0,e.length-1):e,n=(e,t)=>{let o=l(t.split("?")[0]),r=l(e.split("?")[0]);return o===r||new RegExp(`^${r.replace(i,"[a-zA-Z0-9-]+")}$`.replace(a,"?.*").replace(s,".*")).test(o)},u=o=>i=>{let a;let{ua:s="",isBot:l=!1}=e(i);if(l||r(s))return t.next();let u=o.serverABtests.find(e=>n(e.routeHandler,i.nextUrl.pathname));if(!u)return t.next();let p=u.options.at(0)?.value;if(!p)return t.next();let g=o.improveSdk.getVisitorCookieName(),d=i.cookies.get(g)?.value,m=d&&o.improveSdk.validateVisitorId(d)?d:o.improveSdk.generateVisitorId(),v=e=>e&&o.improveSdk.validateTestValue(u.slug,e)?e:null,x=v(i.nextUrl.searchParams.get(u.slug))||v(i.cookies.get(u.slug)?.value)||o.improveSdk.getTestValue(u.slug,m,s),f=u.options.find(e=>e.value===x);if(!f)return t.next();if(f.value!==p){let e=i.nextUrl.clone();e.pathname=u?.formatSlug?u?.formatSlug(e,f)?.pathname:f.slug,a=t.rewrite(e)}else a=t.next();return a.cookies.set(g,m,{maxAge:604800,...o.options?.visitorId}),a.cookies.set(u.slug,x,{maxAge:604800,...o.options?.testValue}),a};export{u as generateImproveNextMiddleware};
1
+ import{userAgent as e,NextResponse as t}from"next/server";let o=RegExp(["Vercelbot","DotBot","Yeti","AhrefsBot","SeznamBot","YandexBot","UptimeRobot","Bytespider","Baiduspider","fidget-spinner-bot","AASA-Bot","FullStoryBot","SemrushBot","PetalBot","RyteBot","Pinterestbot","AntBot","Monsidobot","blowra","JobRoboter","Qwantify","YisouSpider"].map(e=>e.toLowerCase()).join("|"),"i"),r=/(\[[a-zA-Z0-9-]+\])+/g,i=/\[\[\.\.\.[a-zA-Z0-9-]+\]\]/g,a=/\[\.\.\.[a-zA-Z0-9-]+\]/g,s=e=>e.endsWith("/")?e.substring(0,e.length-1):e,l=l=>n=>{let u,{ua:p="",isBot:g=!1}=e(n);if(g||p&&o.test(p.toLowerCase()))return t.next();let d=l.serverABtests.find(e=>((e,t)=>{let o=s(t.split("?")[0]),l=s(e.split("?")[0]);return o===l||new RegExp(`^${l.replace(r,"[a-zA-Z0-9-]+")}$`.replace(i,"?.*").replace(a,".*")).test(o)})(e.routeHandler,n.nextUrl.pathname));if(!d)return t.next();let m=d.options.at(0)?.value;if(!m)return t.next();let v=l.improveSdk.getVisitorCookieName(),x=n.cookies.get(v)?.value,f=x&&l.improveSdk.validateVisitorId(x)?x:l.improveSdk.generateVisitorId(),B=e=>e&&l.improveSdk.validateTestValue(d.slug,e)?e:null,A=B(n.nextUrl.searchParams.get(d.slug))||B(n.cookies.get(d.slug)?.value)||l.improveSdk.getTestValue(d.slug,f,p),S=d.options.find(e=>e.value===A);if(!S)return t.next();if(S.value!==m){let e=n.nextUrl.clone();e.pathname=d?.formatSlug?d?.formatSlug(e,S)?.pathname:S.slug,u=t.rewrite(e)}else u=t.next();return u.cookies.set(v,f,{maxAge:604800,...l.options?.visitorId}),u.cookies.set(d.slug,A,{maxAge:604800,...l.options?.testValue}),u};export{l as generateImproveNextMiddleware};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@obelism/improve-sdk-next",
3
3
  "description": "Obelism Improve NextJS SDK",
4
- "version": "0.3.6",
4
+ "version": "0.4.0",
5
5
  "keywords": [
6
6
  "ab-tests",
7
7
  "feature-flags",
@@ -59,6 +59,6 @@
59
59
  },
60
60
  "dependencies": {
61
61
  "@obelism/improve-sdk": "^0.3.6",
62
- "@obelism/improve-sdk-react": "^0.3.6"
62
+ "@obelism/improve-sdk-react": "^0.4.0"
63
63
  }
64
64
  }