{"_id":"@datnguyen1215/hsmjs","_rev":"11-e54255f46b076706e0a90c2984266d8e","name":"@datnguyen1215/hsmjs","dist-tags":{"latest":"2.2.1"},"versions":{"1.1.2":{"name":"@datnguyen1215/hsmjs","version":"1.1.2","keywords":["state-machine","fsm","hierarchical","async","imperative"],"author":"","license":"MIT","_id":"@datnguyen1215/hsmjs@1.1.2","maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"dist":{"shasum":"d6fd874e962664955b1a8ae11207974d7501ea9c","tarball":"https://registry.npmjs.org/@datnguyen1215/hsmjs/-/hsmjs-1.1.2.tgz","fileCount":18,"integrity":"sha512-WqpQMLMwPBYNdVSCWTmm4mz1xhtO6CYsNqfuk9rT0EMeljaivIxvj4Xwi8LV0xmBq8EaETUB4aaFbU65W6tjwA==","signatures":[{"sig":"MEUCIQDa2i2NT5IJOSoa/+57VkdfBeXu8El8iBGB8xbIyH4ZDwIgddgBxvH1FftgkGxnr3+wWhjPhUMHCCwn9NNXYC2M15U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73421},"main":"dist/cjs/index.js","module":"dist/es/index.js","exports":{".":{"import":"./dist/es/index.js","require":"./dist/cjs/index.js"}},"gitHead":"8a46a10cf3e7df2e98a791d3343aa8119f9ca8ca","scripts":{"test":"jest","build":"npm run clean && npm run build:cjs && npm run build:es && npm run build:pkg","clean":"rm -rf dist","build:es":"babel src --out-dir dist/es --no-babelrc --presets=@babel/preset-modules","build:cjs":"babel src --out-dir dist/cjs --presets=@babel/preset-env","build:pkg":"echo '{\"type\":\"module\"}' > dist/es/package.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","version:major":"npm version major --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","version:minor":"npm version minor --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","version:patch":"npm version patch --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","prepublishOnly":"npm run build"},"_npmUser":{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"},"_npmVersion":"10.8.2","description":"A lightweight, imperative state machine library with hierarchical states and async action support","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","@babel/cli":"^7.23.0","@babel/core":"^7.23.0","@babel/preset-env":"^7.23.0","@babel/preset-modules":"^0.1.6"},"_npmOperationalInternal":{"tmp":"tmp/hsmjs_1.1.2_1753551794663_0.2400213742429964","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@datnguyen1215/hsmjs","version":"1.1.3","keywords":["state-machine","fsm","hierarchical","async","imperative"],"author":"","license":"MIT","_id":"@datnguyen1215/hsmjs@1.1.3","maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"dist":{"shasum":"1b0aa80af71609a8c2a6a9da0daad12f38030076","tarball":"https://registry.npmjs.org/@datnguyen1215/hsmjs/-/hsmjs-1.1.3.tgz","fileCount":18,"integrity":"sha512-hmafR7tnSaFqiYjt1fc2iqpmCmWTG70PLSz0zcZtnJ+YAC/lpXQIU+rFzn351YwE4g2mfVqeIp2dLnNM/pKGYA==","signatures":[{"sig":"MEQCIC9fLIqG9e7AJ/H/csjJSaZzJ56cEkDcV50oBx3BvOuQAiBoiHiNUoYNx+Y5Rlkvj0+lkc6CJFoFW2euaqiUcDB+ig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84408},"main":"dist/cjs/index.js","module":"dist/es/index.js","exports":{".":{"import":"./dist/es/index.js","require":"./dist/cjs/index.js"}},"gitHead":"b3725814a6cc05011c422b549a94a9495625a80d","scripts":{"test":"jest","build":"npm run clean && npm run build:cjs && npm run build:es && npm run build:pkg","clean":"rm -rf dist","build:es":"babel src --out-dir dist/es --no-babelrc --presets=@babel/preset-modules","build:cjs":"babel src --out-dir dist/cjs --presets=@babel/preset-env","build:pkg":"echo '{\"type\":\"module\"}' > dist/es/package.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","version:major":"npm version major --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","version:minor":"npm version minor --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","version:patch":"npm version patch --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","prepublishOnly":"npm run build"},"_npmUser":{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"},"_npmVersion":"10.8.2","description":"A lightweight, imperative state machine library with hierarchical states and async action support","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","@babel/cli":"^7.23.0","@babel/core":"^7.23.0","@babel/preset-env":"^7.23.0","@babel/preset-modules":"^0.1.6"},"_npmOperationalInternal":{"tmp":"tmp/hsmjs_1.1.3_1753662909385_0.14777154836467554","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@datnguyen1215/hsmjs","version":"1.1.4","keywords":["state-machine","fsm","hierarchical","async","imperative"],"author":"","license":"MIT","_id":"@datnguyen1215/hsmjs@1.1.4","maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"dist":{"shasum":"372fcdb232fbf385b52cbe572180a0bce0c406a1","tarball":"https://registry.npmjs.org/@datnguyen1215/hsmjs/-/hsmjs-1.1.4.tgz","fileCount":18,"integrity":"sha512-vj09Q/WgKQgH9MT1dGOQCAWHIl/tKe4cVOu6boRQ+mck52OmpbH1yx4+VJJ5JWT7E8gWcA/y3UDCopa8Ybk01w==","signatures":[{"sig":"MEQCIC3gTVkdYsy5ExXdkesv0DAbj+bMa5YGFf52wgm5a1vrAiB7KduyzXMGe3+ojcM8nUUM0HUSFY1hHT8PCtmN/aMfxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85398},"main":"dist/cjs/index.js","module":"dist/es/index.js","exports":{".":{"import":"./dist/es/index.js","require":"./dist/cjs/index.js"}},"gitHead":"487fe70e4099a817df462fdb8fa41245b7caf714","scripts":{"test":"jest","build":"npm run clean && npm run build:cjs && npm run build:es && npm run build:pkg","clean":"rm -rf dist","build:es":"babel src --out-dir dist/es --no-babelrc --presets=@babel/preset-modules","build:cjs":"babel src --out-dir dist/cjs --presets=@babel/preset-env","build:pkg":"echo '{\"type\":\"module\"}' > dist/es/package.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","version:major":"npm version major --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","version:minor":"npm version minor --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","version:patch":"npm version patch --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","prepublishOnly":"npm run build"},"_npmUser":{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"},"_npmVersion":"10.8.2","description":"A lightweight, imperative state machine library with hierarchical states and async action support","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","@babel/cli":"^7.23.0","@babel/core":"^7.23.0","@babel/preset-env":"^7.23.0","@babel/preset-modules":"^0.1.6"},"_npmOperationalInternal":{"tmp":"tmp/hsmjs_1.1.4_1753718084627_0.6008559223792678","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@datnguyen1215/hsmjs","version":"1.2.0","keywords":["state-machine","fsm","hierarchical","async","imperative"],"author":"","license":"MIT","_id":"@datnguyen1215/hsmjs@1.2.0","maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"homepage":"https://github.com/datnguyen1215/hsmjs#readme","bugs":{"url":"https://github.com/datnguyen1215/hsmjs/issues"},"dist":{"shasum":"c639fe90bea69b2e4774e6d793805e5485277119","tarball":"https://registry.npmjs.org/@datnguyen1215/hsmjs/-/hsmjs-1.2.0.tgz","fileCount":25,"integrity":"sha512-6S4kQZM2pWok1fsy1oqnqWApapE64tnlHAuwwOigKx0Z6QgnfaUxgiItvqr2SUng7Qn3rVD1Att5rgT0G9dMzg==","signatures":[{"sig":"MEUCIBGomIgox3X9Cr8BcatgQEqoD1V3NNPhSUCenimgypCUAiEA1BrNnNKo6Xz2X1SkNWPjC9qaB5R8MZnPlmQMWpyS17M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298484},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","unpkg":"dist/umd/hsmjs.min.js","module":"dist/esm/index.js","browser":"dist/umd/hsmjs.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/umd/hsmjs.min.js","require":"./dist/cjs/index.js"},"./min":"./dist/umd/hsmjs.min.js","./package.json":"./package.json"},"gitHead":"198e8a90e8b0e5f0044821b6daf7a1aa3359ddfe","scripts":{"test":"jest","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:umd && npm run build:pkg && npm run build:types","clean":"rm -rf dist","format":"prettier --write \"src/**/*.js\" \"tests/**/*.js\" \"*.js\" \"*.json\" \"*.md\"","build:cjs":"babel src --out-dir dist/cjs --presets=@babel/preset-env","build:esm":"babel src --out-dir dist/esm --no-babelrc --presets=@babel/preset-modules","build:pkg":"echo '{\"type\":\"module\"}' > dist/esm/package.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","build:umd":"rollup -c","size:gzip":"npx gzip-size-cli dist/umd/hsmjs.min.js dist/esm/hsmjs.esm.min.js","format:src":"prettier --write \"src/**/*.js\"","size:check":"npx bundlesize","build:types":"mkdir -p dist/types && cp types/index.d.ts dist/types/index.d.ts","size:report":"npm run size:gzip && npm run size:check","build:min:es":"babel src --out-dir dist/es --no-babelrc --presets=@babel/preset-modules --minified --no-comments","format:check":"prettier --check \"src/**/*.js\" \"tests/**/*.js\" \"*.js\" \"*.json\" \"*.md\"","format:tests":"prettier --write \"tests/**/*.js\"","build:analyze":"npm run build && npm run size:check && npm run size:report","build:min:cjs":"babel src --out-dir dist/cjs --presets=@babel/preset-env --minified --no-comments","build:min:umd":"rollup -c --environment NODE_ENV:production","version:major":"npm version major --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","version:minor":"npm version minor --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","version:patch":"npm version patch --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","build:minified":"npm run clean && npm run build:min:cjs && npm run build:min:es && npm run build:min:umd && npm run build:pkg && npm run build:types","prepublishOnly":"npm run build","test:cjs-consumer":"cd tests/npm-consumers/cjs-consumer && npm test","test:esm-consumer":"cd tests/npm-consumers/esm-consumer && npm test","test:npm-consumers":"node tests/npm-consumers/test-runner.js","clean:npm-consumers":"node tests/npm-consumers/test-runner.js --cleanup","setup:npm-consumers":"node tests/npm-consumers/test-runner.js && echo 'Consumer environments setup complete'","build:types:validate":"npx tsc --noEmit types/index.d.ts","test:browser-consumer":"echo 'Open tests/npm-consumers/browser-consumer/index.html in browser'","test:typescript-consumer":"cd tests/npm-consumers/typescript-consumer && npm test"},"_npmUser":{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"},"jsdelivr":"dist/umd/hsmjs.min.js","bundlesize":[{"path":"dist/umd/hsmjs.min.js","maxSize":"15 kB","compression":"gzip"}],"repository":{"url":"git+https://github.com/datnguyen1215/hsmjs.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight, imperative state machine library with hierarchical states and async action support","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rollup":"^4.46.2","terser":"^5.43.1","prettier":"^3.0.0","@babel/cli":"^7.23.0","bundlesize":"^0.18.2","typescript":"^5.8.3","@babel/core":"^7.23.0","@types/node":"^20.19.9","gzip-size-cli":"^5.1.0","@babel/preset-env":"^7.23.0","@rollup/plugin-babel":"^6.0.4","@babel/preset-modules":"^0.1.6","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/hsmjs_1.2.0_1753965697563_0.035737821520720914","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@datnguyen1215/hsmjs","version":"1.3.0","keywords":["state-machine","fsm","hierarchical","async","imperative"],"author":"","license":"MIT","_id":"@datnguyen1215/hsmjs@1.3.0","maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"homepage":"https://github.com/datnguyen1215/hsmjs#readme","bugs":{"url":"https://github.com/datnguyen1215/hsmjs/issues"},"dist":{"shasum":"04508ee71b5118fe8237f36452bcb2ad1769942e","tarball":"https://registry.npmjs.org/@datnguyen1215/hsmjs/-/hsmjs-1.3.0.tgz","fileCount":21,"integrity":"sha512-LTEop2Y+NzPKzed3t7Ez8RG0a3GMkv7ggS8cezdnjAD17Ep9XEMjiuUACvhZz9kAAh+qi13ryRznud6EPvBjrQ==","signatures":[{"sig":"MEQCIAdslD9bMPVq92CXUPc3UlQlOVYqe0eXLGrVpcD08ltpAiAv5p81FiJj1qfVvoyexwu8XdkitPz9FAPy2d/PR4VE+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163385},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","unpkg":"dist/umd/hsmjs.min.js","module":"dist/esm/index.js","browser":"dist/umd/hsmjs.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/umd/hsmjs.min.js","require":"./dist/cjs/index.js"},"./min":"./dist/umd/hsmjs.min.js","./package.json":"./package.json"},"gitHead":"fe12a56aa7f37996e4b63d3c462ca170ccb84af1","scripts":{"test":"jest","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:umd && npm run build:pkg && npm run build:types","clean":"rm -rf dist","format":"prettier --write \"src/**/*.js\" \"tests/**/*.js\" \"*.js\" \"*.json\" \"*.md\"","build:cjs":"babel src --out-dir dist/cjs --presets=@babel/preset-env","build:esm":"babel src --out-dir dist/esm --no-babelrc --presets=@babel/preset-modules","build:pkg":"echo '{\"type\":\"module\"}' > dist/esm/package.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","build:umd":"rollup -c","size:gzip":"npx gzip-size-cli dist/umd/hsmjs.min.js dist/esm/hsmjs.esm.min.js","format:src":"prettier --write \"src/**/*.js\"","size:check":"npx bundlesize","build:types":"mkdir -p dist/types && cp types/index.d.ts dist/types/index.d.ts","size:report":"npm run size:gzip && npm run size:check","build:min:es":"babel src --out-dir dist/es --no-babelrc --presets=@babel/preset-modules --minified --no-comments","format:check":"prettier --check \"src/**/*.js\" \"tests/**/*.js\" \"*.js\" \"*.json\" \"*.md\"","format:tests":"prettier --write \"tests/**/*.js\"","build:analyze":"npm run build && npm run size:check && npm run size:report","build:min:cjs":"babel src --out-dir dist/cjs --presets=@babel/preset-env --minified --no-comments","build:min:umd":"rollup -c --environment NODE_ENV:production","version:major":"npm version major --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","version:minor":"npm version minor --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","version:patch":"npm version patch --no-git-tag-version && git tag v$(node -p \"require('./package.json').version\")","build:minified":"npm run clean && npm run build:min:cjs && npm run build:min:es && npm run build:min:umd && npm run build:pkg && npm run build:types","prepublishOnly":"npm run build","test:cjs-consumer":"cd tests/npm-consumers/cjs-consumer && npm test","test:esm-consumer":"cd tests/npm-consumers/esm-consumer && npm test","test:npm-consumers":"node tests/npm-consumers/test-runner.js","clean:npm-consumers":"node tests/npm-consumers/test-runner.js --cleanup","setup:npm-consumers":"node tests/npm-consumers/test-runner.js && echo 'Consumer environments setup complete'","build:types:validate":"npx tsc --noEmit types/index.d.ts","test:browser-consumer":"echo 'Open tests/npm-consumers/browser-consumer/index.html in browser'","test:typescript-consumer":"cd tests/npm-consumers/typescript-consumer && npm test"},"_npmUser":{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"},"jsdelivr":"dist/umd/hsmjs.min.js","bundlesize":[{"path":"dist/umd/hsmjs.min.js","maxSize":"15 kB","compression":"gzip"}],"repository":{"url":"git+https://github.com/datnguyen1215/hsmjs.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight, imperative state machine library with hierarchical states and async action support","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rollup":"^4.46.2","terser":"^5.43.1","prettier":"^3.0.0","@babel/cli":"^7.23.0","bundlesize":"^0.18.2","typescript":"^5.8.3","@babel/core":"^7.23.0","@types/node":"^20.19.9","gzip-size-cli":"^5.1.0","@babel/preset-env":"^7.23.0","@rollup/plugin-babel":"^6.0.4","@babel/preset-modules":"^0.1.6","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/hsmjs_1.3.0_1754410666276_0.7284943376269055","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@datnguyen1215/hsmjs","version":"1.3.1","keywords":["state-machine","fsm","hsm","hierarchical","xstate"],"author":{"name":"Dat Nguyen","email":"datnguyen1215@gmail.com"},"license":"MIT","_id":"@datnguyen1215/hsmjs@1.3.1","maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"dist":{"shasum":"519b24736765bce8483156a829c12ffff332429f","tarball":"https://registry.npmjs.org/@datnguyen1215/hsmjs/-/hsmjs-1.3.1.tgz","fileCount":11,"integrity":"sha512-1cm86/Yu6pPVUHm2iWHFd6pfS35UCRnc3P9XOs2q/uhyyACZ4g8AvTYlvBHNfGFjnqeJDGnSJajFCingXrODdQ==","signatures":[{"sig":"MEUCIQDPLDddWA6qG0Dr14Ync4kxsBY5t7n+sIgfaICy+ziDiwIgFrHR8+Z35FiRfZ5/oMuT75l9snv3wNj6couBETyuXh0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524496},"main":"dist/index.cjs","type":"module","types":"types/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.min.js","engines":{"node":">=20.0.0"},"gitHead":"a6a52034b57f63d1919691ad29ebc270896248d2","scripts":{"test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"rollup -c","test:watch":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --watch","build:watch":"rollup -c -w","test:coverage":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage","prepublishOnly":"npm run build","test:npm-consumers":"node tests/integration/run-integration-tests.js"},"_npmUser":{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"},"_npmVersion":"10.8.2","description":"A lightweight hierarchical state machine library","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.5","rollup":"^2.79.2","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/hsmjs_1.3.1_1754635675877_0.42867335890549474","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@datnguyen1215/hsmjs","version":"2.0.0","keywords":["state-machine","fsm","hsm","hierarchical","xstate"],"author":{"name":"Dat Nguyen","email":"datnguyen1215@gmail.com"},"license":"MIT","_id":"@datnguyen1215/hsmjs@2.0.0","maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"dist":{"shasum":"25e8a5d77fc1fe0b23c78418cb91ad5fdf32d083","tarball":"https://registry.npmjs.org/@datnguyen1215/hsmjs/-/hsmjs-2.0.0.tgz","fileCount":11,"integrity":"sha512-sFIDIy0o2gxh0nNHGt/HJ/mXVMruYMV4u2KCj0yvq4pOeoQQaJf/8QBBWFAziSy820VXLztUIMDUKDbLAl+GBg==","signatures":[{"sig":"MEUCIQDcOHO9eEP+78ndKJKiWUwURdnZSYcEjCarRI6bJ4VzLgIgWCMX8HMwbRTgjpt1Pbe78H0uGppbVu8UNjIz2PFRlP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524496},"main":"dist/index.cjs","type":"module","types":"types/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.min.js","engines":{"node":">=20.0.0"},"gitHead":"4c73814795c826989372236ccf799c3ec8d588a0","scripts":{"test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"rollup -c","test:watch":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --watch","build:watch":"rollup -c -w","test:coverage":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage","prepublishOnly":"npm run build","test:npm-consumers":"node tests/integration/run-integration-tests.js"},"_npmUser":{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"},"_npmVersion":"10.8.2","description":"A lightweight hierarchical state machine library","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.5","rollup":"^2.79.2","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/hsmjs_2.0.0_1754635734833_0.5857283009224454","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@datnguyen1215/hsmjs","version":"2.1.0","keywords":["state-machine","fsm","hsm","hierarchical","xstate"],"author":{"name":"Dat Nguyen","email":"datnguyen1215@gmail.com"},"license":"MIT","_id":"@datnguyen1215/hsmjs@2.1.0","maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"dist":{"shasum":"3e1ec8ba8745b6b6014fa71940a8d33deab6a88b","tarball":"https://registry.npmjs.org/@datnguyen1215/hsmjs/-/hsmjs-2.1.0.tgz","fileCount":11,"integrity":"sha512-80ozaSWsmjx/I4rLXYczvxDapX/AIenIqhIwRyXOKtRlRNvT1IMppFGZ+J2pInDq3rSzjqgIVF+DFkrRDwK3ag==","signatures":[{"sig":"MEQCIHJlzaXasaI7pwCUqHsZw3aS8iTBGO7Rb1OEvDJOxZ8YAiAavIXiBWlEuWZW4eLh4rhA9xJzuH0rRFCoZFMHFmV4gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":665033},"main":"dist/index.cjs","type":"module","types":"types/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.min.js","engines":{"node":">=20.0.0"},"gitHead":"3d7a7fabfbbe9ccbeb41ecd416ef9b6b68e9d6b2","scripts":{"test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"rollup -c","test:watch":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --watch","build:watch":"rollup -c -w","test:coverage":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage","prepublishOnly":"npm run build","test:npm-consumers":"node tests/integration/run-integration-tests.js"},"_npmUser":{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"},"_npmVersion":"10.8.2","description":"A lightweight hierarchical state machine library","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.5","rollup":"^2.79.2","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/hsmjs_2.1.0_1755400974041_0.3590772794514372","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@datnguyen1215/hsmjs","version":"2.1.1","keywords":["state-machine","fsm","hsm","hierarchical","xstate"],"author":{"name":"Dat Nguyen","email":"datnguyen1215@gmail.com"},"license":"MIT","_id":"@datnguyen1215/hsmjs@2.1.1","maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"dist":{"shasum":"6b5b1449019bc17681af7c0785e5f655bfb509e9","tarball":"https://registry.npmjs.org/@datnguyen1215/hsmjs/-/hsmjs-2.1.1.tgz","fileCount":11,"integrity":"sha512-diiNsZuReARMPG+dcJrqaMoWxAHBN216XsnvP2PBdyjYhdtrWbZIYfwpuGRVFZow8BsE+Q11LF2Tm2C85l1pfA==","signatures":[{"sig":"MEQCIEpZ8TAGLe6cb2YF0nkfg//qnU8ImRg47EWFxdyiIH/AAiBpDlpGcYPSy4acu5p/7l0KRuC+2wxOLpTvLoSua8LK1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":667994},"main":"dist/index.cjs","type":"module","types":"types/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.min.js","engines":{"node":">=20.0.0"},"gitHead":"d6357c76560c6de024d3b35c9313d63bbfd4a3b9","scripts":{"test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"rollup -c","test:watch":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --watch","build:watch":"rollup -c -w","test:coverage":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage","prepublishOnly":"npm run build","test:npm-consumers":"node tests/integration/run-integration-tests.js"},"_npmUser":{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"},"_npmVersion":"10.8.2","description":"A lightweight hierarchical state machine library","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.5","rollup":"^2.79.2","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/hsmjs_2.1.1_1755401966667_0.22506641122172644","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@datnguyen1215/hsmjs","version":"2.2.0","keywords":["state-machine","fsm","hsm","hierarchical","xstate"],"author":{"name":"Dat Nguyen","email":"datnguyen1215@gmail.com"},"license":"MIT","_id":"@datnguyen1215/hsmjs@2.2.0","maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"dist":{"shasum":"ac420af5593d918e081fdcd7d749728babecd527","tarball":"https://registry.npmjs.org/@datnguyen1215/hsmjs/-/hsmjs-2.2.0.tgz","fileCount":11,"integrity":"sha512-NOVGRceElqHGl170Khza441FV7FLq0sqVLC1aTEtCUbOqMxO5EvPfc4vkdHp4VRKuUiS5ETRDeS587DHisw/Lg==","signatures":[{"sig":"MEQCIHpW1dUfHqiGYUdChm1ah7UddYoh2IzGdzpIDF+OjRzZAiAOWvsfRGrFoNZJJGe6oVUX2OIZ2D2Wq4wZEhHJXg638Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":814247},"main":"dist/index.cjs","type":"module","types":"types/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.min.js","engines":{"node":">=20.0.0"},"gitHead":"5c54883e7be850290cb50ef75b5c4a06400ab23b","scripts":{"test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"rollup -c","test:watch":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --watch","build:watch":"rollup -c -w","test:coverage":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage","prepublishOnly":"npm run build","test:npm-consumers":"node tests/integration/run-integration-tests.js"},"_npmUser":{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"},"_npmVersion":"10.8.2","description":"A lightweight hierarchical state machine library","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.5","rollup":"^2.79.2","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/hsmjs_2.2.0_1755874215831_0.03259972495752095","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@datnguyen1215/hsmjs","version":"2.2.1","description":"A lightweight hierarchical state machine library","main":"dist/index.cjs","module":"dist/index.mjs","browser":"dist/index.umd.min.js","types":"types/index.d.ts","type":"module","scripts":{"build":"rollup -c","build:watch":"rollup -c -w","prepublishOnly":"npm run build","test":"NODE_OPTIONS='--experimental-vm-modules' jest","test:watch":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --watch","test:coverage":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage","test:npm-consumers":"node tests/integration/run-integration-tests.js","docs:serve":"npx docsify-cli serve docs"},"keywords":["state-machine","fsm","hsm","hierarchical","xstate"],"author":{"name":"Dat Nguyen","email":"datnguyen1215@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/datnguyen1215/hsmjs.git"},"homepage":"https://github.com/datnguyen1215/hsmjs#readme","bugs":{"url":"https://github.com/datnguyen1215/hsmjs/issues"},"engines":{"node":">=20.0.0"},"devDependencies":{"@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1","@rollup/plugin-terser":"^0.4.4","jest":"^30.0.5","rollup":"^2.79.2"},"_id":"@datnguyen1215/hsmjs@2.2.1","gitHead":"46e681747b37ddd45aa62b358f1edd47225edd61","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-jV8MPGeW3LGpS+9iNLbIK383XeWOL1M4jsVykMVUaI2agB4fbbfQoOdTUM8Q9r0qEpmI1F8leZmnR54um8Anug==","shasum":"01f45e50384a990ec778d9003205b21d17f4e8ac","tarball":"https://registry.npmjs.org/@datnguyen1215/hsmjs/-/hsmjs-2.2.1.tgz","fileCount":11,"unpackedSize":849702,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCpF3Wai2KMc8nm1eb05FZSxVdqZRz2I4x0ss6IzZx13wIgXjNSOZ16L2cZPULQoyZoMNAgUshWKq5w+RzE1EBS36Q="}]},"_npmUser":{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"},"directories":{},"maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hsmjs_2.2.1_1756131836892_0.353703169800494"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-26T17:43:14.515Z","modified":"2025-08-25T14:23:57.289Z","1.1.2":"2025-07-26T17:43:14.858Z","1.1.3":"2025-07-28T00:35:09.574Z","1.1.4":"2025-07-28T15:54:44.810Z","1.2.0":"2025-07-31T12:41:37.793Z","1.3.0":"2025-08-05T16:17:46.485Z","1.3.1":"2025-08-08T06:47:56.047Z","2.0.0":"2025-08-08T06:48:55.033Z","2.1.0":"2025-08-17T03:22:54.275Z","2.1.1":"2025-08-17T03:39:26.877Z","2.2.0":"2025-08-22T14:50:16.044Z","2.2.1":"2025-08-25T14:23:57.133Z"},"author":{"name":"Dat Nguyen","email":"datnguyen1215@gmail.com"},"license":"MIT","keywords":["state-machine","fsm","hsm","hierarchical","xstate"],"description":"A lightweight hierarchical state machine library","maintainers":[{"name":"datnguyen1215","email":"datnguyen1215@gmail.com"}],"readme":"# HSMJS\n\n[![NPM Version](https://img.shields.io/npm/v/@datnguyen1215/hsmjs.svg)](https://www.npmjs.com/package/@datnguyen1215/hsmjs)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![GitHub Stars](https://img.shields.io/github/stars/datnguyen1215/hsmjs.svg)](https://github.com/datnguyen1215/hsmjs)\n[![GitHub Issues](https://img.shields.io/github/issues/datnguyen1215/hsmjs.svg)](https://github.com/datnguyen1215/hsmjs/issues)\n\nLightweight hierarchical state machine for JavaScript with XState-like syntax.\n\n<div style=\"text-align:center;\"><img src=\"images/logo.svg\" /></div>\n\n## Features\n\n<p style=\"line-height: 1.8; padding-left: 40px;\">\n✅ Zero Dependencies <br />\n✅ XState-like Syntax <br />\n✅ Nested States <br />\n✅ Async Actions <br />\n✅ TypeScript/JSDoc <br />\n✅ History & Undo <br />\n✅ State Visualization\n</p>\n\n## Installation\n\n```bash\nnpm install @datnguyen1215/hsmjs\n```\n\n## Quick Start\n\n```javascript\nimport { createMachine, assign } from '@datnguyen1215/hsmjs';\n\nconst toggleMachine = createMachine({\n  id: 'toggle',\n  initial: 'inactive',\n  context: { count: 0 },\n  states: {\n    inactive: {\n      on: {\n        TOGGLE: {\n          target: 'active',\n          actions: [assign({ count: ({ context }) => context.count + 1 })]\n        }\n      }\n    },\n    active: {\n      entry: [() => console.log('Activated!')],\n      on: { TOGGLE: 'inactive' }\n    }\n  }\n});\n\n// Use the machine\nawait toggleMachine.send('TOGGLE');  // inactive -> active, count: 1\nconsole.log(toggleMachine.state);     // 'active'\nconsole.log(toggleMachine.context);   // { count: 1 }\n```\n\n\n## Documentation\n\n### Quick Links\n- [**Quick Start**](https://datnguyen1215.github.io/hsmjs/#/README) - Get started in 5 minutes\n- [**Syntax Cheatsheet**](https://datnguyen1215.github.io/hsmjs/#/syntax-cheatsheet) - All syntax on one page\n- [**API Quick Reference**](https://datnguyen1215.github.io/hsmjs/#/api-quick-reference) - Most used methods\n- [**Migration from XState**](https://datnguyen1215.github.io/hsmjs/#/migration-xstate) - Switching from XState\n\n### Feature Guides\n- [Context & assign()](https://datnguyen1215.github.io/hsmjs/#/features/context-management)\n- [Actions](https://datnguyen1215.github.io/hsmjs/#/features/actions)\n- [Guards](https://datnguyen1215.github.io/hsmjs/#/features/guards)\n- [Events](https://datnguyen1215.github.io/hsmjs/#/features/events)\n- [Nested States](https://datnguyen1215.github.io/hsmjs/#/features/nested-states)\n- [Async Patterns](https://datnguyen1215.github.io/hsmjs/#/features/async-patterns)\n- [History & Undo](https://datnguyen1215.github.io/hsmjs/#/features/history-undo)\n- [Visualization](https://datnguyen1215.github.io/hsmjs/#/features/visualization)\n- [Validation](https://datnguyen1215.github.io/hsmjs/#/features/validation)\n- [Subscriptions](https://datnguyen1215.github.io/hsmjs/#/features/subscriptions)\n\n### More Resources\n- [Framework Integration](https://datnguyen1215.github.io/hsmjs/#/framework-integration) - React, Svelte, Vue\n- [Examples](https://datnguyen1215.github.io/hsmjs/#/examples) - Real-world patterns\n- [Full API Reference](https://datnguyen1215.github.io/hsmjs/#/api-reference) - Complete documentation\n\n## License\n\nMIT\n\n","readmeFilename":"README.md","homepage":"https://github.com/datnguyen1215/hsmjs#readme","repository":{"type":"git","url":"git+https://github.com/datnguyen1215/hsmjs.git"},"bugs":{"url":"https://github.com/datnguyen1215/hsmjs/issues"}}