naystack 1.7.1 → 1.7.4

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.
Files changed (46) hide show
  1. package/README.md +6 -6
  2. package/dist/auth/client.cjs.js +230 -0
  3. package/dist/auth/client.d.mts +3 -0
  4. package/dist/auth/client.d.ts +3 -0
  5. package/dist/auth/client.esm.js +190 -0
  6. package/dist/auth/email/client.cjs.js +6 -2
  7. package/dist/auth/email/client.d.mts +17 -12
  8. package/dist/auth/email/client.d.ts +17 -12
  9. package/dist/auth/email/client.esm.js +6 -2
  10. package/dist/auth/email/index.cjs.js +8 -3
  11. package/dist/auth/email/index.d.mts +2 -1
  12. package/dist/auth/email/index.d.ts +2 -1
  13. package/dist/auth/email/index.esm.js +7 -3
  14. package/dist/auth/email/{server.cjs.js → next.cjs.js} +16 -7
  15. package/dist/auth/email/next.d.mts +7 -0
  16. package/dist/auth/email/next.d.ts +7 -0
  17. package/dist/auth/email/{server.esm.js → next.esm.js} +8 -4
  18. package/dist/auth/index.cjs.js +13 -13
  19. package/dist/auth/index.d.mts +2 -1
  20. package/dist/auth/index.d.ts +2 -1
  21. package/dist/auth/index.esm.js +3 -3
  22. package/dist/file/client.cjs.js +1 -1
  23. package/dist/file/client.esm.js +1 -1
  24. package/dist/graphql/client.cjs.js +1 -1
  25. package/dist/graphql/client.esm.js +1 -1
  26. package/dist/graphql/index.cjs.js +53 -0
  27. package/dist/graphql/index.d.mts +4 -0
  28. package/dist/graphql/index.d.ts +4 -0
  29. package/dist/graphql/index.esm.js +55 -0
  30. package/dist/index.d.mts +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/{client → utils/client}/hooks.cjs.js +1 -1
  33. package/dist/{client → utils/client}/hooks.esm.js +1 -1
  34. package/dist/{client → utils/client}/index.cjs.js +3 -3
  35. package/dist/{client → utils/client}/index.esm.js +2 -2
  36. package/dist/{client → utils/client}/seo.cjs.js +2 -2
  37. package/dist/{client → utils/client}/seo.esm.js +1 -1
  38. package/package.json +17 -27
  39. package/dist/auth/email/server.d.mts +0 -5
  40. package/dist/auth/email/server.d.ts +0 -5
  41. /package/dist/{client → utils/client}/hooks.d.mts +0 -0
  42. /package/dist/{client → utils/client}/hooks.d.ts +0 -0
  43. /package/dist/{client → utils/client}/index.d.mts +0 -0
  44. /package/dist/{client → utils/client}/index.d.ts +0 -0
  45. /package/dist/{client → utils/client}/seo.d.mts +0 -0
  46. /package/dist/{client → utils/client}/seo.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import React__default, { Dispatch, SetStateAction } from 'react';
1
+ import React__default, { Dispatch, SetStateAction, PropsWithChildren } from 'react';
2
2
 
3
3
  /**
4
4
  * React context holding the current access token and setter; used by useToken/useSetToken and auth hooks.
@@ -8,6 +8,11 @@ declare const TokenContext: React__default.Context<{
8
8
  token: string | null | undefined;
9
9
  setToken: Dispatch<SetStateAction<string | null | undefined>>;
10
10
  }>;
11
+ type AuthWrapperProps = PropsWithChildren<{
12
+ onTokenUpdate?: (token: string | null) => void;
13
+ getRefreshToken?: () => Promise<string | null>;
14
+ skipInitialFetch?: boolean;
15
+ }>;
11
16
  /**
12
17
  * Provider that fetches the current access token from your auth endpoint and exposes it via TokenContext.
13
18
  * Wrap your app (or the part that needs auth) so that `useToken()`, `useLogin()`, `useSignUp()`, `useLogout()` work.
@@ -22,7 +27,7 @@ declare const TokenContext: React__default.Context<{
22
27
  * @example
23
28
  * ```tsx
24
29
  * // app/layout.tsx
25
- * import { AuthWrapper } from "naystack/auth/email/client";
30
+ * import { AuthWrapper } from "naystack/auth/client";
26
31
  * import { ApolloWrapper } from "naystack/graphql/client";
27
32
  *
28
33
  * export default function RootLayout({ children }: { children: React.ReactNode }) {
@@ -40,10 +45,7 @@ declare const TokenContext: React__default.Context<{
40
45
  *
41
46
  * @category Auth
42
47
  */
43
- declare const AuthWrapper: ({ children, onTokenUpdate, }: {
44
- children: React__default.ReactNode;
45
- onTokenUpdate?: (token: string | null) => void;
46
- }) => React__default.JSX.Element;
48
+ declare const AuthWrapper: ({ children, onTokenUpdate, getRefreshToken, skipInitialFetch }: AuthWrapperProps) => React__default.JSX.Element;
47
49
  /**
48
50
  * Fetches the access token on mount by calling the auth endpoint. Stores the result in TokenContext.
49
51
  * Used internally by auth setup; prefer `AuthWrapper` for typical usage.
@@ -52,7 +54,10 @@ declare const AuthWrapper: ({ children, onTokenUpdate, }: {
52
54
  *
53
55
  * @category Auth
54
56
  */
55
- declare function useAuthFetch(getRefreshToken?: () => Promise<string | null>): void;
57
+ declare function useAuthFetch({ getRefreshToken, skip }: {
58
+ getRefreshToken?: () => Promise<string | null>;
59
+ skip?: boolean;
60
+ }): void;
56
61
  /**
57
62
  * Component that applies a server-provided access token into TokenContext on mount.
58
63
  * Useful for hydrating auth state from server-side rendering.
@@ -73,7 +78,7 @@ declare function AuthApply({ data }: {
73
78
  *
74
79
  * @example
75
80
  * ```tsx
76
- * import { useToken } from "naystack/auth/email/client";
81
+ * import { useToken } from "naystack/auth/client";
77
82
  *
78
83
  * function Navbar() {
79
84
  * const token = useToken();
@@ -112,7 +117,7 @@ declare function useSetToken(): React__default.Dispatch<React__default.SetStateA
112
117
  *
113
118
  * @example
114
119
  * ```tsx
115
- * import { useSignUp } from "naystack/auth/email/client";
120
+ * import { useSignUp } from "naystack/auth/client";
116
121
  *
117
122
  * function SignUpForm() {
118
123
  * const signUp = useSignUp();
@@ -139,7 +144,7 @@ declare function useSignUp(): (data: object) => Promise<string | null>;
139
144
  *
140
145
  * @example
141
146
  * ```tsx
142
- * import { useLogin } from "naystack/auth/email/client";
147
+ * import { useLogin } from "naystack/auth/client";
143
148
  *
144
149
  * function LoginForm() {
145
150
  * const login = useLogin();
@@ -166,7 +171,7 @@ declare function useLogin(): (data: object) => Promise<string | null>;
166
171
  *
167
172
  * @example
168
173
  * ```tsx
169
- * import { useLogout } from "naystack/auth/email/client";
174
+ * import { useLogout } from "naystack/auth/client";
170
175
  *
171
176
  * function SettingsPage() {
172
177
  * const logout = useLogout();
@@ -184,4 +189,4 @@ declare function useLogin(): (data: object) => Promise<string | null>;
184
189
  */
185
190
  declare function useLogout(): (data?: object) => Promise<void>;
186
191
 
187
- export { AuthApply, AuthWrapper, TokenContext, useAuthFetch, useLogin, useLogout, useSetToken, useSignUp, useToken };
192
+ export { AuthApply, AuthWrapper, type AuthWrapperProps, TokenContext, useAuthFetch, useLogin, useLogout, useSetToken, useSignUp, useToken };
@@ -69,9 +69,12 @@ var TokenContext = createContext({
69
69
  });
70
70
  var AuthWrapper = ({
71
71
  children,
72
- onTokenUpdate
72
+ onTokenUpdate,
73
+ getRefreshToken,
74
+ skipInitialFetch
73
75
  }) => {
74
76
  const [token, setToken] = useState();
77
+ useAuthFetch({ getRefreshToken, skip: skipInitialFetch });
75
78
  useEffect(() => {
76
79
  if (onTokenUpdate && token !== void 0) {
77
80
  onTokenUpdate(token);
@@ -79,7 +82,7 @@ var AuthWrapper = ({
79
82
  }, [token]);
80
83
  return /* @__PURE__ */ React.createElement(TokenContext.Provider, { value: { token, setToken } }, children);
81
84
  };
82
- function useAuthFetch(getRefreshToken) {
85
+ function useAuthFetch({ getRefreshToken, skip }) {
83
86
  const setToken = useSetToken();
84
87
  const fetchToken = async () => {
85
88
  const token = getRefreshToken ? await getRefreshToken() : null;
@@ -91,6 +94,7 @@ function useAuthFetch(getRefreshToken) {
91
94
  }).then((res) => res.json()).then((data) => setToken(data.accessToken || null));
92
95
  };
93
96
  useEffect(() => {
97
+ if (skip) return;
94
98
  fetchToken();
95
99
  }, []);
96
100
  }
@@ -31,6 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  var email_exports = {};
32
32
  __export(email_exports, {
33
33
  AuthFetch: () => AuthFetch,
34
+ AuthWrapper: () => AuthWrapper,
34
35
  checkAuthStatus: () => checkAuthStatus,
35
36
  getContext: () => getContext,
36
37
  setupEmailAuth: () => setupEmailAuth
@@ -343,8 +344,8 @@ var getPutRoute = (options) => async (req) => {
343
344
  return handleError(403, "Invalid password", options.onError);
344
345
  };
345
346
 
346
- // src/auth/email/server.tsx
347
- var import_client2 = require("naystack/auth/email/client");
347
+ // src/auth/email/next.tsx
348
+ var import_client2 = require("naystack/auth/client");
348
349
  var import_headers3 = require("next/headers");
349
350
  var import_react3 = __toESM(require("react"));
350
351
 
@@ -378,7 +379,7 @@ var { query: gqlQuery } = (0, import_client_integration_nextjs.registerApolloCli
378
379
  });
379
380
  });
380
381
 
381
- // src/auth/email/server.tsx
382
+ // src/auth/email/next.tsx
382
383
  function AuthFetch() {
383
384
  return /* @__PURE__ */ import_react3.default.createElement(
384
385
  Injector,
@@ -398,6 +399,9 @@ function AuthFetch() {
398
399
  }
399
400
  );
400
401
  }
402
+ function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }) {
403
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_client2.AuthWrapper, { skipInitialFetch: true, getRefreshToken, onTokenUpdate }, !skipInitialFetch && /* @__PURE__ */ import_react3.default.createElement(AuthFetch, null), children));
404
+ }
401
405
 
402
406
  // src/auth/email/index.ts
403
407
  function setupEmailAuth(options) {
@@ -424,6 +428,7 @@ function setupEmailAuth(options) {
424
428
  // Annotate the CommonJS export names for ESM import in node:
425
429
  0 && (module.exports = {
426
430
  AuthFetch,
431
+ AuthWrapper,
427
432
  checkAuthStatus,
428
433
  getContext,
429
434
  setupEmailAuth
@@ -1,10 +1,11 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
2
  import { SetupEmailAuthOptions } from './types.mjs';
3
- export { default as AuthFetch } from './server.mjs';
3
+ export { AuthFetch, AuthWrapper } from './next.mjs';
4
4
  export { checkAuthStatus } from './token.mjs';
5
5
  export { getContext } from './utils.mjs';
6
6
  import '../types.mjs';
7
7
  import 'react';
8
+ import './client.mjs';
8
9
  import '../../graphql/types.mjs';
9
10
 
10
11
  /**
@@ -1,10 +1,11 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
2
  import { SetupEmailAuthOptions } from './types.js';
3
- export { default as AuthFetch } from './server.js';
3
+ export { AuthFetch, AuthWrapper } from './next.js';
4
4
  export { checkAuthStatus } from './token.js';
5
5
  export { getContext } from './utils.js';
6
6
  import '../types.js';
7
7
  import 'react';
8
+ import './client.js';
8
9
  import '../../graphql/types.js';
9
10
 
10
11
  /**
@@ -306,8 +306,8 @@ var getPutRoute = (options) => async (req) => {
306
306
  return handleError(403, "Invalid password", options.onError);
307
307
  };
308
308
 
309
- // src/auth/email/server.tsx
310
- import { AuthApply } from "naystack/auth/email/client";
309
+ // src/auth/email/next.tsx
310
+ import { AuthApply, AuthWrapper as AuthWrapperClient } from "naystack/auth/client";
311
311
  import { cookies as cookies3 } from "next/headers";
312
312
  import React2 from "react";
313
313
 
@@ -345,7 +345,7 @@ var { query: gqlQuery } = registerApolloClient(() => {
345
345
  });
346
346
  });
347
347
 
348
- // src/auth/email/server.tsx
348
+ // src/auth/email/next.tsx
349
349
  function AuthFetch() {
350
350
  return /* @__PURE__ */ React2.createElement(
351
351
  Injector,
@@ -365,6 +365,9 @@ function AuthFetch() {
365
365
  }
366
366
  );
367
367
  }
368
+ function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }) {
369
+ return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(AuthWrapperClient, { skipInitialFetch: true, getRefreshToken, onTokenUpdate }, !skipInitialFetch && /* @__PURE__ */ React2.createElement(AuthFetch, null), children));
370
+ }
368
371
 
369
372
  // src/auth/email/index.ts
370
373
  function setupEmailAuth(options) {
@@ -390,6 +393,7 @@ function setupEmailAuth(options) {
390
393
  }
391
394
  export {
392
395
  AuthFetch,
396
+ AuthWrapper,
393
397
  checkAuthStatus,
394
398
  getContext,
395
399
  setupEmailAuth
@@ -27,13 +27,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
- // src/auth/email/server.tsx
31
- var server_exports = {};
32
- __export(server_exports, {
33
- default: () => AuthFetch
30
+ // src/auth/email/next.tsx
31
+ var next_exports = {};
32
+ __export(next_exports, {
33
+ AuthFetch: () => AuthFetch,
34
+ AuthWrapper: () => AuthWrapper
34
35
  });
35
- module.exports = __toCommonJS(server_exports);
36
- var import_client2 = require("naystack/auth/email/client");
36
+ module.exports = __toCommonJS(next_exports);
37
+ var import_client2 = require("naystack/auth/client");
37
38
  var import_headers2 = require("next/headers");
38
39
  var import_react3 = __toESM(require("react"));
39
40
 
@@ -120,7 +121,7 @@ var { query: gqlQuery } = (0, import_client_integration_nextjs.registerApolloCli
120
121
  });
121
122
  });
122
123
 
123
- // src/auth/email/server.tsx
124
+ // src/auth/email/next.tsx
124
125
  function AuthFetch() {
125
126
  return /* @__PURE__ */ import_react3.default.createElement(
126
127
  Injector,
@@ -140,3 +141,11 @@ function AuthFetch() {
140
141
  }
141
142
  );
142
143
  }
144
+ function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }) {
145
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_client2.AuthWrapper, { skipInitialFetch: true, getRefreshToken, onTokenUpdate }, !skipInitialFetch && /* @__PURE__ */ import_react3.default.createElement(AuthFetch, null), children));
146
+ }
147
+ // Annotate the CommonJS export names for ESM import in node:
148
+ 0 && (module.exports = {
149
+ AuthFetch,
150
+ AuthWrapper
151
+ });
@@ -0,0 +1,7 @@
1
+ import React__default from 'react';
2
+ import { AuthWrapperProps } from './client.mjs';
3
+
4
+ declare function AuthFetch(): React__default.JSX.Element;
5
+ declare function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }: AuthWrapperProps): React__default.JSX.Element;
6
+
7
+ export { AuthFetch, AuthWrapper };
@@ -0,0 +1,7 @@
1
+ import React__default from 'react';
2
+ import { AuthWrapperProps } from './client.js';
3
+
4
+ declare function AuthFetch(): React__default.JSX.Element;
5
+ declare function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }: AuthWrapperProps): React__default.JSX.Element;
6
+
7
+ export { AuthFetch, AuthWrapper };
@@ -1,5 +1,5 @@
1
- // src/auth/email/server.tsx
2
- import { AuthApply } from "naystack/auth/email/client";
1
+ // src/auth/email/next.tsx
2
+ import { AuthApply, AuthWrapper as AuthWrapperClient } from "naystack/auth/client";
3
3
  import { cookies as cookies2 } from "next/headers";
4
4
  import React2 from "react";
5
5
 
@@ -90,7 +90,7 @@ var { query: gqlQuery } = registerApolloClient(() => {
90
90
  });
91
91
  });
92
92
 
93
- // src/auth/email/server.tsx
93
+ // src/auth/email/next.tsx
94
94
  function AuthFetch() {
95
95
  return /* @__PURE__ */ React2.createElement(
96
96
  Injector,
@@ -110,6 +110,10 @@ function AuthFetch() {
110
110
  }
111
111
  );
112
112
  }
113
+ function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }) {
114
+ return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(AuthWrapperClient, { skipInitialFetch: true, getRefreshToken, onTokenUpdate }, !skipInitialFetch && /* @__PURE__ */ React2.createElement(AuthFetch, null), children));
115
+ }
113
116
  export {
114
- AuthFetch as default
117
+ AuthFetch,
118
+ AuthWrapper
115
119
  };
@@ -361,8 +361,8 @@ var getPutRoute = (options) => async (req) => {
361
361
  return handleError(403, "Invalid password", options.onError);
362
362
  };
363
363
 
364
- // src/auth/email/server.tsx
365
- var import_client2 = require("naystack/auth/email/client");
364
+ // src/auth/email/next.tsx
365
+ var import_client2 = require("naystack/auth/client");
366
366
  var import_headers3 = require("next/headers");
367
367
  var import_react3 = __toESM(require("react"));
368
368
 
@@ -396,7 +396,7 @@ var { query: gqlQuery } = (0, import_client_integration_nextjs.registerApolloCli
396
396
  });
397
397
  });
398
398
 
399
- // src/auth/email/server.tsx
399
+ // src/auth/email/next.tsx
400
400
  function AuthFetch() {
401
401
  return /* @__PURE__ */ import_react3.default.createElement(
402
402
  Injector,
@@ -442,7 +442,7 @@ function setupEmailAuth(options) {
442
442
 
443
443
  // src/auth/google/get.ts
444
444
  var import_googleapis = require("googleapis");
445
- var import_server7 = require("next/server");
445
+ var import_server6 = require("next/server");
446
446
  var import_uuid = require("uuid");
447
447
  var getGoogleGetRoute = ({
448
448
  getUserIdFromEmail,
@@ -472,7 +472,7 @@ var getGoogleGetRoute = ({
472
472
  prompt: "consent",
473
473
  redirect_uri: url
474
474
  });
475
- const res = import_server7.NextResponse.redirect(authorizationUrl);
475
+ const res = import_server6.NextResponse.redirect(authorizationUrl);
476
476
  res.cookies.set("state", state2, {
477
477
  httpOnly: true,
478
478
  secure: true
@@ -481,12 +481,12 @@ var getGoogleGetRoute = ({
481
481
  }
482
482
  const errorURL = errorRedirectURL || redirectURL;
483
483
  if (error) {
484
- return import_server7.NextResponse.redirect(errorURL);
484
+ return import_server6.NextResponse.redirect(errorURL);
485
485
  }
486
486
  const state = req.nextUrl.searchParams.get("state") || void 0;
487
487
  if (code && state) {
488
488
  const localState = req.cookies.get("state")?.value;
489
- if (localState !== state) return import_server7.NextResponse.redirect(errorURL);
489
+ if (localState !== state) return import_server6.NextResponse.redirect(errorURL);
490
490
  const { tokens } = await oauth2Client.getToken(code);
491
491
  oauth2Client.setCredentials(tokens);
492
492
  const userInfoRequest = await import_googleapis.google.oauth2({
@@ -498,7 +498,7 @@ var getGoogleGetRoute = ({
498
498
  const { data } = JSON.parse(localState);
499
499
  const id = await getUserIdFromEmail(user, data);
500
500
  if (id) {
501
- const res = import_server7.NextResponse.redirect(redirectURL);
501
+ const res = import_server6.NextResponse.redirect(redirectURL);
502
502
  res.cookies.set(
503
503
  REFRESH_COOKIE_NAME,
504
504
  generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */)),
@@ -516,7 +516,7 @@ var getGoogleGetRoute = ({
516
516
  }
517
517
  }
518
518
  }
519
- return import_server7.NextResponse.redirect(errorURL);
519
+ return import_server6.NextResponse.redirect(errorURL);
520
520
  };
521
521
  };
522
522
 
@@ -528,7 +528,7 @@ function setupGoogleAuth(props) {
528
528
  }
529
529
 
530
530
  // src/auth/instagram/route.ts
531
- var import_server9 = require("next/server");
531
+ var import_server8 = require("next/server");
532
532
 
533
533
  // src/auth/instagram/utils.ts
534
534
  async function getRefreshedInstagramAccessToken(token) {
@@ -590,7 +590,7 @@ var getInstagramUser = (token, id, fields) => {
590
590
  };
591
591
 
592
592
  // src/socials/meta-webhook.ts
593
- var import_server8 = require("next/server");
593
+ var import_server7 = require("next/server");
594
594
 
595
595
  // src/auth/instagram/route.ts
596
596
  var getInstagramRoute = ({
@@ -598,7 +598,7 @@ var getInstagramRoute = ({
598
598
  errorRedirectURL,
599
599
  onUser
600
600
  }) => {
601
- const handleError2 = (message) => import_server9.NextResponse.redirect(`${errorRedirectURL}?error=${message}`);
601
+ const handleError2 = (message) => import_server8.NextResponse.redirect(`${errorRedirectURL}?error=${message}`);
602
602
  return async (req) => {
603
603
  const accessCode = req.nextUrl.searchParams.get("code");
604
604
  const error = req.nextUrl.searchParams.get("error");
@@ -622,7 +622,7 @@ var getInstagramRoute = ({
622
622
  instagramData.accessToken
623
623
  );
624
624
  if (errorMessage) return handleError2(errorMessage);
625
- return import_server9.NextResponse.redirect(redirectURL);
625
+ return import_server8.NextResponse.redirect(redirectURL);
626
626
  };
627
627
  };
628
628
 
@@ -2,7 +2,7 @@ export { setupEmailAuth } from './email/index.mjs';
2
2
  export { setupGoogleAuth } from './google/index.mjs';
3
3
  export { setupInstagramAuth } from './instagram/index.mjs';
4
4
  export { getRefreshToken } from './utils/token.mjs';
5
- export { default as AuthFetch } from './email/server.mjs';
5
+ export { AuthFetch } from './email/next.mjs';
6
6
  export { checkAuthStatus } from './email/token.mjs';
7
7
  export { getContext } from './email/utils.mjs';
8
8
  export { getRefreshedInstagramAccessToken } from './instagram/utils.mjs';
@@ -12,4 +12,5 @@ import './types.mjs';
12
12
  import 'googleapis';
13
13
  import '../socials/instagram/types.mjs';
14
14
  import 'react';
15
+ import './email/client.mjs';
15
16
  import '../graphql/types.mjs';
@@ -2,7 +2,7 @@ export { setupEmailAuth } from './email/index.js';
2
2
  export { setupGoogleAuth } from './google/index.js';
3
3
  export { setupInstagramAuth } from './instagram/index.js';
4
4
  export { getRefreshToken } from './utils/token.js';
5
- export { default as AuthFetch } from './email/server.js';
5
+ export { AuthFetch } from './email/next.js';
6
6
  export { checkAuthStatus } from './email/token.js';
7
7
  export { getContext } from './email/utils.js';
8
8
  export { getRefreshedInstagramAccessToken } from './instagram/utils.js';
@@ -12,4 +12,5 @@ import './types.js';
12
12
  import 'googleapis';
13
13
  import '../socials/instagram/types.js';
14
14
  import 'react';
15
+ import './email/client.js';
15
16
  import '../graphql/types.js';
@@ -318,8 +318,8 @@ var getPutRoute = (options) => async (req) => {
318
318
  return handleError(403, "Invalid password", options.onError);
319
319
  };
320
320
 
321
- // src/auth/email/server.tsx
322
- import { AuthApply } from "naystack/auth/email/client";
321
+ // src/auth/email/next.tsx
322
+ import { AuthApply, AuthWrapper as AuthWrapperClient } from "naystack/auth/client";
323
323
  import { cookies as cookies3 } from "next/headers";
324
324
  import React2 from "react";
325
325
 
@@ -357,7 +357,7 @@ var { query: gqlQuery } = registerApolloClient(() => {
357
357
  });
358
358
  });
359
359
 
360
- // src/auth/email/server.tsx
360
+ // src/auth/email/next.tsx
361
361
  function AuthFetch() {
362
362
  return /* @__PURE__ */ React2.createElement(
363
363
  Injector,
@@ -23,7 +23,7 @@ __export(client_exports, {
23
23
  useFileUpload: () => useFileUpload
24
24
  });
25
25
  module.exports = __toCommonJS(client_exports);
26
- var import_client = require("naystack/auth/email/client");
26
+ var import_client = require("naystack/auth/client");
27
27
 
28
28
  // src/env.ts
29
29
  var EXTRA_ENV = globalThis.__NAYSTACK_ENV__ || (globalThis.__NAYSTACK_ENV__ = {});
@@ -1,5 +1,5 @@
1
1
  // src/file/client.ts
2
- import { useToken } from "naystack/auth/email/client";
2
+ import { useToken } from "naystack/auth/client";
3
3
 
4
4
  // src/env.ts
5
5
  var EXTRA_ENV = globalThis.__NAYSTACK_ENV__ || (globalThis.__NAYSTACK_ENV__ = {});
@@ -38,7 +38,7 @@ __export(client_exports, {
38
38
  });
39
39
  module.exports = __toCommonJS(client_exports);
40
40
  var import_client = require("@apollo/client");
41
- var import_client2 = require("naystack/auth/email/client");
41
+ var import_client2 = require("naystack/auth/client");
42
42
  var import_react = __toESM(require("react"));
43
43
 
44
44
  // src/env.ts
@@ -9,7 +9,7 @@ import {
9
9
  useLazyQuery,
10
10
  useMutation
11
11
  } from "@apollo/client";
12
- import { useToken } from "naystack/auth/email/client";
12
+ import { useToken } from "naystack/auth/client";
13
13
  import React, {
14
14
  useCallback,
15
15
  useEffect,
@@ -540,8 +540,10 @@ var graphql_exports = {};
540
540
  __export(graphql_exports, {
541
541
  FieldLibrary: () => FieldLibrary,
542
542
  GQLError: () => GQLError,
543
+ Injector: () => Injector,
543
544
  QueryLibrary: () => QueryLibrary,
544
545
  field: () => field,
546
+ query: () => query,
545
547
  resolver: () => resolver,
546
548
  setupGraphQL: () => setupGraphQL
547
549
  });
@@ -923,12 +925,63 @@ function FieldLibrary(type, queries) {
923
925
  }
924
926
  return GeneratedResolver;
925
927
  }
928
+
929
+ // src/graphql/server.tsx
930
+ var import_client = require("@apollo/client");
931
+ var import_client_integration_nextjs = require("@apollo/client-integration-nextjs");
932
+ var import_headers3 = require("next/headers");
933
+ var import_react2 = __toESM(require("react"));
934
+ var import_react3 = require("react");
935
+ function Injector({
936
+ fetch: fetch2,
937
+ Component,
938
+ props
939
+ }) {
940
+ return /* @__PURE__ */ import_react2.default.createElement(import_react3.Suspense, { fallback: /* @__PURE__ */ import_react2.default.createElement(Component, { ...props || {}, loading: true }) }, /* @__PURE__ */ import_react2.default.createElement(InjectorSuspensed, { Component, fetch: fetch2, props }));
941
+ }
942
+ async function InjectorSuspensed({
943
+ fetch: fetch2,
944
+ Component,
945
+ props
946
+ }) {
947
+ const data = await fetch2();
948
+ return /* @__PURE__ */ import_react2.default.createElement(Component, { loading: false, ...props || {}, data });
949
+ }
950
+ var { query: gqlQuery } = (0, import_client_integration_nextjs.registerApolloClient)(() => {
951
+ return new import_client.ApolloClient({
952
+ cache: new import_client.InMemoryCache(),
953
+ link: new import_client.HttpLink({
954
+ uri: getEnv("NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */)
955
+ })
956
+ });
957
+ });
958
+ var query = async (_query, options) => {
959
+ const res = await gqlQuery({
960
+ query: _query,
961
+ variables: options?.variables,
962
+ context: {
963
+ headers: {
964
+ Cookie: options?.noCookie ? void 0 : await (0, import_headers3.cookies)()
965
+ },
966
+ fetchOptions: {
967
+ cache: options?.revalidate ? "force-cache" : void 0,
968
+ next: {
969
+ revalidate: options?.revalidate || 0,
970
+ tags: options?.tags
971
+ }
972
+ }
973
+ }
974
+ });
975
+ return res.data;
976
+ };
926
977
  // Annotate the CommonJS export names for ESM import in node:
927
978
  0 && (module.exports = {
928
979
  FieldLibrary,
929
980
  GQLError,
981
+ Injector,
930
982
  QueryLibrary,
931
983
  field,
984
+ query,
932
985
  resolver,
933
986
  setupGraphQL
934
987
  });
@@ -2,8 +2,12 @@ export { GQLError } from './errors.mjs';
2
2
  export { setupGraphQL } from './init.mjs';
3
3
  export { AuthorizedContext, Context } from './types.mjs';
4
4
  export { FieldLibrary, FieldResolverDefinition, FieldResponseType, QueryDefinition, QueryLibrary, QueryResponseType, field, resolver } from './utils.mjs';
5
+ export { Injector, query } from './server.mjs';
5
6
  import 'graphql/error';
6
7
  import '@apollo/server';
7
8
  import 'next/server';
8
9
  import 'type-graphql';
9
10
  import 'graphql';
11
+ import '@apollo/client';
12
+ import '@graphql-typed-document-node/core';
13
+ import 'react';
@@ -2,8 +2,12 @@ export { GQLError } from './errors.js';
2
2
  export { setupGraphQL } from './init.js';
3
3
  export { AuthorizedContext, Context } from './types.js';
4
4
  export { FieldLibrary, FieldResolverDefinition, FieldResponseType, QueryDefinition, QueryLibrary, QueryResponseType, field, resolver } from './utils.js';
5
+ export { Injector, query } from './server.js';
5
6
  import 'graphql/error';
6
7
  import '@apollo/server';
7
8
  import 'next/server';
8
9
  import 'type-graphql';
9
10
  import 'graphql';
11
+ import '@apollo/client';
12
+ import '@graphql-typed-document-node/core';
13
+ import 'react';