@descope/vue-sdk 0.0.0-next-005bf86a-20240303 → 0.0.0-next-2b2f6143-20240312

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/README.md CHANGED
@@ -247,6 +247,8 @@ Run the following command in the root of the project to build and run the exampl
247
247
  npm i && npm start
248
248
  ```
249
249
 
250
+ Open your browser and navigate to [http://localhost:3000](http://localhost:3000).
251
+
250
252
  ### Example Optional Env Variables
251
253
 
252
254
  See the following table for customization environment variables for the example app:
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@descope/web-component"),s=require("@descope/web-js-sdk");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@descope/user-management-widget");var o=r(t),n=r(s);const a=Symbol("$descope"),u={"x-descope-sdk-name":"vue","x-descope-sdk-version":"0.0.0-next-005bf86a-20240303"},i="undefined"!=typeof window,l=()=>{const t=e.inject(a);if(!t)throw Error("Missing Descope context, make sure you are using the Descope plugin");return t},c=()=>l().options,d=()=>l().sdk,p=e=>(...t)=>{let s;try{s=e(...t)}catch(e){console.error(e)}return s};let f;const m=e=>{const t=n.default({...e,persistTokens:i,autoRefresh:i});return f=t,t};f=m({projectId:"temp pid"});const g=()=>i?f?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),v=p(((e=g(),t)=>f?.getJwtPermissions(e,t))),y=p(((e=g(),t)=>f?.getJwtRoles(e,t))),h=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var b=e.defineComponent({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean},errorTransformer:{type:Function},form:{type:Object},client:{type:Object}},emits:["success","error","ready"],setup(t,{emit:s}){const r=t;o.default.sdkConfigOverrides={baseHeaders:u,persistTokens:!1,hooks:{get beforeRequest(){return f.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const{projectId:n,baseUrl:a}=c(),i=d(),l=e.computed((()=>r.form?JSON.stringify(r.form):"")),p=e.computed((()=>r.client?JSON.stringify(r.client):"")),m=async e=>{await(i.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),s("success",e)},g=e=>s("error",e),v=e=>s("ready",e);return(s,r)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-wc",{"project-id":e.unref(n),"base-url":e.unref(a),"flow-id":t.flowId,"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"^telemetryKey":t.telemetryKey,"redirect-url":t.redirectUrl,"auto-focus":t.autoFocus,".errorTransformer":t.errorTransformer,"^form":e.unref(l),"^client":e.unref(p),onSuccess:m,onError:g,onReady:v},null,40,h)]))}});b.__file="src/Descope.vue";const S=["project-id","base-url","^theme","^tenant","^debug"];var k=e.defineComponent({__name:"UserManagement",props:{tenant:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:s,baseUrl:r}=c();return(o,n)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-user-management-widget",{"project-id":e.unref(s),"base-url":e.unref(r),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug},null,8,S)]))}});k.__file="src/UserManagement.vue";const w=e.ref(null);let x;var R={install:function(t,s){const r=m({...s,persistTokens:!0,autoRefresh:!0,baseHeaders:u});x=r;const o=e.ref(null),n=e.ref(""),i=e.ref(null),l=e.ref(null);r.onSessionTokenChange((e=>{n.value=e})),r.onUserChange((e=>{l.value=e}));const c=async()=>{o.value=!0,await r.refresh(),o.value=!1},d=e.computed((()=>null===o.value)),p=e.computed((()=>null===i.value));w.value=()=>new Promise(((t,s)=>{!n.value&&d.value&&c().catch(s),e.watch((()=>o.value),(()=>!o.value&&t(!!e.unref(n))),{immediate:!0})})),t.provide(a,{session:{fetchSession:c,isLoading:e.readonly(o),session:e.readonly(n),isFetchSessionWasNeverCalled:d},user:{fetchUser:async()=>{i.value=!0,await r.me(),i.value=!1},isLoading:e.readonly(i),user:e.readonly(l),isFetchUserWasNeverCalled:p},sdk:r,options:s})}};exports.Descope=b,exports.UserManagement=k,exports.default=R,exports.getJwtPermissions=v,exports.getJwtRoles=y,exports.getRefreshToken=()=>i?f?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),exports.getSdk=()=>x,exports.getSessionToken=g,exports.routeGuard=()=>e.unref(w)?.(),exports.useDescope=d,exports.useSession=()=>{const{session:t}=l();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:e.computed((()=>!!t.session.value))}},exports.useUser=()=>{const{user:t,session:s}=l(),r=()=>{!t.user.value&&s.session.value&&t.fetchUser()};return r(),e.watch(s.session,r),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchUserWasNeverCalled.value)),user:t.user}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@descope/web-component"),s=require("@descope/web-js-sdk");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@descope/user-management-widget");var o=r(t),n=r(s);const a=Symbol("$descope"),u={"x-descope-sdk-name":"vue","x-descope-sdk-version":"0.0.0-next-2b2f6143-20240312"},i="undefined"!=typeof window,l=()=>{const t=e.inject(a);if(!t)throw Error("Missing Descope context, make sure you are using the Descope plugin");return t},c=()=>l().options,d=()=>l().sdk,p=e=>(...t)=>{let s;try{s=e(...t)}catch(e){console.error(e)}return s};let f;const m=e=>{const t=n.default({...e,persistTokens:i,autoRefresh:i});return f=t,t};f=m({projectId:"temp pid"});const g=()=>i?f?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),v=p(((e=g(),t)=>f?.getJwtPermissions(e,t))),y=p(((e=g(),t)=>f?.getJwtRoles(e,t))),h=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var b=e.defineComponent({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean},errorTransformer:{type:Function},form:{type:Object},client:{type:Object}},emits:["success","error","ready"],setup(t,{emit:s}){const r=t;o.default.sdkConfigOverrides={baseHeaders:u,persistTokens:!1,hooks:{get beforeRequest(){return f.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const{projectId:n,baseUrl:a}=c(),i=d(),l=e.computed((()=>r.form?JSON.stringify(r.form):"")),p=e.computed((()=>r.client?JSON.stringify(r.client):"")),m=async e=>{await(i.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),s("success",e)},g=e=>s("error",e),v=e=>s("ready",e);return(s,r)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-wc",{"project-id":e.unref(n),"base-url":e.unref(a),"flow-id":t.flowId,"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"^telemetryKey":t.telemetryKey,"redirect-url":t.redirectUrl,"auto-focus":t.autoFocus,".errorTransformer":t.errorTransformer,"^form":e.unref(l),"^client":e.unref(p),onSuccess:m,onError:g,onReady:v},null,40,h)]))}});b.__file="src/Descope.vue";const S=["project-id","base-url","^theme","^tenant","^debug"];var k=e.defineComponent({__name:"UserManagement",props:{tenant:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:s,baseUrl:r}=c();return(o,n)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-user-management-widget",{"project-id":e.unref(s),"base-url":e.unref(r),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug},null,8,S)]))}});k.__file="src/UserManagement.vue";const w=e.ref(null);let x;var R={install:function(t,s){const r=m({...s,persistTokens:!0,autoRefresh:!0,baseHeaders:u});x=r;const o=e.ref(null),n=e.ref(""),i=e.ref(null),l=e.ref(null);r.onSessionTokenChange((e=>{n.value=e})),r.onUserChange((e=>{l.value=e}));const c=async()=>{o.value=!0,await r.refresh(),o.value=!1},d=e.computed((()=>null===o.value)),p=e.computed((()=>null===i.value));w.value=()=>new Promise(((t,s)=>{!n.value&&d.value&&c().catch(s),e.watch((()=>o.value),(()=>!o.value&&t(!!e.unref(n))),{immediate:!0})})),t.provide(a,{session:{fetchSession:c,isLoading:e.readonly(o),session:e.readonly(n),isFetchSessionWasNeverCalled:d},user:{fetchUser:async()=>{i.value=!0,await r.me(),i.value=!1},isLoading:e.readonly(i),user:e.readonly(l),isFetchUserWasNeverCalled:p},sdk:r,options:s})}};exports.Descope=b,exports.UserManagement=k,exports.default=R,exports.getJwtPermissions=v,exports.getJwtRoles=y,exports.getRefreshToken=()=>i?f?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),exports.getSdk=()=>x,exports.getSessionToken=g,exports.routeGuard=()=>e.unref(w)?.(),exports.useDescope=d,exports.useSession=()=>{const{session:t}=l();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:e.computed((()=>!!t.session.value))}},exports.useUser=()=>{const{user:t,session:s}=l(),r=()=>{!t.user.value&&s.session.value&&t.fetchUser()};return r(),e.watch(s.session,r),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchUserWasNeverCalled.value)),user:t.user}};
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{computed as e,watch as s,inject as t,defineComponent as r,openBlock as o,createElementBlock as n,createElementVNode as a,unref as i,ref as l,readonly as u}from"vue";import c from"@descope/web-component";import d from"@descope/web-js-sdk";import"@descope/user-management-widget";const p=Symbol("$descope"),m={"x-descope-sdk-name":"vue","x-descope-sdk-version":"0.0.0-next-005bf86a-20240303"},f="undefined"!=typeof window,g=()=>{const e=t(p);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},v=()=>g().options,y=()=>g().sdk,h=()=>{const{session:s}=g();return s.isFetchSessionWasNeverCalled.value&&s.fetchSession(),{isLoading:e((()=>s.isLoading.value||s.isFetchSessionWasNeverCalled.value)),sessionToken:s.session,isAuthenticated:e((()=>!!s.session.value))}},b=()=>{const{user:t,session:r}=g(),o=()=>{!t.user.value&&r.session.value&&t.fetchUser()};return o(),s(r.session,o),{isLoading:e((()=>t.isLoading.value||t.isFetchUserWasNeverCalled.value)),user:t.user}},S=e=>(...s)=>{let t;try{t=e(...s)}catch(e){console.error(e)}return t};let w;const k=e=>{const s=d({...e,persistTokens:f,autoRefresh:f});return w=s,s};w=k({projectId:"temp pid"});const R=()=>f?w?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),U=()=>f?w?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),T=S(((e=R(),s)=>w?.getJwtPermissions(e,s))),j=S(((e=R(),s)=>w?.getJwtRoles(e,s))),C=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var F=r({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean},errorTransformer:{type:Function},form:{type:Object},client:{type:Object}},emits:["success","error","ready"],setup(s,{emit:t}){const r=s;c.sdkConfigOverrides={baseHeaders:m,persistTokens:!1,hooks:{get beforeRequest(){return w.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const{projectId:l,baseUrl:u}=v(),d=y(),p=e((()=>r.form?JSON.stringify(r.form):"")),f=e((()=>r.client?JSON.stringify(r.client):"")),g=async e=>{await(d.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),t("success",e)},h=e=>t("error",e),b=e=>t("ready",e);return(e,t)=>(o(),n("div",null,[a("descope-wc",{"project-id":i(l),"base-url":i(u),"flow-id":s.flowId,"^theme":s.theme,"^locale":s.locale,"^tenant":s.tenant,"^debug":s.debug,"^telemetryKey":s.telemetryKey,"redirect-url":s.redirectUrl,"auto-focus":s.autoFocus,".errorTransformer":s.errorTransformer,"^form":i(p),"^client":i(f),onSuccess:g,onError:h,onReady:b},null,40,C)]))}});F.__file="src/Descope.vue";const N=["project-id","base-url","^theme","^tenant","^debug"];var _=r({__name:"UserManagement",props:{tenant:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:s,baseUrl:t}=v();return(r,l)=>(o(),n("div",null,[a("descope-user-management-widget",{"project-id":i(s),"base-url":i(t),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug},null,8,N)]))}});_.__file="src/UserManagement.vue";const q=l(null),L=()=>i(q)?.();let O;const x=()=>O;var D={install:function(t,r){const o=k({...r,persistTokens:!0,autoRefresh:!0,baseHeaders:m});O=o;const n=l(null),a=l(""),c=l(null),d=l(null);o.onSessionTokenChange((e=>{a.value=e})),o.onUserChange((e=>{d.value=e}));const f=async()=>{n.value=!0,await o.refresh(),n.value=!1},g=e((()=>null===n.value)),v=e((()=>null===c.value));q.value=()=>new Promise(((e,t)=>{!a.value&&g.value&&f().catch(t),s((()=>n.value),(()=>!n.value&&e(!!i(a))),{immediate:!0})})),t.provide(p,{session:{fetchSession:f,isLoading:u(n),session:u(a),isFetchSessionWasNeverCalled:g},user:{fetchUser:async()=>{c.value=!0,await o.me(),c.value=!1},isLoading:u(c),user:u(d),isFetchUserWasNeverCalled:v},sdk:o,options:r})}};export{F as Descope,_ as UserManagement,D as default,T as getJwtPermissions,j as getJwtRoles,U as getRefreshToken,x as getSdk,R as getSessionToken,L as routeGuard,y as useDescope,h as useSession,b as useUser};
1
+ import{computed as e,watch as s,inject as t,defineComponent as r,openBlock as o,createElementBlock as n,createElementVNode as a,unref as i,ref as l,readonly as u}from"vue";import c from"@descope/web-component";import d from"@descope/web-js-sdk";import"@descope/user-management-widget";const p=Symbol("$descope"),m={"x-descope-sdk-name":"vue","x-descope-sdk-version":"0.0.0-next-2b2f6143-20240312"},f="undefined"!=typeof window,g=()=>{const e=t(p);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},v=()=>g().options,y=()=>g().sdk,h=()=>{const{session:s}=g();return s.isFetchSessionWasNeverCalled.value&&s.fetchSession(),{isLoading:e((()=>s.isLoading.value||s.isFetchSessionWasNeverCalled.value)),sessionToken:s.session,isAuthenticated:e((()=>!!s.session.value))}},b=()=>{const{user:t,session:r}=g(),o=()=>{!t.user.value&&r.session.value&&t.fetchUser()};return o(),s(r.session,o),{isLoading:e((()=>t.isLoading.value||t.isFetchUserWasNeverCalled.value)),user:t.user}},S=e=>(...s)=>{let t;try{t=e(...s)}catch(e){console.error(e)}return t};let w;const k=e=>{const s=d({...e,persistTokens:f,autoRefresh:f});return w=s,s};w=k({projectId:"temp pid"});const R=()=>f?w?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),U=()=>f?w?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),T=S(((e=R(),s)=>w?.getJwtPermissions(e,s))),j=S(((e=R(),s)=>w?.getJwtRoles(e,s))),C=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var F=r({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean},errorTransformer:{type:Function},form:{type:Object},client:{type:Object}},emits:["success","error","ready"],setup(s,{emit:t}){const r=s;c.sdkConfigOverrides={baseHeaders:m,persistTokens:!1,hooks:{get beforeRequest(){return w.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const{projectId:l,baseUrl:u}=v(),d=y(),p=e((()=>r.form?JSON.stringify(r.form):"")),f=e((()=>r.client?JSON.stringify(r.client):"")),g=async e=>{await(d.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),t("success",e)},h=e=>t("error",e),b=e=>t("ready",e);return(e,t)=>(o(),n("div",null,[a("descope-wc",{"project-id":i(l),"base-url":i(u),"flow-id":s.flowId,"^theme":s.theme,"^locale":s.locale,"^tenant":s.tenant,"^debug":s.debug,"^telemetryKey":s.telemetryKey,"redirect-url":s.redirectUrl,"auto-focus":s.autoFocus,".errorTransformer":s.errorTransformer,"^form":i(p),"^client":i(f),onSuccess:g,onError:h,onReady:b},null,40,C)]))}});F.__file="src/Descope.vue";const N=["project-id","base-url","^theme","^tenant","^debug"];var _=r({__name:"UserManagement",props:{tenant:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:s,baseUrl:t}=v();return(r,l)=>(o(),n("div",null,[a("descope-user-management-widget",{"project-id":i(s),"base-url":i(t),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug},null,8,N)]))}});_.__file="src/UserManagement.vue";const q=l(null),L=()=>i(q)?.();let O;const x=()=>O;var D={install:function(t,r){const o=k({...r,persistTokens:!0,autoRefresh:!0,baseHeaders:m});O=o;const n=l(null),a=l(""),c=l(null),d=l(null);o.onSessionTokenChange((e=>{a.value=e})),o.onUserChange((e=>{d.value=e}));const f=async()=>{n.value=!0,await o.refresh(),n.value=!1},g=e((()=>null===n.value)),v=e((()=>null===c.value));q.value=()=>new Promise(((e,t)=>{!a.value&&g.value&&f().catch(t),s((()=>n.value),(()=>!n.value&&e(!!i(a))),{immediate:!0})})),t.provide(p,{session:{fetchSession:f,isLoading:u(n),session:u(a),isFetchSessionWasNeverCalled:g},user:{fetchUser:async()=>{c.value=!0,await o.me(),c.value=!1},isLoading:u(c),user:u(d),isFetchUserWasNeverCalled:v},sdk:o,options:r})}};export{F as Descope,_ as UserManagement,D as default,T as getJwtPermissions,j as getJwtRoles,U as getRefreshToken,x as getSdk,R as getSessionToken,L as routeGuard,y as useDescope,h as useSession,b as useUser};
2
2
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/vue-sdk",
3
- "version": "0.0.0-next-005bf86a-20240303",
3
+ "version": "0.0.0-next-2b2f6143-20240312",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.mjs",
6
6
  "type": "module",
@@ -20,7 +20,7 @@
20
20
  "dist"
21
21
  ],
22
22
  "scripts": {
23
- "start": "vue-cli-service serve",
23
+ "start": "vue-cli-service serve --port 3000",
24
24
  "build": "rollup -m -c rollup.config.js",
25
25
  "test": "vue-cli-service test:unit",
26
26
  "lint": "vue-cli-service lint",