{"_id":"@adsq/solid-signal-store","_rev":"6-274c6ee86bae7810f78b695e8df5bef1","name":"@adsq/solid-signal-store","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.0":{"name":"@adsq/solid-signal-store","version":"0.1.0","keywords":["solidjs","reactive","store","proxy","@adsq/jsnq"],"license":"MIT","_id":"@adsq/solid-signal-store@0.1.0","maintainers":[{"name":"adsq","email":"adscampaincreate@gmail.com"}],"homepage":"https://github.com/synestiqx/solidstore#readme","bugs":{"url":"https://github.com/synestiqx/solidstore/issues"},"dist":{"shasum":"3d77c8dca6bf0a87000ccd1a3a43791b5d25c40a","tarball":"https://registry.npmjs.org/@adsq/solid-signal-store/-/solid-signal-store-0.1.0.tgz","fileCount":48,"integrity":"sha512-rLO+ZiPbAhJcuBGzk6MHlYPA9ZxY3ner5U/LR3fWrrSrnBVwjc+PfTDdcMaBh4/VTeut6MvW0Pa1cnRPPuyGwQ==","signatures":[{"sig":"MEYCIQC57w3tiW5yCvE05iQETMQk98DzeJm1jKQ9tDstGthmoAIhAJg6jPuDn1WShibhYTqXDg1VgQfrIlG73vvJ2gYR5s0B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219093},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsnq":{"types":"./dist/jsnq.d.ts","import":"./dist/jsnq.js"},"./devtools":{"types":"./dist/devtools.d.ts","import":"./dist/devtools.js"},"./package.json":"./package.json"},"gitHead":"a7f360fd4e99f29818cf3ce50eceebc20d97d953","scripts":{"dev":"bun run --cwd examples/browser-demo dev","demo":"bunx tsx demo.ts","test":"bun run test:types && bun run test:array-methods && bun run test:proxy-delete && bun run test:wakeup-batch && bun run test:select-observable && bun run test:devtools-stream && bun run test:wait-for-store && bun run test:lifecycle && bun run test:nested-tree-batch && bun run test:nestable-cms && bun run test:store-component-flow && bun run test:store-board-wakeup && bun run test:deep-proxy-jsnq && bun run test:livequery && bun run test:bridge-contract && bun run test:array-splice-precise","build":"node scripts/clean-dist.mjs && tsc && node scripts/fix-dist-esm-extensions.mjs","verify":"bunx tsx verify.ts","prepack":"npm run build","typecheck":"tsc --noEmit","test:types":"tsc --noEmit --strict --target ES2022 --module ESNext --moduleResolution bundler --lib ES2022,DOM --skipLibCheck test/types-proxy-contract.ts","bench:store":"bun --conditions browser test/store-throughput-bench.ts","bench:native":"bun --conditions browser test/native-vs-store-bench.ts","demo:install":"bun install --cwd examples/browser-demo","test:browser":"bun run browser-demo:install && bunx playwright test","test:lifecycle":"bun --conditions browser test/store-lifecycle.test.ts","test:livequery":"bun --conditions browser test/livequery-jsnq.test.ts","test:path-core":"bun test/path-core-parity.test.ts","test:browser:ui":"bun run browser-demo:install && bunx playwright test --ui","browser-demo:dev":"bun run --cwd examples/browser-demo dev","install:browsers":"bunx playwright install","test:nestable-cms":"bun --conditions browser test/nestable-cms-modes.test.ts","test:proxy-delete":"bun --conditions browser test/proxy-delete-semantics.test.ts","test:wakeup-batch":"bun --conditions browser test/wakeup-batch-reactivity.test.ts","browser-demo:build":"bun run --cwd examples/browser-demo build","test:array-methods":"bun --conditions browser test/array-methods-contract.test.ts","test:wait-for-store":"bun --conditions browser test/wait-for-store.test.ts","bench:splice-precise":"bun --conditions browser test/splice-precise-bench.ts","browser-demo:install":"bun install --cwd examples/browser-demo","test:bridge-contract":"bun --conditions browser test/jsnq-bridge-contract.test.ts","test:deep-proxy-jsnq":"bun --conditions browser test/deep-proxy-jsnq-flow.test.ts","test:devtools-stream":"bun --conditions browser test/devtools-stream-contract.test.ts","bench:recursive-models":"bun test/recursive-models-compare.ts","test:nested-tree-batch":"bun --conditions browser test/nested-tree-batch.test.ts","test:path-utils-public":"bun test/path-utils-public-api.test.ts","test:select-observable":"bun --conditions browser test/select-observable-reactivity.test.ts","test:store-board-wakeup":"bun --conditions browser test/store-board-wakeup-contract.test.ts","test:array-splice-precise":"bun --conditions browser test/array-splice-precise-wake.test.ts","test:store-component-flow":"bun --conditions browser test/store-component-flow.test.ts"},"_npmUser":{"name":"adsq","email":"adscampaincreate@gmail.com"},"repository":{"url":"git+https://github.com/synestiqx/solidstore.git","type":"git"},"_npmVersion":"11.12.1","description":"Premium, minimal SolidJS port of the rich reactive store engine (full API parity, dramatically simpler reactivity)","directories":{},"sideEffects":["./dist/jsnq.js"],"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","solid-js":"1.9.14","@adsq/jsnq":"^0.1.0","typescript":"^5.4.0","@playwright/test":"^1.60.0"},"peerDependencies":{"solid-js":">=1.8.0 <2.0.0","@adsq/jsnq":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/solid-signal-store_0.1.0_1784691559675_0.14020277247212087","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@adsq/solid-signal-store","version":"0.1.1","keywords":["solidjs","reactive","store","proxy","jsnq"],"license":"MIT","_id":"@adsq/solid-signal-store@0.1.1","maintainers":[{"name":"adsq","email":"adscampaincreate@gmail.com"}],"homepage":"https://github.com/synestiqx/solid-signal-store#readme","bugs":{"url":"https://github.com/synestiqx/solid-signal-store/issues"},"dist":{"shasum":"3cba941b0491c29996fe02ab95768925a319c836","tarball":"https://registry.npmjs.org/@adsq/solid-signal-store/-/solid-signal-store-0.1.1.tgz","fileCount":48,"integrity":"sha512-qzkV2XOuKAafaA/39ROe8vf4LmAPiNhrDOD6u0oeuxHRiCrcQ86adsgEoDylj9kWIPQIyzfQ/sJQ9XpevDEqZw==","signatures":[{"sig":"MEYCIQC9nNYCwUXisEVeL6Or84LwiDqS7Fv2zA9xrJapxU1TSAIhAIR3XEOIdecqEfVJ5Ffjzdb5SB6rglOCJqe752GfhQGY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219246},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsnq":{"types":"./dist/jsnq.d.ts","import":"./dist/jsnq.js"},"./devtools":{"types":"./dist/devtools.d.ts","import":"./dist/devtools.js"},"./package.json":"./package.json"},"gitHead":"476f88365d0ae8fa6d9024ecd0fe4902a8c1208f","scripts":{"dev":"bun run --cwd examples/browser-demo dev","demo":"bunx tsx demo.ts","test":"bun run test:types && bun run test:array-methods && bun run test:proxy-delete && bun run test:wakeup-batch && bun run test:select-observable && bun run test:devtools-stream && bun run test:wait-for-store && bun run test:lifecycle && bun run test:nested-tree-batch && bun run test:nestable-cms && bun run test:store-component-flow && bun run test:store-board-wakeup && bun run test:deep-proxy-jsnq && bun run test:livequery && bun run test:bridge-contract && bun run test:array-splice-precise","build":"node scripts/clean-dist.mjs && tsc && node scripts/fix-dist-esm-extensions.mjs","verify":"bunx tsx verify.ts","prepack":"npm run build","typecheck":"tsc --noEmit","test:types":"tsc --noEmit --strict --target ES2022 --module ESNext --moduleResolution bundler --lib ES2022,DOM --skipLibCheck test/types-proxy-contract.ts","bench:store":"bun --conditions browser test/store-throughput-bench.ts","bench:native":"bun --conditions browser test/native-vs-store-bench.ts","demo:install":"bun install --cwd examples/browser-demo","test:browser":"bun run browser-demo:install && bunx playwright test","test:lifecycle":"bun --conditions browser test/store-lifecycle.test.ts","test:livequery":"bun --conditions browser test/livequery-jsnq.test.ts","test:path-core":"bun test/path-core-parity.test.ts","test:browser:ui":"bun run browser-demo:install && bunx playwright test --ui","browser-demo:dev":"bun run --cwd examples/browser-demo dev","install:browsers":"bunx playwright install","test:nestable-cms":"bun --conditions browser test/nestable-cms-modes.test.ts","test:proxy-delete":"bun --conditions browser test/proxy-delete-semantics.test.ts","test:wakeup-batch":"bun --conditions browser test/wakeup-batch-reactivity.test.ts","browser-demo:build":"bun run --cwd examples/browser-demo build","test:array-methods":"bun --conditions browser test/array-methods-contract.test.ts","test:wait-for-store":"bun --conditions browser test/wait-for-store.test.ts","bench:splice-precise":"bun --conditions browser test/splice-precise-bench.ts","browser-demo:install":"bun install --cwd examples/browser-demo","test:bridge-contract":"bun --conditions browser test/jsnq-bridge-contract.test.ts","test:deep-proxy-jsnq":"bun --conditions browser test/deep-proxy-jsnq-flow.test.ts","test:devtools-stream":"bun --conditions browser test/devtools-stream-contract.test.ts","bench:recursive-models":"bun test/recursive-models-compare.ts","test:nested-tree-batch":"bun --conditions browser test/nested-tree-batch.test.ts","test:path-utils-public":"bun test/path-utils-public-api.test.ts","test:select-observable":"bun --conditions browser test/select-observable-reactivity.test.ts","test:store-board-wakeup":"bun --conditions browser test/store-board-wakeup-contract.test.ts","test:array-splice-precise":"bun --conditions browser test/array-splice-precise-wake.test.ts","test:store-component-flow":"bun --conditions browser test/store-component-flow.test.ts"},"_npmUser":{"name":"adsq","email":"adscampaincreate@gmail.com"},"repository":{"url":"git+https://github.com/synestiqx/solid-signal-store.git","type":"git"},"_npmVersion":"11.12.1","description":"Premium, minimal SolidJS port of the rich reactive store engine (full API parity, dramatically simpler reactivity)","directories":{},"sideEffects":["./dist/jsnq.js"],"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","solid-js":"1.9.14","@adsq/jsnq":"^0.1.0","typescript":"^5.4.0","@playwright/test":"^1.60.0"},"peerDependencies":{"solid-js":">=1.8.0 <2.0.0","@adsq/jsnq":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/solid-signal-store_0.1.1_1784694256595_0.07983061136953618","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@adsq/solid-signal-store","version":"0.1.2","keywords":["solidjs","reactive","store","proxy","jsnq"],"license":"MIT","_id":"@adsq/solid-signal-store@0.1.2","maintainers":[{"name":"adsq","email":"adscampaincreate@gmail.com"}],"homepage":"https://github.com/adsqx/solid-signal-store#readme","bugs":{"url":"https://github.com/adsqx/solid-signal-store/issues"},"dist":{"shasum":"33487345d5126a3475bc450c01eb262ffe391db3","tarball":"https://registry.npmjs.org/@adsq/solid-signal-store/-/solid-signal-store-0.1.2.tgz","fileCount":48,"integrity":"sha512-MfTgvrhM5l9NLa3zGJE3qKXkSyb6AJua6yOjKXAGPsYgaOLmsT7us0YHpsaPF5H+cfZ4UQ92z3c4bT/HUAENBw==","signatures":[{"sig":"MEYCIQDc5BjVS7KCpGv8EOaDNv/U/rpqG5jxROhZFsAJEyPPJwIhALMbOBiDjqz2bk28eRXdZ0xzKoPFFzN1IwSglbGG+ChU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219234},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsnq":{"types":"./dist/jsnq.d.ts","import":"./dist/jsnq.js"},"./devtools":{"types":"./dist/devtools.d.ts","import":"./dist/devtools.js"},"./package.json":"./package.json"},"gitHead":"e9b44adb3093192d60b9b5f7ac9eee44b35d5886","scripts":{"dev":"bun run --cwd examples/browser-demo dev","demo":"bunx tsx demo.ts","test":"bun run test:types && bun run test:array-methods && bun run test:proxy-delete && bun run test:wakeup-batch && bun run test:select-observable && bun run test:devtools-stream && bun run test:wait-for-store && bun run test:lifecycle && bun run test:nested-tree-batch && bun run test:nestable-cms && bun run test:store-component-flow && bun run test:store-board-wakeup && bun run test:deep-proxy-jsnq && bun run test:livequery && bun run test:bridge-contract && bun run test:array-splice-precise","build":"node scripts/clean-dist.mjs && tsc && node scripts/fix-dist-esm-extensions.mjs","verify":"bunx tsx verify.ts","prepack":"npm run build","typecheck":"tsc --noEmit","test:types":"tsc --noEmit --strict --target ES2022 --module ESNext --moduleResolution bundler --lib ES2022,DOM --skipLibCheck test/types-proxy-contract.ts","bench:store":"bun --conditions browser test/store-throughput-bench.ts","bench:native":"bun --conditions browser test/native-vs-store-bench.ts","demo:install":"bun install --cwd examples/browser-demo","test:browser":"bun run browser-demo:install && bunx playwright test","test:lifecycle":"bun --conditions browser test/store-lifecycle.test.ts","test:livequery":"bun --conditions browser test/livequery-jsnq.test.ts","test:path-core":"bun test/path-core-parity.test.ts","test:browser:ui":"bun run browser-demo:install && bunx playwright test --ui","browser-demo:dev":"bun run --cwd examples/browser-demo dev","install:browsers":"bunx playwright install","test:nestable-cms":"bun --conditions browser test/nestable-cms-modes.test.ts","test:proxy-delete":"bun --conditions browser test/proxy-delete-semantics.test.ts","test:wakeup-batch":"bun --conditions browser test/wakeup-batch-reactivity.test.ts","browser-demo:build":"bun run --cwd examples/browser-demo build","test:array-methods":"bun --conditions browser test/array-methods-contract.test.ts","test:wait-for-store":"bun --conditions browser test/wait-for-store.test.ts","bench:splice-precise":"bun --conditions browser test/splice-precise-bench.ts","browser-demo:install":"bun install --cwd examples/browser-demo","test:bridge-contract":"bun --conditions browser test/jsnq-bridge-contract.test.ts","test:deep-proxy-jsnq":"bun --conditions browser test/deep-proxy-jsnq-flow.test.ts","test:devtools-stream":"bun --conditions browser test/devtools-stream-contract.test.ts","bench:recursive-models":"bun test/recursive-models-compare.ts","test:nested-tree-batch":"bun --conditions browser test/nested-tree-batch.test.ts","test:path-utils-public":"bun test/path-utils-public-api.test.ts","test:select-observable":"bun --conditions browser test/select-observable-reactivity.test.ts","test:store-board-wakeup":"bun --conditions browser test/store-board-wakeup-contract.test.ts","test:array-splice-precise":"bun --conditions browser test/array-splice-precise-wake.test.ts","test:store-component-flow":"bun --conditions browser test/store-component-flow.test.ts"},"_npmUser":{"name":"adsq","email":"adscampaincreate@gmail.com"},"repository":{"url":"git+https://github.com/adsqx/solid-signal-store.git","type":"git"},"_npmVersion":"11.12.1","description":"Premium, minimal SolidJS port of the rich reactive store engine (full API parity, dramatically simpler reactivity)","directories":{},"sideEffects":["./dist/jsnq.js"],"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","solid-js":"1.9.14","@adsq/jsnq":"^0.1.0","typescript":"^5.4.0","@playwright/test":"^1.60.0"},"peerDependencies":{"solid-js":">=1.8.0 <2.0.0","@adsq/jsnq":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/solid-signal-store_0.1.2_1784695821110_0.6477658764429948","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@adsq/solid-signal-store","version":"0.1.3","keywords":["solidjs","reactive","store","proxy","jsnq"],"license":"MIT","_id":"@adsq/solid-signal-store@0.1.3","maintainers":[{"name":"adsq","email":"adscampaincreate@gmail.com"}],"homepage":"https://github.com/adsqx/solid-signal-store#readme","bugs":{"url":"https://github.com/adsqx/solid-signal-store/issues"},"dist":{"shasum":"fe3ad074d50a3c8683439949dbe6c2a186cc35da","tarball":"https://registry.npmjs.org/@adsq/solid-signal-store/-/solid-signal-store-0.1.3.tgz","fileCount":48,"integrity":"sha512-gbjCqe30rgRFaE4rujWV0UQs+qTjDZnm0kM5+eYdZu+l0Qx1ukf6eaKXaFe9e+aCs1uFbmOvF+hA23NfJnFG/Q==","signatures":[{"sig":"MEQCIGe+jNjHlIftMbcQBMV9zqf+mbntkTDwo2So3h/SHim3AiBV6ZYmt/hloVODrerC9LW9a8CwOM3+FiVG/MEac0/tKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220739},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsnq":{"types":"./dist/jsnq.d.ts","import":"./dist/jsnq.js"},"./devtools":{"types":"./dist/devtools.d.ts","import":"./dist/devtools.js"},"./package.json":"./package.json"},"gitHead":"8a22f770dc260a907cfbb2569f419cc79e23d828","scripts":{"dev":"bun run --cwd examples/browser-demo dev","demo":"bunx tsx demo.ts","test":"bun run test:types && bun run test:array-methods && bun run test:proxy-delete && bun run test:wakeup-batch && bun run test:select-observable && bun run test:devtools-stream && bun run test:wait-for-store && bun run test:lifecycle && bun run test:nested-tree-batch && bun run test:nestable-cms && bun run test:store-component-flow && bun run test:store-board-wakeup && bun run test:deep-proxy-jsnq && bun run test:livequery && bun run test:bridge-contract && bun run test:array-splice-precise","build":"node scripts/clean-dist.mjs && tsc && node scripts/fix-dist-esm-extensions.mjs","verify":"bunx tsx verify.ts","prepack":"npm run build","typecheck":"tsc --noEmit","test:types":"tsc --noEmit --strict --target ES2022 --module ESNext --moduleResolution bundler --lib ES2022,DOM --skipLibCheck test/types-proxy-contract.ts","bench:store":"bun --conditions browser test/store-throughput-bench.ts","bench:native":"bun --conditions browser test/native-vs-store-bench.ts","demo:install":"bun install --cwd examples/browser-demo","test:browser":"bun run browser-demo:install && bunx playwright test","test:lifecycle":"bun --conditions browser test/store-lifecycle.test.ts","test:livequery":"bun --conditions browser test/livequery-jsnq.test.ts","test:path-core":"bun test/path-core-parity.test.ts","test:browser:ui":"bun run browser-demo:install && bunx playwright test --ui","browser-demo:dev":"bun run --cwd examples/browser-demo dev","install:browsers":"bunx playwright install","test:nestable-cms":"bun --conditions browser test/nestable-cms-modes.test.ts","test:proxy-delete":"bun --conditions browser test/proxy-delete-semantics.test.ts","test:wakeup-batch":"bun --conditions browser test/wakeup-batch-reactivity.test.ts","browser-demo:build":"bun run --cwd examples/browser-demo build","test:array-methods":"bun --conditions browser test/array-methods-contract.test.ts","test:wait-for-store":"bun --conditions browser test/wait-for-store.test.ts","bench:splice-precise":"bun --conditions browser test/splice-precise-bench.ts","browser-demo:install":"bun install --cwd examples/browser-demo","test:bridge-contract":"bun --conditions browser test/jsnq-bridge-contract.test.ts","test:deep-proxy-jsnq":"bun --conditions browser test/deep-proxy-jsnq-flow.test.ts","test:devtools-stream":"bun --conditions browser test/devtools-stream-contract.test.ts","bench:recursive-models":"bun test/recursive-models-compare.ts","test:nested-tree-batch":"bun --conditions browser test/nested-tree-batch.test.ts","test:path-utils-public":"bun test/path-utils-public-api.test.ts","test:select-observable":"bun --conditions browser test/select-observable-reactivity.test.ts","test:store-board-wakeup":"bun --conditions browser test/store-board-wakeup-contract.test.ts","test:array-splice-precise":"bun --conditions browser test/array-splice-precise-wake.test.ts","test:store-component-flow":"bun --conditions browser test/store-component-flow.test.ts"},"_npmUser":{"name":"adsq","email":"adscampaincreate@gmail.com"},"repository":{"url":"git+https://github.com/adsqx/solid-signal-store.git","type":"git"},"_npmVersion":"11.12.1","description":"Premium, minimal SolidJS port of the rich reactive store engine (full API parity, dramatically simpler reactivity)","directories":{},"sideEffects":["./dist/jsnq.js"],"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","solid-js":"1.9.14","@adsq/jsnq":"^0.1.0","typescript":"^5.4.0","@playwright/test":"^1.60.0"},"peerDependencies":{"solid-js":">=1.8.0 <2.0.0","@adsq/jsnq":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/solid-signal-store_0.1.3_1784696635337_0.010321685383279045","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@adsq/solid-signal-store","version":"0.1.4","keywords":["solidjs","reactive","store","proxy","jsnq"],"license":"MIT","_id":"@adsq/solid-signal-store@0.1.4","maintainers":[{"name":"adsq","email":"adscampaincreate@gmail.com"}],"homepage":"https://github.com/adsqx/solid-signal-store#readme","bugs":{"url":"https://github.com/adsqx/solid-signal-store/issues"},"dist":{"shasum":"dd3b1e79a715573f15dfe6910a25b5b4270ad799","tarball":"https://registry.npmjs.org/@adsq/solid-signal-store/-/solid-signal-store-0.1.4.tgz","fileCount":50,"integrity":"sha512-xV/lD4ubqyS7+Zvm6aqUPufafXD22lirE2mp5IJ0b1IMWZRrYCBQJMqO+8Wj5840DUMA6PqheCJx2SJl8veovA==","signatures":[{"sig":"MEQCICJSKuse/wCm3X1r6c841GF6NhpqOnMORRh+mbXSeJPrAiBdvlg+k4IVbD6Z78APnU6/L6PwYtBLRoC9b61Ashixpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231578},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsnq":{"types":"./dist/jsnq.d.ts","import":"./dist/jsnq.js"},"./devtools":{"types":"./dist/devtools.d.ts","import":"./dist/devtools.js"},"./package.json":"./package.json"},"gitHead":"a2f709b2923c53407381f36336b8e2bc256d268f","scripts":{"dev":"bun run --cwd examples/browser-demo dev","demo":"bunx tsx demo.ts","test":"bun run test:types && bun run test:array-methods && bun run test:proxy-delete && bun run test:wakeup-batch && bun run test:select-observable && bun run test:devtools-stream && bun run test:wait-for-store && bun run test:lifecycle && bun run test:nested-tree-batch && bun run test:nestable-cms && bun run test:store-component-flow && bun run test:store-board-wakeup && bun run test:deep-proxy-jsnq && bun run test:livequery && bun run test:bridge-contract && bun run test:array-splice-precise","build":"node scripts/clean-dist.mjs && tsc && node scripts/fix-dist-esm-extensions.mjs","verify":"bunx tsx verify.ts","prepack":"npm run build","typecheck":"tsc --noEmit","test:types":"tsc --noEmit --strict --target ES2022 --module ESNext --moduleResolution bundler --lib ES2022,DOM --skipLibCheck test/types-proxy-contract.ts","bench:store":"bun --conditions browser test/store-throughput-bench.ts","bench:native":"bun --conditions browser test/native-vs-store-bench.ts","demo:install":"bun install --cwd examples/browser-demo","test:browser":"bun run browser-demo:install && bunx playwright test","test:lifecycle":"bun --conditions browser test/store-lifecycle.test.ts","test:livequery":"bun --conditions browser test/livequery-jsnq.test.ts","test:path-core":"bun test/path-core-parity.test.ts","test:browser:ui":"bun run browser-demo:install && bunx playwright test --ui","browser-demo:dev":"bun run --cwd examples/browser-demo dev","install:browsers":"bunx playwright install","test:nestable-cms":"bun --conditions browser test/nestable-cms-modes.test.ts","test:proxy-delete":"bun --conditions browser test/proxy-delete-semantics.test.ts","test:wakeup-batch":"bun --conditions browser test/wakeup-batch-reactivity.test.ts","browser-demo:build":"bun run --cwd examples/browser-demo build","test:array-methods":"bun --conditions browser test/array-methods-contract.test.ts","test:wait-for-store":"bun --conditions browser test/wait-for-store.test.ts","bench:splice-precise":"bun --conditions browser test/splice-precise-bench.ts","browser-demo:install":"bun install --cwd examples/browser-demo","test:bridge-contract":"bun --conditions browser test/jsnq-bridge-contract.test.ts","test:deep-proxy-jsnq":"bun --conditions browser test/deep-proxy-jsnq-flow.test.ts","test:devtools-stream":"bun --conditions browser test/devtools-stream-contract.test.ts","bench:recursive-models":"bun test/recursive-models-compare.ts","test:nested-tree-batch":"bun --conditions browser test/nested-tree-batch.test.ts","test:path-utils-public":"bun test/path-utils-public-api.test.ts","test:select-observable":"bun --conditions browser test/select-observable-reactivity.test.ts","test:store-board-wakeup":"bun --conditions browser test/store-board-wakeup-contract.test.ts","test:array-splice-precise":"bun --conditions browser test/array-splice-precise-wake.test.ts","test:store-component-flow":"bun --conditions browser test/store-component-flow.test.ts"},"_npmUser":{"name":"adsq","email":"adscampaincreate@gmail.com"},"repository":{"url":"git+https://github.com/adsqx/solid-signal-store.git","type":"git"},"_npmVersion":"11.12.1","description":"Fine-grained SolidJS store with a callable nested proxy API: reads like store.user.name(), writes like ordinary assignment, and wakes only the paths a component actually consumes.","directories":{},"sideEffects":["./dist/jsnq.js"],"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","solid-js":"1.9.14","@adsq/jsnq":"^0.1.0","typescript":"^5.4.0","@playwright/test":"^1.60.0"},"peerDependencies":{"solid-js":">=1.8.0 <2.0.0","@adsq/jsnq":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/solid-signal-store_0.1.4_1784699140174_0.04156044416096116","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@adsq/solid-signal-store","version":"0.1.5","description":"Fine-grained SolidJS store with a callable nested proxy API: reads like store.user.name(), writes like ordinary assignment, and wakes only the paths a component actually consumes.","repository":{"type":"git","url":"git+https://github.com/adsqx/solid-signal-store.git"},"homepage":"https://github.com/adsqx/solid-signal-store#readme","bugs":{"url":"https://github.com/adsqx/solid-signal-store/issues"},"type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./jsnq":{"import":"./dist/jsnq.js","types":"./dist/jsnq.d.ts"},"./devtools":{"import":"./dist/devtools.js","types":"./dist/devtools.d.ts"},"./package.json":"./package.json"},"sideEffects":["./dist/jsnq.js"],"scripts":{"dev":"bun run --cwd examples/browser-demo dev","demo:install":"bun install --cwd examples/browser-demo","build":"node scripts/clean-dist.mjs && tsc && node scripts/fix-dist-esm-extensions.mjs","typecheck":"tsc --noEmit","prepack":"npm run build","test":"bun run test:types && bun run test:array-methods && bun run test:proxy-delete && bun run test:wakeup-batch && bun run test:select-observable && bun run test:devtools-stream && bun run test:wait-for-store && bun run test:lifecycle && bun run test:nested-tree-batch && bun run test:nestable-cms && bun run test:store-component-flow && bun run test:store-board-wakeup && bun run test:deep-proxy-jsnq && bun run test:livequery && bun run test:bridge-contract && bun run test:array-splice-precise","verify":"bunx tsx verify.ts","demo":"bunx tsx demo.ts","bench:splice-precise":"bun --conditions browser test/splice-precise-bench.ts","bench:recursive-models":"bun test/recursive-models-compare.ts","bench:native":"bun --conditions browser test/native-vs-store-bench.ts","bench:store":"bun --conditions browser test/store-throughput-bench.ts","test:types":"tsc --noEmit --strict --target ES2022 --module ESNext --moduleResolution bundler --lib ES2022,DOM --skipLibCheck test/types-proxy-contract.ts","test:path-core":"bun test/path-core-parity.test.ts","test:path-utils-public":"bun test/path-utils-public-api.test.ts","test:array-methods":"bun --conditions browser test/array-methods-contract.test.ts","test:proxy-delete":"bun --conditions browser test/proxy-delete-semantics.test.ts","test:wakeup-batch":"bun --conditions browser test/wakeup-batch-reactivity.test.ts","test:select-observable":"bun --conditions browser test/select-observable-reactivity.test.ts","test:devtools-stream":"bun --conditions browser test/devtools-stream-contract.test.ts","test:wait-for-store":"bun --conditions browser test/wait-for-store.test.ts","test:lifecycle":"bun --conditions browser test/store-lifecycle.test.ts","test:nested-tree-batch":"bun --conditions browser test/nested-tree-batch.test.ts","test:nestable-cms":"bun --conditions browser test/nestable-cms-modes.test.ts","test:store-component-flow":"bun --conditions browser test/store-component-flow.test.ts","test:store-board-wakeup":"bun --conditions browser test/store-board-wakeup-contract.test.ts","test:livequery":"bun --conditions browser test/livequery-jsnq.test.ts","test:deep-proxy-jsnq":"bun --conditions browser test/deep-proxy-jsnq-flow.test.ts","browser-demo:install":"bun install --cwd examples/browser-demo","browser-demo:dev":"bun run --cwd examples/browser-demo dev","browser-demo:build":"bun run --cwd examples/browser-demo build","test:browser":"bun run browser-demo:install && bunx playwright test","test:browser:ui":"bun run browser-demo:install && bunx playwright test --ui","install:browsers":"bunx playwright install","test:bridge-contract":"bun --conditions browser test/jsnq-bridge-contract.test.ts","test:array-splice-precise":"bun --conditions browser test/array-splice-precise-wake.test.ts"},"peerDependencies":{"solid-js":">=1.8.0 <2.0.0","@adsq/jsnq":"^0.1.0"},"devDependencies":{"@playwright/test":"^1.60.0","solid-js":"1.9.14","tsx":"^4.0.0","typescript":"^5.4.0","@adsq/jsnq":"^0.1.0"},"keywords":["solidjs","reactive","store","proxy","jsnq"],"license":"MIT","gitHead":"f8b4ab5a938922dd8ac4ab441abb86131abf0a29","_id":"@adsq/solid-signal-store@0.1.5","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-b58vfhhJQlT0ufhgCK2n1McsORozFGfzhsGjhpJgHtzXYQuNBkHCKIkHJnJI7QIYJHLa6mE/6sYiSsqaJoVbxA==","shasum":"686b43f8493207b07a5070b297ba5a1ac4e049ab","tarball":"https://registry.npmjs.org/@adsq/solid-signal-store/-/solid-signal-store-0.1.5.tgz","fileCount":50,"unpackedSize":231572,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDc1BvCqMPRZkI4BD/Q17LBoY9OBH5M1/bYswMQMVUFpQIhALMFraOon1EuBkcwTsePqlWTCFjth8jlcTFf6RW3Sz3w"}]},"_npmUser":{"name":"adsq","email":"adscampaincreate@gmail.com"},"directories":{},"maintainers":[{"name":"adsq","email":"adscampaincreate@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/solid-signal-store_0.1.5_1784699365156_0.7850272613645031"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-22T03:39:19.519Z","modified":"2026-07-22T05:49:25.487Z","0.1.0":"2026-07-22T03:39:19.819Z","0.1.1":"2026-07-22T04:24:16.735Z","0.1.2":"2026-07-22T04:50:21.288Z","0.1.3":"2026-07-22T05:03:55.505Z","0.1.4":"2026-07-22T05:45:40.391Z","0.1.5":"2026-07-22T05:49:25.326Z"},"bugs":{"url":"https://github.com/adsqx/solid-signal-store/issues"},"license":"MIT","homepage":"https://github.com/adsqx/solid-signal-store#readme","keywords":["solidjs","reactive","store","proxy","jsnq"],"repository":{"type":"git","url":"git+https://github.com/adsqx/solid-signal-store.git"},"description":"Fine-grained SolidJS store with a callable nested proxy API: reads like store.user.name(), writes like ordinary assignment, and wakes only the paths a component actually consumes.","maintainers":[{"name":"adsq","email":"adscampaincreate@gmail.com"}],"readme":"# SolidStore\n\nFine-grained SolidJS store with a callable proxy API and optional JSNQ/devtools entries. State reads and writes look like ordinary nested object access while Solid tracks only paths that are actually consumed.\n\n## Install\n\n```sh\nnpm install solid-js @adsq/solid-signal-store\n# or\nbun add solid-js @adsq/solid-signal-store\n```\n\n`@adsq/jsnq` is a peer dependency, so npm and bun install it for you. Declare it in your\nown `package.json` as well when the application imports JSNQ operators directly, so that\nstrict installers such as pnpm and Yarn PnP resolve those imports:\n\n```sh\nnpm install @adsq/jsnq\n```\n\nSolid `>=1.8 <2` and `@adsq/jsnq` are peer dependencies, so the application supplies one framework runtime. The test matrix covers the minimum supported Solid line and current Solid 1.9.\n\n## Create And Use A Store\n\n```ts\nimport { createSolidStore } from '@adsq/solid-signal-store';\n\nconst api = createSolidStore({\n  user: { name: 'Ann', tags: ['admin'] },\n  dashboard: { tiles: 12 },\n}, 'app');\n\nconst store = api.store;\n\nstore.user.name();                 // reactive read\nstore.user.name = 'Ada';           // direct proxy write\nstore.user.tags.push('maintainer');\nstore.user.tags.pop();\nstore.dashboard.tiles = store.dashboard.tiles() + 1;\n```\n\n## In JSX\n\nThe proxy reads the same way inside a component. No signal wiring, no store selector:\n\n```tsx\nfunction Dashboard() {\n  const { store } = createSolidStore({\n    user: { name: 'Ann', tags: ['admin'] },\n    dashboard: { tiles: 12 },\n    services: [{ name: 'api', rps: 120 }],\n  }, 'dashboard');\n\n  return (\n    <>\n      <h1>{store.user.name()}</h1>\n      <p>{store.dashboard.tiles()} tiles</p>\n\n      <For each={store.user.tags()}>{(tag: string) =>\n        <span class=\"tag\">{tag}</span>\n      }</For>\n\n      <For each={store.services()}>{(service: any) =>\n        <div class=\"row\">\n          <strong>{service.name}</strong>\n          <span>{service.rps}</span>\n        </div>\n      }</For>\n\n      <button onClick={() => store.dashboard.tiles = store.dashboard.tiles() + 1}>\n        Add tile\n      </button>\n    </>\n  );\n}\n```\n\nThree rules cover every component:\n\n- **A leaf is called**: `{store.user.name()}`. The call is the reactive read, so Solid\n  tracks that exact path and updates only the text node bound to it.\n- **An array is called to iterate it**, then each item is a plain value read without\n  parentheses: `<For each={store.services()}>` then `{service.name}`. Items are snapshots,\n  not nested accessors.\n- **`length` is reactive without a call**: `{store.history.length}` tracks pushes and pops\n  without materialising the array.\n\nWrites are ordinary assignments, so an event handler is a one-liner. Wrap several related\nwrites in `api.batch()` when they must land as one update.\n\nNested keys may be created dynamically:\n\n```ts\nstore.user.preferences = {};\nstore.user.preferences.theme = 'dark';\nstore.user.preferences.theme(); // 'dark'\n```\n\nFor static TypeScript safety, declare optional/dynamic fields in the state interface or use an index signature such as `[key: string]: unknown`.\n\n## JSNQ Is Optional\n\nThe core proxy does not import the JSNQ pipeline bridge. Import the bridge only in an application that calls `mutate`, `$query`, or `$liveQuery`:\n\n```ts\nimport '@adsq/solid-signal-store/jsnq';\nimport where from '@adsq/jsnq/operators/where';\nimport update from '@adsq/jsnq/operators/update';\n\nstore.userList.mutate(\n  where('active', '===', true),\n  update('score', (score: number) => score + 1),\n);\n\nconst active = store.userList.$query(where('active', '===', true));\nconst liveActive = store.userList.$liveQuery(where('active', '===', true));\nconst subscription = liveActive.subscribe((users) => console.log(users));\n\nliveActive(); // current reactive value inside a Solid owner\nsubscription.unsubscribe();\nliveActive.dispose();\n```\n\n`$query` and `$queryOne` are one-shot snapshots. `$liveQuery` and `$liveQueryOne`\nreturn callable Solid accessors; they recompute after the queried branch changes and can\nalso be subscribed to. Dispose live queries and subscriptions created outside a component\nowner. Calling a JSNQ operation without the optional bridge throws an actionable error\ninstead of silently doing nothing. Individual operators remain separate imports.\n\n## Lazy Creation\n\nThe initial state is cloned when `createSolidStore` is called. Reactive infrastructure is lazy:\n\n- nested callable proxies are created on first property navigation and cached with weak references;\n- path signals are created on first reactive read;\n- computed projections and live queries are created only when requested;\n- subscriptions allocate an effect only on `subscribe()` and dispose it on unsubscribe;\n- JSNQ code enters the graph only through `@adsq/solid-signal-store/jsnq`;\n- devtools code enters the graph only through `@adsq/solid-signal-store/devtools`;\n- named-store waiters exist only while code is waiting for a store.\n\nUnused paths have no signal, computed node, BehaviorSubject, or subscription allocation.\n\n## Named Stores And Async Creation\n\nWhen a module or service owns the `api`/`store` reference returned by `createSolidStore`, use that reference directly. `waitForStore` is only for a separate asynchronously loaded consumer that may run before the owner creates the named store.\n\n```ts\nimport { createSolidStore, useSolidStore, waitForStore } from '@adsq/solid-signal-store';\n\nconst pending = waitForStore('dashboard', { timeoutMs: 5_000 });\n\nqueueMicrotask(() => {\n  createSolidStore({ tiles: 12 }, 'dashboard');\n});\n\nconst dashboardApi = await pending;\ndashboardApi.store.tiles();\n\nuseSolidStore('dashboard'); // synchronous; throws when missing\n```\n\n`waitForStore` is event-driven, supports `AbortSignal`, does not poll, and removes its timer/listener after resolve, timeout, or abort.\n\n## Batch And Wake Modes\n\n```ts\napi.batch(() => {\n  store.user.name = 'Ada';\n  store.dashboard.tiles = 16;\n});\n\napi.wakeUp('grained');             // set future writes to exact-path mode\napi.wakeUp('container');           // set future writes to parent-chain mode\napi.wakeUp('user.name', 'grained'); // wake exactly this path now\napi.wakeUp('user.name', 'leaf');    // wake this path and its parent chain now\n```\n\nCanonical wake modes:\n\n| Mode | Paths dirtied | Use case |\n| --- | --- | --- |\n| `grained` | Exact changed path only | Default and fastest; consumers read the leaf they need. |\n| `leaf` | Exact path plus its parent chain | Compatibility for effects/memos that consume a container. |\n\n`fine` and `exact` alias `grained`; `container`, `parents`, and `branch` alias\n`leaf`. The one-argument form changes the default for subsequent writes. The two-argument\nform performs an explicit targeted wake without changing that default.\n\nState writes inside `batch()` are still synchronous and immediately readable. Solid delays\neffect/computation flushing until the outermost batch returns, so several writes produce one\ncoherent reactive update. Nested batches are supported. A single write does not require an\nexplicit batch, and array/JSNQ operations batch their internal multi-step commits where needed.\n`preciseMutationWake: true` lets eligible flat JSNQ mutations wake only the changed branch,\nitem, and leaf instead of every observed descendant; structural/deep mutations safely fall\nback to a branch commit.\n\n## Devtools Only In Development\n\n```ts\nif (import.meta.env.DEV) {\n  const { createSolidDevtools } = await import('@adsq/solid-signal-store/devtools');\n  api.attachDevtools(createSolidDevtools());\n  api.enableDevTools('app');\n}\n```\n\nThe main entry exports only the adapter types; it does not construct a devtools service.\n\n## Cleanup\n\n```ts\napi.destroy();\n```\n\nDestroy is idempotent, removes the named registry entry only when it still owns it, clears signal/proxy/query caches, subscriptions, and the attached devtools adapter.\n\n## Use With AI Coding Agents\n\nThe package ships a `SKILL.md` written in the [Agent Skills](https://agentskills.io)\nformat, covering the architecture rule, the JSX rules, batching, wake modes, and JSNQ.\nInstall it so an agent applies the store correctly instead of guessing at the proxy API:\n\n```sh\n# this project only\nmkdir -p .claude/skills/solid-signal-store\ncp node_modules/solid-signal-store/SKILL.md .claude/skills/solid-signal-store/\n\n# or for every project\nmkdir -p ~/.claude/skills/solid-signal-store\ncp node_modules/solid-signal-store/SKILL.md ~/.claude/skills/solid-signal-store/\n```\n\nClaude Code picks the skill up without a restart and loads it when the task involves this\nstore. Agents that do not read `.claude/skills/` can be pointed at\n`node_modules/solid-signal-store/SKILL.md` directly.\n\n## Verify\n\n```sh\nbun run demo:install\nbun run dev       # Store, Design, and Dashboard browser demo\nbun run typecheck\nbun run test\nbun run build\nbun run test:browser\n```\n\n## Bundle Size\n\nMeasured from the built ESM with esbuild minification. `solid-js` and JSNQ remain external peers:\n\n| Entry | Minified | Gzip | Brotli |\n| --- | ---: | ---: | ---: |\n| SolidStore core | 27.5 kB | 9.0 kB | 8.1 kB |\n| Optional JSNQ bridge | 1.8 kB | 0.8 kB | 0.7 kB |\n| Optional devtools | 0.8 kB | 0.4 kB | 0.4 kB |\n\nThe production browser demo, including Solid and the used JSNQ operators, is approximately 58.0 kB minified / 18.8 kB gzip.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}