@tern-secure/nextjs 1.3.9 → 1.4.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/index.js +26 -33
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
'
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
1
|
+
'';
|
|
2
|
+
import { getApps, initializeApp } from 'firebase/app';
|
|
3
|
+
import { getAuth, signInWithEmailAndPassword, createUserWithEmailAndPassword, signOut } from 'firebase/auth';
|
|
4
|
+
import { getFirestore } from 'firebase/firestore';
|
|
5
|
+
import { getStorage } from 'firebase/storage';
|
|
6
|
+
import { createContext, useContext, useCallback } from 'react';
|
|
7
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
9
8
|
|
|
10
9
|
function getEnvVariable(name) {
|
|
11
10
|
const value = process.env[`NEXT_PUBLIC_FIREBASE_${name}`];
|
|
@@ -44,10 +43,10 @@ function initializeTernSecure() {
|
|
|
44
43
|
throw new TernSecureError(ERRORS.SERVER_SIDE_INITIALIZATION);
|
|
45
44
|
}
|
|
46
45
|
if (!app) {
|
|
47
|
-
app =
|
|
48
|
-
auth =
|
|
49
|
-
firestore =
|
|
50
|
-
storage =
|
|
46
|
+
app = getApps().length ? getApps()[0] : initializeApp(loadFireConfig);
|
|
47
|
+
auth = getAuth(app);
|
|
48
|
+
firestore = getFirestore(app);
|
|
49
|
+
storage = getStorage(app);
|
|
51
50
|
}
|
|
52
51
|
return app;
|
|
53
52
|
}
|
|
@@ -67,9 +66,9 @@ const getTernSecureStorage = () => {
|
|
|
67
66
|
return storage;
|
|
68
67
|
};
|
|
69
68
|
|
|
70
|
-
const TernSecureContext =
|
|
69
|
+
const TernSecureContext = createContext(null);
|
|
71
70
|
const useTernSecure = () => {
|
|
72
|
-
const context =
|
|
71
|
+
const context = useContext(TernSecureContext);
|
|
73
72
|
if (!context) {
|
|
74
73
|
throw new Error('useTernSecure must be used within a TernSecureProvider');
|
|
75
74
|
}
|
|
@@ -79,30 +78,30 @@ const useTernSecure = () => {
|
|
|
79
78
|
function TernSecureProvider({ children }) {
|
|
80
79
|
if (typeof window === 'undefined') {
|
|
81
80
|
// Server-side rendering
|
|
82
|
-
return
|
|
81
|
+
return jsx(Fragment, { children: children });
|
|
83
82
|
}
|
|
84
83
|
try {
|
|
85
84
|
// Client-side rendering
|
|
86
|
-
const { TernSecureClientProvider } = require('
|
|
87
|
-
return
|
|
85
|
+
const { TernSecureClientProvider } = require('../client/providers/ternSecureClientProvider');
|
|
86
|
+
return jsx(TernSecureClientProvider, { children: children });
|
|
88
87
|
}
|
|
89
88
|
catch (error) {
|
|
90
89
|
console.error('Failed to load TernSecureClientProvider:', error);
|
|
91
90
|
// Fallback to prevent app crash
|
|
92
|
-
return
|
|
91
|
+
return jsx(Fragment, { children: children });
|
|
93
92
|
}
|
|
94
93
|
}
|
|
95
94
|
|
|
96
95
|
function useAuth() {
|
|
97
|
-
const context =
|
|
96
|
+
const context = useContext(TernSecureContext);
|
|
98
97
|
if (!context) {
|
|
99
98
|
throw new Error('useAuth must be used within a TernSecureProvider');
|
|
100
99
|
}
|
|
101
100
|
const { authState } = useTernSecure();
|
|
102
101
|
const auth = getTernSecureAuth();
|
|
103
|
-
const signIn =
|
|
102
|
+
const signIn = useCallback(async (email, password) => {
|
|
104
103
|
try {
|
|
105
|
-
const userCredential = await
|
|
104
|
+
const userCredential = await signInWithEmailAndPassword(auth, email, password);
|
|
106
105
|
return userCredential.user;
|
|
107
106
|
}
|
|
108
107
|
catch (error) {
|
|
@@ -110,9 +109,9 @@ function useAuth() {
|
|
|
110
109
|
throw error;
|
|
111
110
|
}
|
|
112
111
|
}, [auth]);
|
|
113
|
-
const signUp =
|
|
112
|
+
const signUp = useCallback(async (email, password) => {
|
|
114
113
|
try {
|
|
115
|
-
const userCredential = await
|
|
114
|
+
const userCredential = await createUserWithEmailAndPassword(auth, email, password);
|
|
116
115
|
return userCredential.user;
|
|
117
116
|
}
|
|
118
117
|
catch (error) {
|
|
@@ -120,9 +119,9 @@ function useAuth() {
|
|
|
120
119
|
throw error;
|
|
121
120
|
}
|
|
122
121
|
}, [auth]);
|
|
123
|
-
const signOut =
|
|
122
|
+
const signOut$1 = useCallback(async () => {
|
|
124
123
|
try {
|
|
125
|
-
await
|
|
124
|
+
await signOut(auth);
|
|
126
125
|
}
|
|
127
126
|
catch (error) {
|
|
128
127
|
console.error('Sign out error:', error);
|
|
@@ -135,15 +134,9 @@ function useAuth() {
|
|
|
135
134
|
error: authState.error,
|
|
136
135
|
signIn,
|
|
137
136
|
signUp,
|
|
138
|
-
signOut
|
|
137
|
+
signOut: signOut$1
|
|
139
138
|
};
|
|
140
139
|
}
|
|
141
140
|
|
|
142
|
-
|
|
143
|
-
exports.getTernSecureAuth = getTernSecureAuth;
|
|
144
|
-
exports.getTernSecureFirestore = getTernSecureFirestore;
|
|
145
|
-
exports.getTernSecureStorage = getTernSecureStorage;
|
|
146
|
-
exports.initializeTernSecure = initializeTernSecure;
|
|
147
|
-
exports.loadFireConfig = loadFireConfig;
|
|
148
|
-
exports.useAuth = useAuth;
|
|
141
|
+
export { TernSecureProvider, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage, initializeTernSecure, loadFireConfig, useAuth };
|
|
149
142
|
//# 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/hooks/useAuth.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["getApps","initializeApp","getAuth","getFirestore","getStorage","createContext","useContext","_jsx","_Fragment","useCallback","signInWithEmailAndPassword","createUserWithEmailAndPassword","firebaseSignOut"],"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/hooks/useAuth.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["_jsx","_Fragment","signOut","firebaseSignOut"],"mappings":"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"}
|