@better-auth/electron 1.7.0-beta.1 → 1.7.0-beta.3

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/client.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as PACKAGE_VERSION } from "./version-C22JHwcK.mjs";
1
+ import { t as PACKAGE_VERSION } from "./version-CLqkeI3u.mjs";
2
2
  import { n as isProcessType, r as parseProtocolScheme, t as getChannelPrefixWithDelimiter } from "./utils-DxDKRT6e.mjs";
3
3
  import { BetterAuthError } from "@better-auth/core/error";
4
4
  import { base64, base64Url } from "@better-auth/utils/base64";
@@ -11,6 +11,7 @@ import { signInSocial } from "better-auth/api";
11
11
  import { parseSetCookieHeader } from "better-auth/cookies";
12
12
  import electron, { shell } from "electron";
13
13
  import { isDevelopment as isDevelopment$1 } from "@better-auth/core/env";
14
+ import { isPublicRoutableHost } from "@better-auth/core/utils/host";
14
15
  import { resolve } from "node:path";
15
16
  //#region src/user.ts
16
17
  const { net } = electron;
@@ -37,7 +38,7 @@ async function fetchUserImage(baseURL, url, options) {
37
38
  parsed = new URL(relative, base);
38
39
  }
39
40
  if (parsed.protocol !== "http:" && parsed.protocol !== "https:") return null;
40
- if (!isDevelopment$1() && isLocalOrigin(parsed)) return null;
41
+ if (!isDevelopment$1() && !isPublicRoutableHost(parsed.hostname)) return null;
41
42
  resolvedUrl = parsed.href;
42
43
  } catch {
43
44
  return null;
@@ -116,25 +117,6 @@ async function decodeDataImageUrl(url, options) {
116
117
  return null;
117
118
  }
118
119
  }
119
- function isLocalOrigin(parsed) {
120
- const hostname = parsed.hostname.toLowerCase();
121
- if (hostname === "localhost") return true;
122
- const m = hostname.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
123
- if (m) {
124
- const a = Number(m[1]);
125
- const b = Number(m[2]);
126
- if (a === 127) return true;
127
- if (a === 10) return true;
128
- if (a === 172 && b >= 16 && b <= 31) return true;
129
- if (a === 192 && b === 168) return true;
130
- if (a === 169 && b === 254) return true;
131
- return false;
132
- }
133
- const h = hostname.replace(/^\[|\]$/g, "");
134
- if (h === "::1" || /^(0:){7}1$/.test(h) || h === "0:0:0:0:0:0:0:1") return true;
135
- if (/^fe[89ab][0-9a-f]/i.test(h)) return true;
136
- return false;
137
- }
138
120
  function detectImageType(bytes) {
139
121
  if (bytes.length < 12) return null;
140
122
  if (bytes[0] === 137 && bytes[1] === 80 && bytes[2] === 78 && bytes[3] === 71 && bytes[4] === 13 && bytes[5] === 10 && bytes[6] === 26 && bytes[7] === 10) return "image/png";
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as PACKAGE_VERSION } from "./version-C22JHwcK.mjs";
1
+ import { t as PACKAGE_VERSION } from "./version-CLqkeI3u.mjs";
2
2
  import { createAuthMiddleware } from "@better-auth/core/api";
3
3
  import { APIError, BASE_ERROR_CODES } from "@better-auth/core/error";
4
4
  import { base64Url } from "@better-auth/utils/base64";
@@ -819,7 +819,7 @@ interface AppleProfile {
819
819
  * The email address is either the user's real email address or the proxy
820
820
  * address, depending on their status private email relay service.
821
821
  */
822
- email: string;
822
+ email?: string;
823
823
  /**
824
824
  * A string or Boolean value that indicates whether the service verifies
825
825
  * the email. The value can either be a string ("true" or "false") or a
@@ -867,7 +867,7 @@ interface AppleNonConformUser {
867
867
  email: string;
868
868
  }
869
869
  interface AppleOptions extends ProviderOptions<AppleProfile> {
870
- clientId: string;
870
+ clientId: string | string[];
871
871
  appBundleIdentifier?: string | undefined;
872
872
  audience?: (string | string[]) | undefined;
873
873
  }
@@ -914,7 +914,7 @@ interface CognitoProfile {
914
914
  [key: string]: any;
915
915
  }
916
916
  interface CognitoOptions extends ProviderOptions<CognitoProfile> {
917
- clientId: string;
917
+ clientId: string | string[];
918
918
  /**
919
919
  * The Cognito domain (e.g., "your-app.auth.us-east-1.amazoncognito.com")
920
920
  */
@@ -967,7 +967,7 @@ interface DiscordProfile extends Record<string, any> {
967
967
  /** whether the email on this account has been verified */
968
968
  verified: boolean;
969
969
  /** the user's email */
970
- email: string;
970
+ email?: string | null;
971
971
  /**
972
972
  * the flags on a user's account:
973
973
  * https://discord.com/developers/docs/resources/user#user-object-user-flags
@@ -1009,8 +1009,8 @@ interface DiscordOptions extends ProviderOptions<DiscordProfile> {
1009
1009
  interface FacebookProfile {
1010
1010
  id: string;
1011
1011
  name: string;
1012
- email: string;
1013
- email_verified: boolean;
1012
+ email?: string;
1013
+ email_verified?: boolean;
1014
1014
  picture: {
1015
1015
  data: {
1016
1016
  height: number;
@@ -1021,7 +1021,7 @@ interface FacebookProfile {
1021
1021
  };
1022
1022
  }
1023
1023
  interface FacebookOptions extends ProviderOptions<FacebookProfile> {
1024
- clientId: string;
1024
+ clientId: string | string[];
1025
1025
  /**
1026
1026
  * Extend list of fields to retrieve from the Facebook user profile.
1027
1027
  *
@@ -1071,7 +1071,7 @@ interface GithubProfile {
1071
1071
  company: string;
1072
1072
  blog: string;
1073
1073
  location: string;
1074
- email: string;
1074
+ email: string | null;
1075
1075
  hireable: boolean;
1076
1076
  bio: string;
1077
1077
  twitter_username: string;
@@ -1125,7 +1125,7 @@ interface MicrosoftEntraIDProfile extends Record<string, any> {
1125
1125
  /** The primary username that represents the user */
1126
1126
  preferred_username: string;
1127
1127
  /** User's email address */
1128
- email: string;
1128
+ email?: string;
1129
1129
  /** Human-readable value that identifies the subject of the token */
1130
1130
  name: string;
1131
1131
  /** Matches the parameter included in the original authorize request */
@@ -1204,7 +1204,7 @@ interface MicrosoftEntraIDProfile extends Record<string, any> {
1204
1204
  given_name: string;
1205
1205
  }
1206
1206
  interface MicrosoftOptions extends ProviderOptions<MicrosoftEntraIDProfile> {
1207
- clientId: string;
1207
+ clientId: string | string[];
1208
1208
  /**
1209
1209
  * The tenant ID of the Microsoft account
1210
1210
  * @default "common"
@@ -1255,7 +1255,7 @@ interface GoogleProfile {
1255
1255
  sub: string;
1256
1256
  }
1257
1257
  interface GoogleOptions extends ProviderOptions<GoogleProfile> {
1258
- clientId: string;
1258
+ clientId: string | string[];
1259
1259
  /**
1260
1260
  * The access type to use for the authorization code request
1261
1261
  */
@@ -1539,8 +1539,8 @@ interface LinkedInProfile {
1539
1539
  country: string;
1540
1540
  language: string;
1541
1541
  };
1542
- email: string;
1543
- email_verified: boolean;
1542
+ email?: string;
1543
+ email_verified?: boolean;
1544
1544
  }
1545
1545
  interface LinkedInOptions extends ProviderOptions<LinkedInProfile> {
1546
1546
  clientId: string;
@@ -4838,7 +4838,12 @@ interface InternalAdapter<_Options extends BetterAuthOptions = BetterAuthOptions
4838
4838
  updateSession(sessionToken: string, session: Partial<Session> & Record<string, any>): Promise<Session | null>;
4839
4839
  deleteSession(token: string): Promise<void>;
4840
4840
  deleteAccounts(userId: string): Promise<void>;
4841
- deleteAccount(accountId: string): Promise<void>;
4841
+ /**
4842
+ * Delete an account by its primary key.
4843
+ *
4844
+ * @param id - The account row's primary key (the `id` column, not the `accountId` column).
4845
+ */
4846
+ deleteAccount(id: string): Promise<void>;
4842
4847
  deleteSessions(userIdOrSessionTokens: string | string[]): Promise<void>;
4843
4848
  findOAuthUser(email: string, accountId: string, providerId: string): Promise<{
4844
4849
  user: User;
@@ -4865,6 +4870,7 @@ interface InternalAdapter<_Options extends BetterAuthOptions = BetterAuthOptions
4865
4870
  findVerificationValue(identifier: string): Promise<Verification | null>;
4866
4871
  deleteVerificationByIdentifier(identifier: string): Promise<void>;
4867
4872
  updateVerificationByIdentifier(identifier: string, data: Partial<Verification>): Promise<Verification>;
4873
+ refreshUserSessions(user: User): Promise<void>;
4868
4874
  }
4869
4875
  type CreateCookieGetterFn = (cookieName: string, overrideAttributes?: Partial<CookieOptions> | undefined) => BetterAuthCookie;
4870
4876
  type CheckPasswordFn<Options extends BetterAuthOptions = BetterAuthOptions> = (userId: string, ctx: GenericEndpointContext<Options>) => Promise<boolean>;
package/dist/proxy.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as PACKAGE_VERSION } from "./version-C22JHwcK.mjs";
1
+ import { t as PACKAGE_VERSION } from "./version-CLqkeI3u.mjs";
2
2
  import { r as parseProtocolScheme } from "./utils-DxDKRT6e.mjs";
3
3
  import { parseCookies } from "better-auth/cookies";
4
4
  //#region src/proxy.ts
@@ -1,5 +1,5 @@
1
1
  //#endregion
2
2
  //#region src/version.ts
3
- const PACKAGE_VERSION = "1.7.0-beta.1";
3
+ const PACKAGE_VERSION = "1.7.0-beta.3";
4
4
  //#endregion
5
5
  export { PACKAGE_VERSION as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@better-auth/electron",
3
- "version": "1.7.0-beta.1",
3
+ "version": "1.7.0-beta.3",
4
4
  "description": "Better Auth integration for Electron applications.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -78,10 +78,10 @@
78
78
  "devDependencies": {
79
79
  "@types/better-sqlite3": "^7.6.13",
80
80
  "better-sqlite3": "^12.6.2",
81
- "electron": "^38.8.4",
81
+ "electron": "^41.2.2",
82
82
  "tsdown": "0.21.1",
83
- "@better-auth/core": "1.7.0-beta.1",
84
- "better-auth": "1.7.0-beta.1"
83
+ "@better-auth/core": "1.7.0-beta.3",
84
+ "better-auth": "1.7.0-beta.3"
85
85
  },
86
86
  "peerDependencies": {
87
87
  "@better-auth/utils": "0.4.0",
@@ -89,8 +89,8 @@
89
89
  "better-call": "1.3.5",
90
90
  "conf": "^15.0.2",
91
91
  "electron": ">=36.0.0",
92
- "@better-auth/core": "^1.7.0-beta.1",
93
- "better-auth": "^1.7.0-beta.1"
92
+ "@better-auth/core": "^1.7.0-beta.3",
93
+ "better-auth": "^1.7.0-beta.3"
94
94
  },
95
95
  "peerDependenciesMeta": {
96
96
  "electron": {