{"_id":"@aluni/plugin-x","_rev":"7-7ead008fcfc5a885b9f1303a33bdee6c","name":"@aluni/plugin-x","dist-tags":{"canary":"0.0.3-canary.2","latest":"0.0.5"},"versions":{"0.0.1-canary.0":{"name":"@aluni/plugin-x","version":"0.0.1-canary.0","description":"@aluni/plugin-x","homepage":"https://gitee.com/congxiaochen/inula/tree/master/packages/plugin-x#readme","bugs":{"url":"https://gitee.com/congxiaochen/inula/issues"},"repository":{"type":"git","url":"https://gitee.com/congxiaochen/inula"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@umijs/bundler-utils":"4.0.88","@umijs/utils":"4.0.88"},"devDependencies":{"@aluni/types":"0.0.1-canary.0"},"publishConfig":{"access":"public"},"authors":["xiaohuoni <xiaohuoni@gmail.com> (https://github.com/xiaohuoni)"],"scripts":{"build":"inula-scripts father build","build:deps":"inula-scripts bundleDeps","dev":"inula-scripts father dev"},"_id":"@aluni/plugin-x@0.0.1-canary.0","_integrity":"sha512-mbnWeJMeASqviN60/pu7E3/iJ83ALj+C9yqfYP/PyXKYhS3StmFhYz6KQ0YVGAiVvcwjWjRfoLi9EG1+PHJ/jg==","_resolved":"/private/var/folders/wr/z6tdl7jj2qn27855nxqgt1mw0000gn/T/0408b380b71e7514e06af3724f37d22e/aluni-plugin-x-0.0.1-canary.0.tgz","_from":"file:aluni-plugin-x-0.0.1-canary.0.tgz","_nodeVersion":"19.7.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-mbnWeJMeASqviN60/pu7E3/iJ83ALj+C9yqfYP/PyXKYhS3StmFhYz6KQ0YVGAiVvcwjWjRfoLi9EG1+PHJ/jg==","shasum":"ff03327516fdbd426c682b2fc2384976e4e9f9ac","tarball":"https://registry.npmjs.org/@aluni/plugin-x/-/plugin-x-0.0.1-canary.0.tgz","fileCount":18,"unpackedSize":24211,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIExkwDsqGsjz6Kq692/dCO8gIqF+O4y/bAeBCwbLZXdmAiEAp79CY5F0+cGfKp+Y94A19O5QfniTyLZ1j6Z3X98WOGg="}]},"_npmUser":{"name":"xiaohuoni","email":"448627663@qq.com"},"directories":{},"maintainers":[{"name":"xiaohuoni","email":"448627663@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-x_0.0.1-canary.0_1701165159697_0.6505023181923828"},"_hasShrinkwrap":false},"0.0.1-canary.1":{"name":"@aluni/plugin-x","version":"0.0.1-canary.1","description":"@aluni/plugin-x","homepage":"https://gitee.com/congxiaochen/inula/tree/master/packages/plugin-x#readme","bugs":{"url":"https://gitee.com/congxiaochen/inula/issues"},"repository":{"type":"git","url":"https://gitee.com/congxiaochen/inula"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@umijs/bundler-utils":"4.0.88","@umijs/utils":"4.0.88"},"devDependencies":{"@aluni/types":"0.0.1-canary.1"},"publishConfig":{"access":"public"},"authors":["xiaohuoni <xiaohuoni@gmail.com> (https://github.com/xiaohuoni)"],"scripts":{"build":"inula-scripts father build","build:deps":"inula-scripts bundleDeps","dev":"inula-scripts father dev"},"readme":"# @aluni/plugin-x\n\n\nSee our website [inula]() for more information.\n\n[Inula-X](https://docs.openinula.net/apis/Inula-X/) 是集成在openinula框架中用于状态管理的库。它能集中式地存储、管理应用中所有组件的状态，并通过相应的规则(actions)保证状态(state)以可预测的方式发生变化。\n\n## 使用方式\n\n默认会将 src/stores 下的 store 定义自动挂载，你只需要在 stores 文件夹中新建文件即可新增一个 store 用来管理组件状态。详细的 store 写法和用法，请参考 [Inula-X](https://docs.openinula.net/apis/Inula-X/)  文档。\n\nstore 文件将会被自动挂为 `${store.id}Store` ，然后可以直接从 inula 中导出使用 import { helloStore } from 'inula'; \n\n> 注意 createStore, clearStore 和 useStore 是 openinula 导出的功能，所以无法创建一个同名的 store\n\n对于某个 pages 文件夹下面的 store 也会默认挂载\n\n> 请注意使用约定式路由时你无法创建一个名为 /store 路径的页面\n\n新建一个 store 文件，可以使用 inula g x storeName 快速创建模版文件，如 `npx inula g x hello`\n\n```ts\nimport { createStore } from 'inula';\n\nexport default  createStore({\n  id: 'hello',\n  actions: {\n  },\n  state: {\n    title: 'hello',\n  },\n});\n```\n\n一个比较简单的用例子，src/stores/hello.ts\n\n```ts\nimport { createStore } from 'inula';\n\nexport default  createStore({\n  id: 'hello',\n  actions: {\n    changeName: (state) => {\n      state.title = 'openinula';\n    },\n  },\n  state: {\n    title: 'inulajs',\n  },\n});\n```\n\n在页面中使用 \n\n```ts\nimport { helloStore } from 'inula';\n\nconst Page = () => {\n  const store = helloStore();\n  return (\n    <div>\n      hello {store.title}\n      <button\n        onClick={() => {\n          store.changeName();\n        }}\n      >\n        改名字啦\n      </button>\n    </div>\n  );\n};\n\nexport default Page;\n```","readmeFilename":"README.md","_id":"@aluni/plugin-x@0.0.1-canary.1","_integrity":"sha512-rswW5bN5ynWjbZdYr7AsyBN99xHm8txtBBggYFYlC+ZPyaXEM8XRIGN4UkYBLaokA3dAZPbmeUIDEpQmhFsiFw==","_resolved":"/private/var/folders/wr/z6tdl7jj2qn27855nxqgt1mw0000gn/T/f605b4527e32515a07e99f24b09c52cf/aluni-plugin-x-0.0.1-canary.1.tgz","_from":"file:aluni-plugin-x-0.0.1-canary.1.tgz","_nodeVersion":"19.7.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-rswW5bN5ynWjbZdYr7AsyBN99xHm8txtBBggYFYlC+ZPyaXEM8XRIGN4UkYBLaokA3dAZPbmeUIDEpQmhFsiFw==","shasum":"a5d727688526e6d83685be25666effa5d0556631","tarball":"https://registry.npmjs.org/@aluni/plugin-x/-/plugin-x-0.0.1-canary.1.tgz","fileCount":18,"unpackedSize":24211,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDz6Q27Eho5x5ar0UCTCfpX8V0AGHqpkjqaqWep/nUDZgIgJLufmQ9vHazcaZOykEiWlmLDvhK3OtVEUIeHuJYzc/0="}]},"_npmUser":{"name":"xiaohuoni","email":"448627663@qq.com"},"directories":{},"maintainers":[{"name":"xiaohuoni","email":"448627663@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-x_0.0.1-canary.1_1701165330804_0.48437178142047754"},"_hasShrinkwrap":false},"0.0.1":{"name":"@aluni/plugin-x","version":"0.0.1","description":"@aluni/plugin-x","homepage":"https://gitee.com/congxiaochen/inula/tree/master/packages/plugin-x#readme","bugs":{"url":"https://gitee.com/congxiaochen/inula/issues"},"repository":{"type":"git","url":"https://gitee.com/congxiaochen/inula"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@umijs/bundler-utils":"4.0.88","@umijs/utils":"4.0.88"},"devDependencies":{"@aluni/types":"0.0.1"},"publishConfig":{"access":"public"},"authors":["xiaohuoni <xiaohuoni@gmail.com> (https://github.com/xiaohuoni)"],"scripts":{"build":"inula-scripts father build","build:deps":"inula-scripts bundleDeps","dev":"inula-scripts father dev"},"_id":"@aluni/plugin-x@0.0.1","_integrity":"sha512-TG+q+HoW4RkPcu5qtG2O60mng+RWu56kBYVoLw74Bzy9ookV/Wn3J/PGK1Ysm5gfhETXIhtrTJCYXOT9rBXhHQ==","_resolved":"/private/var/folders/wr/z6tdl7jj2qn27855nxqgt1mw0000gn/T/e2c896ab0f656c7a034ed75163596c53/aluni-plugin-x-0.0.1.tgz","_from":"file:aluni-plugin-x-0.0.1.tgz","_nodeVersion":"19.7.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-TG+q+HoW4RkPcu5qtG2O60mng+RWu56kBYVoLw74Bzy9ookV/Wn3J/PGK1Ysm5gfhETXIhtrTJCYXOT9rBXhHQ==","shasum":"7d5de678f287784f0cd93fba442a65e248b5049b","tarball":"https://registry.npmjs.org/@aluni/plugin-x/-/plugin-x-0.0.1.tgz","fileCount":18,"unpackedSize":24193,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICXu4tp+VMd1g32gbXDG/atJZ2tMe86XRhEm662XtrlaAiBkB5Huc2D5tHfiuxoyt45EKEHnioiOniLqtEzqjKorXw=="}]},"_npmUser":{"name":"xiaohuoni","email":"448627663@qq.com"},"directories":{},"maintainers":[{"name":"xiaohuoni","email":"448627663@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-x_0.0.1_1701686693931_0.7507452258236689"},"_hasShrinkwrap":false},"0.0.2":{"name":"@aluni/plugin-x","version":"0.0.2","description":"@aluni/plugin-x","homepage":"https://gitee.com/congxiaochen/inula/tree/master/packages/plugin-x#readme","bugs":{"url":"https://gitee.com/congxiaochen/inula/issues"},"repository":{"type":"git","url":"https://gitee.com/congxiaochen/inula"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@umijs/bundler-utils":"4.0.88","@umijs/utils":"4.0.88"},"devDependencies":{"@aluni/types":"0.0.2"},"publishConfig":{"access":"public"},"authors":["xiaohuoni <xiaohuoni@gmail.com> (https://github.com/xiaohuoni)"],"scripts":{"build":"inula-scripts father build","build:deps":"inula-scripts bundleDeps","dev":"inula-scripts father dev"},"_id":"@aluni/plugin-x@0.0.2","_integrity":"sha512-1ZVtvlylbM5k3ARpllpgabHxCrLxytXnG/EsMIq6uljN3nujFMl1DgDu9PbFvjQVPbCyppnk40dCbSdSDJhfig==","_resolved":"/private/var/folders/wr/z6tdl7jj2qn27855nxqgt1mw0000gn/T/86f34dd24f9d8830b58e8ef5fb004fc3/aluni-plugin-x-0.0.2.tgz","_from":"file:aluni-plugin-x-0.0.2.tgz","_nodeVersion":"19.7.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-1ZVtvlylbM5k3ARpllpgabHxCrLxytXnG/EsMIq6uljN3nujFMl1DgDu9PbFvjQVPbCyppnk40dCbSdSDJhfig==","shasum":"317706a1dd71af738209d9149d319eb3bf7cd6aa","tarball":"https://registry.npmjs.org/@aluni/plugin-x/-/plugin-x-0.0.2.tgz","fileCount":18,"unpackedSize":24193,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICgCm1B2JAVJzLoCXvHSexiWZmThoc0bNpm4lISEeQuwAiAraqKqaS86TNoUyzqIdgf3IZVy2/fT6gLuMHqiE2uKGQ=="}]},"_npmUser":{"name":"xiaohuoni","email":"448627663@qq.com"},"directories":{},"maintainers":[{"name":"xiaohuoni","email":"448627663@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-x_0.0.2_1704869773109_0.5823724648971607"},"_hasShrinkwrap":false},"0.0.3":{"name":"@aluni/plugin-x","version":"0.0.3","description":"@aluni/plugin-x","homepage":"https://gitee.com/congxiaochen/inula/tree/master/packages/plugin-x#readme","bugs":{"url":"https://gitee.com/congxiaochen/inula/issues"},"repository":{"type":"git","url":"https://gitee.com/congxiaochen/inula"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@umijs/bundler-utils":"4.0.88","@umijs/utils":"4.0.88"},"devDependencies":{"@aluni/types":"0.0.3"},"publishConfig":{"access":"public"},"authors":["xiaohuoni <xiaohuoni@gmail.com> (https://github.com/xiaohuoni)"],"scripts":{"build":"inula-scripts father build","build:deps":"inula-scripts bundleDeps","dev":"inula-scripts father dev"},"_id":"@aluni/plugin-x@0.0.3","_integrity":"sha512-zHIYBcJF4DFvNm2ku6xIDK1fjxw/T3zCvH5NohhOCGh8c43l3QZFXWzX599N+WU4dJt3zKe8jjuHgegpvQLS3g==","_resolved":"/private/var/folders/wr/z6tdl7jj2qn27855nxqgt1mw0000gn/T/7a29e5da9fccbdb6942912a7f3a4ca46/aluni-plugin-x-0.0.3.tgz","_from":"file:aluni-plugin-x-0.0.3.tgz","_nodeVersion":"19.7.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-zHIYBcJF4DFvNm2ku6xIDK1fjxw/T3zCvH5NohhOCGh8c43l3QZFXWzX599N+WU4dJt3zKe8jjuHgegpvQLS3g==","shasum":"ea4ce6898d4eaf4abc783b15bb2219772b5e363d","tarball":"https://registry.npmjs.org/@aluni/plugin-x/-/plugin-x-0.0.3.tgz","fileCount":18,"unpackedSize":24193,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNKDlEe1zX7ZOePMVzD/fHq40uids/ouSm4aupfazvdAIhAK0VkNYW+oNqsl5b6TONenxQctEBdJXzZxY5sr4ZlSWj"}]},"_npmUser":{"name":"xiaohuoni","email":"448627663@qq.com"},"directories":{},"maintainers":[{"name":"xiaohuoni","email":"448627663@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-x_0.0.3_1704871325661_0.6750066654671607"},"_hasShrinkwrap":false},"0.0.3-canary.2":{"name":"@aluni/plugin-x","version":"0.0.3-canary.2","description":"@aluni/plugin-x","homepage":"https://gitee.com/congxiaochen/inula/tree/master/packages/plugin-x#readme","bugs":{"url":"https://gitee.com/congxiaochen/inula/issues"},"repository":{"type":"git","url":"https://gitee.com/congxiaochen/inula"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@umijs/bundler-utils":"4.0.88","@umijs/utils":"4.0.88"},"devDependencies":{"@aluni/types":"0.0.3-canary.2"},"publishConfig":{"access":"public"},"authors":["xiaohuoni <xiaohuoni@gmail.com> (https://github.com/xiaohuoni)"],"scripts":{"build":"inula-scripts father build","build:deps":"inula-scripts bundleDeps","dev":"inula-scripts father dev"},"readme":"# @aluni/plugin-x\n\n\nSee our website [inula]() for more information.\n\n[Inula-X](https://docs.openinula.net/apis/Inula-X/) 是集成在openinula框架中用于状态管理的库。它能集中式地存储、管理应用中所有组件的状态，并通过相应的规则(actions)保证状态(state)以可预测的方式发生变化。\n\n## 使用方式\n\n默认会将 src/stores 下的 store 定义自动挂载，你只需要在 stores 文件夹中新建文件即可新增一个 store 用来管理组件状态。详细的 store 写法和用法，请参考 [Inula-X](https://docs.openinula.net/apis/Inula-X/)  文档。\n\nstore 文件将会被自动挂为 `${store.id}Store` ，然后可以直接从 inula 中导出使用 import { helloStore } from 'inula'; \n\n> 注意 createStore, clearStore 和 useStore 是 openinula 导出的功能，所以无法创建一个同名的 store\n\n对于某个 pages 文件夹下面的 store 也会默认挂载\n\n> 请注意使用约定式路由时你无法创建一个名为 /store 路径的页面\n\n新建一个 store 文件，可以使用 inula g x storeName 快速创建模版文件，如 `npx inula g x hello`\n\n```ts\nimport { createStore } from 'inula';\n\nexport default  createStore({\n  id: 'hello',\n  actions: {\n  },\n  state: {\n    title: 'hello',\n  },\n});\n```\n\n一个比较简单的用例子，src/stores/hello.ts\n\n```ts\nimport { createStore } from 'inula';\n\nexport default  createStore({\n  id: 'hello',\n  actions: {\n    changeName: (state) => {\n      state.title = 'openinula';\n    },\n  },\n  state: {\n    title: 'inulajs',\n  },\n});\n```\n\n在页面中使用 \n\n```ts\nimport { helloStore } from 'inula';\n\nconst Page = () => {\n  const store = helloStore();\n  return (\n    <div>\n      hello {store.title}\n      <button\n        onClick={() => {\n          store.changeName();\n        }}\n      >\n        改名字啦\n      </button>\n    </div>\n  );\n};\n\nexport default Page;\n```","readmeFilename":"README.md","_id":"@aluni/plugin-x@0.0.3-canary.2","_integrity":"sha512-6AWZ/dZMZjLJpNpLGjpt4HgHnTlFgeGKFrYyCiZ+05mtVXWB35Cnx5I1Frxbut6/OzoyUuAcyR4GIixRuBs3Og==","_resolved":"/private/var/folders/wr/z6tdl7jj2qn27855nxqgt1mw0000gn/T/edce00486ca7682680f3b0c2666396f2/aluni-plugin-x-0.0.3-canary.2.tgz","_from":"file:aluni-plugin-x-0.0.3-canary.2.tgz","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-6AWZ/dZMZjLJpNpLGjpt4HgHnTlFgeGKFrYyCiZ+05mtVXWB35Cnx5I1Frxbut6/OzoyUuAcyR4GIixRuBs3Og==","shasum":"68d53b10b86406c157e172de5e96a67ffcdad555","tarball":"https://registry.npmjs.org/@aluni/plugin-x/-/plugin-x-0.0.3-canary.2.tgz","fileCount":18,"unpackedSize":24211,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyvpnP7DXoFjm/IE/k2OFnCy2cjDGZOTcBjCZbmd0e9AIgccynsFY3VbZTcO4xVEoJ/zM+cx7jMkFUqAeyYQYRakc="}]},"_npmUser":{"name":"xiaohuoni","email":"448627663@qq.com"},"directories":{},"maintainers":[{"name":"xiaohuoni","email":"448627663@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-x_0.0.3-canary.2_1712485844116_0.2958658336075055"},"_hasShrinkwrap":false},"0.0.4":{"name":"@aluni/plugin-x","version":"0.0.4","description":"@aluni/plugin-x","homepage":"https://gitee.com/congxiaochen/inula/tree/master/packages/plugin-x#readme","bugs":{"url":"https://gitee.com/congxiaochen/inula/issues"},"repository":{"type":"git","url":"https://gitee.com/congxiaochen/inula"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@umijs/bundler-utils":"4.0.88","@umijs/utils":"4.0.88"},"devDependencies":{"@aluni/types":"0.0.4"},"publishConfig":{"access":"public"},"authors":["xiaohuoni <xiaohuoni@gmail.com> (https://github.com/xiaohuoni)"],"scripts":{"build":"inula-scripts father build","build:deps":"inula-scripts bundleDeps","dev":"inula-scripts father dev"},"_id":"@aluni/plugin-x@0.0.4","_integrity":"sha512-DyCc00DZOr8yeFj5291B990qr0z0ZXqj+Bbnzm6K7ix8RaGLvIMQJ6AycdqYOumwFcfFVr9tUiI8NG2YED2KEA==","_resolved":"/private/var/folders/wr/z6tdl7jj2qn27855nxqgt1mw0000gn/T/1162ae390e7a6d025492271f2b7acf35/aluni-plugin-x-0.0.4.tgz","_from":"file:aluni-plugin-x-0.0.4.tgz","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-DyCc00DZOr8yeFj5291B990qr0z0ZXqj+Bbnzm6K7ix8RaGLvIMQJ6AycdqYOumwFcfFVr9tUiI8NG2YED2KEA==","shasum":"27d09f04fb08998f77b22155b22b70787a3089cf","tarball":"https://registry.npmjs.org/@aluni/plugin-x/-/plugin-x-0.0.4.tgz","fileCount":18,"unpackedSize":24193,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRexLxtuYux061A/qS13gOeaje5zD9nm+knFKOAdl0SwIhAKaEW0r3ImprWb3mNaocCJ0JnVKTAsCTq9Qv9aThp/1D"}]},"_npmUser":{"name":"xiaohuoni","email":"448627663@qq.com"},"directories":{},"maintainers":[{"name":"xiaohuoni","email":"448627663@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-x_0.0.4_1712488127484_0.2365952339253794"},"_hasShrinkwrap":false},"0.0.5":{"name":"@aluni/plugin-x","version":"0.0.5","description":"@aluni/plugin-x","homepage":"https://gitee.com/congxiaochen/inula/tree/master/packages/plugin-x#readme","bugs":{"url":"https://gitee.com/congxiaochen/inula/issues"},"repository":{"type":"git","url":"https://gitee.com/congxiaochen/inula"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@umijs/bundler-utils":"4.0.88","@umijs/utils":"4.0.88"},"devDependencies":{"@aluni/types":"0.0.5"},"publishConfig":{"access":"public"},"authors":["xiaohuoni <xiaohuoni@gmail.com> (https://github.com/xiaohuoni)"],"scripts":{"build":"inula-scripts father build","build:deps":"inula-scripts bundleDeps","dev":"inula-scripts father dev"},"_id":"@aluni/plugin-x@0.0.5","_integrity":"sha512-JeNChPciDSpIWyxgf+bDoxTuEqRBsb9z8jpNxA22audY0b226m0ABf1xBUAn/aMUoYmCb19GyhotbeX0ZxoDuQ==","_resolved":"/private/var/folders/wr/z6tdl7jj2qn27855nxqgt1mw0000gn/T/5c5ad4597ab007683d9aaccf3d9c5a1b/aluni-plugin-x-0.0.5.tgz","_from":"file:aluni-plugin-x-0.0.5.tgz","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-JeNChPciDSpIWyxgf+bDoxTuEqRBsb9z8jpNxA22audY0b226m0ABf1xBUAn/aMUoYmCb19GyhotbeX0ZxoDuQ==","shasum":"d5e11c59e8709db56acbd61be9fadcf262a5afbb","tarball":"https://registry.npmjs.org/@aluni/plugin-x/-/plugin-x-0.0.5.tgz","fileCount":18,"unpackedSize":24274,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFB54AJO7oxOfL2BoY+a9w+8Sw5y2DqbPNHKzRX+JNx0AiB06VO+0MDbOfuFzxLs7dobflP/2l5QQHuKdbZDYkDhnQ=="}]},"_npmUser":{"name":"xiaohuoni","email":"448627663@qq.com"},"directories":{},"maintainers":[{"name":"xiaohuoni","email":"448627663@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-x_0.0.5_1712740405102_0.7470304876658989"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-28T09:52:39.571Z","0.0.1-canary.0":"2023-11-28T09:52:39.893Z","modified":"2024-04-10T09:13:25.437Z","0.0.1-canary.1":"2023-11-28T09:55:30.961Z","0.0.1":"2023-12-04T10:44:54.112Z","0.0.2":"2024-01-10T06:56:13.256Z","0.0.3":"2024-01-10T07:22:05.822Z","0.0.3-canary.2":"2024-04-07T10:30:44.365Z","0.0.4":"2024-04-07T11:08:47.661Z","0.0.5":"2024-04-10T09:13:25.264Z"},"maintainers":[{"name":"xiaohuoni","email":"448627663@qq.com"}],"description":"@aluni/plugin-x","homepage":"https://gitee.com/congxiaochen/inula/tree/master/packages/plugin-x#readme","repository":{"type":"git","url":"https://gitee.com/congxiaochen/inula"},"bugs":{"url":"https://gitee.com/congxiaochen/inula/issues"},"license":"MIT","readme":"# @aluni/plugin-x\n\n\nSee our website [inula]() for more information.\n\n[Inula-X](https://docs.openinula.net/apis/Inula-X/) 是集成在openinula框架中用于状态管理的库。它能集中式地存储、管理应用中所有组件的状态，并通过相应的规则(actions)保证状态(state)以可预测的方式发生变化。\n\n## 使用方式\n\n默认会将 src/stores 下的 store 定义自动挂载，你只需要在 stores 文件夹中新建文件即可新增一个 store 用来管理组件状态。详细的 store 写法和用法，请参考 [Inula-X](https://docs.openinula.net/apis/Inula-X/)  文档。\n\nstore 文件将会被自动挂为 `${store.id}Store` ，然后可以直接从 inula 中导出使用 import { helloStore } from 'inula'; \n\n> 注意 createStore, clearStore 和 useStore 是 openinula 导出的功能，所以无法创建一个同名的 store\n\n对于某个 pages 文件夹下面的 store 也会默认挂载\n\n> 请注意使用约定式路由时你无法创建一个名为 /store 路径的页面\n\n新建一个 store 文件，可以使用 inula g x storeName 快速创建模版文件，如 `npx inula g x hello`\n\n```ts\nimport { createStore } from 'inula';\n\nexport default  createStore({\n  id: 'hello',\n  actions: {\n  },\n  state: {\n    title: 'hello',\n  },\n});\n```\n\n一个比较简单的用例子，src/stores/hello.ts\n\n```ts\nimport { createStore } from 'inula';\n\nexport default  createStore({\n  id: 'hello',\n  actions: {\n    changeName: (state) => {\n      state.title = 'openinula';\n    },\n  },\n  state: {\n    title: 'inulajs',\n  },\n});\n```\n\n在页面中使用 \n\n```ts\nimport { helloStore } from 'inula';\n\nconst Page = () => {\n  const store = helloStore();\n  return (\n    <div>\n      hello {store.title}\n      <button\n        onClick={() => {\n          store.changeName();\n        }}\n      >\n        改名字啦\n      </button>\n    </div>\n  );\n};\n\nexport default Page;\n```","readmeFilename":"README.md"}