@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 +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +5 -4
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("next/server");
|
|
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=
|
|
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
|
+
"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
|
|
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.
|
|
62
|
-
"@obelism/improve-sdk-react": "^0.4.0"
|
|
63
|
+
"@obelism/improve-sdk": "^0.5.0"
|
|
63
64
|
}
|
|
64
65
|
}
|