@tern-secure/nextjs 1.7.5 → 1.7.7
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,15 @@
|
|
|
1
|
+
import React, { ErrorInfo, ReactNode } from 'react';
|
|
2
|
+
interface ErrorBoundaryProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
fallback: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
interface ErrorBoundaryState {
|
|
7
|
+
hasError: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
10
|
+
constructor(props: ErrorBoundaryProps);
|
|
11
|
+
static getDerivedStateFromError(_: Error): ErrorBoundaryState;
|
|
12
|
+
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
13
|
+
render(): React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export default ErrorBoundary;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage
|
|
1
|
+
import { getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage } from "./app-router/client";
|
|
2
2
|
import { TernSecureProvider } from "./app-router/server/providers/TernSecureServerProvider";
|
|
3
3
|
import { useAuth } from "./hooks/useAuth";
|
|
4
|
-
export { TernSecureProvider, useAuth,
|
|
4
|
+
export { TernSecureProvider, useAuth, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage };
|
package/dist/index.js
CHANGED
|
@@ -3,22 +3,24 @@ import { getAuth, setPersistence, browserSessionPersistence, signInWithEmailAndP
|
|
|
3
3
|
import { getFirestore } from 'firebase/firestore';
|
|
4
4
|
import { getStorage } from 'firebase/storage';
|
|
5
5
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
6
|
-
import { useState, useEffect } from 'react';
|
|
6
|
+
import React, { Suspense, useState, useEffect } from 'react';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
8
|
+
const loadFireConfig = () => ({
|
|
9
|
+
apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
|
|
10
|
+
authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
|
|
11
|
+
projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
|
|
12
|
+
storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
|
|
13
|
+
messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
|
14
|
+
appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
|
|
15
|
+
measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID,
|
|
16
|
+
});
|
|
17
|
+
const validateConfig = (config) => {
|
|
18
|
+
Object.entries(config).forEach(([key, value]) => {
|
|
19
|
+
if (!value) {
|
|
20
|
+
throw new Error(`Missing environment variable: NEXT_PUBLIC_FIREBASE_${key.toUpperCase()}`);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return config;
|
|
22
24
|
};
|
|
23
25
|
|
|
24
26
|
const ERRORS = {
|
|
@@ -42,7 +44,8 @@ const initialize = () => {
|
|
|
42
44
|
throw new TernSecureError(ERRORS.SERVER_SIDE_INITIALIZATION);
|
|
43
45
|
}
|
|
44
46
|
if (!app) {
|
|
45
|
-
|
|
47
|
+
const config = validateConfig(loadFireConfig());
|
|
48
|
+
app = getApps().length ? getApps()[0] : initializeApp(config);
|
|
46
49
|
auth = getAuth(app);
|
|
47
50
|
// Set persistence after initializing auth
|
|
48
51
|
setPersistence(auth, browserSessionPersistence);
|
|
@@ -70,21 +73,36 @@ const getTernSecureStorage = () => {
|
|
|
70
73
|
return storage;
|
|
71
74
|
};
|
|
72
75
|
|
|
76
|
+
class ErrorBoundary extends React.Component {
|
|
77
|
+
constructor(props) {
|
|
78
|
+
super(props);
|
|
79
|
+
this.state = { hasError: false };
|
|
80
|
+
}
|
|
81
|
+
static getDerivedStateFromError(_) {
|
|
82
|
+
return { hasError: true };
|
|
83
|
+
}
|
|
84
|
+
componentDidCatch(error, errorInfo) {
|
|
85
|
+
console.error('TernSecureProvider error:', error, errorInfo);
|
|
86
|
+
}
|
|
87
|
+
render() {
|
|
88
|
+
if (this.state.hasError) {
|
|
89
|
+
return this.props.fallback;
|
|
90
|
+
}
|
|
91
|
+
return this.props.children;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
let TernSecureClientProvider;
|
|
73
96
|
function TernSecureProvider({ children }) {
|
|
74
97
|
if (typeof window === 'undefined') {
|
|
75
98
|
// Server-side rendering
|
|
76
99
|
return jsx(Fragment, { children: children });
|
|
77
100
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const { TernSecureClientProvider } = require('../../client/providers/TernSecureClientProvider');
|
|
81
|
-
return jsx(TernSecureClientProvider, { children: children });
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
console.error('Failed to load TernSecureClientProvider:', error);
|
|
85
|
-
// Fallback to prevent app crash
|
|
86
|
-
return jsx(Fragment, { children: children });
|
|
101
|
+
if (!TernSecureClientProvider) {
|
|
102
|
+
TernSecureClientProvider = require('../../client/providers/TernSecureClientProvider');
|
|
87
103
|
}
|
|
104
|
+
// Client-side rendering
|
|
105
|
+
return (jsx(ErrorBoundary, { fallback: jsx(Fragment, { children: children }), children: jsx(Suspense, { fallback: jsx(Fragment, { children: children }), children: jsx(TernSecureClientProvider, { children: children }) }) }));
|
|
88
106
|
}
|
|
89
107
|
|
|
90
108
|
let globalAuthState = {
|
|
@@ -139,5 +157,5 @@ function useAuth() {
|
|
|
139
157
|
};
|
|
140
158
|
}
|
|
141
159
|
|
|
142
|
-
export { TernSecureProvider, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage,
|
|
160
|
+
export { TernSecureProvider, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage, useAuth };
|
|
143
161
|
//# 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/server/providers/TernSecureServerProvider.tsx","../src/app-router/client/ClientProvider.tsx","../src/hooks/useAuth.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["_jsx","_Fragment"],"mappings":";;;;;;;
|
|
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/server/ErrorBoundary.tsx","../src/app-router/server/providers/TernSecureServerProvider.tsx","../src/app-router/client/ClientProvider.tsx","../src/hooks/useAuth.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["_jsx","_Fragment"],"mappings":"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"}
|