@simple-login/sdk 1.9.0 → 1.9.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/browser.cjs CHANGED
@@ -64,10 +64,12 @@ var SimpleLoginBrowser = class {
64
64
  /**
65
65
  * Get the URL to the user's profile page
66
66
  * @param options.redirectUrl - URL to redirect back to after profile changes
67
+ * @param options.logoutUrl - URL to redirect back to after logout
67
68
  */
68
69
  getProfileUrl(options) {
69
70
  const params = new URLSearchParams({
70
- redirect_url: options.redirectUrl
71
+ redirect_url: options.redirectUrl,
72
+ logout_url: options.logoutUrl
71
73
  });
72
74
  return `${this.baseUrl}/app/${this.slug}/profile?${params}`;
73
75
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/browser.ts"],"sourcesContent":["declare const __SIMPLELOGIN_BASE_URL__: string\n\nexport interface SimpleLoginBrowserConfig {\n clientId?: string\n slug?: string\n /** Pass meta.env here */\n env?: Record<string, string | undefined>\n}\n\nexport interface ProfileUrlOptions {\n redirectUrl: string\n}\n\n// Common framework prefixes for public env vars\nconst PUBLIC_ENV_PREFIXES = [\n 'VITE_', // Vite\n 'NEXT_PUBLIC_', // Next.js\n 'NUXT_PUBLIC_', // Nuxt 3\n 'PUBLIC_', // SvelteKit\n 'REACT_APP_', // Create React App\n 'EXPO_PUBLIC_', // Expo\n '', // No prefix (check last)\n]\n\nfunction getFromEnv(env: Record<string, string | undefined>, key: string): string | undefined {\n for (const prefix of PUBLIC_ENV_PREFIXES) {\n const value = env[`${prefix}${key}`]\n if (value) return value\n }\n return undefined\n}\n\nexport class SimpleLoginBrowser {\n private clientId: string\n private baseUrl: string\n private slug: string\n\n constructor(config: SimpleLoginBrowserConfig = {}) {\n const env = config.env ?? {}\n\n this.clientId = config.clientId ?? getFromEnv(env, 'SIMPLELOGIN_CLIENT_ID') ?? ''\n this.slug = config.slug ?? getFromEnv(env, 'SIMPLELOGIN_SLUG') ?? ''\n this.baseUrl = getFromEnv(env, 'SIMPLELOGIN_IDP_URL') ?? __SIMPLELOGIN_BASE_URL__\n\n if (!this.clientId) {\n throw new Error(\n 'clientId is required. Pass it in config or provide env with SIMPLELOGIN_CLIENT_ID.',\n )\n }\n }\n\n /**\n * Get the URL to the user's profile page\n * @param options.redirectUrl - URL to redirect back to after profile changes\n */\n getProfileUrl(options: ProfileUrlOptions): string {\n const params = new URLSearchParams({\n redirect_url: options.redirectUrl,\n })\n\n return `${this.baseUrl}/app/${this.slug}/profile?${params}`\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAcA,IAAM,sBAAsB;AAAA,EAC1B;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AACF;AAEA,SAAS,WAAW,KAAyC,KAAiC;AAC5F,aAAW,UAAU,qBAAqB;AACxC,UAAM,QAAQ,IAAI,GAAG,MAAM,GAAG,GAAG,EAAE;AACnC,QAAI,MAAO,QAAO;AAAA,EACpB;AACA,SAAO;AACT;AAEO,IAAM,qBAAN,MAAyB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,SAAmC,CAAC,GAAG;AACjD,UAAM,MAAM,OAAO,OAAO,CAAC;AAE3B,SAAK,WAAW,OAAO,YAAY,WAAW,KAAK,uBAAuB,KAAK;AAC/E,SAAK,OAAO,OAAO,QAAQ,WAAW,KAAK,kBAAkB,KAAK;AAClE,SAAK,UAAU,WAAW,KAAK,qBAAqB,KAAK;AAEzD,QAAI,CAAC,KAAK,UAAU;AAClB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,cAAc,SAAoC;AAChD,UAAM,SAAS,IAAI,gBAAgB;AAAA,MACjC,cAAc,QAAQ;AAAA,IACxB,CAAC;AAED,WAAO,GAAG,KAAK,OAAO,QAAQ,KAAK,IAAI,YAAY,MAAM;AAAA,EAC3D;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/browser.ts"],"sourcesContent":["declare const __SIMPLELOGIN_BASE_URL__: string\n\nexport interface SimpleLoginBrowserConfig {\n clientId?: string\n slug?: string\n /** Pass meta.env here */\n env?: Record<string, string | undefined>\n}\n\nexport interface ProfileUrlOptions {\n redirectUrl: string\n logoutUrl: string\n}\n\n// Common framework prefixes for public env vars\nconst PUBLIC_ENV_PREFIXES = [\n 'VITE_', // Vite\n 'NEXT_PUBLIC_', // Next.js\n 'NUXT_PUBLIC_', // Nuxt 3\n 'PUBLIC_', // SvelteKit\n 'REACT_APP_', // Create React App\n 'EXPO_PUBLIC_', // Expo\n '', // No prefix (check last)\n]\n\nfunction getFromEnv(env: Record<string, string | undefined>, key: string): string | undefined {\n for (const prefix of PUBLIC_ENV_PREFIXES) {\n const value = env[`${prefix}${key}`]\n if (value) return value\n }\n return undefined\n}\n\nexport class SimpleLoginBrowser {\n private clientId: string\n private baseUrl: string\n private slug: string\n\n constructor(config: SimpleLoginBrowserConfig = {}) {\n const env = config.env ?? {}\n\n this.clientId = config.clientId ?? getFromEnv(env, 'SIMPLELOGIN_CLIENT_ID') ?? ''\n this.slug = config.slug ?? getFromEnv(env, 'SIMPLELOGIN_SLUG') ?? ''\n this.baseUrl = getFromEnv(env, 'SIMPLELOGIN_IDP_URL') ?? __SIMPLELOGIN_BASE_URL__\n\n if (!this.clientId) {\n throw new Error(\n 'clientId is required. Pass it in config or provide env with SIMPLELOGIN_CLIENT_ID.',\n )\n }\n }\n\n /**\n * Get the URL to the user's profile page\n * @param options.redirectUrl - URL to redirect back to after profile changes\n * @param options.logoutUrl - URL to redirect back to after logout\n */\n getProfileUrl(options: ProfileUrlOptions): string {\n const params = new URLSearchParams({\n redirect_url: options.redirectUrl,\n logout_url: options.logoutUrl,\n })\n\n return `${this.baseUrl}/app/${this.slug}/profile?${params}`\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA,IAAM,sBAAsB;AAAA,EAC1B;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AACF;AAEA,SAAS,WAAW,KAAyC,KAAiC;AAC5F,aAAW,UAAU,qBAAqB;AACxC,UAAM,QAAQ,IAAI,GAAG,MAAM,GAAG,GAAG,EAAE;AACnC,QAAI,MAAO,QAAO;AAAA,EACpB;AACA,SAAO;AACT;AAEO,IAAM,qBAAN,MAAyB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,SAAmC,CAAC,GAAG;AACjD,UAAM,MAAM,OAAO,OAAO,CAAC;AAE3B,SAAK,WAAW,OAAO,YAAY,WAAW,KAAK,uBAAuB,KAAK;AAC/E,SAAK,OAAO,OAAO,QAAQ,WAAW,KAAK,kBAAkB,KAAK;AAClE,SAAK,UAAU,WAAW,KAAK,qBAAqB,KAAK;AAEzD,QAAI,CAAC,KAAK,UAAU;AAClB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,cAAc,SAAoC;AAChD,UAAM,SAAS,IAAI,gBAAgB;AAAA,MACjC,cAAc,QAAQ;AAAA,MACtB,YAAY,QAAQ;AAAA,IACtB,CAAC;AAED,WAAO,GAAG,KAAK,OAAO,QAAQ,KAAK,IAAI,YAAY,MAAM;AAAA,EAC3D;AACF;","names":[]}
@@ -6,6 +6,7 @@ interface SimpleLoginBrowserConfig {
6
6
  }
7
7
  interface ProfileUrlOptions {
8
8
  redirectUrl: string;
9
+ logoutUrl: string;
9
10
  }
10
11
  declare class SimpleLoginBrowser {
11
12
  private clientId;
@@ -15,6 +16,7 @@ declare class SimpleLoginBrowser {
15
16
  /**
16
17
  * Get the URL to the user's profile page
17
18
  * @param options.redirectUrl - URL to redirect back to after profile changes
19
+ * @param options.logoutUrl - URL to redirect back to after logout
18
20
  */
19
21
  getProfileUrl(options: ProfileUrlOptions): string;
20
22
  }
package/dist/browser.d.ts CHANGED
@@ -6,6 +6,7 @@ interface SimpleLoginBrowserConfig {
6
6
  }
7
7
  interface ProfileUrlOptions {
8
8
  redirectUrl: string;
9
+ logoutUrl: string;
9
10
  }
10
11
  declare class SimpleLoginBrowser {
11
12
  private clientId;
@@ -15,6 +16,7 @@ declare class SimpleLoginBrowser {
15
16
  /**
16
17
  * Get the URL to the user's profile page
17
18
  * @param options.redirectUrl - URL to redirect back to after profile changes
19
+ * @param options.logoutUrl - URL to redirect back to after logout
18
20
  */
19
21
  getProfileUrl(options: ProfileUrlOptions): string;
20
22
  }
package/dist/browser.js CHANGED
@@ -40,10 +40,12 @@ var SimpleLoginBrowser = class {
40
40
  /**
41
41
  * Get the URL to the user's profile page
42
42
  * @param options.redirectUrl - URL to redirect back to after profile changes
43
+ * @param options.logoutUrl - URL to redirect back to after logout
43
44
  */
44
45
  getProfileUrl(options) {
45
46
  const params = new URLSearchParams({
46
- redirect_url: options.redirectUrl
47
+ redirect_url: options.redirectUrl,
48
+ logout_url: options.logoutUrl
47
49
  });
48
50
  return `${this.baseUrl}/app/${this.slug}/profile?${params}`;
49
51
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/browser.ts"],"sourcesContent":["declare const __SIMPLELOGIN_BASE_URL__: string\n\nexport interface SimpleLoginBrowserConfig {\n clientId?: string\n slug?: string\n /** Pass meta.env here */\n env?: Record<string, string | undefined>\n}\n\nexport interface ProfileUrlOptions {\n redirectUrl: string\n}\n\n// Common framework prefixes for public env vars\nconst PUBLIC_ENV_PREFIXES = [\n 'VITE_', // Vite\n 'NEXT_PUBLIC_', // Next.js\n 'NUXT_PUBLIC_', // Nuxt 3\n 'PUBLIC_', // SvelteKit\n 'REACT_APP_', // Create React App\n 'EXPO_PUBLIC_', // Expo\n '', // No prefix (check last)\n]\n\nfunction getFromEnv(env: Record<string, string | undefined>, key: string): string | undefined {\n for (const prefix of PUBLIC_ENV_PREFIXES) {\n const value = env[`${prefix}${key}`]\n if (value) return value\n }\n return undefined\n}\n\nexport class SimpleLoginBrowser {\n private clientId: string\n private baseUrl: string\n private slug: string\n\n constructor(config: SimpleLoginBrowserConfig = {}) {\n const env = config.env ?? {}\n\n this.clientId = config.clientId ?? getFromEnv(env, 'SIMPLELOGIN_CLIENT_ID') ?? ''\n this.slug = config.slug ?? getFromEnv(env, 'SIMPLELOGIN_SLUG') ?? ''\n this.baseUrl = getFromEnv(env, 'SIMPLELOGIN_IDP_URL') ?? __SIMPLELOGIN_BASE_URL__\n\n if (!this.clientId) {\n throw new Error(\n 'clientId is required. Pass it in config or provide env with SIMPLELOGIN_CLIENT_ID.',\n )\n }\n }\n\n /**\n * Get the URL to the user's profile page\n * @param options.redirectUrl - URL to redirect back to after profile changes\n */\n getProfileUrl(options: ProfileUrlOptions): string {\n const params = new URLSearchParams({\n redirect_url: options.redirectUrl,\n })\n\n return `${this.baseUrl}/app/${this.slug}/profile?${params}`\n }\n}\n"],"mappings":";AAcA,IAAM,sBAAsB;AAAA,EAC1B;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AACF;AAEA,SAAS,WAAW,KAAyC,KAAiC;AAC5F,aAAW,UAAU,qBAAqB;AACxC,UAAM,QAAQ,IAAI,GAAG,MAAM,GAAG,GAAG,EAAE;AACnC,QAAI,MAAO,QAAO;AAAA,EACpB;AACA,SAAO;AACT;AAEO,IAAM,qBAAN,MAAyB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,SAAmC,CAAC,GAAG;AACjD,UAAM,MAAM,OAAO,OAAO,CAAC;AAE3B,SAAK,WAAW,OAAO,YAAY,WAAW,KAAK,uBAAuB,KAAK;AAC/E,SAAK,OAAO,OAAO,QAAQ,WAAW,KAAK,kBAAkB,KAAK;AAClE,SAAK,UAAU,WAAW,KAAK,qBAAqB,KAAK;AAEzD,QAAI,CAAC,KAAK,UAAU;AAClB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,cAAc,SAAoC;AAChD,UAAM,SAAS,IAAI,gBAAgB;AAAA,MACjC,cAAc,QAAQ;AAAA,IACxB,CAAC;AAED,WAAO,GAAG,KAAK,OAAO,QAAQ,KAAK,IAAI,YAAY,MAAM;AAAA,EAC3D;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/browser.ts"],"sourcesContent":["declare const __SIMPLELOGIN_BASE_URL__: string\n\nexport interface SimpleLoginBrowserConfig {\n clientId?: string\n slug?: string\n /** Pass meta.env here */\n env?: Record<string, string | undefined>\n}\n\nexport interface ProfileUrlOptions {\n redirectUrl: string\n logoutUrl: string\n}\n\n// Common framework prefixes for public env vars\nconst PUBLIC_ENV_PREFIXES = [\n 'VITE_', // Vite\n 'NEXT_PUBLIC_', // Next.js\n 'NUXT_PUBLIC_', // Nuxt 3\n 'PUBLIC_', // SvelteKit\n 'REACT_APP_', // Create React App\n 'EXPO_PUBLIC_', // Expo\n '', // No prefix (check last)\n]\n\nfunction getFromEnv(env: Record<string, string | undefined>, key: string): string | undefined {\n for (const prefix of PUBLIC_ENV_PREFIXES) {\n const value = env[`${prefix}${key}`]\n if (value) return value\n }\n return undefined\n}\n\nexport class SimpleLoginBrowser {\n private clientId: string\n private baseUrl: string\n private slug: string\n\n constructor(config: SimpleLoginBrowserConfig = {}) {\n const env = config.env ?? {}\n\n this.clientId = config.clientId ?? getFromEnv(env, 'SIMPLELOGIN_CLIENT_ID') ?? ''\n this.slug = config.slug ?? getFromEnv(env, 'SIMPLELOGIN_SLUG') ?? ''\n this.baseUrl = getFromEnv(env, 'SIMPLELOGIN_IDP_URL') ?? __SIMPLELOGIN_BASE_URL__\n\n if (!this.clientId) {\n throw new Error(\n 'clientId is required. Pass it in config or provide env with SIMPLELOGIN_CLIENT_ID.',\n )\n }\n }\n\n /**\n * Get the URL to the user's profile page\n * @param options.redirectUrl - URL to redirect back to after profile changes\n * @param options.logoutUrl - URL to redirect back to after logout\n */\n getProfileUrl(options: ProfileUrlOptions): string {\n const params = new URLSearchParams({\n redirect_url: options.redirectUrl,\n logout_url: options.logoutUrl,\n })\n\n return `${this.baseUrl}/app/${this.slug}/profile?${params}`\n }\n}\n"],"mappings":";AAeA,IAAM,sBAAsB;AAAA,EAC1B;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AACF;AAEA,SAAS,WAAW,KAAyC,KAAiC;AAC5F,aAAW,UAAU,qBAAqB;AACxC,UAAM,QAAQ,IAAI,GAAG,MAAM,GAAG,GAAG,EAAE;AACnC,QAAI,MAAO,QAAO;AAAA,EACpB;AACA,SAAO;AACT;AAEO,IAAM,qBAAN,MAAyB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,SAAmC,CAAC,GAAG;AACjD,UAAM,MAAM,OAAO,OAAO,CAAC;AAE3B,SAAK,WAAW,OAAO,YAAY,WAAW,KAAK,uBAAuB,KAAK;AAC/E,SAAK,OAAO,OAAO,QAAQ,WAAW,KAAK,kBAAkB,KAAK;AAClE,SAAK,UAAU,WAAW,KAAK,qBAAqB,KAAK;AAEzD,QAAI,CAAC,KAAK,UAAU;AAClB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,cAAc,SAAoC;AAChD,UAAM,SAAS,IAAI,gBAAgB;AAAA,MACjC,cAAc,QAAQ;AAAA,MACtB,YAAY,QAAQ;AAAA,IACtB,CAAC;AAED,WAAO,GAAG,KAAK,OAAO,QAAQ,KAAK,IAAI,YAAY,MAAM;AAAA,EAC3D;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simple-login/sdk",
3
- "version": "1.9.0",
3
+ "version": "1.9.1",
4
4
  "description": "Official SDK for Simple Login",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",