@tern-secure/nextjs 1.5.0 → 1.5.2
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/app-router/client/ClientProvider.d.ts +3 -0
- package/dist/app-router/client/providers/ternSecureClientProvider.d.ts +5 -0
- package/dist/app-router/client/providers/ternSecureContext.d.ts +9 -1
- package/dist/app-router/server/providers/TernSecureServerProvider.d.ts +1 -5
- package/dist/hooks/useAuth.d.ts +2 -0
- package/dist/index.js +31 -40
- package/dist/index.js.map +1 -1
- package/dist/types/ternsecure.d.ts +7 -0
- package/package.json +1 -1
- package/dist/app-router/client/providers/TernSecureClientProvider.d.ts +0 -6
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { User } from 'firebase/auth';
|
|
2
|
+
export interface AuthState {
|
|
3
|
+
user: User | null;
|
|
4
|
+
loading: boolean;
|
|
5
|
+
error: Error | null;
|
|
6
|
+
}
|
|
7
|
+
export interface TernSecureContextType {
|
|
8
|
+
authState: AuthState;
|
|
9
|
+
}
|
|
2
10
|
export declare const TernSecureContext: import("react").Context<TernSecureContextType | null>;
|
|
3
11
|
export declare const useTernSecure: () => TernSecureContextType;
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
import {
|
|
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,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var auth$1 = require('firebase/auth');
|
|
8
|
-
var firestore$1 = require('firebase/firestore');
|
|
9
|
-
var storage$1 = require('firebase/storage');
|
|
1
|
+
import { getApps, initializeApp } from 'firebase/app';
|
|
2
|
+
import { getAuth } from 'firebase/auth';
|
|
3
|
+
import { getFirestore } from 'firebase/firestore';
|
|
4
|
+
import { getStorage } from 'firebase/storage';
|
|
5
|
+
import { createContext, useEffect } from 'react';
|
|
6
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
10
7
|
|
|
11
8
|
function getEnvVariable(name) {
|
|
12
9
|
const value = process.env[`NEXT_PUBLIC_FIREBASE_${name}`];
|
|
@@ -45,10 +42,10 @@ function initializeTernSecure() {
|
|
|
45
42
|
throw new TernSecureError(ERRORS.SERVER_SIDE_INITIALIZATION);
|
|
46
43
|
}
|
|
47
44
|
if (!app) {
|
|
48
|
-
app =
|
|
49
|
-
auth =
|
|
50
|
-
firestore =
|
|
51
|
-
storage =
|
|
45
|
+
app = getApps().length ? getApps()[0] : initializeApp(loadFireConfig);
|
|
46
|
+
auth = getAuth(app);
|
|
47
|
+
firestore = getFirestore(app);
|
|
48
|
+
storage = getStorage(app);
|
|
52
49
|
}
|
|
53
50
|
return app;
|
|
54
51
|
}
|
|
@@ -68,41 +65,35 @@ const getTernSecureStorage = () => {
|
|
|
68
65
|
return storage;
|
|
69
66
|
};
|
|
70
67
|
|
|
71
|
-
|
|
68
|
+
createContext(null);
|
|
72
69
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
70
|
+
let globalAuthState = {
|
|
71
|
+
user: null,
|
|
72
|
+
loading: true,
|
|
73
|
+
error: null,
|
|
74
|
+
initialized: false
|
|
75
|
+
};
|
|
76
|
+
let listeners = [];
|
|
77
|
+
function setGlobalAuthState(newState) {
|
|
78
|
+
globalAuthState = { ...globalAuthState, ...newState };
|
|
79
|
+
listeners.forEach(listener => listener(globalAuthState));
|
|
81
80
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const [authState, setAuthState] = react.useState(initialState);
|
|
85
|
-
react.useEffect(() => {
|
|
81
|
+
function ClientProvider() {
|
|
82
|
+
useEffect(() => {
|
|
86
83
|
const auth = getTernSecureAuth();
|
|
87
84
|
const unsubscribe = auth.onAuthStateChanged((user) => {
|
|
88
|
-
|
|
85
|
+
setGlobalAuthState({ user, loading: false, error: null, initialized: true });
|
|
89
86
|
}, (error) => {
|
|
90
|
-
|
|
87
|
+
setGlobalAuthState({ user: null, loading: false, error, initialized: true });
|
|
91
88
|
});
|
|
92
89
|
return () => unsubscribe();
|
|
93
90
|
}, []);
|
|
94
|
-
return
|
|
95
|
-
}
|
|
91
|
+
return null; // This component doesn't render anything
|
|
92
|
+
}
|
|
96
93
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
});
|
|
94
|
+
function TernSecureProvider({ children }) {
|
|
95
|
+
return (jsxs(Fragment, { children: [children, jsx(ClientProvider, {})] }));
|
|
96
|
+
}
|
|
101
97
|
|
|
102
|
-
|
|
103
|
-
exports.getTernSecureAuth = getTernSecureAuth;
|
|
104
|
-
exports.getTernSecureFirestore = getTernSecureFirestore;
|
|
105
|
-
exports.getTernSecureStorage = getTernSecureStorage;
|
|
106
|
-
exports.initializeTernSecure = initializeTernSecure;
|
|
107
|
-
exports.loadFireConfig = loadFireConfig;
|
|
98
|
+
export { TernSecureProvider, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage, initializeTernSecure, loadFireConfig };
|
|
108
99
|
//# 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/
|
|
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/client/ClientProvider.tsx","../src/app-router/server/providers/TernSecureServerProvider.tsx"],"sourcesContent":[null,null,null,null,null,null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -30,3 +30,10 @@ export interface TernSecureContextType {
|
|
|
30
30
|
export interface TernSecureProviderProps {
|
|
31
31
|
children: ReactNode;
|
|
32
32
|
}
|
|
33
|
+
export interface UseAuthReturn {
|
|
34
|
+
user: User | null;
|
|
35
|
+
loading: boolean;
|
|
36
|
+
error: Error | null;
|
|
37
|
+
signIn: (email: string, password: string) => Promise<User>;
|
|
38
|
+
signOut: () => Promise<void>;
|
|
39
|
+
}
|
package/package.json
CHANGED