@open-xamu-co/firebase-nuxt 1.0.0 → 1.1.0

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.
Files changed (133) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +0 -14
  3. package/dist/module.d.mts +50 -0
  4. package/dist/module.json +12 -0
  5. package/dist/module.mjs +137 -0
  6. package/dist/runtime/client/types/entities/base.d.ts +29 -0
  7. package/dist/runtime/client/types/entities/base.js +0 -0
  8. package/dist/runtime/client/types/entities/instance.d.ts +42 -0
  9. package/dist/runtime/client/types/entities/instance.js +0 -0
  10. package/dist/runtime/client/types/entities/logs.d.ts +9 -0
  11. package/dist/runtime/client/types/entities/logs.js +0 -0
  12. package/dist/runtime/client/types/entities/user.d.ts +27 -0
  13. package/dist/runtime/client/types/entities/user.js +0 -0
  14. package/dist/runtime/client/types/firestore.d.ts +55 -0
  15. package/dist/runtime/client/types/firestore.js +0 -0
  16. package/dist/runtime/client/types/index.d.ts +5 -0
  17. package/dist/runtime/client/types/index.js +5 -0
  18. package/dist/runtime/client/utils/locale.d.ts +185 -0
  19. package/dist/runtime/client/utils/locale.js +63 -0
  20. package/dist/runtime/client/utils/logger.d.ts +14 -0
  21. package/dist/runtime/client/utils/logger.js +65 -0
  22. package/dist/runtime/client/utils/resolver.d.ts +14 -0
  23. package/dist/runtime/client/utils/resolver.js +88 -0
  24. package/dist/runtime/components/ValueCellphone.d.vue.ts +24 -0
  25. package/dist/runtime/components/ValueCellphone.vue +21 -0
  26. package/dist/runtime/components/ValueCellphone.vue.d.ts +24 -0
  27. package/dist/runtime/components/ValueID.d.vue.ts +18 -0
  28. package/dist/runtime/components/ValueID.vue +14 -0
  29. package/dist/runtime/components/ValueID.vue.d.ts +18 -0
  30. package/dist/runtime/components/ValueIP.d.vue.ts +18 -0
  31. package/dist/runtime/components/ValueIP.vue +28 -0
  32. package/dist/runtime/components/ValueIP.vue.d.ts +18 -0
  33. package/dist/runtime/components/ValueLocation.d.vue.ts +21 -0
  34. package/dist/runtime/components/ValueLocation.vue +20 -0
  35. package/dist/runtime/components/ValueLocation.vue.d.ts +21 -0
  36. package/dist/runtime/components/ValuePrice.d.vue.ts +11 -0
  37. package/dist/runtime/components/ValuePrice.vue +12 -0
  38. package/dist/runtime/components/ValuePrice.vue.d.ts +11 -0
  39. package/dist/runtime/composables/firestore/auth.d.ts +4 -0
  40. package/dist/runtime/composables/firestore/auth.js +46 -0
  41. package/dist/runtime/composables/firestore/index.d.ts +2 -0
  42. package/dist/runtime/composables/firestore/index.js +2 -0
  43. package/dist/runtime/composables/firestore/write.d.ts +21 -0
  44. package/dist/runtime/composables/firestore/write.js +279 -0
  45. package/dist/runtime/composables/index.d.ts +4 -0
  46. package/dist/runtime/composables/index.js +4 -0
  47. package/dist/runtime/composables/store/app.d.ts +82 -0
  48. package/dist/runtime/composables/store/app.js +90 -0
  49. package/dist/runtime/composables/store/instance.d.ts +57 -0
  50. package/dist/runtime/composables/store/instance.js +94 -0
  51. package/dist/runtime/composables/store/session.d.ts +41 -0
  52. package/dist/runtime/composables/store/session.js +89 -0
  53. package/dist/runtime/composables/useAppLogger.d.ts +2 -0
  54. package/dist/runtime/composables/useAppLogger.js +8 -0
  55. package/dist/runtime/composables/useFilesUpload.d.ts +19 -0
  56. package/dist/runtime/composables/useFilesUpload.js +110 -0
  57. package/dist/runtime/composables/usePrice.d.ts +9 -0
  58. package/dist/runtime/composables/usePrice.js +6 -0
  59. package/dist/runtime/composables/useQuery.d.ts +12 -0
  60. package/dist/runtime/composables/useQuery.js +33 -0
  61. package/dist/runtime/composables/utils.d.ts +14 -0
  62. package/dist/runtime/composables/utils.js +65 -0
  63. package/dist/runtime/functions/types/entities/base.d.ts +56 -0
  64. package/dist/runtime/functions/types/entities/base.js +0 -0
  65. package/dist/runtime/functions/types/entities/instance.d.ts +73 -0
  66. package/dist/runtime/functions/types/entities/instance.js +0 -0
  67. package/dist/runtime/functions/types/entities/logs.d.ts +15 -0
  68. package/dist/runtime/functions/types/entities/logs.js +0 -0
  69. package/dist/runtime/functions/types/entities/user.d.ts +13 -0
  70. package/dist/runtime/functions/types/entities/user.js +0 -0
  71. package/dist/runtime/functions/types/index.d.ts +4 -0
  72. package/dist/runtime/functions/types/index.js +4 -0
  73. package/dist/runtime/functions/utils/encrypt.d.ts +24 -0
  74. package/dist/runtime/functions/utils/encrypt.js +17 -0
  75. package/dist/runtime/functions/utils/enums.d.ts +40 -0
  76. package/dist/runtime/functions/utils/enums.js +24 -0
  77. package/dist/runtime/functions/utils/event.d.ts +71 -0
  78. package/dist/runtime/functions/utils/event.js +91 -0
  79. package/dist/runtime/functions/utils/firebase.d.ts +7 -0
  80. package/dist/runtime/functions/utils/firebase.js +21 -0
  81. package/dist/runtime/functions/utils/logger.d.ts +3 -0
  82. package/dist/runtime/functions/utils/logger.js +17 -0
  83. package/dist/runtime/functions/utils/logs.d.ts +10 -0
  84. package/dist/runtime/functions/utils/logs.js +47 -0
  85. package/dist/runtime/functions/utils/price.d.ts +12 -0
  86. package/dist/runtime/functions/utils/price.js +26 -0
  87. package/dist/runtime/functions/utils/queue.d.ts +4 -0
  88. package/dist/runtime/functions/utils/queue.js +11 -0
  89. package/dist/runtime/functions/utils/search.d.ts +15 -0
  90. package/dist/runtime/functions/utils/search.js +38 -0
  91. package/dist/runtime/functions/utils/slugs.d.ts +2 -0
  92. package/dist/runtime/functions/utils/slugs.js +16 -0
  93. package/dist/runtime/plugins/firebase-setup.d.ts +26 -0
  94. package/dist/runtime/plugins/firebase-setup.js +35 -0
  95. package/dist/runtime/plugins/loaded.client.d.ts +2 -0
  96. package/dist/runtime/plugins/loaded.client.js +44 -0
  97. package/dist/runtime/plugins/scrollBehavior.client.d.ts +2 -0
  98. package/dist/runtime/plugins/scrollBehavior.client.js +20 -0
  99. package/dist/runtime/providers/firebase.d.ts +2 -0
  100. package/dist/runtime/providers/firebase.js +7 -0
  101. package/dist/runtime/public/js/file-upload.d.ts +1 -0
  102. package/dist/runtime/public/js/file-upload.js +67 -0
  103. package/dist/runtime/public/sample-loading.png +0 -0
  104. package/dist/runtime/public/sample-missing.png +0 -0
  105. package/dist/runtime/public/sample.png +0 -0
  106. package/dist/runtime/server/api/all-collection-document.get.d.ts +7 -0
  107. package/dist/runtime/server/api/all-collection-document.get.js +56 -0
  108. package/dist/runtime/server/api/all-collection.get.d.ts +8 -0
  109. package/dist/runtime/server/api/all-collection.get.js +67 -0
  110. package/dist/runtime/server/api/media.get.d.ts +8 -0
  111. package/dist/runtime/server/api/media.get.js +114 -0
  112. package/dist/runtime/server/middleware/0.hotlinking.d.ts +5 -0
  113. package/dist/runtime/server/middleware/0.hotlinking.js +28 -0
  114. package/dist/runtime/server/middleware/1.context.d.ts +5 -0
  115. package/dist/runtime/server/middleware/1.context.js +108 -0
  116. package/dist/runtime/server/types/index.d.ts +34 -0
  117. package/dist/runtime/server/types/index.js +0 -0
  118. package/dist/runtime/server/utils/auth.d.ts +10 -0
  119. package/dist/runtime/server/utils/auth.js +31 -0
  120. package/dist/runtime/server/utils/cache.d.ts +21 -0
  121. package/dist/runtime/server/utils/cache.js +20 -0
  122. package/dist/runtime/server/utils/environment.d.ts +45 -0
  123. package/dist/runtime/server/utils/environment.js +50 -0
  124. package/dist/runtime/server/utils/firebase.d.ts +9 -0
  125. package/dist/runtime/server/utils/firebase.js +13 -0
  126. package/dist/runtime/server/utils/firestore.d.ts +27 -0
  127. package/dist/runtime/server/utils/firestore.js +137 -0
  128. package/dist/runtime/server/utils/guards.d.ts +15 -0
  129. package/dist/runtime/server/utils/guards.js +23 -0
  130. package/dist/runtime/server/utils/instance.d.ts +21 -0
  131. package/dist/runtime/server/utils/instance.js +68 -0
  132. package/dist/types.d.mts +7 -0
  133. package/package.json +17 -17
@@ -0,0 +1,27 @@
1
+ import { type H3Event, type EventHandlerRequest } from "h3";
2
+ import { type DocumentData, DocumentSnapshot, Query } from "firebase-admin/firestore";
3
+ import { QuerySnapshot } from "@google-cloud/firestore";
4
+ import type { iPage, iPageEdge } from "@open-xamu-co/ui-common-types";
5
+ import type { PseudoNode, FirebaseDocument, iSnapshotConfig } from "../../client/types/index.js";
6
+ /**
7
+ * Logging for debugging purposes on server
8
+ */
9
+ export declare function debugFirebaseServer<T extends EventHandlerRequest>(event: H3Event<T>, mss: string, ...args: any[]): void;
10
+ /**
11
+ * This one is used on api endpoints
12
+ */
13
+ export declare function resolveServerDocumentRefs<T extends PseudoNode, R extends FirebaseDocument = FirebaseDocument>(event: H3Event, snapshot?: DocumentSnapshot<T>, collection?: string, withAuth?: boolean): Promise<R | undefined>;
14
+ /**
15
+ * Resolve general refs
16
+ */
17
+ export declare function resolveServerRefs<T extends PseudoNode, R extends FirebaseDocument = FirebaseDocument>(snapshot: DocumentSnapshot<T, R>, config?: iSnapshotConfig, withAuth?: boolean): Promise<R | undefined>;
18
+ export declare function mapEdges<T extends Record<string, any>>(collectionSnapshot: QuerySnapshot<T>, encoder: (v: any) => string, snapshotConfig: iSnapshotConfig): Promise<iPageEdge<FirebaseDocument, string>[]>;
19
+ export declare function getOrderedQuery<T extends EventHandlerRequest>(event: H3Event<T>, query: Query): Query;
20
+ /**
21
+ * Get the edges from a given query
22
+ */
23
+ export declare function getQueryAsEdges<T extends EventHandlerRequest>(event: H3Event<T>, query: Query, callback?: (v: QuerySnapshot<DocumentData>) => void | Promise<void>): Promise<iPageEdge<DocumentData, string>[]>;
24
+ /**
25
+ * Cursor pagination from a given query
26
+ */
27
+ export declare function getEdgesPage<T extends EventHandlerRequest>(event: H3Event<T>, query: Query): Promise<iPage<DocumentData, string>>;
@@ -0,0 +1,137 @@
1
+ import { getRequestURL, createError, getQuery } from "h3";
2
+ import { useEvent } from "nitropack/runtime";
3
+ import { getBoolean, isNumberOrString } from "../utils/guards.js";
4
+ import { makeResolveRefs } from "../../client/utils/resolver.js";
5
+ import { apiLogger, getServerFirebase } from "./firebase.js";
6
+ import { debugFirebase } from "../utils/environment.js";
7
+ import { sudo } from "#internal/firebase-nuxt";
8
+ const decodeCursor = (cursor) => Buffer.from(cursor, "base64").toString("utf8");
9
+ const encodeCursor = (ref) => {
10
+ return Buffer.from(ref.path).toString("base64");
11
+ };
12
+ export function debugFirebaseServer(event, mss, ...args) {
13
+ if (debugFirebase && import.meta.server) {
14
+ const url = getRequestURL(event);
15
+ console.group("\x1B[34m%s\x1B[0m", url);
16
+ console.log(`${mss},`, ...args);
17
+ console.groupEnd();
18
+ }
19
+ }
20
+ export function resolveServerDocumentRefs(event, snapshot, collection = "documents", withAuth) {
21
+ if (!snapshot?.exists) {
22
+ let statusMessage = `No "${collection}" matched`;
23
+ if (snapshot?.ref.path) statusMessage = `${statusMessage} for ${snapshot.ref.path}`;
24
+ throw createError({ statusCode: 404, statusMessage });
25
+ }
26
+ const params = getQuery(event);
27
+ const level = Array.isArray(params.level) || !params.level ? 0 : Number(params.level);
28
+ const omit = Array.isArray(params.omit) ? params.omit : [params.omit];
29
+ return resolveServerRefs(snapshot, { level, omit }, withAuth);
30
+ }
31
+ export async function resolveServerRefs(snapshot, config = {}, withAuth) {
32
+ const event = useEvent();
33
+ const resolveRefs = makeResolveRefs((ref) => ref.get?.());
34
+ try {
35
+ if (withAuth === void 0) withAuth = sudo(event.context);
36
+ } catch (err) {
37
+ const payload = [`resolveServerRefs:${snapshot.ref.path}`, err];
38
+ config.logger ? config.logger(...payload) : apiLogger(event, ...payload);
39
+ }
40
+ return resolveRefs(snapshot, config, withAuth);
41
+ }
42
+ const edge = (e) => !!e;
43
+ export async function mapEdges(collectionSnapshot, encoder, snapshotConfig) {
44
+ const edges = await Promise.all(
45
+ collectionSnapshot.docs.map(async (document) => {
46
+ const node = await resolveServerRefs(document, snapshotConfig);
47
+ if (node) return { cursor: encoder(document.ref), node };
48
+ })
49
+ );
50
+ return edges.filter(edge);
51
+ }
52
+ export function getOrderedQuery(event, query) {
53
+ const params = getQuery(event);
54
+ const orderByParam = Array.isArray(params.orderBy?.[0]) ? params.orderBy[0] : [];
55
+ const orderByValues = [orderByParam[0] ?? "createdAt", orderByParam[1] ?? "desc"];
56
+ return query.orderBy(...orderByValues);
57
+ }
58
+ export async function getQueryAsEdges(event, query, callback) {
59
+ const params = getQuery(event);
60
+ const page = getBoolean(params.page);
61
+ const level = Array.isArray(params.level) || !params.level ? 0 : Number(params.level);
62
+ const omit = Array.isArray(params.omit) ? params.omit : [params.omit];
63
+ debugFirebaseServer(event, "getQueryAsEdges", params);
64
+ if (!page) {
65
+ const first = Math.min(Number(params.first) || 10, 100);
66
+ query = query.limit(first);
67
+ }
68
+ const snapshot = await query.get();
69
+ Promise.resolve(callback?.(snapshot)).catch((err) => {
70
+ apiLogger(event, "getQueryAsEdges:callback", err);
71
+ });
72
+ return mapEdges(snapshot, encodeCursor, { level, omit });
73
+ }
74
+ export async function getEdgesPage(event, query) {
75
+ const { firebaseFirestore } = getServerFirebase(`api:getEdgesPage:${event.path}`);
76
+ const params = getQuery(event);
77
+ const at = isNumberOrString(params.at) ? params.at : void 0;
78
+ let first = Math.min(Number(params.first) || 10, 100);
79
+ const page = {
80
+ edges: [],
81
+ pageInfo: {
82
+ hasNextPage: false,
83
+ hasPreviousPage: false,
84
+ pageNumber: 0,
85
+ path: event.path
86
+ },
87
+ totalCount: 0
88
+ };
89
+ const aggregatorRef = query.count();
90
+ let cursorRef = query;
91
+ let startAtCursor;
92
+ if (typeof at === "string") {
93
+ const [aggregatorSnapshot, snapshot] = await Promise.all([
94
+ aggregatorRef.get(),
95
+ firebaseFirestore.doc(decodeCursor(at)).get()
96
+ ]);
97
+ const count = aggregatorSnapshot.data().count;
98
+ first = Math.min(first, count);
99
+ page.totalCount = count;
100
+ if (snapshot.exists) {
101
+ startAtCursor = snapshot;
102
+ cursorRef = cursorRef.startAt(snapshot);
103
+ }
104
+ } else {
105
+ if (at !== void 0) cursorRef = cursorRef.startAt(at);
106
+ const { count } = (await aggregatorRef.get()).data();
107
+ first = Math.min(first, count);
108
+ page.totalCount = count;
109
+ }
110
+ if (!page.totalCount) return page;
111
+ const paginatedRef = cursorRef.limit(first + 1);
112
+ if (startAtCursor) {
113
+ const previousPaginatedRef = query.endBefore(startAtCursor);
114
+ const previousAggregatorRef = previousPaginatedRef.count();
115
+ const [edges, previousCountRef, previousSnapshot] = await Promise.all([
116
+ getQueryAsEdges(event, paginatedRef),
117
+ previousAggregatorRef.get(),
118
+ previousPaginatedRef.limitToLast(first).get()
119
+ ]);
120
+ const { count } = previousCountRef.data();
121
+ page.edges = edges;
122
+ page.pageInfo.pageNumber = Math.floor(count / first) + 1;
123
+ if (!previousSnapshot.empty) {
124
+ page.pageInfo.hasPreviousPage = true;
125
+ page.pageInfo.previousCursor = encodeCursor(previousSnapshot.docs[0].ref);
126
+ }
127
+ } else {
128
+ page.edges = await getQueryAsEdges(event, paginatedRef);
129
+ page.pageInfo.pageNumber = 1;
130
+ }
131
+ if (page.edges.length > first) {
132
+ const nextEdge = page.edges.pop();
133
+ page.pageInfo.hasNextPage = !!nextEdge;
134
+ page.pageInfo.nextCursor = nextEdge?.cursor;
135
+ }
136
+ return page;
137
+ }
@@ -0,0 +1,15 @@
1
+ export declare function isNumberOrString(v: unknown): v is number | string;
2
+ export declare function isFileArray<T>(values?: File[] | T[]): values is File[];
3
+ export declare function getBoolean(value?: unknown, prefer?: boolean): boolean;
4
+ type tPromiseExecutor<T> = (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void;
5
+ /**
6
+ * Fails promise if it takes too long (30s by default)
7
+ * Any error must be capture within the executor and rejected
8
+ *
9
+ * @see https://ourcodeworld.com/articles/read/1544/how-to-implement-a-timeout-for-javascript-promises
10
+ */
11
+ export declare function TimedPromise<T>(executor: tPromiseExecutor<T>, { fallback, timeout }?: {
12
+ fallback?: T;
13
+ timeout?: number;
14
+ }): Promise<T>;
15
+ export {};
@@ -0,0 +1,23 @@
1
+ export function isNumberOrString(v) {
2
+ return ["number", "string"].includes(typeof v);
3
+ }
4
+ export function isFileArray(values) {
5
+ return !values?.every((v) => Array.isArray(v));
6
+ }
7
+ export function getBoolean(value, prefer) {
8
+ if (value && typeof value === "string") {
9
+ return value.toUpperCase() === "TRUE";
10
+ }
11
+ return !!prefer;
12
+ }
13
+ export function TimedPromise(executor, { fallback, timeout = 1e3 * 30 } = {}) {
14
+ return Promise.race([
15
+ new Promise(executor),
16
+ new Promise((resolve, reject) => {
17
+ setTimeout(() => {
18
+ if (fallback) return resolve(fallback);
19
+ reject("Timed out");
20
+ }, timeout);
21
+ })
22
+ ]);
23
+ }
@@ -0,0 +1,21 @@
1
+ import type { Instance } from "../../client/types/index.js";
2
+ /**
3
+ * Get the current instance if it exists
4
+ *
5
+ * Forwarded host is prefered
6
+ *
7
+ * @see https://stackoverflow.com/a/51200572/3304008
8
+ *
9
+ * @cache 1 hour
10
+ */
11
+ export declare const getInstance: (_: any, fullHost: string) => Promise<Instance & {
12
+ millis: string;
13
+ url: string;
14
+ id: string;
15
+ }>;
16
+ /**
17
+ * Get the root instance
18
+ *
19
+ * @cache 1 hour
20
+ */
21
+ export declare const getRootInstance: (_: any) => Promise<Instance | undefined>;
@@ -0,0 +1,68 @@
1
+ import { createError } from "h3";
2
+ import { defineCachedFunction } from "nitropack/runtime";
3
+ import { production, forcedInstanceId } from "../utils/environment.js";
4
+ import { debugFirebaseServer, resolveServerDocumentRefs } from "./firestore.js";
5
+ import { getServerFirebase } from "./firebase.js";
6
+ export const getInstance = defineCachedFunction(
7
+ async (event, fullHost) => {
8
+ const { firebaseFirestore } = getServerFirebase("api:getInstance");
9
+ const instancesRef = firebaseFirestore.collection("instances");
10
+ let snapshot;
11
+ const [host] = fullHost.split(":");
12
+ debugFirebaseServer(event, "middleware:getInstance", host);
13
+ if (forcedInstanceId) {
14
+ snapshot = await instancesRef.doc(forcedInstanceId).get();
15
+ } else {
16
+ const instancesQuery = await instancesRef.where("config.domains", "array-contains", host).limit(1).get();
17
+ snapshot = instancesQuery.docs[0];
18
+ if (!snapshot?.exists) {
19
+ throw createError({
20
+ statusCode: 404,
21
+ statusMessage: `No instance found for ${host}`,
22
+ cause: "NOT_FOUND"
23
+ });
24
+ }
25
+ }
26
+ const millis = snapshot.data()?.createdAt?.toMillis();
27
+ const instance = await resolveServerDocumentRefs(event, snapshot, "instances", false) || {};
28
+ if (!instance.id || !millis) {
29
+ throw createError({
30
+ statusCode: 502,
31
+ statusMessage: `Invalid app instance for ${host}`,
32
+ cause: "MALFORMED_DATA"
33
+ });
34
+ }
35
+ let url = `https://${host}`;
36
+ if (!production) url = `http://${fullHost}`;
37
+ return {
38
+ ...instance,
39
+ id: instance.id,
40
+ url,
41
+ millis: String(millis)
42
+ };
43
+ },
44
+ {
45
+ name: "getInstance",
46
+ maxAge: 60 * 60,
47
+ // 1 hour
48
+ getKey: (_, fullHost) => {
49
+ const [host] = fullHost.split(":");
50
+ return host;
51
+ }
52
+ }
53
+ );
54
+ export const getRootInstance = defineCachedFunction(
55
+ async (event) => {
56
+ const { firebaseFirestore } = getServerFirebase("api:getRootInstance");
57
+ const instancesRef = firebaseFirestore.collection("instances");
58
+ debugFirebaseServer(event, "middleware:getRootInstance");
59
+ const snapshot = await instancesRef.doc("root").get();
60
+ return resolveServerDocumentRefs(event, snapshot, "instances", false) || {};
61
+ },
62
+ {
63
+ name: "getRootInstance",
64
+ maxAge: 60 * 60 * 24,
65
+ // 1 day
66
+ getKey: (_) => "root"
67
+ }
68
+ );
@@ -0,0 +1,7 @@
1
+ import type { NuxtModule } from '@nuxt/schema'
2
+
3
+ import type { default as Module } from './module.mjs'
4
+
5
+ export type ModuleOptions = typeof Module extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
6
+
7
+ export { default } from './module.mjs'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-xamu-co/firebase-nuxt",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Nuxt 3 module for the xamu project",
5
5
  "author": "@xamu-co",
6
6
  "type": "module",
@@ -50,33 +50,33 @@
50
50
  },
51
51
  "./client": {
52
52
  "types": "./dist/runtime/client/types/index.d.ts",
53
- "import": "./dist/runtime/client/types/index.d.ts",
54
- "default": "./dist/runtime/client/types/index.d.ts"
53
+ "import": "./dist/runtime/client/types/index.js",
54
+ "default": "./dist/runtime/client/types/index.js"
55
55
  },
56
56
  "./client/*": {
57
- "types": "./dist/runtime/client/*.d.ts",
58
- "import": "./dist/runtime/client/*.ts",
59
- "default": "./dist/runtime/client/*.ts"
57
+ "types": "./dist/runtime/client/utils/*.d.ts",
58
+ "import": "./dist/runtime/client/utils/*.js",
59
+ "default": "./dist/runtime/client/utils/*.js"
60
60
  },
61
61
  "./functions": {
62
62
  "types": "./dist/runtime/functions/types/index.d.ts",
63
- "import": "./dist/runtime/functions/types/index.d.ts",
64
- "default": "./dist/runtime/functions/types/index.d.ts"
63
+ "import": "./dist/runtime/functions/types/index.js",
64
+ "default": "./dist/runtime/functions/types/index.js"
65
65
  },
66
66
  "./functions/*": {
67
- "types": "./dist/runtime/functions/*.d.ts",
68
- "import": "./dist/runtime/functions/*.ts",
69
- "default": "./dist/runtime/functions/*.ts"
67
+ "types": "./dist/runtime/functions/utils/*.d.ts",
68
+ "import": "./dist/runtime/functions/utils/*.js",
69
+ "default": "./dist/runtime/functions/utils/*.js"
70
70
  },
71
71
  "./server": {
72
72
  "types": "./dist/runtime/server/types/index.d.ts",
73
- "import": "./dist/runtime/server/types/index.d.ts",
74
- "default": "./dist/runtime/server/types/index.d.ts"
73
+ "import": "./dist/runtime/server/types/index.js",
74
+ "default": "./dist/runtime/server/types/index.js"
75
75
  },
76
76
  "./server/*": {
77
- "types": "./dist/runtime/server/*.d.ts",
78
- "import": "./dist/runtime/server/*.ts",
79
- "default": "./dist/runtime/server/*.ts"
77
+ "types": "./dist/runtime/server/utils/*.d.ts",
78
+ "import": "./dist/runtime/server/utils/*.js",
79
+ "default": "./dist/runtime/server/utils/*.js"
80
80
  }
81
81
  },
82
82
  "files": [
@@ -86,7 +86,7 @@
86
86
  "@nuxt/kit": "^3.20.2",
87
87
  "@open-xamu-co/ui-common-enums": "^4.0.0-next.1",
88
88
  "@open-xamu-co/ui-common-helpers": "^4.0.0-next.2",
89
- "@open-xamu-co/ui-nuxt": "^4.0.0-next.4",
89
+ "@open-xamu-co/ui-nuxt": "^4.0.0-next.6",
90
90
  "@pinia/nuxt": "^0.11.0",
91
91
  "firebase": "^11.0.2",
92
92
  "firebase-admin": "^13.6.0",