@tern-secure/nextjs 1.5.3 → 1.5.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tern-secure/nextjs",
3
- "version": "1.5.3",
3
+ "version": "1.5.5",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"
@@ -1,3 +0,0 @@
1
- import { AuthState } from '../../types/ternsecure';
2
- export declare function subscribeToAuthState(listener: (state: AuthState) => void): () => void;
3
- export default function ClientProvider(): null;
@@ -1,8 +0,0 @@
1
- import { FirebaseApp } from 'firebase/app';
2
- import { Auth } from 'firebase/auth';
3
- import { Firestore } from 'firebase/firestore';
4
- import { FirebaseStorage } from 'firebase/storage';
5
- export declare function initializeTernSecure(): FirebaseApp;
6
- export declare const getTernSecureAuth: () => Auth;
7
- export declare const getTernSecureFirestore: () => Firestore;
8
- export declare const getTernSecureStorage: () => FirebaseStorage;
@@ -1,2 +0,0 @@
1
- import { TernSecureConfig } from "../../types/ternsecure";
2
- export declare const loadFireConfig: TernSecureConfig;
@@ -1,2 +0,0 @@
1
- export { initializeTernSecure, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage } from './client-init';
2
- export { loadFireConfig } from './config';
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import { AuthState, TernSecureProviderProps } from '../../../types/ternsecure';
3
- export declare const TernSecureClientProvider: React.FC<TernSecureProviderProps & {
4
- initialState: AuthState;
5
- }>;
@@ -1,11 +0,0 @@
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
- }
10
- export declare const TernSecureContext: import("react").Context<TernSecureContextType | null>;
11
- export declare const useTernSecure: () => TernSecureContextType;
@@ -1 +0,0 @@
1
- export { TernSecureProvider } from './providers/TernSecureServerProvider';
@@ -1,2 +0,0 @@
1
- import { TernSecureProviderProps } from '../../../types/ternsecure';
2
- export declare function TernSecureProvider({ children }: TernSecureProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export {};
@@ -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
- }
@@ -1,2 +0,0 @@
1
- import { UseAuthReturn } from '../types/ternsecure';
2
- export declare function useAuth(): UseAuthReturn;
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { initializeTernSecure, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage, loadFireConfig } from "./app-router/client";
2
- import { TernSecureProvider } from "./app-router/server/providers/TernSecureServerProvider";
3
- export { TernSecureProvider, loadFireConfig, initializeTernSecure, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage };
package/dist/index.js DELETED
@@ -1,97 +0,0 @@
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 { jsxs, Fragment, jsx } from 'react/jsx-runtime';
6
- import { useEffect } from 'react';
7
-
8
- function getEnvVariable(name) {
9
- const value = process.env[`NEXT_PUBLIC_FIREBASE_${name}`];
10
- if (!value) {
11
- throw new Error(`Missing environment variable: NEXT_PUBLIC_FIREBASE_${name}`);
12
- }
13
- return value;
14
- }
15
- const loadFireConfig = {
16
- apiKey: getEnvVariable('API_KEY'),
17
- authDomain: getEnvVariable('AUTH_DOMAIN'),
18
- projectId: getEnvVariable('PROJECT_ID'),
19
- storageBucket: getEnvVariable('STORAGE_BUCKET'),
20
- messagingSenderId: getEnvVariable('MESSAGING_SENDER_ID'),
21
- appId: getEnvVariable('APP_ID'),
22
- };
23
-
24
- const ERRORS = {
25
- SERVER_SIDE_INITIALIZATION: 'TernSecure must be initialized on the client side',
26
- NOT_INITIALIZED: 'TernSecure services are not initialized. Call initializeTernSecure() first',
27
- HOOK_CONTEXT: (hookName) => `${hookName} must be used within TernSecureProvider`,
28
- };
29
- class TernSecureError extends Error {
30
- constructor(message) {
31
- super(message);
32
- this.name = 'TernSecureError';
33
- }
34
- }
35
-
36
- let app = null;
37
- let auth = null;
38
- let firestore = null;
39
- let storage = null;
40
- function initializeTernSecure() {
41
- if (typeof window === 'undefined') {
42
- throw new TernSecureError(ERRORS.SERVER_SIDE_INITIALIZATION);
43
- }
44
- if (!app) {
45
- app = getApps().length ? getApps()[0] : initializeApp(loadFireConfig);
46
- auth = getAuth(app);
47
- firestore = getFirestore(app);
48
- storage = getStorage(app);
49
- }
50
- return app;
51
- }
52
- const getTernSecureAuth = () => {
53
- if (!auth)
54
- throw new TernSecureError(ERRORS.NOT_INITIALIZED);
55
- return auth;
56
- };
57
- const getTernSecureFirestore = () => {
58
- if (!firestore)
59
- throw new TernSecureError(ERRORS.NOT_INITIALIZED);
60
- return firestore;
61
- };
62
- const getTernSecureStorage = () => {
63
- if (!storage)
64
- throw new TernSecureError(ERRORS.NOT_INITIALIZED);
65
- return storage;
66
- };
67
-
68
- let globalAuthState = {
69
- user: null,
70
- loading: true,
71
- error: null,
72
- initialized: false
73
- };
74
- let listeners = [];
75
- function setGlobalAuthState(newState) {
76
- globalAuthState = { ...globalAuthState, ...newState };
77
- listeners.forEach(listener => listener(globalAuthState));
78
- }
79
- function ClientProvider() {
80
- useEffect(() => {
81
- const auth = getTernSecureAuth();
82
- const unsubscribe = auth.onAuthStateChanged((user) => {
83
- setGlobalAuthState({ user, loading: false, error: null, initialized: true });
84
- }, (error) => {
85
- setGlobalAuthState({ user: null, loading: false, error, initialized: true });
86
- });
87
- return () => unsubscribe();
88
- }, []);
89
- return null; // This component doesn't render anything
90
- }
91
-
92
- function TernSecureProvider({ children }) {
93
- return (jsxs(Fragment, { children: [children, jsx(ClientProvider, {})] }));
94
- }
95
-
96
- export { TernSecureProvider, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage, initializeTernSecure, loadFireConfig };
97
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
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/ClientProvider.tsx","../src/app-router/server/providers/TernSecureServerProvider.tsx"],"sourcesContent":[null,null,null,null,null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -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
- export {};