{"id":13765215,"url":"https://github.com/omarluq/stimulus-store","last_synced_at":"2025-10-11T19:15:54.529Z","repository":{"id":208683066,"uuid":"722226098","full_name":"omarluq/stimulus-store","owner":"omarluq","description":"Ultra lightweight state management for your Stimulus-powered web applications.","archived":false,"fork":false,"pushed_at":"2025-09-16T02:08:18.000Z","size":1313,"stargazers_count":87,"open_issues_count":8,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-09-16T09:08:10.914Z","etag":null,"topics":["global-state-management","javascript","javascript-library","npm-package","ruby-on-rails","state-management","stimulus","stimulus-controller","stimulus-controllers","stimulus-js","stimulusjs","stimulusjs-state-management","store","typescript"],"latest_commit_sha":null,"homepage":"https://stimulus-store.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omarluq.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-22T17:51:10.000Z","updated_at":"2025-08-20T18:40:17.000Z","dependencies_parsed_at":"2023-11-22T19:27:30.533Z","dependency_job_id":"3eed7375-578a-45c0-9af1-6fe3399847a9","html_url":"https://github.com/omarluq/stimulus-store","commit_stats":null,"previous_names":["omarluq/stimulus-store"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/omarluq/stimulus-store","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omarluq%2Fstimulus-store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omarluq%2Fstimulus-store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omarluq%2Fstimulus-store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omarluq%2Fstimulus-store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omarluq","download_url":"https://codeload.github.com/omarluq/stimulus-store/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omarluq%2Fstimulus-store/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279008460,"owners_count":26084460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["global-state-management","javascript","javascript-library","npm-package","ruby-on-rails","state-management","stimulus","stimulus-controller","stimulus-controllers","stimulus-js","stimulusjs","stimulusjs-state-management","store","typescript"],"created_at":"2024-08-03T16:00:35.485Z","updated_at":"2025-10-11T19:15:54.524Z","avatar_url":"https://github.com/omarluq.png","language":"TypeScript","funding_links":[],"categories":["Packages","**Awesome Hotwire** [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)"],"sub_categories":["Stimulus"],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca target=\"_blank\" href=\"https://www.stimulus-store.com\" alt=\"Stimulus Store Documentation site\"\u003e\n    \u003cimg src=\"images/stimulus_store_logo.png\" alt=\"Stimulus Store Logo\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \n  [![GitHub package.json version](https://img.shields.io/github/package-json/v/omarluq/stimulus-store)](https://github.com/omarluq/stimulus-store)\n  [![GitHub Actions](https://github.com/omarluq/stimulus-store/actions/workflows/test.yml/badge.svg)](https://github.com/omarluq/stimulus-store/actions/workflows/test.yml)\n  [![Netlify Status](https://api.netlify.com/api/v1/badges/f2b2e5e9-67f0-4e3f-b6b5-8e1310ea4ad7/deploy-status)](https://netlify.com)\n  [![Last Commit](https://img.shields.io/github/last-commit/omarluq/stimulus-store)](https://github.com/omarluq/stimulus-store/commits/main)\n  [![Commit Activity](https://img.shields.io/github/commit-activity/m/omarluq/stimulus-store)](https://github.com/omarluq/stimulus-store/graphs/commit-activity)\n  [![All Contributors](https://img.shields.io/github/all-contributors/omarluq/stimulus-store)](https://github.com/omarluq/stimulus-store/graphs/contributors)\n  [![Pull Requests](https://img.shields.io/github/issues-pr/omarluq/stimulus-store)](https://github.com/omarluq/stimulus-store/pulls)\n  [![Closed Pull Requests](https://img.shields.io/github/issues-pr-closed-raw/omarluq/stimulus-store)](https://github.com/omarluq/stimulus-store/pulls?q=is%3Apr+is%3Aclosed)\n  [![GitHub issues](https://img.shields.io/github/issues/omarluq/stimulus-store)](https://github.com/omarluq/stimulus-store/issues)\n  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/omarluq/stimulus-store)\n  [![GitHub stars](https://img.shields.io/github/stars/omarluq/stimulus-store?style=flat)](https://github.com/omarluq/stimulus-store/stargazers)\n  [![GitHub forks](https://img.shields.io/github/forks/omarluq/stimulus-store?style=flat)](https://github.com/omarluq/stimulus-store/network/members)\n  [![GitHub watchers](https://img.shields.io/github/watchers/omarluq/stimulus-store?style=flat)](https://github.com/omarluq/stimulus-store/watchers)\n  [![Type Definitions](https://img.shields.io/npm/types/stimulus-store)](https://www.typescriptlang.org)\n  [![BiomeJS](https://img.shields.io/badge/-BiomeJs-60A5FA?logo=biome\u0026logoColor=white)](https://biomejs.dev)\n  [![Maintainability](https://api.codeclimate.com/v1/badges/a99a88d28ad37a79dbf6/maintainability)](https://codeclimate.com/github/omarluq/stimulus-store/maintainability)\n  [![Test Coverage](https://api.codeclimate.com/v1/badges/a99a88d28ad37a79dbf6/test_coverage)](https://codeclimate.com/github/omarluq/stimulus-store/test_coverage)\n  [![npm version](https://badge.fury.io/js/stimulus-store.svg)](https://npmjs.com/package/stimulus-store)\n  [![npm downloads](https://img.shields.io/npm/dm/stimulus-store.svg)](https://npmjs.com/package/stimulus-store)\n  [![Bundle Size](https://img.shields.io/bundlephobia/minzip/stimulus-store@0.0.2)](https://bundlephobia.com/result?p=stimulus-store@0.0.2)\n  [![Bundle Min](https://img.shields.io/bundlephobia/min/stimulus-store@0.0.2)](https://bundlephobia.com/result?p=stimulus-store@0.0.2)\n  [![Tree-shaking size](https://badgen.net/bundlephobia/tree-shaking/stimulus-store@0.0.2)](https://bundlephobia.com/result?p=stimulus-store@0.0.2)\n  [![Top Language](https://img.shields.io/github/languages/top/omarluq/stimulus-store)](https://github.com/omarluq/stimulus-store)\n  [![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/omarluq/stimulus-store)](https://github.com/omarluq/stimulus-store)\n  [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/omarluq/stimulus-store)\n  [![Dependabot](https://badgen.net/github/dependabot/omarluq/stimulus-store)](https://dependabot.com)\n  [![Made with Love](https://img.shields.io/badge/Made%20with-Love-ff69b4.svg)](https://github.com/omarluq/stimulus-store)\n  [![](https://dcbadge.vercel.app/api/server/ScU4JKgxaU?style=flat)](https://discord.gg/ScU4JKgxaU)\n  \n\u003c/div\u003e\n\n\u003c/br\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eUltra lightweight state management for your Stimulus powered web applications.\u003c/b\u003e\n\u003c/p\u003e\n\n\u003c/br\u003e\n\n- **Create and manage global state with ease.** 🔄\n- **Share state between different controllers effortlessly using a unified, atomic `Store` class.** 🔀\n- **1.04KB Minified and Brotlied** 🪶\n\n## Installation\n\n### With a build system\n\nInstall with [npm](https://www.npmjs.com/):\n\n```sh\nnpm install stimulus-store\n```\n\nInstall with [yarn](https://yarnpkg.com):\n\n```sh\nyarn add stimulus-store\n```\n\n### UMD\n\nIf you prefer not to use a build system, you can load `stimulus-store` in a `\u003cscript\u003e` tag and it will be globally available through the `window.StimulusStore` object.\n\n```html\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n  \u003chead\u003e\n    \u003cmeta charset=\"utf-8\" /\u003e\n    \u003cscript src=\"https://unpkg.com/stimulus/dist/stimulus.umd.js\"\u003e\u003c/script\u003e\n    \u003cscript src=\"https://unpkg.com/stimulus-store/dist/bundle.umd.js\"\u003e\u003c/script\u003e\n    \u003cscript\u003e\n      (() =\u003e {\n        const application = Stimulus.Application.start();\n\n        const helloStore = StimulusStore.createStore({\n          name: \"helloStore\",\n          type: String,\n          initialValue: \"Hello World!\",\n        });\n\n        application.register(\n          \"hello\",\n          class extends Stimulus.Controller {\n            static stores = [helloStore];\n\n            connect() {\n              StimulusStore.useStore(this);\n              this.element.innerHtml = `\u003cp\u003e${this.helloStoreValue}\u003c/p\u003e`;\n            }\n          }\n        );\n      })();\n    \u003c/script\u003e\n  \u003c/head\u003e\n  \u003cbody\u003e\n    \u003cdiv data-controller=\"hello\"\u003e…\u003c/div\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n## Documentation\n\ncomplete documentation on Stimulus Store, including guides, API details, and more can be found on [www.stimulus-store.com](https://www.stimulus-store.com).\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomarluq%2Fstimulus-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomarluq%2Fstimulus-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomarluq%2Fstimulus-store/lists"}