sveltekit-ssr-store icon indicating copy to clipboard operation
sveltekit-ssr-store copied to clipboard

`vite build` breaking because $page store cannot be used outside of an active session.

Open vedadeepta opened this issue 1 year ago • 0 comments

Works well in dev mode but when bundling for production using vite build this breaks because it internally uses page store as a key.

error log

Error: Function called outside component initialization
    at get_current_component (file:///Users/veda.pal/Desktop/svelte-library/.svelte-kit/output/server/chunks/index3.js:33:11)
    at getContext (file:///Users/veda.pal/Desktop/svelte-library/.svelte-kit/output/server/chunks/index3.js:41:10)
    at getStores (file:///Users/veda.pal/Desktop/svelte-library/.svelte-kit/output/server/chunks/stores.js:3:18)
    at Object.subscribe (file:///Users/veda.pal/Desktop/svelte-library/.svelte-kit/output/server/chunks/stores.js:19:19)
    at subscribe (file:///Users/veda.pal/Desktop/svelte-library/.svelte-kit/output/server/chunks/index3.js:19:23)
    at get_store_value (file:///Users/veda.pal/Desktop/svelte-library/.svelte-kit/output/server/chunks/index3.js:24:3)
    at createOrRetrieve (file:///Users/veda.pal/Desktop/svelte-library/.svelte-kit/output/server/chunks/di.store.js:12:13)
    at subscribe (file:///Users/veda.pal/Desktop/svelte-library/.svelte-kit/output/server/chunks/di.store.js:29:37)
    at SparkStore$1 (file:///Users/veda.pal/Desktop/svelte-library/.svelte-kit/output/server/chunks/di.store.js:76:3)
    at file:///Users/veda.pal/Desktop/svelte-library/.svelte-kit/output/server/chunks/di.store.js:166:1
Emitted 'error' event on Worker instance at:
    at Worker.[kOnErrorMessage] (node:internal/worker:289:10)
    at Worker.[kOnMessage] (node:internal/worker:300:37)
    at MessagePort.<anonymous> (node:internal/worker:201:57)
    at MessagePort.[nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)
    at MessagePort.exports.emitMessage (node:internal/per_context/messageport:23:28)

replication code

// test.store.js

import { writable } from './safe-writable'

export default writable({}) // this line gets evaluated during build time causing the build to break

error can be traced back to this line in the library https://github.com/devunt/sveltekit-ssr-store/blob/main/src/lib/writable.ts#L11

vedadeepta avatar Jan 05 '24 09:01 vedadeepta