@obelism/improve-sdk-next 0.4.0 → 0.5.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/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=/(\[[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};
1
+ Object.defineProperty(exports,"__esModule",{value:!0});var e=require("next/server");let 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,n=e=>e.endsWith("/")?e.substring(0,e.length-1):e,i=new Map;exports.generateImproveNextMiddleware=a=>l=>{try{let p,{ua:u="",isBot:g=!1}=e.userAgent(l);if(g||u&&t.test(u.toLowerCase()))return e.NextResponse.next();let d=a.serverABtests.find(e=>((e,t)=>{let a=n(t.split("?")[0]),l=n(e.split("?")[0]);if(a===l)return!0;let p=i.get(l);return p||(p=new RegExp(`^${l.replace(o,"[a-zA-Z0-9-]+")}$`.replace(r,"?.*").replace(s,".*")),i.set(l,p)),p.test(a)})(e.routeHandler,l.nextUrl.pathname));if(!d)return e.NextResponse.next();let x=d.options.at(0)?.value;if(!x)return e.NextResponse.next();let m=a.improveSdk.getVisitorCookieName(),v=l.cookies.get(m)?.value,c=v&&a.improveSdk.validateVisitorId(v)?v:a.improveSdk.generateVisitorId(),f=e=>e&&a.improveSdk.validateTestValue(d.slug,e)?e:null,A=f(l.nextUrl.searchParams.get(d.slug))||f(l.cookies.get(d.slug)?.value)||a.improveSdk.getTestValue(d.slug,c,u),B=d.options.find(e=>e.value===A);if(!B)return e.NextResponse.next();if(B.value!==x){let t=l.nextUrl.clone();t.pathname=d?.formatSlug?d?.formatSlug(t,B)?.pathname:B.slug,p=e.NextResponse.rewrite(t)}else p=e.NextResponse.next();return p.cookies.set(m,c,{maxAge:604800,...a.options?.visitorId}),p.cookies.set(d.slug,A,{maxAge:604800,...a.options?.testValue}),p}catch(t){return console.error("[Improve SDK]",t),e.NextResponse.next()}};
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=/(\[[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};
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=new Map,n=n=>u=>{try{let p,{ua:g="",isBot:d=!1}=e(u);if(d||g&&o.test(g.toLowerCase()))return t.next();let m=n.serverABtests.find(e=>((e,t)=>{let o=s(t.split("?")[0]),n=s(e.split("?")[0]);if(o===n)return!0;let u=l.get(n);return u||(u=new RegExp(`^${n.replace(r,"[a-zA-Z0-9-]+")}$`.replace(i,"?.*").replace(a,".*")),l.set(n,u)),u.test(o)})(e.routeHandler,u.nextUrl.pathname));if(!m)return t.next();let v=m.options.at(0)?.value;if(!v)return t.next();let x=n.improveSdk.getVisitorCookieName(),f=u.cookies.get(x)?.value,c=f&&n.improveSdk.validateVisitorId(f)?f:n.improveSdk.generateVisitorId(),B=e=>e&&n.improveSdk.validateTestValue(m.slug,e)?e:null,S=B(u.nextUrl.searchParams.get(m.slug))||B(u.cookies.get(m.slug)?.value)||n.improveSdk.getTestValue(m.slug,c,g),A=m.options.find(e=>e.value===S);if(!A)return t.next();if(A.value!==v){let e=u.nextUrl.clone();e.pathname=m?.formatSlug?m?.formatSlug(e,A)?.pathname:A.slug,p=t.rewrite(e)}else p=t.next();return p.cookies.set(x,c,{maxAge:604800,...n.options?.visitorId}),p.cookies.set(m.slug,S,{maxAge:604800,...n.options?.testValue}),p}catch(e){return console.error("[Improve SDK]",e),t.next()}};export{n 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.4.0",
4
+ "version": "0.5.1",
5
5
  "keywords": [
6
6
  "ab-tests",
7
7
  "feature-flags",
@@ -14,8 +14,10 @@
14
14
  "author": "Obelism <hello@obelism.studio> (https://www.obelism.studio)",
15
15
  "repository": {
16
16
  "type": "git",
17
- "url": "https://github.com/Obelism/improve-sdk-next"
17
+ "url": "https://github.com/Obelism/improve-sdk",
18
+ "directory": "packages/next-sdk"
18
19
  },
20
+ "sideEffects": false,
19
21
  "files": [
20
22
  "dist"
21
23
  ],
@@ -58,7 +60,6 @@
58
60
  "vitest": "^2.0.5"
59
61
  },
60
62
  "dependencies": {
61
- "@obelism/improve-sdk": "^0.3.6",
62
- "@obelism/improve-sdk-react": "^0.4.0"
63
+ "@obelism/improve-sdk": "^0.5.0"
63
64
  }
64
65
  }