@tern-secure/nextjs 1.5.0 → 1.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.
@@ -0,0 +1 @@
1
+ export default function ClientProvider(): import("react/jsx-runtime").JSX.Element | null;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
- import { AuthState } from './ternSecureContext';
3
- export declare const TernSecureClientProvider: React.FC<{
4
- children: React.ReactNode;
5
- initialState: AuthState;
6
- }>;
2
+ import { AuthState } from '../../../types/ternsecure';
3
+ interface TernSecureClientProviderProps {
4
+ authState: AuthState;
5
+ }
6
+ export declare const TernSecureClientProvider: React.FC<TernSecureClientProviderProps>;
7
+ export {};
@@ -1,3 +1,9 @@
1
- import { TernSecureContextType } from '../../../types/ternsecure';
1
+ import { AuthState } from '../../../types/ternsecure';
2
+ import { Auth } from 'firebase/auth';
3
+ interface TernSecureContextType {
4
+ authState: AuthState;
5
+ auth: Auth;
6
+ }
2
7
  export declare const TernSecureContext: import("react").Context<TernSecureContextType | null>;
3
8
  export declare const useTernSecure: () => TernSecureContextType;
9
+ export {};
@@ -1,6 +1,2 @@
1
- import { ReactNode } from 'react';
2
- interface TernSecureProviderProps {
3
- children: ReactNode;
4
- }
1
+ import { TernSecureProviderProps } from '../../../types/ternsecure';
5
2
  export declare function TernSecureProvider({ children }: TernSecureProviderProps): import("react/jsx-runtime").JSX.Element;
6
- export {};
package/dist/index.js CHANGED
@@ -1,12 +1,10 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var dynamic = require('next/dynamic');
5
- var react = require('react');
6
- var app$1 = require('firebase/app');
7
- var auth$1 = require('firebase/auth');
8
- var firestore$1 = require('firebase/firestore');
9
- var storage$1 = require('firebase/storage');
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import dynamic from 'next/dynamic';
3
+ import React, { createContext, useEffect } from 'react';
4
+ import { getApps, initializeApp } from 'firebase/app';
5
+ import { getAuth } from 'firebase/auth';
6
+ import { getFirestore } from 'firebase/firestore';
7
+ import { getStorage } from 'firebase/storage';
10
8
 
11
9
  function getEnvVariable(name) {
12
10
  const value = process.env[`NEXT_PUBLIC_FIREBASE_${name}`];
@@ -45,10 +43,10 @@ function initializeTernSecure() {
45
43
  throw new TernSecureError(ERRORS.SERVER_SIDE_INITIALIZATION);
46
44
  }
47
45
  if (!app) {
48
- app = app$1.getApps().length ? app$1.getApps()[0] : app$1.initializeApp(loadFireConfig);
49
- auth = auth$1.getAuth(app);
50
- firestore = firestore$1.getFirestore(app);
51
- storage = storage$1.getStorage(app);
46
+ app = getApps().length ? getApps()[0] : initializeApp(loadFireConfig);
47
+ auth = getAuth(app);
48
+ firestore = getFirestore(app);
49
+ storage = getStorage(app);
52
50
  }
53
51
  return app;
54
52
  }
@@ -68,41 +66,44 @@ const getTernSecureStorage = () => {
68
66
  return storage;
69
67
  };
70
68
 
71
- const TernSecureContext = react.createContext(null);
69
+ const TernSecureContext = createContext(null);
72
70
 
73
- const TernSecureClientProvider$2 = dynamic(() => Promise.resolve().then(function () { return TernSecureClientProvider$1; }).then((mod) => mod.TernSecureClientProvider), { ssr: false });
71
+ const ClientProvider$2 = dynamic(() => Promise.resolve().then(function () { return ClientProvider$1; }), { ssr: false });
74
72
  function TernSecureProvider({ children }) {
75
- const initialState = {
76
- user: null,
77
- loading: true,
78
- error: null
79
- };
80
- return jsxRuntime.jsx(TernSecureClientProvider$2, { initialState: initialState, children: children });
73
+ return (jsxs(Fragment, { children: [children, jsx(ClientProvider$2, {})] }));
81
74
  }
82
75
 
83
- const TernSecureClientProvider = ({ children, initialState }) => {
84
- const [authState, setAuthState] = react.useState(initialState);
85
- react.useEffect(() => {
76
+ const TernSecureClientProvider = ({ authState }) => {
77
+ const auth = getTernSecureAuth();
78
+ return (jsx(TernSecureContext.Provider, { value: { authState, auth } }));
79
+ };
80
+
81
+ function ClientProvider() {
82
+ const [authState, setAuthState] = React.useState({
83
+ user: null,
84
+ loading: true,
85
+ error: null,
86
+ initialized: false
87
+ });
88
+ useEffect(() => {
86
89
  const auth = getTernSecureAuth();
87
90
  const unsubscribe = auth.onAuthStateChanged((user) => {
88
- setAuthState({ user, loading: false, error: null });
91
+ setAuthState({ user, loading: false, error: null, initialized: true });
89
92
  }, (error) => {
90
- setAuthState({ user: null, loading: false, error });
93
+ setAuthState({ user: null, loading: false, error, initialized: true });
91
94
  });
92
95
  return () => unsubscribe();
93
96
  }, []);
94
- return (jsxRuntime.jsx(TernSecureContext.Provider, { value: { authState }, children: children }));
95
- };
97
+ if (!authState.initialized) {
98
+ return null;
99
+ }
100
+ return (jsx(TernSecureClientProvider, { authState: authState }));
101
+ }
96
102
 
97
- var TernSecureClientProvider$1 = /*#__PURE__*/Object.freeze({
103
+ var ClientProvider$1 = /*#__PURE__*/Object.freeze({
98
104
  __proto__: null,
99
- TernSecureClientProvider: TernSecureClientProvider
105
+ default: ClientProvider
100
106
  });
101
107
 
102
- exports.TernSecureProvider = TernSecureProvider;
103
- exports.getTernSecureAuth = getTernSecureAuth;
104
- exports.getTernSecureFirestore = getTernSecureFirestore;
105
- exports.getTernSecureStorage = getTernSecureStorage;
106
- exports.initializeTernSecure = initializeTernSecure;
107
- exports.loadFireConfig = loadFireConfig;
108
+ export { TernSecureProvider, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage, initializeTernSecure, loadFireConfig };
108
109
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/app-router/client/config.ts","../src/errors/index.ts","../src/app-router/client/client-init.ts","../src/app-router/client/providers/ternSecureContext.ts","../src/app-router/server/providers/TernSecureServerProvider.tsx","../src/app-router/client/providers/TernSecureClientProvider.tsx"],"sourcesContent":[null,null,null,null,null,null],"names":["getApps","initializeApp","getAuth","getFirestore","getStorage","createContext","TernSecureClientProvider","_jsx","useState","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/app-router/client/config.ts","../src/errors/index.ts","../src/app-router/client/client-init.ts","../src/app-router/client/providers/ternSecureContext.ts","../src/app-router/server/providers/TernSecureServerProvider.tsx","../src/app-router/client/providers/TernSecureClientProvider.tsx","../src/app-router/client/ClientProvider.tsx"],"sourcesContent":[null,null,null,null,null,null,null],"names":["ClientProvider","_jsxs","_jsx"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tern-secure/nextjs",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"