sveltekit-firebase-helpers 0.0.5 → 0.0.6
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/README.md +3 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/package.json +13 -13
package/README.md
CHANGED
|
@@ -54,6 +54,8 @@ import { options } from './firebase'
|
|
|
54
54
|
export const handle = createOptionsHandle(options)
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
+
Optionally pass an additional number of seconds to the `createOptionsHandle` call to publicly cache the response (default = 300, set 0 to disable).
|
|
58
|
+
|
|
57
59
|
Example `options.ts`:
|
|
58
60
|
|
|
59
61
|
```ts
|
|
@@ -127,6 +129,7 @@ const init = { 'Cross-Origin-Embedder-Policy': 'require-corp' }
|
|
|
127
129
|
export const handle = createHandle({
|
|
128
130
|
auth,
|
|
129
131
|
options,
|
|
132
|
+
max_age: 86400,
|
|
130
133
|
auth_domain,
|
|
131
134
|
init,
|
|
132
135
|
})
|
package/dist/index.d.ts
CHANGED
|
@@ -7,13 +7,14 @@ declare function syncAuthToken(auth: Auth): Promise<void>;
|
|
|
7
7
|
|
|
8
8
|
declare function createAuthHandle(auth: Auth$1): Handle;
|
|
9
9
|
|
|
10
|
-
declare function createOptionsHandle(options: FirebaseOptions): Handle;
|
|
10
|
+
declare function createOptionsHandle(options: FirebaseOptions, max_age?: number): Handle;
|
|
11
11
|
|
|
12
12
|
declare function createProxyHandle(auth_domain: string, init?: HeadersInit): Handle;
|
|
13
13
|
|
|
14
14
|
declare function createHandle(config: {
|
|
15
15
|
auth?: Auth$1;
|
|
16
16
|
options?: FirebaseOptions;
|
|
17
|
+
max_age?: number;
|
|
17
18
|
auth_domain?: string;
|
|
18
19
|
init?: HeadersInit;
|
|
19
20
|
}): Handle;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getIdToken as k}from"firebase/auth";async function
|
|
1
|
+
import{getIdToken as k}from"firebase/auth";async function W(t){if(t.currentUser){let n=await k(t.currentUser,!0),{serviceWorker:s}=navigator,{controller:r}=s;r&&await new Promise(c=>{s.addEventListener("message",()=>c(),{once:!0}),r.postMessage({type:"useToken",useToken:n})})}}function y(t){return async({event:s,resolve:r})=>{let{locals:c,request:e}=s,o=e.headers.get("Authorization")?.split("Bearer ")[1];if(o)try{c.user=await t.verifyIdToken(o)}catch(i){console.error(i)}return r(s)}}var g=globalThis.process?.env?.NODE_ENV,_=g&&!g.toLowerCase().startsWith("prod");function w(t,n){let s=JSON.stringify(t),r=new Headers(n?.headers);return r.has("content-length")||r.set("content-length",b.encode(s).byteLength.toString()),r.has("content-type")||r.set("content-type","application/json"),new Response(s,{...n,headers:r})}var b=new TextEncoder;function H(t,n=300){return async({event:r,resolve:c})=>{let{request:e,setHeaders:a,url:o}=r;return e.method==="GET"&&o.pathname.startsWith("/__/firebase/init.json")?(n&&a({"Cache-Control":`public, max-age: ${n}`}),w(t)):c(r)}}function T(t,n){return async({event:r,resolve:c})=>{let{request:e,url:a}=r;if(e.method==="GET"&&a.pathname.startsWith("/__/auth/")){a.host=t,a.port="443";let o=await fetch(a,{headers:{"Accept-Encoding":"identity"}}),i=await o.text(),f=new Headers({...n,"Cache-Control":o.headers.get("Cache-Control"),"Content-Type":o.headers.get("Content-Type"),Vary:"accept-encoding"});return new Response(i,{headers:f})}return c(r)}}function l(...t){let n=t.length;return n?({event:s,resolve:r})=>{return c(0,s,{});function c(e,a,o){let i=t[e];return i({event:a,resolve:(f,u)=>{let h=async({html:d,done:x})=>(u?.transformPageChunk&&(d=await u.transformPageChunk({html:d,done:x})??""),o?.transformPageChunk&&(d=await o.transformPageChunk({html:d,done:x})??""),d),p=o?.filterSerializedResponseHeaders??u?.filterSerializedResponseHeaders,m=o?.preload??u?.preload;return e<n-1?c(e+1,f,{transformPageChunk:h,filterSerializedResponseHeaders:p,preload:m}):r(f,{transformPageChunk:h,filterSerializedResponseHeaders:p,preload:m})}})}}:({event:s,resolve:r})=>r(s)}function ye(t){let n=[];return t.auth&&n.push(y(t.auth)),t.options&&n.push(H(t.options,t.max_age)),t.auth_domain&&n.push(T(t.auth_domain,t.init)),l(...n)}import{initializeApp as E}from"firebase/app";import{getIdToken as R,initializeAuth as S,connectAuthEmulator as j,indexedDBLocalPersistence as O}from"firebase/auth";function He(t){let n=new Promise(async(e,a)=>{let i=await(await fetch("/__/firebase/init.json")).json(),f=E(i),u=S(f,{persistence:[O]});t?.auth_emulator&&j(u,t.auth_emulator),await u.authStateReady(),e(u)}),s;self.addEventListener("message",e=>{function a(){self.clients.matchAll({}).then(function(o){o&&o.length&&o[0].postMessage({ack:!0})})}if(e.data)switch(e.data.type){case"useToken":s=e.data.useToken,a(),setTimeout(()=>s=void 0,5e3);break}});async function r(){let e=await n;if(e.currentUser)try{return await R(e.currentUser)}catch{return null}else return null}async function c(e){try{if(e.method!=="GET")if(e.headers.get("Content-Type")?.indexOf("json")!==-1){let a=await e.json();return JSON.stringify(a)}else return e.text()}catch{}}self.addEventListener("fetch",e=>{if(new URL(e.request.url).origin!==location.origin)return;async function o(){let i=e.request,f=s??await r();if(f){let u=new Headers(i.headers);u.append("Authorization","Bearer "+f);let h=await c(i);try{i=new Request(i.url,{method:i.method,headers:u,mode:"same-origin",credentials:i.credentials,cache:i.cache,redirect:i.redirect,referrer:i.referrer,body:h})}catch{}}return fetch(i)}e.respondWith(o())})}export{He as addFirebaseAuth,y as createAuthHandle,ye as createHandle,H as createOptionsHandle,T as createProxyHandle,W as syncAuthToken};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sveltekit-firebase-helpers",
|
|
3
3
|
"description": "Helpers for using Firebase with SvelteKit",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.6",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
7
7
|
"!dist/**/*.test.*",
|
|
@@ -25,21 +25,21 @@
|
|
|
25
25
|
"svelte": "^5.0.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@sveltejs/adapter-auto": "^6.0.
|
|
29
|
-
"@sveltejs/kit": "^2.
|
|
30
|
-
"@sveltejs/vite-plugin-svelte": "^5.
|
|
28
|
+
"@sveltejs/adapter-auto": "^6.0.1",
|
|
29
|
+
"@sveltejs/kit": "^2.22.2",
|
|
30
|
+
"@sveltejs/vite-plugin-svelte": "^5.1.0",
|
|
31
31
|
"esm-env": "^1.2.2",
|
|
32
|
-
"firebase": "^11.
|
|
32
|
+
"firebase": "^11.10.0",
|
|
33
33
|
"firebase-admin": "^13.4.0",
|
|
34
|
-
"prettier": "^3.
|
|
35
|
-
"prettier-plugin-svelte": "^3.
|
|
36
|
-
"publint": "^0.3.
|
|
37
|
-
"svelte": "^5.
|
|
38
|
-
"svelte-check": "^4.
|
|
34
|
+
"prettier": "^3.6.2",
|
|
35
|
+
"prettier-plugin-svelte": "^3.4.0",
|
|
36
|
+
"publint": "^0.3.12",
|
|
37
|
+
"svelte": "^5.35.1",
|
|
38
|
+
"svelte-check": "^4.2.2",
|
|
39
39
|
"tsup": "^8.5.0",
|
|
40
|
-
"typescript": "^5.
|
|
41
|
-
"vite": "^6.
|
|
42
|
-
"vite-plugin-devtools-json": "^0.2.
|
|
40
|
+
"typescript": "^5.8.3",
|
|
41
|
+
"vite": "^6.3.5",
|
|
42
|
+
"vite-plugin-devtools-json": "^0.2.1",
|
|
43
43
|
"vite-plugin-mkcert": "^1.17.8"
|
|
44
44
|
},
|
|
45
45
|
"keywords": [
|