@tern-secure/nextjs 2.0.8 → 3.0.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.d.ts +4 -5
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/styles/index.css +3 -0
- package/package.json +4 -3
- package/dist/app-router/client/ClientProvider.d.ts +0 -3
- package/dist/app-router/client/ClientProvider.js +0 -34
- package/dist/app-router/client/ClientProvider.js.map +0 -1
- package/dist/app-router/client/providers/ReactTernSecureProvider.d.ts +0 -13
- package/dist/app-router/client/providers/ReactTernSecureProvider.js +0 -16
- package/dist/app-router/client/providers/ReactTernSecureProvider.js.map +0 -1
- package/dist/jest.setup.d.ts +0 -0
- package/dist/jest.setup.js +0 -8
- package/dist/jest.setup.js.map +0 -1
- package/dist/src/app-router/client/ClientProvider.d.ts +0 -3
- package/dist/src/app-router/client/ClientProvider.js +0 -34
- package/dist/src/app-router/client/ClientProvider.js.map +0 -1
- package/dist/src/app-router/client/client-init.d.ts +0 -6
- package/dist/src/app-router/client/client-init.js +0 -44
- package/dist/src/app-router/client/client-init.js.map +0 -1
- package/dist/src/app-router/client/config.d.ts +0 -3
- package/dist/src/app-router/client/config.js +0 -18
- package/dist/src/app-router/client/config.js.map +0 -1
- package/dist/src/app-router/client/index.d.ts +0 -2
- package/dist/src/app-router/client/index.js +0 -3
- package/dist/src/app-router/client/index.js.map +0 -1
- package/dist/src/app-router/client/providers/ReactTernSecureProvider.d.ts +0 -13
- package/dist/src/app-router/client/providers/ReactTernSecureProvider.js +0 -16
- package/dist/src/app-router/client/providers/ReactTernSecureProvider.js.map +0 -1
- package/dist/src/app-router/client/providers/ternSecureClientProvider.d.ts +0 -8
- package/dist/src/app-router/client/providers/ternSecureClientProvider.js +0 -34
- package/dist/src/app-router/client/providers/ternSecureClientProvider.js.map +0 -1
- package/dist/src/app-router/client/providers/ternSecureContext.d.ts +0 -6
- package/dist/src/app-router/client/providers/ternSecureContext.js +0 -5
- package/dist/src/app-router/client/providers/ternSecureContext.js.map +0 -1
- package/dist/src/app-router/server/ErrorBoundary.d.ts +0 -15
- package/dist/src/app-router/server/ErrorBoundary.js +0 -22
- package/dist/src/app-router/server/ErrorBoundary.js.map +0 -1
- package/dist/src/app-router/server/index.d.ts +0 -1
- package/dist/src/app-router/server/index.js +0 -2
- package/dist/src/app-router/server/index.js.map +0 -1
- package/dist/src/app-router/server/providers/TernSecureServerProvider.d.ts +0 -6
- package/dist/src/app-router/server/providers/TernSecureServerProvider.js +0 -18
- package/dist/src/app-router/server/providers/TernSecureServerProvider.js.map +0 -1
- package/dist/src/components/index.d.ts +0 -1
- package/dist/src/components/index.js +0 -2
- package/dist/src/components/index.js.map +0 -1
- package/dist/src/errors/index.d.ts +0 -8
- package/dist/src/errors/index.js +0 -12
- package/dist/src/errors/index.js.map +0 -1
- package/dist/src/hooks/useAuth.d.ts +0 -2
- package/dist/src/hooks/useAuth.js +0 -42
- package/dist/src/hooks/useAuth.js.map +0 -1
- package/dist/src/index.d.ts +0 -4
- package/dist/src/index.js +0 -5
- package/dist/src/index.js.map +0 -1
- package/dist/src/types/ternsecure.d.ts +0 -39
- package/dist/src/types/ternsecure.js +0 -2
- package/dist/src/types/ternsecure.js.map +0 -1
- package/dist/src/utils/index.d.ts +0 -1
- package/dist/src/utils/index.js +0 -2
- package/dist/src/utils/index.js.map +0 -1
- package/dist/types/ternsecure.d.ts +0 -47
- package/dist/types/ternsecure.js +0 -2
- package/dist/types/ternsecure.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export { TernSecureProvider, useAuth, SignIn, TernSecureAuth, TernSecureFirestore, TernSecureStorage };
|
|
1
|
+
export { TernSecureAuth, TernSecureFirestore, TernSecureStorage, signInWithEmail, loadFireConfig, validateConfig, TernSecureContext, useTernSecure, TernSecureClientProvider, SignInCredentials } from './app-router/client';
|
|
2
|
+
export { TernSecureProvider } from './app-router/server';
|
|
3
|
+
export { useAuth } from './hooks';
|
|
4
|
+
export { SignIn } from './components';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export { TernSecureProvider, useAuth, SignIn, TernSecureAuth, TernSecureFirestore, TernSecureStorage };
|
|
1
|
+
export { TernSecureAuth, TernSecureFirestore, TernSecureStorage, signInWithEmail, loadFireConfig, validateConfig, TernSecureContext, useTernSecure, TernSecureClientProvider } from './app-router/client';
|
|
2
|
+
export { TernSecureProvider } from './app-router/server';
|
|
3
|
+
export { useAuth } from './hooks';
|
|
4
|
+
export { SignIn } from './components';
|
|
6
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,wBAAwB,EAAsB,MAAM,qBAAqB,CAAA;AAC7N,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tern-secure/nextjs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"main": "./dist/index.js",
|
|
17
17
|
"module": "./dist/index.js",
|
|
18
18
|
"scripts": {
|
|
19
|
-
"build": "tsc --build",
|
|
19
|
+
"build": "tsc --build && node scripts/copy-styles.js",
|
|
20
20
|
"clean": "tsc --build --clean",
|
|
21
21
|
"dev": "tsc --watch",
|
|
22
22
|
"lint": "eslint \"src/**/*.{ts,tsx}\"",
|
|
@@ -97,6 +97,7 @@
|
|
|
97
97
|
"types": "./dist/server/index.d.ts",
|
|
98
98
|
"import": "./dist/server/index.js",
|
|
99
99
|
"require": "./dist/server/index.js"
|
|
100
|
-
}
|
|
100
|
+
},
|
|
101
|
+
"./styles": "./dist/styles/index.css"
|
|
101
102
|
}
|
|
102
103
|
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useEffect } from 'react';
|
|
3
|
-
import { getTernSecureAuth } from './client-init';
|
|
4
|
-
let globalAuthState = {
|
|
5
|
-
user: null,
|
|
6
|
-
loading: true,
|
|
7
|
-
error: null,
|
|
8
|
-
initialized: false
|
|
9
|
-
};
|
|
10
|
-
let listeners = [];
|
|
11
|
-
function setGlobalAuthState(newState) {
|
|
12
|
-
globalAuthState = { ...globalAuthState, ...newState };
|
|
13
|
-
listeners.forEach(listener => listener(globalAuthState));
|
|
14
|
-
}
|
|
15
|
-
export function subscribeToAuthState(listener) {
|
|
16
|
-
listeners.push(listener);
|
|
17
|
-
listener(globalAuthState);
|
|
18
|
-
return () => {
|
|
19
|
-
listeners = listeners.filter(l => l !== listener);
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export default function ClientProvider() {
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
const auth = getTernSecureAuth();
|
|
25
|
-
const unsubscribe = auth.onAuthStateChanged((user) => {
|
|
26
|
-
setGlobalAuthState({ user, loading: false, error: null, initialized: true });
|
|
27
|
-
}, (error) => {
|
|
28
|
-
setGlobalAuthState({ user: null, loading: false, error, initialized: true });
|
|
29
|
-
});
|
|
30
|
-
return () => unsubscribe();
|
|
31
|
-
}, []);
|
|
32
|
-
return null; // This component doesn't render anything
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=ClientProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ClientProvider.js","sourceRoot":"","sources":["../../../src/app-router/client/ClientProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,IAAI,eAAe,GAAc;IAC/B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,IAAI,SAAS,GAAsC,EAAE,CAAC;AAEtD,SAAS,kBAAkB,CAAC,QAA4B;IACtD,eAAe,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAoC;IACvE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC1B,OAAO,GAAG,EAAE;QACV,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,cAAc;IACpC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CACzC,CAAC,IAAI,EAAE,EAAE;YACP,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC,CACF,CAAC;QAEF,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC,CAAC,yCAAyC;AACxD,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { AuthState } from '../../../types/ternsecure';
|
|
3
|
-
type ProviderProps = {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
value: AuthState;
|
|
6
|
-
onChange: (state: AuthState) => void;
|
|
7
|
-
};
|
|
8
|
-
export declare function ReactTernSecureProvider({ children, value, onChange }: ProviderProps): React.JSX.Element;
|
|
9
|
-
export declare function useTernSecure(): {
|
|
10
|
-
user: null;
|
|
11
|
-
isLoaded: boolean;
|
|
12
|
-
};
|
|
13
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
export function ReactTernSecureProvider({ children, value, onChange }) {
|
|
4
|
-
// Add any core React functionality here
|
|
5
|
-
return (React.createElement("div", { "data-tern-secure-provider": true }, children));
|
|
6
|
-
}
|
|
7
|
-
// Add hooks for consuming the auth state
|
|
8
|
-
export function useTernSecure() {
|
|
9
|
-
// Implementation here
|
|
10
|
-
return {
|
|
11
|
-
user: null,
|
|
12
|
-
isLoaded: false,
|
|
13
|
-
// ... other auth state
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=ReactTernSecureProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReactTernSecureProvider.js","sourceRoot":"","sources":["../../../../src/app-router/client/providers/ReactTernSecureProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,MAAM,UAAU,uBAAuB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAiB;IAClF,wCAAwC;IACxC,OAAO,CACL,kEACG,QAAQ,CACL,CACP,CAAA;AACH,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,aAAa;IAC3B,sBAAsB;IACtB,OAAO;QACL,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,uBAAuB;KACxB,CAAA;AACH,CAAC"}
|
package/dist/jest.setup.d.ts
DELETED
|
File without changes
|
package/dist/jest.setup.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
process.env.NEXT_PUBLIC_FIREBASE_API_KEY = 'test-api-key';
|
|
3
|
-
process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN = 'test-auth-domain';
|
|
4
|
-
process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID = 'test-project-id';
|
|
5
|
-
process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET = 'test-bucket';
|
|
6
|
-
process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID = 'test-sender-id';
|
|
7
|
-
process.env.NEXT_PUBLIC_FIREBASE_APP_ID = 'test-app-id';
|
|
8
|
-
//# sourceMappingURL=jest.setup.js.map
|
package/dist/jest.setup.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jest.setup.js","sourceRoot":"","sources":["../jest.setup.ts"],"names":[],"mappings":";AAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,cAAc,CAAC;AAC1D,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,kBAAkB,CAAC;AAClE,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,iBAAiB,CAAC;AAChE,OAAO,CAAC,GAAG,CAAC,mCAAmC,GAAG,aAAa,CAAC;AAChE,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,gBAAgB,CAAC;AACxE,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,aAAa,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useEffect } from 'react';
|
|
3
|
-
import { getTernSecureAuth } from './client-init';
|
|
4
|
-
let globalAuthState = {
|
|
5
|
-
user: null,
|
|
6
|
-
loading: true,
|
|
7
|
-
error: null,
|
|
8
|
-
initialized: false
|
|
9
|
-
};
|
|
10
|
-
let listeners = [];
|
|
11
|
-
function setGlobalAuthState(newState) {
|
|
12
|
-
globalAuthState = { ...globalAuthState, ...newState };
|
|
13
|
-
listeners.forEach(listener => listener(globalAuthState));
|
|
14
|
-
}
|
|
15
|
-
export function subscribeToAuthState(listener) {
|
|
16
|
-
listeners.push(listener);
|
|
17
|
-
listener(globalAuthState);
|
|
18
|
-
return () => {
|
|
19
|
-
listeners = listeners.filter(l => l !== listener);
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export default function ClientProvider() {
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
const auth = getTernSecureAuth();
|
|
25
|
-
const unsubscribe = auth.onAuthStateChanged((user) => {
|
|
26
|
-
setGlobalAuthState({ user, loading: false, error: null, initialized: true });
|
|
27
|
-
}, (error) => {
|
|
28
|
-
setGlobalAuthState({ user: null, loading: false, error, initialized: true });
|
|
29
|
-
});
|
|
30
|
-
return () => unsubscribe();
|
|
31
|
-
}, []);
|
|
32
|
-
return null; // This component doesn't render anything
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=ClientProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ClientProvider.js","sourceRoot":"","sources":["../../../../src/app-router/client/ClientProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,IAAI,eAAe,GAAc;IAC/B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,IAAI,SAAS,GAAsC,EAAE,CAAC;AAEtD,SAAS,kBAAkB,CAAC,QAA4B;IACtD,eAAe,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAoC;IACvE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC1B,OAAO,GAAG,EAAE;QACV,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,cAAc;IACpC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CACzC,CAAC,IAAI,EAAE,EAAE;YACP,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC,CACF,CAAC;QAEF,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC,CAAC,yCAAyC;AACxD,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Auth } from 'firebase/auth';
|
|
2
|
-
import { Firestore } from 'firebase/firestore';
|
|
3
|
-
import { FirebaseStorage } from 'firebase/storage';
|
|
4
|
-
export declare const getTernSecureAuth: () => Auth;
|
|
5
|
-
export declare const getTernSecureFirestore: () => Firestore;
|
|
6
|
-
export declare const getTernSecureStorage: () => FirebaseStorage;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { getApps, initializeApp } from 'firebase/app';
|
|
2
|
-
import { getAuth, setPersistence, browserSessionPersistence } from 'firebase/auth';
|
|
3
|
-
import { getFirestore } from 'firebase/firestore';
|
|
4
|
-
import { getStorage } from 'firebase/storage';
|
|
5
|
-
import { loadFireConfig, validateConfig } from './config';
|
|
6
|
-
import { ERRORS, TernSecureError } from '../../errors';
|
|
7
|
-
let app = null;
|
|
8
|
-
let auth = null;
|
|
9
|
-
let firestore = null;
|
|
10
|
-
let storage = null;
|
|
11
|
-
const initialize = () => {
|
|
12
|
-
if (typeof window === 'undefined') {
|
|
13
|
-
throw new TernSecureError(ERRORS.SERVER_SIDE_INITIALIZATION);
|
|
14
|
-
}
|
|
15
|
-
if (!app) {
|
|
16
|
-
const config = validateConfig(loadFireConfig());
|
|
17
|
-
app = getApps().length ? getApps()[0] : initializeApp(config);
|
|
18
|
-
auth = getAuth(app);
|
|
19
|
-
// Set persistence after initializing auth
|
|
20
|
-
setPersistence(auth, browserSessionPersistence);
|
|
21
|
-
firestore = getFirestore(app);
|
|
22
|
-
storage = getStorage(app);
|
|
23
|
-
}
|
|
24
|
-
return app;
|
|
25
|
-
};
|
|
26
|
-
export const getTernSecureAuth = () => {
|
|
27
|
-
if (!auth) {
|
|
28
|
-
initialize();
|
|
29
|
-
}
|
|
30
|
-
return auth;
|
|
31
|
-
};
|
|
32
|
-
export const getTernSecureFirestore = () => {
|
|
33
|
-
if (!firestore) {
|
|
34
|
-
initialize();
|
|
35
|
-
}
|
|
36
|
-
return firestore;
|
|
37
|
-
};
|
|
38
|
-
export const getTernSecureStorage = () => {
|
|
39
|
-
if (!storage) {
|
|
40
|
-
initialize();
|
|
41
|
-
}
|
|
42
|
-
return storage;
|
|
43
|
-
};
|
|
44
|
-
//# sourceMappingURL=client-init.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-init.js","sourceRoot":"","sources":["../../../../src/app-router/client/client-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAe,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,OAAO,EAAQ,cAAc,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEvD,IAAI,GAAG,GAAuB,IAAI,CAAC;AACnC,IAAI,IAAI,GAAgB,IAAI,CAAC;AAC7B,IAAI,SAAS,GAAqB,IAAI,CAAC;AACvC,IAAI,OAAO,GAA2B,IAAI,CAAC;AAE3C,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;QAChD,GAAG,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,0CAA0C;QAC1C,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAChD,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,UAAU,EAAE,CAAC;IACf,CAAC;IACD,OAAO,IAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;IACf,CAAC;IACD,OAAO,SAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;IACf,CAAC;IACD,OAAO,OAAQ,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export const loadFireConfig = () => ({
|
|
2
|
-
apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
|
|
3
|
-
authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
|
|
4
|
-
projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
|
|
5
|
-
storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
|
|
6
|
-
messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
|
7
|
-
appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
|
|
8
|
-
measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID,
|
|
9
|
-
});
|
|
10
|
-
export const validateConfig = (config) => {
|
|
11
|
-
Object.entries(config).forEach(([key, value]) => {
|
|
12
|
-
if (!value) {
|
|
13
|
-
throw new Error(`Missing environment variable: NEXT_PUBLIC_FIREBASE_${key.toUpperCase()}`);
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
return config;
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/app-router/client/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,GAAqB,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,4BAAsC;IAC1D,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,gCAA0C;IAClE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,+BAAyC;IAChE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,mCAA6C;IACxE,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,wCAAkD;IACjF,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,2BAAqC;IACxD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,mCAA6C;CACzE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAwB,EAAE,EAAE;IACzD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,sDAAsD,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-router/client/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { AuthState } from '../../../types/ternsecure';
|
|
3
|
-
type ProviderProps = {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
value: AuthState;
|
|
6
|
-
onChange: (state: AuthState) => void;
|
|
7
|
-
};
|
|
8
|
-
export declare function ReactTernSecureProvider({ children, value, onChange }: ProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export declare function useTernSecure(): {
|
|
10
|
-
user: null;
|
|
11
|
-
isLoaded: boolean;
|
|
12
|
-
};
|
|
13
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
export function ReactTernSecureProvider({ children, value, onChange }) {
|
|
4
|
-
// Add any core React functionality here
|
|
5
|
-
return (_jsx("div", { "data-tern-secure-provider": true, children: children }));
|
|
6
|
-
}
|
|
7
|
-
// Add hooks for consuming the auth state
|
|
8
|
-
export function useTernSecure() {
|
|
9
|
-
// Implementation here
|
|
10
|
-
return {
|
|
11
|
-
user: null,
|
|
12
|
-
isLoaded: false,
|
|
13
|
-
// ... other auth state
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=ReactTernSecureProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReactTernSecureProvider.js","sourceRoot":"","sources":["../../../../../src/app-router/client/providers/ReactTernSecureProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAWZ,MAAM,UAAU,uBAAuB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAiB;IAClF,wCAAwC;IACxC,OAAO,CACL,2DACG,QAAQ,GACL,CACP,CAAA;AACH,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,aAAa;IAC3B,sBAAsB;IACtB,OAAO;QACL,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,uBAAuB;KACxB,CAAA;AACH,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { TernSecureContextType } from '../../../types/ternsecure';
|
|
3
|
-
export declare const useTernSecure: () => TernSecureContextType;
|
|
4
|
-
interface TernSecureClientProviderProps {
|
|
5
|
-
children: React.ReactNode;
|
|
6
|
-
}
|
|
7
|
-
export declare function TernSecureClientProvider({ children }: TernSecureClientProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export {};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { createContext, useContext, useEffect, useState } from 'react';
|
|
4
|
-
import { getTernSecureAuth } from '../client-init';
|
|
5
|
-
const TernSecureContext = createContext(null);
|
|
6
|
-
export const useTernSecure = () => {
|
|
7
|
-
const context = useContext(TernSecureContext);
|
|
8
|
-
if (!context) {
|
|
9
|
-
throw new Error('useTernSecure must be used within a TernSecureClientProvider');
|
|
10
|
-
}
|
|
11
|
-
return context;
|
|
12
|
-
};
|
|
13
|
-
export function TernSecureClientProvider({ children }) {
|
|
14
|
-
const [authState, setAuthState] = useState({
|
|
15
|
-
user: null,
|
|
16
|
-
loading: true,
|
|
17
|
-
error: null,
|
|
18
|
-
initialized: false
|
|
19
|
-
});
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
const auth = getTernSecureAuth();
|
|
22
|
-
const unsubscribe = auth.onAuthStateChanged((user) => {
|
|
23
|
-
setAuthState({ user, loading: false, error: null, initialized: true });
|
|
24
|
-
}, (error) => {
|
|
25
|
-
setAuthState({ user: null, loading: false, error, initialized: true });
|
|
26
|
-
});
|
|
27
|
-
return () => unsubscribe();
|
|
28
|
-
}, []);
|
|
29
|
-
const contextValue = {
|
|
30
|
-
authState
|
|
31
|
-
};
|
|
32
|
-
return (_jsx(TernSecureContext.Provider, { value: contextValue, children: children }));
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=ternSecureClientProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ternSecureClientProvider.js","sourceRoot":"","sources":["../../../../../src/app-router/client/providers/ternSecureClientProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGlD,MAAM,iBAAiB,GAAG,aAAa,CAA+B,IAAI,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAMD,MAAM,UAAU,wBAAwB,CAAC,EAAE,QAAQ,EAAiC;IAClF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY;QACpD,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,KAAK;KACnB,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAA;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CACzC,CAAC,IAAI,EAAE,EAAE;YACP,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC,CACF,CAAA;QAED,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAA;IAKN,MAAM,YAAY,GAA0B;QAC1C,SAAS;KACV,CAAA;IAED,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC5C,QAAQ,GACkB,CAC9B,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { AuthState } from '../../../types/ternsecure';
|
|
2
|
-
export type TernSecureContextType = {
|
|
3
|
-
state: AuthState;
|
|
4
|
-
setState: React.Dispatch<React.SetStateAction<AuthState>>;
|
|
5
|
-
};
|
|
6
|
-
export declare const TernSecureContext: import("react").Context<TernSecureContextType | null>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ternSecureContext.js","sourceRoot":"","sources":["../../../../../src/app-router/client/providers/ternSecureContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AASrC,kDAAkD;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAA+B,IAAI,CAAC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
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;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
class ErrorBoundary extends React.Component {
|
|
4
|
-
constructor(props) {
|
|
5
|
-
super(props);
|
|
6
|
-
this.state = { hasError: false };
|
|
7
|
-
}
|
|
8
|
-
static getDerivedStateFromError(_) {
|
|
9
|
-
return { hasError: true };
|
|
10
|
-
}
|
|
11
|
-
componentDidCatch(error, errorInfo) {
|
|
12
|
-
console.error('TernSecureProvider error:', error, errorInfo);
|
|
13
|
-
}
|
|
14
|
-
render() {
|
|
15
|
-
if (this.state.hasError) {
|
|
16
|
-
return this.props.fallback;
|
|
17
|
-
}
|
|
18
|
-
return this.props.children;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export default ErrorBoundary;
|
|
22
|
-
//# sourceMappingURL=ErrorBoundary.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBoundary.js","sourceRoot":"","sources":["../../../../src/app-router/server/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,KAA+B,MAAM,OAAO,CAAC;AAWpD,MAAM,aAAc,SAAQ,KAAK,CAAC,SAAiD;IACjF,YAAY,KAAyB;QACnC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,CAAQ;QACtC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,iBAAiB,CAAC,KAAY,EAAE,SAAoB;QAClD,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { TernSecureProvider } from './providers/TernSecureServerProvider';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-router/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export function TernSecureProvider({ children }) {
|
|
3
|
-
if (typeof window === 'undefined') {
|
|
4
|
-
// Server-side rendering
|
|
5
|
-
return _jsx(_Fragment, { children: children });
|
|
6
|
-
}
|
|
7
|
-
try {
|
|
8
|
-
// Client-side rendering
|
|
9
|
-
const { TernSecureClientProvider } = require('../../client/providers/ternSecureClientProvider');
|
|
10
|
-
return _jsx(TernSecureClientProvider, { children: children });
|
|
11
|
-
}
|
|
12
|
-
catch (error) {
|
|
13
|
-
console.error('Failed to load TernSecureClientProvider:', error);
|
|
14
|
-
// Fallback to prevent app crash
|
|
15
|
-
return _jsx(_Fragment, { children: children });
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=TernSecureServerProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TernSecureServerProvider.js","sourceRoot":"","sources":["../../../../../src/app-router/server/providers/TernSecureServerProvider.tsx"],"names":[],"mappings":";AAMA,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAA2B;IACtE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,wBAAwB;QACxB,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACzB,CAAC;IAED,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,iDAAiD,CAAC,CAAA;QAC/F,OAAO,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QACjE,gCAAgC;QAChC,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACzB,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare const ERRORS: {
|
|
2
|
-
readonly SERVER_SIDE_INITIALIZATION: "TernSecure must be initialized on the client side";
|
|
3
|
-
readonly NOT_INITIALIZED: "TernSecure services are not initialized. Call initializeTernSecure() first";
|
|
4
|
-
readonly HOOK_CONTEXT: (hookName: string) => string;
|
|
5
|
-
};
|
|
6
|
-
export declare class TernSecureError extends Error {
|
|
7
|
-
constructor(message: string);
|
|
8
|
-
}
|
package/dist/src/errors/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export const ERRORS = {
|
|
2
|
-
SERVER_SIDE_INITIALIZATION: 'TernSecure must be initialized on the client side',
|
|
3
|
-
NOT_INITIALIZED: 'TernSecure services are not initialized. Call initializeTernSecure() first',
|
|
4
|
-
HOOK_CONTEXT: (hookName) => `${hookName} must be used within TernSecureProvider`,
|
|
5
|
-
};
|
|
6
|
-
export class TernSecureError extends Error {
|
|
7
|
-
constructor(message) {
|
|
8
|
-
super(message);
|
|
9
|
-
this.name = 'TernSecureError';
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,0BAA0B,EAAE,mDAAmD;IAC/E,eAAe,EAAE,4EAA4E;IAC7F,YAAY,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,GAAG,QAAQ,yCAAyC;CAChF,CAAC;AAEX,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
|
-
import { subscribeToAuthState } from '../app-router/client/ClientProvider';
|
|
4
|
-
import { getTernSecureAuth } from '../app-router/client/client-init';
|
|
5
|
-
import { signInWithEmailAndPassword } from 'firebase/auth';
|
|
6
|
-
export function useAuth() {
|
|
7
|
-
const [authState, setAuthState] = useState({
|
|
8
|
-
user: null,
|
|
9
|
-
loading: true,
|
|
10
|
-
error: null,
|
|
11
|
-
initialized: false
|
|
12
|
-
});
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
return subscribeToAuthState(setAuthState);
|
|
15
|
-
}, []);
|
|
16
|
-
const auth = getTernSecureAuth();
|
|
17
|
-
const signIn = async (email, password) => {
|
|
18
|
-
try {
|
|
19
|
-
const userCredential = await signInWithEmailAndPassword(auth, email, password);
|
|
20
|
-
return userCredential.user;
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
throw new Error('Failed to sign in: ' + error.message);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
const signOut = async () => {
|
|
27
|
-
try {
|
|
28
|
-
await auth.signOut();
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
throw new Error('Failed to sign out: ' + error.message);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
return {
|
|
35
|
-
user: authState.user,
|
|
36
|
-
loading: authState.loading,
|
|
37
|
-
error: authState.error,
|
|
38
|
-
signIn,
|
|
39
|
-
signOut,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=useAuth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAuth.js","sourceRoot":"","sources":["../../../src/hooks/useAuth.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,UAAU,OAAO;IACrB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY;QACpD,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAG,KAAK,EAAE,KAAa,EAAE,QAAgB,EAAE,EAAE;QACvD,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC/E,OAAO,cAAc,CAAC,IAAI,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAI,KAAe,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAI,KAAe,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/src/index.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage } from "./app-router/client";
|
|
2
|
-
import { TernSecureProvider } from "./app-router/server/providers/TernSecureServerProvider";
|
|
3
|
-
import { useAuth } from "./hooks/useAuth";
|
|
4
|
-
export { TernSecureProvider, useAuth, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage };
|
package/dist/src/index.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage } from "./app-router/client";
|
|
2
|
-
import { TernSecureProvider } from "./app-router/server/providers/TernSecureServerProvider";
|
|
3
|
-
import { useAuth } from "./hooks/useAuth";
|
|
4
|
-
export { TernSecureProvider, useAuth, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage };
|
|
5
|
-
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EACH,kBAAkB,EAClB,OAAO,EACP,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACvB,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import { User } from 'firebase/auth';
|
|
3
|
-
export interface TernSecureConfig {
|
|
4
|
-
apiKey: string;
|
|
5
|
-
authDomain: string;
|
|
6
|
-
projectId: string;
|
|
7
|
-
storageBucket: string;
|
|
8
|
-
messagingSenderId: string;
|
|
9
|
-
appId: string;
|
|
10
|
-
measurementId: string;
|
|
11
|
-
}
|
|
12
|
-
export interface TernSecureOptions {
|
|
13
|
-
environment?: 'development' | 'production';
|
|
14
|
-
region?: string;
|
|
15
|
-
}
|
|
16
|
-
export interface AuthState {
|
|
17
|
-
user: User | null;
|
|
18
|
-
loading: boolean;
|
|
19
|
-
error: Error | null;
|
|
20
|
-
initialized: boolean;
|
|
21
|
-
}
|
|
22
|
-
export interface TernSecureContextValue {
|
|
23
|
-
_contextKey: symbol;
|
|
24
|
-
authState: AuthState;
|
|
25
|
-
auth: any;
|
|
26
|
-
}
|
|
27
|
-
export interface TernSecureContextType {
|
|
28
|
-
authState: AuthState;
|
|
29
|
-
}
|
|
30
|
-
export interface TernSecureProviderProps {
|
|
31
|
-
children: ReactNode;
|
|
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
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ternsecure.js","sourceRoot":"","sources":["../../../src/types/ternsecure.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/src/utils/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":""}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import { User } from 'firebase/auth';
|
|
3
|
-
export interface TernSecureConfig {
|
|
4
|
-
apiKey: string;
|
|
5
|
-
authDomain: string;
|
|
6
|
-
projectId: string;
|
|
7
|
-
storageBucket: string;
|
|
8
|
-
messagingSenderId: string;
|
|
9
|
-
appId: string;
|
|
10
|
-
measurementId: string;
|
|
11
|
-
}
|
|
12
|
-
export interface TernSecureOptions {
|
|
13
|
-
environment?: 'development' | 'production';
|
|
14
|
-
region?: string;
|
|
15
|
-
}
|
|
16
|
-
export interface FirebaseState {
|
|
17
|
-
initialized: boolean;
|
|
18
|
-
error: Error | null;
|
|
19
|
-
}
|
|
20
|
-
export interface TernSecureState {
|
|
21
|
-
firebase: FirebaseState;
|
|
22
|
-
auth: AuthState;
|
|
23
|
-
}
|
|
24
|
-
export interface AuthState {
|
|
25
|
-
user: User | null;
|
|
26
|
-
loading: boolean;
|
|
27
|
-
error: Error | null;
|
|
28
|
-
isSignedIn: boolean;
|
|
29
|
-
}
|
|
30
|
-
export interface TernSecureContextValue {
|
|
31
|
-
_contextKey: symbol;
|
|
32
|
-
authState: AuthState;
|
|
33
|
-
auth: any;
|
|
34
|
-
}
|
|
35
|
-
export interface TernSecureContextType {
|
|
36
|
-
authState: AuthState;
|
|
37
|
-
}
|
|
38
|
-
export interface TernSecureProviderProps {
|
|
39
|
-
children: ReactNode;
|
|
40
|
-
}
|
|
41
|
-
export interface UseAuthReturn {
|
|
42
|
-
user: User | null;
|
|
43
|
-
loading: boolean;
|
|
44
|
-
error: Error | null;
|
|
45
|
-
signIn: (email: string, password: string) => Promise<User>;
|
|
46
|
-
signOut: () => Promise<void>;
|
|
47
|
-
}
|
package/dist/types/ternsecure.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ternsecure.js","sourceRoot":"","sources":["../../src/types/ternsecure.ts"],"names":[],"mappings":""}
|